Kadang-kadang saya menginstal aplikasi secara manual, daripada menggunakan apt
atau manajer paket lain.
Apa lokasi ( /usr/
, /usr/local/
, /opt/
, /home/
, dll) disarankan oleh "praktik terbaik" untuk instalasi aplikasi pengguna?
Kadang-kadang saya menginstal aplikasi secara manual, daripada menggunakan apt
atau manajer paket lain.
Apa lokasi ( /usr/
, /usr/local/
, /opt/
, /home/
, dll) disarankan oleh "praktik terbaik" untuk instalasi aplikasi pengguna?
Jawaban:
Itu tergantung, sungguh. Jika aplikasi memiliki makefile, atau misalnya untuk aplikasi python jika aplikasi menggunakan distutils (misalnya, memiliki setup.py
file), atau sistem build / install yang serupa, Anda harus menginstalnya /usr/local/
. Ini sering merupakan perilaku default.
Dari apa yang saya mengerti, /usr/local/
memiliki hierarki yang mirip /usr/
. Namun, direktori suka /usr/bin/
dan /usr/lib/
biasanya dicadangkan untuk paket yang diinstal via apt
. Jadi sebuah program yang mengharapkan untuk "diinstal" ke dalam /usr/
harus berfungsi dengan baik /usr/local/
.
Jika Anda hanya perlu mengekstrak tarball dan menjalankannya secara langsung (mis. Firefox) maka masukkan /opt/
. Sebuah program yang hanya membutuhkan satu direktori dan akan mendapatkan semua file / perpustakaan relatif terhadap direktori itu bisa mendapatkan satu direktori untuk dirinya sendiri /opt/
.
opt/
- menurut saya Anda telah memukul paku di kepala karena tujuannya.
~/.local/share
? @Marco
~
(direktori home Anda), tetapi itu akan membuat aplikasi hanya dapat diakses oleh satu pengguna. Pengguna lain di sistem Anda harus menginstal dan memelihara instalasi sendiri dari perangkat lunak itu. Adapun praktik terbaik tentang menginstal aplikasi menginstal direktori home Anda, saya percaya tidak ada pedoman yang kuat karena Anda tidak akan mengganggu paket sistem.
Ada baiknya untuk diingat bahwa /usr
tidak berdiri untuk pengguna tetapi lebih unix sumber daya sistem .
Karena itu, saya cenderung memperkirakan bahwa distribusi apa pun memiliki hak untuk menginjak seluruh isi /usr,
dan bahwa penambahan spesifik saya ke sistem masuk /usr/local
, yang saya pertahankan sebelum melakukan upgrade.
Sementara itu, aplikasi dan hal-hal lain masuk /opt
.
Beberapa orang merasa nyaman memasukkan barang /home
, meskipun saya jarang mengikuti kebaktian itu.
Semua yang dikatakan, saya membiarkan manajer paket distribusi melakukan hal-hal seperti dulu, dan kemudian melakukan hal di atas ketika menggulung barang.
User
. Itu karena pengguna linux adalah pengembang. Pertama ketika mulai membagi menjadi devs dan pengguna /home
direktori diperkenalkan. Dan kemudian seseorang mempunyai ide untuk mengatakan itu berarti Unix System Resources
, yang tidak terlalu masuk akal, karena kita punya Unix system Resources
di/dev
Instal program yang tidak stabil seperti firefox devel di / home / user / opt / membuatnya jauh lebih mudah untuk dihapus, dan tidak ada kebingungan untuk pengguna lain untuk versi apa yang harus mereka gunakan ... Jadi jika itu bukan program untuk penggunaan global, instal dalam subfolder di direktori home Anda.
Jangan pernah menginstal program di / usr /, kemungkinan akan menyebabkan kekacauan, hal-hal yang diinstal di / usr / dimaksudkan hanya untuk paket distribusi. / usr / local / adalah untuk paket yang dikompilasi secara lokal. Dan strukturnya bekerja dengan cara yang persis sama! file di / usr / local / akan diprioritaskan di atas file di / usr /
/ opt / harus digunakan untuk instalasi paket (binary) yang telah dikompilasi (Thunderbird, Eclipse, Netbeans, IBM NetSphere, dll) dan sejenisnya. Tetapi jika mereka hanya untuk satu pengguna mereka harus dimasukkan ke direktori home Anda.
Jika Anda ingin dapat menjalankan program yang dipasang di lokasi "aneh" (seperti / home / user / opt / firefox /) tanpa mengetikkan seluruh jalur yang Anda butuhkan untuk menambahkannya ke variabel $ PATH Anda, Anda dapat melakukannya dengan menambahkan baris seperti ini di /home/user/.profile Anda
export PATH=/home/user/opt/firefox:$PATH
Nama folder harus menjadi tempat di mana file executable yang Anda butuhkan untuk menjalankan berada.
Standar Hierarki Sistem File Linux menunjukkan /usr/local
.
Dari http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html :
Gagasan asli di balik '/ usr / local' adalah untuk memiliki direktori ('lokal') '/ usr' yang terpisah pada setiap mesin selain '/ usr', yang mungkin hanya dipasang read-only dari tempat lain. Ini menyalin struktur '/ usr'. Saat ini, '/ usr / local' secara luas dianggap sebagai tempat yang baik untuk menyimpan program yang dikompilasi sendiri atau pihak ketiga. Hirarki / usr / lokal untuk digunakan oleh administrator sistem ketika menginstal perangkat lunak secara lokal. Itu harus aman dari ditimpa ketika perangkat lunak sistem diperbarui. Ini dapat digunakan untuk program dan data yang dapat dibagikan di antara sekelompok host, tetapi tidak ditemukan di / usr. Perangkat lunak yang diinstal secara lokal harus ditempatkan di dalam / usr / lokal daripada / usr kecuali jika sedang diinstal untuk mengganti atau memutakhirkan perangkat lunak di / usr.
Saya biasanya memiliki folder bernama "Program" di rumah saya tempat saya menginstal program-program itu, cukup aneh (atau tidak) semuanya adalah barang java sekarang.
Ini memiliki satu keuntungan besar bagi saya, ketika saya menginstal ulang atau mengganti komputer mereka dipindahkan dengan sisa rumah saya. Ini memiliki kelemahan yang jelas, aplikasi itu hanya tersedia untuk pengguna saya.
/
direktori hanya kemudian ketik nama pengguna dan kata sandi lama yang sama tetapi saya menemukan bahwa Ubuntu membuat folder rumah lain.
Gunakan "checkinstall" untuk mengonversi paket alien Anda menjadi deb sehingga bisa dihapus menggunakan pengelola paket.
Perhatikan bahwa file konfigurasi sering tidak akan ditangani sebagai file konfigurasi (mungkin diabaikan, atau mungkin diperlakukan sebagai bagian dari aplikasi), dan bahwa skrip pra dan pasca pemasangan kadang-kadang ceroboh, meskipun biasanya akan memperingatkan Anda ketika berpikir bahwa deb akan memiliki skrip pra atau pasca pemasangan yang buruk.