Apakah ada kemungkinan untuk "mendefragmentasi" gambar bundel yang jarang dan mendapatkan kembali (sebagian besar) ruang kosong?
Inilah latar belakangnya: Saya menggunakan bundel yang jarang dan setiap sekarang dan kemudian saya ingin mendapatkan kembali ruang dari mereka jadi saya jalankan:
hdiutil compact image.sparsebundle
Namun, seperti yang dijelaskan di halaman manual, itu hanya mendapatkan kembali file band yang sama sekali tidak digunakan, jadi dalam kasus saya dikatakan:
Reclaimed 0 bytes out of 90.4 GB possible.
Tentu saja ada kemungkinan untuk menyalin isi gambar ini ke bundel baru yang jarang yang kemudian digunakan sebagai pengganti, tetapi keduanya rumit dan membutuhkan ruang kosong yang cukup untuk operasi ini.
Sementara itu, saya menemukan bahwa output dari perintah kompak agak menyesatkan (saya saat ini menjalankan OS X 10.5.7) karena kadang-kadang daftar ukuran mungkin yang lebih besar dari ukuran saat ini diambil oleh bundel gambar pada hard mendorong. Saya tidak melihat lebih dekat tetapi output tampaknya menjadi ukuran maksimum atau "ukuran maksimum" - "ukuran yang digunakan".
Jawaban:
Menarik!
Dari apa yang saya dengar, bundel jarang membagi data menjadi 8MB band. Mengubah ukuran band mungkin hanya membantu, jika Anda beruntung. Maksud saya, Anda tidak akan pernah mendapatkan ruang reklamasi 100%, tapi mungkin lebih baik dari yang Anda dapatkan sekarang. (Tergantung pada data pada gambar dll.)
Saya melakukan tes sederhana kotor dengan dua bundel 500Mb, satu dengan band 8Mb (default), dan satu dengan 1Mb (ukuran terkecil yang diizinkan dari apa yang bisa saya katakan). Saya menyalin lebih dari 400mb file mp3 dan kemudian menghapus setiap file lainnya dan kemudian menjalankannya
hdiutil compact
.Perintah untuk mengonversi bundel jarang Anda adalah
Ukuran band di unit 512byte. Jadi contoh di atas menetapkan ukuran band ke 512 * 2048 = 1Mb. Berhati-hatilah jika Anda berurusan dengan gambar TimeMachine atau gambar folder rumah pengguna, dll. Anda menyimpang dari jalur Apple :) Simpan cadangan aman yang gagal!
Sedangkan untuk defragmentasi: Saya punya perasaan lucu, itu sama cepat (atau lebih cepat!) Dengan hanya menggunakan hdiutil untuk mengubah file sparsefile menjadi file sparse baru dengan format yang sama. Saya pikir itu mencoba untuk menjadi pintar tentang hal itu. Tapi saya tidak tahu.
(Perhatikan bahwa defragmentasi bundel jarang hanya defragmen data disk, bukan band bundel jarang, kecuali jika defragmentasi bundel sadar. Melakukan
hdiutil convert
band 'defragmentasi', saya percaya.)sumber
-o
harus langsung sebelumnyadst.sparsebundle
, bukansrc.sparsebundle
(-o
menunjukkan 'output').-encryption
sakelar ke perintah.Saya pikir 90,4 GB mungkin salah. Ketika saya berlari:
... itu membebaskan ruang 16 GB, yang kira-kira seperti yang saya harapkan. Lucunya dikatakan kira-kira "800 GB mungkin" yang jauh lebih dari kapasitas HD saya. Jadi saya menganggap angka kedua hanyalah beberapa angka teoritis (cacat).
sumber
@Oscar menunjuk kami ke arah yang benar. Tapi Anda tidak perlu mengkonversi ke 1 MB dan kompak, berharap untuk mendapatkan kembali ruang.
Sebagai gantinya, cukup salin sparsebundle Anda ke sparsebundle baru. Ini, pada gilirannya, mendefrag gambar untuk Anda. Dan pada saat yang sama Anda dapat mengubah sistem file, ukuran dan bahkan band.
Berikut adalah contoh yang saya lakukan baru-baru ini, mengonversi gambar "kode" 20GB saya yang saya sinkronkan di seluruh perangkat.
Lihat semua opsi dengan
hdiutil create -help
.Perintah ini menghasilkan:
Anda dapat melihat
-attach
opsi memasangnya di bawah/Volumes/code
.Catatan: Saya menggunakan
HSFX
untuk HFS + case-sensitive karena saya juga menyinkronkan gambar saya ke Linux dan memasangnya. Anda kemungkinan besar ingin menggunakanHFS+
gantinya, karena macOS biasanya tidak peka terhadap huruf besar-kecil.Sekarang yang harus saya lakukan adalah menyalin semuanya ke sparsebundle baru saya:
Dan sekarang untuk membandingkan:
Yay. Sparsebundle 15GB saya sekarang 3GB, didefrag, dan band berubah!
sumber
Saya tidak tahu cara gratis untuk melakukannya, tetapi saya percaya Prosoft Drive Genius akan melakukan apa yang Anda butuhkan di sini:
http://www.prosofteng.com/products/drive_genius.php
Anda memasang sparsebundle, defrag menggunakan Drive Genius, lalu
Perintah harus bekerja.
sumber
Saya yakin drive yang memegang bundel jarang memiliki ruang kosong sekitar 90 GB? Karena bundel jarang dapat tumbuh hingga disk penuh, ruang ini hanya dilaporkan sebagai ruang kosong yang tersedia ... Anda akan melihat angka yang sama di Utilitas Disk. Memang sangat menyesatkan.
Berikut ini mungkin memberi Anda wawasan:
sumber
Saya memiliki bundel bermasalah bermasalah yang mengklaim memiliki 950 GiB ditempati dari 1024 GiB (SSD saya hanya berukuran 320 GiB, sehingga tidak bisa terjadi).
hdi compact
tidak membantu.Saya telah menjalankan "Pertolongan pertama" dari Disk Utility pada bundel DAN partisi, dan meteran ruang bebas membantu itu mulai menunjukkan 20 GiB yang sebenarnya sebagaimana mestinya, dan kemudian
hdi compact
berlari tanpa masalah.sumber