Saya akan menginstal "leiningen" yang merupakan skrip bash untuk bahasa pemrograman clojure dengan banyak kegunaan ... ... tapi saya tidak yakin di mana yang sesuai untuk -put- skrip yang dapat dieksekusi di linux sistem sehingga tersedia secara permanen dan stabil.
Saya tidak berpikir bahwa di mana saja di / home masuk akal, tapi saya tidak tahu direktori / direktori mana yang seharusnya digunakan untuk itu.
/ usr / bagikan?
Jawaban:
(Catatan:
~
diterjemahkan seperti/home/user
pada posting ini)Secara pribadi, saya memasukkan semua skrip sistem buatan saya ke dalam
/usr/local/bin
dan semua skrip bash pribadi saya~/bin
. Sangat sedikit program yang saya instal menempatkan dirinya di/usr/local/bin
direktori sehingga tidak sangat berantakan dan itu sudah dalam$PATH
variabel di sebagian besar mesin saya.Untuk menambah
/usr/local/bin
jalur sistem Anda (jika belum ada) tambahkan ini ke/etc/profile
:Untuk menambahkan
~/bin
ke jalur pengguna Anda, tambahkan ini ke~/.bash_profile
:Terkadang
.bash_profile
file default akan memiliki pernyataan if yang secara otomatis ditambahkan~/bin
ke$PATH
jika ada, jadi buat~/bin
dan buka terminal baru untuk melihat apakah Anda sudah melakukan ini.sumber
export
variabel beberapa kali (dan mungkin sistem Anda sudah ditandaiPATH
untuk ekspor, jadi Anda tidak perlu melakukannya sendiri sama sekali)./ usr / local / benar-benar tempat yang tepat, sementara / opt benar-benar untuk aplikasi pihak ketiga; "/ opt disediakan untuk instalasi paket perangkat lunak aplikasi tambahan." Ini adalah bagian dari Standar Hirarki Sistem Files.
Lihat http://www.pathname.com/fhs/pub/fhs-2.3.html untuk diskusi di / opt.
Untuk / usr / local /, ini untuk "digunakan oleh administrator sistem". Jangan lupa tentang hal-hal di sana - dokumentasikan.
sumber
/usr/local
- seperti namanya - untuk admin lokal, dan/opt
untuk hal-hal yang tidak didistribusikan secara resmi, seperti perangkat lunak pihak ketiga komersial yang dikelola oleh proses yang serupa (mungkin diganti atau dihapus dalam peningkatan dari upstream) tetapi tidak dikelola oleh manajer paket distro, atau mungkin benar-benar didistribusikan sebagai RPM atau.deb
paket, tetapi tidak diorganisir dan dikemas dengan mematuhi semua kebijakan dan konvensi distro./usr/local
dokumen ini nanti.Secara historis Anda akan menggunakan sesuatu seperti / opt. Apa pun baik-baik saja asalkan diperbarui dalam $ PATH untuk pengguna yang seharusnya memilikinya (maka apa pun di / rumah menjadi ide yang buruk).
sumber
/usr/share/clojure
sepertinya tempat yang biasa untuk meletakkan binari dan perpustakaan clojure - mengapa saya tidak tahu, sepertinya alami untuk/usr/local/share/clojure
- jadi membuatsite
subdirektori di bawah ini untuk skrip bash ini sepertinya baik-baik saja.Poin umum adalah lebih masuk akal untuk mengatur skrip berdasarkan fungsi, tidak memiliki semua skrip bash di tempat yang sama.
sumber
/usr/share
ini. Pertama-tamashare
berarti file independen arsitektur (mis. Dibagikan di seluruh arsitektur). Karena alasan itu perpustakaan dan file yang dapat dieksekusi tidak termasuk dalamshare
direktori. Kedua kecuali dari/usr/local
tidak ada yang harus ditulis oleh manajer paket distribusi/usr
./usr/local
, Saya percaya ada beberapa kebingungan dengan arti "lokal".Seperti yang saya pahami, "lokal" tidak berarti "berasal dari / dari mesin lokal" tetapi, lebih sederhana, "khusus untuk mesin lokal", yang mungkin berasal atau tidak berasal dari / dari mesin lokal.
sumber