it-swarm-id.com

Saat memasang aplikasi pengguna, di mana "praktik terbaik" menyarankan mereka berada?

Kadang-kadang saya menginstal aplikasi secara manual, daripada menggunakan apt atau manajer paket lain.

Lokasi apa (/usr/, /usr/local/, /opt/, /home/, dll.) Yang disarankan oleh "praktik terbaik" untuk pemasangan aplikasi pengguna?

206
citadelgrad

Itu tergantung, sungguh. Jika aplikasi memiliki makefile, atau misalnya untuk aplikasi python jika aplikasi menggunakan distutils (mis., Memiliki file setup.py), atau sistem build/install yang serupa, Anda harus menginstalnya ke /usr/local/. Ini sering merupakan perilaku default.

Dari apa yang saya mengerti, /usr/local/ memiliki hierarki yang mirip dengan /usr/. Namun, direktori seperti /usr/bin/ dan /usr/lib/ biasanya disediakan untuk paket yang diinstal melalui apt. Jadi sebuah program yang mengharapkan untuk "diinstal" ke /usr/ akan berfungsi dengan baik di /usr/local/.

Jika Anda hanya perlu mengekstrak tarball dan menjalankannya secara langsung (mis. Firefox) kemudian masukkan ke /opt/. Suatu program yang hanya membutuhkan satu direktori dan akan mendapatkan semua file/pustaka relatif terhadap direktori itu dapat memperoleh satu direktori untuk dirinya sendiri di /opt/.

182
Umang

Baik untuk diingat bahwa /usr tidak mewakili pengguna tetapi sumber daya sistem unix.

Karena itu, saya cenderung memperkirakan bahwa distribusi apa pun memiliki hak untuk menginjak-injak seluruh isi /usr, dan bahwa penambahan spesifik saya pada 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 ke /home, meskipun saya jarang mengikuti konvensi itu.

Semua yang dikatakan, saya membiarkan manajer paket distribusi melakukan hal-hal seperti dulu, dan kemudian melakukan hal di atas ketika menggulung barang.

116
Walt Stoneburner

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 /, itu kemungkinan akan menyebabkan kekacauan, hal-hal yang diinstal di/usr/dimaksudkan hanya untuk paket distribusi./usr/local/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.

34
LassePoulsen

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 terpisah ('lokal') '/ usr' pada setiap mesin selain '/ usr', yang mungkin saja dipasang hanya-baca 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/local daripada/usr kecuali jika sedang diinstal untuk mengganti atau memutakhirkan perangkat lunak di/usr.

26
popey

Saya biasanya memiliki folder bernama "Program" di rumah saya tempat saya menginstal program-program itu, cukup aneh (atau tidak) semuanya adalah Java barang 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.

6
Javier Rivera

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.