Saya mencoba mempelajari standar POSIX. Bila menggunakan Unix, saya /bin
, /etc
, /dev
, /media
, dan biasanya /opt
, tapi yang standar atau sampai dengan pelaksanaan spec? Mungkinkah ada banyak direktori di root, atau dibatasi oleh standar?
Saya mencoba mempelajari standar POSIX. Bila menggunakan Unix, saya /bin
, /etc
, /dev
, /media
, dan biasanya /opt
, tapi yang standar atau sampai dengan pelaksanaan spec? Mungkinkah ada banyak direktori di root, atau dibatasi oleh standar?
Jawaban:
Menurut standar yang diterbitkan Grup Terbuka , satu-satunya direktori yang diperlukan adalah:
/
/dev
, Yang berisi console
, null
dantty
/tmp
, dijamin bisa ditulisi tetapi tidak harus dilestarikan.Linux Foundation mengelola Filesystem Hierarchy Standard (FHS) yang memperluas ini untuk memasukkan direktori yang biasanya Anda lihat pada sistem Linux:
/bin
: Biner perintah pengguna esensial/boot
: File statis dari bootloader/dev
: File perangkat/etc
: Konfigurasi sistem khusus host/home
: Direktori home user (opsional)/lib
: Pustaka bersama penting dan modul kernel/lib<qual>
: Alternatif format pustaka bersama yang penting (opsional)/media
: Mount point untuk media yang dapat dipindahkan/mnt
: Mount point untuk sistem file yang dipasang sementara/opt
: Paket perangkat lunak aplikasi tambahan/root
: Direktori rumah untuk pengguna root (opsional)/run
: Data variabel run-time/sbin
: Sistem binari/srv
: Data untuk layanan yang disediakan oleh sistem ini/tmp
: Berkas sementara- Serta
/usr
hierarki dan/var
hierarki
FHS dirancang sedemikian generik mungkin, untuk memungkinkan penggabungan dalam sistem UNIX apa pun. Direktori tambahan kemungkinan ada di sistem yang masuk akal, tetapi ini tidak diamanatkan oleh POSIX.
Namun, perhatikan bahwa Grup Terbuka juga menyatakan itu
Aplikasi yang benar-benar sesuai harus tidak mengasumsikan kemampuan untuk membuat file di salah satu direktori ini, kecuali ditentukan di bawah ini.
Karena direktori benar-benar hanya file, ini menyiratkan bahwa aplikasi yang sangat sesuai tidak akan membuat file atau direktori di tingkat root. Oleh karena itu, POSIX tidak selalu membatasi distribusi yang mungkin ditempatkan pada level root, tetapi tampaknya menyatakan bahwa suatu aplikasi yang sesuai dengan spesifikasinya tidak dapat berasumsi bahwa ia akan mampu melakukannya.
Dalam 10.1 Struktur dan File Direktori , POSIX mendaftar direktori yang harus ada. Tetapi ia tidak menetapkan batasan pada jumlah direktori lain yang dapat ada pada level root dari sistem file.
Untuk itu, tampaknya tidak membatasi ukuran direktori lain.
Perhatian POSIX di bidang ini difokuskan pada kesamaan daripada perbedaan.
/
) dapat menjadi direktori root, akan sangat konyol untuk memaksakan batas atas jumlah entri dalam direktori root. /
tidak terlalu istimewa dalam hal ini, karena itu cukup konyol untuk memaksakan batas atas jumlah entri secara /
khusus.
Tidak ada batasan untuk jumlah entri dalam direktori, baik dalam POSIX atau implementasi Unix yang khas. Mungkin ada batas tidak langsung untuk jumlah subdirektori, yang merupakan jumlah maksimum tautan keras (setiap ..
entri subdirektori adalah tautan keras ke direktori); itu 2 16 untuk banyak filesystem umum, yang membatasi direktori hingga 65533 subdirektori (setidaknya untuk filesystem yang menyimpan ..
entri secara eksplisit). Anda akan mulai memukul kinerja yang buruk sebelum itu. Menurut POSIX, suatu implementasi hanya diperbolehkan untuk mendukung 8 tautan keras pada suatu file ( _POSIX_LINK_MAX
), tetapi tidak ada implementasi aktual yang terbatas pada 6 subdirektori. Lagi pula, pada banyak filesystem, termasuk ext4, jumlah hard link tidak dipertahankan..
entri, jadi satu-satunya batasan adalah berapa banyak ruang atau berapa banyak inode yang tersedia di sistem file.
POSIX tidak banyak bicara tentang organisasi file pada sistem. Hanya mandat keberadaan beberapa file . Satu-satunya entri wajib dalam direktori root adalah /dev
dan /tmp
. Kebiasaan entri Unix lainnya seperti /usr
, /var
, /bin
, /etc
, /lib
, /home
, dll Unix konvensi yang tidak dikodifikasi oleh POSIX.
Di Linux, FHS mengkodekan klasik dan beberapa lagi. Sebagian besar distribusi Linux menempel pada entri FHS. Sistem Unix lain biasanya memiliki sebagian besar entri yang sama, mungkin dengan beberapa perbedaan, tetapi jumlahnya hampir sama.
Administrator sistem dapat membuat lebih banyak, meskipun ini tidak disarankan: ada tempat yang terdefinisi dengan baik untuk sebagian besar hal (perangkat lunak berjalan di bawah /usr
atau /opt
, data sistem berada di bawah /var
, data pengguna berada di bawah /net
, titik mount di bawah /media
atau /mnt
, dll.), Sehingga jarang ada alasan bagus untuk membuat direktori baru di tingkat atas.