Bagaimana seharusnya executable yang diinstal di bawah / opt ditambahkan ke path?

Jawaban:

10

Ada perbedaan antara /optdan /usr/local/bin. Jadi hanya menghubungkan binari dari satu ke yang lain akan membingungkan. Saya tidak akan mencampurnya.

/optadalah untuk instalasi paket perangkat lunak aplikasi tambahan , sedangkan /usr/localdirektori adalah untuk administrator sistem ketika menginstal perangkat lunak secara lokal (dengan makedan make install). /usr/local/bindimaksudkan untuk binari dari perangkat lunak yang diinstal di bawah /usr/local.

Menurut Standar Hirarki File , cara yang benar adalah menambahkan /opt/<package>/binke $PATHuntuk setiap paket individu. Jika ini terlalu menyakitkan (ketika Anda memiliki jumlah /opt/<package>/bindirektori yang tidak terhitung misalnya) maka Anda (administrator lokal) dapat membuat symlink dari /opt/<package>/binke /opt/bindirektori. Ini kemudian dapat ditambahkan ke pengguna $PATHsekali.

kekacauan
sumber
Eh kenapa? /usr/local/binuntuk penggunaan administrator sistem. Jika admin ingin menginstal perangkat lunak /optdan membuat tautan untuknya di bawah /usr/local, itu sangat sempurna.
Gilles 'SANGAT berhenti menjadi jahat'
@Gilles Tentu saja dia bisa, dia bisa melakukan apa pun yang dia inginkan, dia adalah administrator sistem. Tetapi praktik terbaik adalah memisahkan mereka.
kekacauan
Oke, jadi sepertinya ini lebih merupakan masalah konvensi standar daripada yang lainnya. Saya agak aneh oleh kurangnya simetri "Ada perbedaan antara /optdan /usr/local/bin" sebagai lawan dari "... antara /optdan /usr/local" atau "... antara /opt/bindan /usr/local/bin", tetapi setelah sampai pada akhir saya menduga itu dimaksudkan sebagai cara untuk menggabungkan /opt/bindan /opt/.../bin. Jika demikian, saya ingin tahu apakah kata-katanya dapat ditingkatkan.
Kenneth Hanson
1
@chaos Anda menulis itu, menurut FHS, /opt/package/bin/atau setidaknya /opt/bin/harus ditambahkan ke $ PATH. Saya membaca referensi yang diposting dan itu mengatakan banyak tentang bagaimana struktur /optdan apa yang harus ada di dalam sana, tetapi saya tidak dapat menemukan konfirmasi bahwa salah satu direktori di bawah ini /optharus ditambahkan ke $ PATH. Bisakah Anda menguraikan bagaimana Anda sampai pada kesimpulan itu? Cheers
vic
@vic Alasan yang sama Anda meletakkan /whatever/bindirektori lain ke $ PATH - sehingga Anda dapat memanggil executable tanpa mengetikkan path lengkap setiap saat.
Kenneth Hanson