Tempat menginstal perangkat lunak dan yang dapat dieksekusi untuk semua pengguna

15

Secara default beberapa aplikasi menginstal ke / usr / local / bin, tetapi jika saya mengubah pengguna apakah pengguna itu dapat mengakses aplikasi ini? Saya membaca di sini (pertanyaan lain) yang harus saya gunakan / pilih? Tapi binari yang secara default masuk ke / usr / local / bin? tidak ada / opt / bin?

Jiew Meng
sumber
kemungkinan duplikat Tempat apa yang terbaik untuk memasang aplikasi pengguna?
Jorge Castro

Jawaban:

19

Biasanya Anda tidak perlu mencoba menginstal apa pun dengan tangan. Dalam hampir semua kasus, Anda akan menemukan paket deb. Jika tidak ada satu google untuk saran (seperti cara menginstal Oracle JDK di Ubuntu ). Jika ini adalah perangkat lunak Anda sendiri, lihat Panduan Pengemasan Ubuntu untuk bantuan tentang cara memasukkan barang ke Ubuntu dengan benar.

Jika Anda harus tetap melakukannya, masukkan binary di / opt / myapp dan tautkan executable ln -s /opt/myapp/myappbinary /usr/local/bin/myappbinary. Jika Anda ingin tahu lebih banyak tentang jenis topik man hierdi terminal. Perbedaan antara / usr / bin dan / usr / local / bin dijelaskan di sana. Bagaimanapun kedua jalur berada dalam variabel lingkungan $ PATH. Itu berarti setiap biner yang Anda letakkan di sana akan dapat dieksekusi oleh siapa saja yang memberikan nama biner (dan bukan path lengkap). Jadi menggunakan contoh di atas Anda dapat menjalankan program Anda dengan myappbinarydaripada harus memberikan path lengkap /opt/myapp/myappbinary.

mniess
sumber
1
Apa tujuan memasukkan / opt, terutama jika Anda hanya akan menghubungkannya dengan / usr / local?
psusi
Jika saya ingin semua pengguna sistem dapat menggunakan aplikasi, saya harus symlink ke / usr / bin bukan / usr / local / bin?
Jiew Meng
4
@jiewmeng Jika Anda melihat man hierAnda akan melihat semuanya dijelaskan di sana. Termasuk perbedaan antara / usr / bin dan / usr / local / bin. Singkatnya: Jangan menghubungkan sesuatu dengan / usr / bin /. @psusi Alasannya adalah untuk menjaga sistem file Anda tetap bersih. jika Anda pernah menginstal ulang komputer Anda (atau pindah ke mesin / harddisk lain) satu-satunya direktori yang perlu Anda perhatikan adalah / home, / etc dan / opt. Dan saya ulangi sekali lagi: Biasanya Anda tidak ingin melakukan apa pun di luar $ HOME Anda kecuali untuk mengedit file konfigurasi di / etc.
mniess
7

/ usr dapat dibaca dunia, jadi tidak, tidak akan ada masalah dengan pengguna lain dapat menjalankan program. / usr / local adalah tempat aplikasi pergi yang Anda kompilasi dari kode sumber sendiri. Program yang diinstal melalui manajer paket pergi ke tempat lain. Saya belum pernah melihat tujuan untuk / memilih, dan percaya itu hanya membawa dari AT & T Sys V hari-hari yang lalu di tahun 80-an.

psusi
sumber
apa perbedaan antara / usr / local / bin dan / usr / bin? Jika saya ingin semua pengguna dapat mengakses aplikasi, apakah saya meletakkannya di / usr / bin?
Jiew Meng
@jiewmeng, sekali lagi, versi lokal untuk program yang Anda kompilasi dari sumber sendiri, bukan menginstal melalui manajer paket. Ini tidak ada hubungannya dengan pengguna dan akses.
psusi
0

Tergantung pada rasa linux, tempat yang disukai untuk menginstal sesuatu dengan tangan mungkin bervariasi. Jika Anda melakukannya dengan tangan, lakukan apa yang disarankan README .

Jika Anda membuat pengguna baru, dan pengguna lama Anda tidak melakukan apa pun untuk mengakses program baru, pengguna baru juga tidak akan melakukannya.

Namun, Anda bebas membuat / opt / bin dan memasukkannya ke dalam path , tetapi mengapa Anda harus melakukannya? Atau bahkan / flip / gagal / funky / bin . Atau tautan dari suatu tempat ke direktori, yang sudah termasuk dalam PATH .

Pengguna tidak diketahui
sumber