Apakah ada lokasi standar di Linux untuk menyimpan file sumber misalnya OpenSSL . Saya membangun Nginx dari sumber dengan versi OpenSSL yang tidak standar. Saya perlu mengunduh dan menghapus OpenSSL dan saya melakukannya di direktori home. Sekarang, saya bertanya-tanya apakah mungkin ada lokasi standar di Linux /opt
?
directory-structure
source
pengguna3448600
sumber
sumber
Jawaban:
Setiap kali Anda bertanya pada diri sendiri sesuatu seperti ini, periksa Filesystem Hierarchy Standard (FHS). Di sana, Anda akan menemukan entri berikut:
Jadi Anda dapat menempatkan file sumber Anda di subdirektori
/usr/src
. Yang mengatakan, ini adalah direktori opsional sehingga Anda dapat menyimpannya di mana pun Anda suka. Kode sumber tidak relevan setelah Anda mengkompilasinya menjadi executable sehingga sistem tidak akan pernah membutuhkan sumber sesuatu untuk dapat diakses di lokasi tertentu.Kesimpulannya:
/usr/src
adalah lokasi yang cukup standar tetapi jangan ragu untuk memilih sendiri jika Anda mau.sumber
/usr/src
sistem non- Linux. BSD menyimpan sumber sistem dasar mereka di sana secara default dan Anda tidak ingin mencampurkannya dengan perangkat lunak pihak ketiga. Bangun saja di$HOME
suatu tempat .../usr/src
turunan Debian, jika Anda memiliki paket tertentu yang diinstal (gcc-6-source
,,binutils-source
paket DKMS, header kernel, dll.). Di Debian, ada fitur bagus di mana Anda dapat menambahkan diri Anda kesrc
grup yang memiliki/usr/src
, dan kemudian hanya menulis di sana sebagai diri sendiri (tanpa perlusudo
atau apa pun)./usr/src/debug
dan/usr/src/kernels
(AFAICS)./usr
pada sistem apa pun. Anda harus memasukkan semuanya/usr/local
. Apakah BSD keberatan Anda menggunakan/usr/local/src
?/usr/local/src
adalah tempat yang aman untuk menyimpan kode sumber, dan membangunnya juga. FHS mengatakan :dan juga
Tidak jelas apa yang dimaksud dengan "kode sumber lokal", tetapi jelas sistem tidak akan mencoba menempatkan apa pun di dalamnya
/usr/local/src
, tidak seperti/usr/src
, jadi sepertinya ada sedikit kelemahan untuk meletakkan kode di sana.Bahkan, saya punya milik saya di sistem file yang terpisah:
Catatan: setidaknya di Debian, pengguna Anda perlu ditambahkan ke
staff
grup untuk menulis/usr/local
.sumber
/usr/local/src
sementara jawaban lainnya hanya membahas/usr/src
/usr/local
(dalam teori). Jadi pada dasarnya itu berarti persis apa yang Anda gambarkan.Jika dengan "standar" yang Anda maksud konvensional, maka tempat untuk membongkar dan membangun kode sumber adalah direktori home Anda. File-file tersebut diharapkan bersifat sementara, dihapus ketika Anda selesai, atau disimpan jika Anda suka, terorganisir sesuka Anda. Direktori rumah Anda adalah area Anda untuk bermain dengan semua hal semacam ini.
Jika Anda ingin menyimpannya setelah itu, untuk referensi , " Filesystem Hierarchy Standard " merekomendasikan
/usr/src
. Namun, ini bukan panduan hukum; dan, jika Anda terbiasa dengan kebiasaan ini kemudian menjelajah ke sistem non-Linux, Anda dapat menyebabkan masalah dengan mengikutinya. Misalnya, pada sistem BSD, sumber sistem dasar disimpan di sana dan Anda benar-benar tidak ingin mengacaukannya. Bahkan di Linux Anda dapat menjalankan risiko berbaur dengan sumber apa pun yang disimpan oleh manajer paket, yang tidak diinginkan.Saya akan merekomendasikan untuk menghindari
/usr/src
keseluruhan. Tidak ada manfaat yang jelas untuk menyimpan apa pun di sana sama sekali, dan risiko potensial jika Anda mengacaukan arti yang dimaksud.sumber
Anda dapat menggunakannya
/usr/src
karena tempat ini terdengar masuk akal dan distribusi berbasis rpm menggunakannya untuk menyimpan konten paket srpm di sana. Tapi tempat lain seperti/opt
,/usr/local
,~/src
baiksumber