Linux'ta bir klasörde izin verilen maksimum klasör sayısı nedir?


17

Redhat kullanmak, eğer bir fark yaratıyorsa.

Varsayılan bir sınır var mı? Değiştirilebilir mi? Değilse, bir dizinde izin verilen klasör sayısını artırmak için herhangi bir geçici çözüm var mı?

Yanıtlar:


22

Dağıtımınızın kullandığı dosya sistemine bağlıdır. Daha yeni bir masaüstü dağıtımı (yani, Fedora'nın yeni bir sürümü olan Ubuntu 9.10) kullanıyorsanız, muhtemelen ext4'ü kullanırsınız. Eski bir şey kullanırsanız, büyük olasılıkla ext3'tür.



4

Yapmaya çalıştığınız her şeye alternatifler düşünmek isteyebilirsiniz. Dosya sistemi sınırının altında kalsanız bile (örn. Ext2 için 32k), tek bir dizinde on binlerce dosyayı saklamak en az söylemek zor olabilir.

Bir olasılık, dosya sistemini bir veritabanına daha uygun bir şey için kullanmaya çalışmanızdır. Verilerinizi bir PostgreSQL, MySQL ve hatta bir sqlite veritabanında depolamayı düşünün. Çok sayıda dosyayla iyi başa çıkabilen çok fazla dosya sistemi yok - verilerinizi taşımak veya yedeklemek yavaş olacaktır.

Gerçekten çok fazla dosya depolamanız gerekiyorsa, alternatif dizin yapılarını göz önünde bulundurun. Örneğin, dosyalarınızı alfabetik olarak ayırabilirsiniz, örneğin:

a/aaron.dat
a/alex.dat
a/alan.dat
b/bill.dat
b/brian.dat

Bu yaklaşım, ayrımınızın derinliğini artırarak ölçeklendirilebilir, örn .:

a/a/aaron.dat
a/l/alex.dat
a/l/alan.dat

Veya günlük günlük dosyaları giriyorsanız veya günlük teslimatlar alıyorsanız, bunları tarihe göre ayırabilirsiniz, örneğin:

2009-10-04/logfile-01.txt
2009-10-05/logfile-01.txt
2009-10-05/logfile-02.txt

Bu özel durumda, muhtemelen dosya sayısını azaltmak için eski günlükleri sıkıştırılmış tarball'lara paketlemek için bir işi cronlamak da istersiniz.


1

Klasör sınırları, rasgele sayıda dosyayla uğraşmak zorunda olan kurumsal sistemlerin dosya adının karmasını temel alarak bir veya iki alt dizinde depolanmasının nedenidir. Örneğin, md5 () dosya adını ve dosyayı depolamak için ilk dört baytı alt klasör olarak kullanın; ek seviyeler için, ek bir alt klasör için sonraki 4'ü veya bundan sonraki 4'ü kullanın, vb. Çoğu sistem hiçbir zaman 2 derinliği geçmeyecektir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.