Saya mencoba untuk membuat Time Machine berfungsi kembali pada OS X 10.7 (Lion) saya yang didukung iMac, dan sebuah pengandar jarak jauh di stasiun pangkalan bandara, dan satu-satunya solusi yang berhasil adalah mengubah nama file .sparsebundle saya pada hard drive menjadi "INVALID. sparsebundle ", sehingga ia akan mulai dari awal pada volume itu.
Cadangan adalah .sparsebundle (yang sebenarnya merupakan folder yang penuh dengan file) berukuran sekitar 400 gb. Saya mencoba perintah ini pagi ini jam 8 pagi dan jam 6:30 malam masih belum selesai:
sudo rm -rf INVALID.sparsebundle
Apakah ada cara untuk mengetahui mengapa itu tergantung atau apa yang dilakukannya? Ada semua jenis trik keren yang mungkin di baris perintah Mac OS X dan bahkan menggunakan beberapa alat grafis OS X yang bagus, mungkin melibatkan penggunaan debugger GCC, atau dtrace, atau mungkin bahkan semacam proses pemantauan kernel yang dapat memberitahu saya panggilan fungsi atau syscall apa yang sedang dijalankan.
Saya dapat menemukan PID untuk perintah rm:
$ ps aux |grep "rm -rf"
root 392 0.0 0.3 2454248 20232 s001 U+ 9:08am 0:12.04 rm -rf /Volumes/Backup3tb/INVALID.sparsebundle
Adakah yang bisa saya lakukan untuk mencari tahu apa yang dilakukan PID 392 saat ini dan apakah itu benar-benar digantung atau tidak? (Saya akan membiarkannya dalam semalam, dan setelah 24 jam tidak menanggapi, saya akan mempertimbangkan untuk membatalkannya, dan jika saya melakukannya, saya hanya akan memformat volume ini.)
Saya mencoba iosnoop, seperti ini:
$ sudo iosnoop -p 392
UID PID D BLOCK SIZE COMM PATHNAME
Itu tidak menunjukkan apa-apa padaku. Saya menduga itu berarti bahwa prosesnya baik dan benar-benar menutup sesuatu?
sumber
Saya menemukan bahwa Monitor Sistem di Mac OS memiliki fitur praktis yang disebut Contoh Proses yang memungkinkan saya melihat apakah ia melakukan sesuatu atau jika dibekukan.
Dengan menemukan proses yang mungkin digantung dan mengambil sampelnya, saya dapat melihat fungsi apa yang dieksekusi (jika ada). Jika saya tidak mendapatkan apa-apa, wajar untuk menganggap bahwa prosesnya terhenti.
Perhatikan bahwa menghapus .sparsebundle melalui protokol jaringan Apple (AFP) seperti ketika menghubungkan mac Anda ke drive jaringan jarak jauh pada stasiun pangkalan ekstrim Bandara dan menghapus cadangan mode jaringan yang dibuat oleh Time-Machine, andal menutup "/ bin / rm "perintah baris darwin / bsd rm utility untuk saya.
Saya juga menemukan bahwa Time Machine akan merusak .sparsebundles ketika mereka tumbuh sangat besar, dalam kasus saya, lebih dari 600 gb pada sistem saya. Saya hanya dapat menggunakan Time Machine dengan andal (a) tanpa jaringan, atau (b) jika ukuran cadangan total tetap di bawah 500 gb.
sumber
/usr/bin/rm
? Jenisrm
apa yang Anda miliki Milik saya/bin
, dan saya belum pernah melihat sistem di mana itu tidak ... coba gunakan/bin/rm
; mungkin implementasi yang menyebabkan masalah.