POSIX işletim sistemi kökündeki dizin sayısını sınırlıyor mu?


12

POSIX standardını öğrenmeye çalışıyorum. Unix kullanırken, ben var /bin, /etc, /dev, /media, ve genellikle /opt, ama bu standardize veya yukarı Spec uygulanmasına edilir? Kökte çok sayıda dizin olabilir mi, yoksa standart ile mi sınırlı?


3
POSIX bu alana dokunmuyor.
Thomas Dickey

Yanıtlar:


17

The Open Group'un yayınlanmış standardına göre , gereken tek dizin:

  • /
  • /dev, İçeren console, nullvetty
  • /tmp, yazılabilir garantili ancak zorunlu olarak korunmaz.

Linux Vakfı , bunu genellikle bir Linux sisteminde göreceğiniz dizinleri içerecek şekilde genişleten bir Dosya Sistemi Hiyerarşi Standardı (FHS) sağlar:

  • /bin: Temel kullanıcı komut ikili dosyaları
  • /boot: Önyükleyicinin statik dosyaları
  • /dev: Cihaz dosyaları
  • /etc: Ana bilgisayara özgü sistem yapılandırması
  • /home: Kullanıcı ana dizinleri (isteğe bağlı)
  • /lib: Temel paylaşılan kütüphaneler ve çekirdek modülleri
  • /lib<qual>: Alternatif format temel paylaşılan kütüphaneleri (isteğe bağlı)
  • /media: Çıkarılabilir medya için montaj noktası
  • /mnt: Geçici olarak monte edilmiş bir dosya sistemi için bağlama noktası
  • /opt: Eklenti uygulama yazılım paketleri
  • /root: Kök kullanıcı için giriş dizini (isteğe bağlı)
  • /run: Çalışma zamanı değişken verileri
  • /sbin: Sistem ikili dosyaları
  • /srv: Bu sistem tarafından sağlanan hizmetlere ilişkin veriler
  • /tmp: Geçici dosyalar
  • Yanı sıra /usrhiyerarşi ve /varhiyerarşi

FHS, herhangi bir UNIX sistemine dahil olmak için mümkün olduğunca genel olacak şekilde tasarlanmıştır. Ek dizinlerin makul bir sistemde bulunması muhtemeldir, ancak bu POSIX tarafından zorunlu kılınmamıştır.

Ancak, Açık Grup'un

Kesinlikle uygun olan uygulamalar, aşağıda belirtilmedikçe, bu dizinlerin hiçbirinde dosya oluşturma yeteneğini kabul etmez.

Dizinler gerçekten sadece dosyalar olduğundan, bu kesinlikle uygun bir uygulamanın kök düzeyinde herhangi bir dosya veya dizin oluşturmayacağı anlamına gelir. Bu nedenle, POSIX, dağıtımın kök düzeyine ne yerleştirebileceğini sınırlandırmaz, ancak belirtimine uygun bir uygulamanın yapabileceğini varsayamayacağını belirtir.


5
Soru, hangi dizinlerin standart olduğu değil , bir sınır olup olmadığını sordu . POSIX bu soruya cevap vermiyor.
Thomas Dickey

POSIX'in bir teklifine işaret etmeden bir görüş ekler.
Thomas Dickey

Son paragraf benim bahsettiğim şey: "devlet gibi görünüyor". POSIX , farklılıklardan ziyade ortaklığa odaklanarak bu alanda bir sınırdan bahsetmekten kaçınır .
Thomas Dickey

1
Teşekkürler Fox. Cevabınız aradığım bilgiydi.
Niklas

13

In 10.1 Dizin Yapısı ve Dosyalar , POSIX listeleri dizinleri hangi gerekir mevcuttur. Ancak, bir dosya sisteminin kök düzeyinde bulunabilecek diğer dizinlerin sayısında sınır tanımlamaz.

Bu nedenle, diğer dizinlerin boyutuna sınır koyuyor gibi görünmüyor.

POSIX'in bu alandaki dikkati farklılıklardan ziyade ortaklığa odaklanmıştır.


Bir * nix sisteminde olduğu gibi, potansiyel olarak her dizin (dahil /) bir kök dizin olabilir, bir kök dizindeki girişlerin sayısına bir üst sınır koymak oldukça saçma olurdu. /bu açıdan özellikle özel değildir, bu nedenle, /özellikle girişlerin sayısına bir üst sınır getirmenin eşit derecede aptalca olacağı sonucuna varır .
CVn

8

POSIX'te veya tipik Unix uygulamalarında bir dizindeki giriş sayısında bir sınırlama yoktur. Alt dizin sayısı için dolaylı bir sınır olabilir, bu maksimum sabit bağlantı sayısıdır (her alt dizinin ..girişi dizine sabit bir bağlantıdır); bir dizini 65533 alt dizinleriyle sınırlayan birçok yaygın dosya sistemi için 2 16'dır (en azından ..girişleri açıkça depolayan dosya sistemleri için ). Bundan önce düşük performansa vurmaya başlayacaksınız. POSIX'e göre, bir uygulamanın bir dosyadaki ( _POSIX_LINK_MAX) yalnızca 8 sabit bağlantıyı desteklemesine izin verilir , ancak gerçek bir uygulama 6 alt dizinle sınırlı değildir. Her neyse, ext4 dahil olmak üzere birçok dosya sisteminde, sabit bağlantı sayısı.. girişler, bu yüzden tek sınır dosya sisteminde ne kadar alan veya kaç inode kullanılabilir olduğudur.

POSIX, sistemdeki dosyaların organizasyonu hakkında fazla bir şey söylemez. Yalnızca birkaç dosyanın varlığını zorunlu kılar . Kök dizindeki tek zorunlu girdiler /devve /tmp. Gibi diğer alışılmış Unix girişleri /usr, /var, /bin, /etc, /lib, /home, vb vardır Unix POSIX tarafından kodlanmış değildir konvansiyonlar.

Linux'ta FHS , klasikleri ve birkaçını kodlar. Çoğu Linux dağıtımı FHS girişlerine bağlıdır. Diğer Unix sistemleri genellikle aynı girişlere sahiptir, belki birkaç fark vardır, ancak sayı hemen hemen aynıdır.

Bu önerilmez rağmen Sistem yöneticileri, daha yaratabilir: çoğu şeyler için iyi tanımlanmış yerlerde (yazılım altında gider orada /usrveya /optsistem verileri altında gider, /varkullanıcı verileri altında gider /netnoktaları batmak monte /mediaveya /mntvs.), çok nadiren var üst düzeyde yeni dizinler oluşturmak için iyi bir neden.


Bu doğru değil. Çoğu "makul" dosya sisteminde dizin başına maksimum sayıda alt dizin veya aygıt başına maksimum sayıda düğüm bulunur. Ancak, genellikle sürücünün kök dizininde görebileceğiniz dizin sayısına göre oldukça büyüktür.
Kevin

@Kevin Oh, iyi bir nokta, yaygın dosya sistemlerinde ilk önce maksimum sabit bağlantı sayısını vuracaksınız ve bu 16 bit kadar düşük olabilir.
Gilles 'SO- kötü olmayı bırak'

@Kevin ext4'te durum böyle olmasa da, kullanılabilir alan (bloklar veya inodes) dışındaki alt dizinlerin sayısında bir sınır var gibi görünmüyor. Dizin başına alt dizin sayısında başka bir sınır düşünüyor muydunuz?
Gilles 'SO- kötü olmayı bırak'

Düzgün tasarlanmış bir dosya sistemi .. dizin girişlerine sabit bağlantılar oluşturmaz. Düzgün tasarlanmış bir dosya sisteminde, elle oluşturulan sabit bağlantılar olmadığı sürece bir dizinin bağlantı sayısı 1'dir.
schily

1
Hayır,% 100 POSIX uyumlu dosya sisteminde böyle bir sınırlama yoktur. Daha önce de belirtildiği gibi, POSIX gerektirmez. ve .. diğer dizinlere link vermek. Öyleyse, bu, V7 dosya sisteminde tanıtılan saldırıların bir sonucu olan bir uygulama detayıdır. Tamamen farklı çalışan POSIX uyumlu diğer dosya sistemleri de vardır.
schily

2

FAT'den farklı olarak, UNIX tarafından kullanılan dosya sistemlerinin kök dizinde özel bir boyut sınırı yoktur, ancak bölüm dolduğunda daha fazlasını ekleyemezsiniz.

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.