Saya menjalankan banyak aplikasi open source termasuk java dan kucing jantan. Sepertinya sebagian besar instruksi menjalankan aplikasi saya dari /var
direktori. Tetapi sesekali, saya juga melihat /opt
direktori. Sementara saya melakukannya, saya juga melihat /usr/local/
dan bahkan /etc
juga.
Kapan saya harus menginstal aplikasi dalam satu folder atau yang lain? Apakah ada pro dan kontra dari masing-masing? Apakah itu ada hubungannya dengan riwayat rasa (Solaris vs Linux atau Red Hat vs Ubuntu)?
linux
installation
Trevor Allred
sumber
sumber
Jawaban:
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.
sumber
/srv
. Saya sedang mencari tempat untuk repositori git saya dan tidak suka konten Apache saya/var/www
./srv
sepertinya tempat yang sempurna.var
bukandata
?/var
karena untuk "berbagai data". Pada hari-hari awal Unix di-host pada satu drive. Ketika itu tidak cukup mereka mendapat yang baru, memasangnya sebagai/usr
dan memindahkan semua data pengguna di sana. Tapi itu tidak cukup dan drive lama sudah penuh lagi segera. Jadi mereka pindah semua binari sistem bisa boot tanpa dari/bin
ke/usr/bin
. Mereka hanya kehabisan ruang. Kemudian mereka perlu berbagi data antar pengguna sehingga mereka membuat/var
dan menggunakannya sebagai kotak drop. FHS penuh dengan keputusan warisan seperti itu dan harus diambil dengan sedikit garam.opt
singkatan dari perangkat lunak opsional.var
singkatan dari file sistem variabel. Karena itu aplikasi Anda harus masuk/opt
.sumber
/var
adalah untuk memvariasikan file sistem, bukan "beragam"./var
karena untuk "berbagai data". Saya masih memiliki catatan dari buku pra-internet yang saya baca saat itu.Itu tergantung pada apa standar lokal Anda.
Secara pribadi, saya tidak menginstal apa pun ke / var tanpa alasan yang bagus. / Usr / local saya hampir selalu merupakan nfs mount dari jaringan, jadi apa pun yang tidak dikemas akan diinstal ke / opt.
sumber
/usr
. Libs secara dinamis akan berakhir di/var/lib
kadang-kadang, tapi saya tidak melihat apa yang Anda benar-benar akan menginstal di/var
, dari sudut pandang admin pandang. Program mungkin menggunakannya secara luas, tetapi harusnya cukup kosong sebelum Anda meluncurkannya.