Cara memadatkan direktori


21

Seringkali, beberapa aplikasi berjalan liar dan mengisi direktori dengan sejumlah besar file. Setelah kami memperbaiki bug dan membersihkan file, direktori tetap besar (> 50MB) meskipun hanya ada 20-30 file di dalamnya.

Apakah ada perintah yang memadatkan direktori tanpa harus membuatnya kembali?

Poin bonus: apakah direktori kosong besar memengaruhi kinerja akses direktori itu? Saya berasumsi demikian, tapi mungkin tidak ada gunanya mengganggu. Tampaknya lebih lambat untuk dilakukan lspada direktori seperti itu.


Saya tidak berpikir ada hal seperti itu (tapi saya tentu saja bisa sepenuhnya salah). Mungkin beberapa alat khusus filesystem - FS apa yang Anda gunakan?
Mat

ext3, tapi saya sudah melihat masalah itu pada kebanyakan filesystem yang pernah saya tangani di dunia unix. Saya juga tidak berpikir ada alat seperti itu, tetapi saya ingin terbukti salah.
Mathieu Longtin

4
Saya menandai pertanyaan Anda "ext3" karena pertanyaan ini sangat spesifik untuk sistem berkas. Saya tidak tahu jawaban untuk ext3 (saya curiga Anda perlu membuat ulang direktori untuk menyusut) tetapi apakah Anda sudah mencoba memaksa fsck? ext3's fsckmemiliki pass "Mengoptimalkan direktori". Saya tidak tahu apa fungsinya, tapi mungkin itu menyusutkan direktori yang terlalu besar? Lagi pula, sebagai titik data FWIW, xfs melakukan autoshrink ke direktori yang memiliki file yang dihapus dari mereka.
Celada

Apakah Anda secara kebetulan menghapus file terbuka?
Karlson

1
ufs pada BSDs dan Mac HFS keduanya menyusutkan direktori dengan cepat juga. Saya terkejut mengetahui bahwa ext3 tidak. ext4 tampaknya tidak melakukannya juga.
Kyle Jones

Jawaban:


10

Anda menjalankan e2fsck -Dsistem file yang tidak di-mount.


1
Saya berharap untuk sesuatu yang kurang mengganggu.
Mathieu Longtin

1
@MathieuLongtin, Anda juga bisa memindahkan semuanya ke direktori baru, menghapus yang lama, dan mengganti nama yang baru kembali.
psusi

Saya tahu tentang trik itu, tetapi bisa mengacaukan proses menggunakan direktori sebagai direktori kerja saat ini.
Mathieu Longtin
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.