Standar untuk masalah ini adalah Standar Hirarki File . Ini dokumen yang agak besar. Pada dasarnya (dan sangat kasar), jalur standar di Linux adalah:
/bin
& /sbin
ditujukan untuk program vital untuk OS, sbin hanya untuk administrator;
/usr/bin
& /usr/sbin
untuk program yang tidak penting, sbin hanya untuk administrator;
/var
adalah untuk data hidup untuk program. Itu bisa berupa data cache, data spool, data sementara (kecuali data itu ada /tmp
, yang dihapus pada setiap reboot), dll.;
/usr/local
adalah untuk program yang diinstal secara lokal. Biasanya, ia meng-host program yang mengikuti standar tetapi tidak dikemas untuk OS, melainkan diinstal secara manual oleh administrator (menggunakan misalnya ./configure && make && make install
) serta skrip administrator;
/opt
adalah untuk program yang tidak dikemas dan tidak mengikuti standar. Anda baru saja menempatkan semua perpustakaan di sana bersama dengan program ini. Ini sering merupakan solusi cepat & kotor, tetapi juga dapat digunakan untuk program yang Anda buat sendiri dan Anda ingin memiliki jalur tertentu. Anda dapat membuat jalur Anda sendiri (misalnya /opt/yourcompany
) di dalamnya, dan dalam hal ini Anda dianjurkan untuk mendaftarkannya sebagai bagian dari jalur standar;
/etc
seharusnya tidak mengandung program, melainkan konfigurasi.
Jika program Anda khusus untuk layanan yang disediakan oleh layanan, /srv
juga bisa menjadi lokasi yang baik untuk mereka. Misalnya, saya lebih suka menggunakan /srv/www
untuk situs web daripada /var/www
memastikan direktori hanya akan berisi data yang saya tambahkan sendiri, dan tidak ada yang berasal dari paket perangkat lunak.
Ada beberapa perbedaan antara distribusi. Sebagai contoh, sistem RedHat menggunakan libexec
direktori ketika sistem Debian / Ubuntu tidak.
FHS sebagian besar digunakan oleh distribusi Linux (saya sebenarnya tidak tahu OS lain yang benar-benar sesuai dengan itu). Sistem Unix lain tidak mengikutinya. Sebagai contoh, sistem BSD cenderung digunakan /usr/local
untuk program paket, yang tidak berlaku untuk Linux. Solaris memiliki jalur standar yang sangat berbeda.
Saya sangat menyarankan Anda untuk membaca dokumen FHS yang saya tautkan di atas jika Anda ingin tahu lebih banyak tentang ini.