Gdzie zainstalować oprogramowanie i pliki wykonywalne dla wszystkich użytkowników

15

Domyślnie niektóre aplikacje instalują się w / usr / local / bin, ale jeśli zmienię użytkowników, czy ten użytkownik będzie mógł uzyskać dostęp do tej aplikacji? Czytałem gdzieś tutaj (inne pytanie), że powinienem użyć / opt? Ale pliki binarne, które domyślnie przechodzą do / usr / local / bin? nie ma / opt / bin?

Jiew Meng
źródło

Odpowiedzi:

19

Zwykle nie trzeba próbować instalować niczego ręcznie. W prawie wszystkich przypadkach znajdziesz pakiet .deb. Jeśli nie ma jednego google z sugestiami (np. Jak zainstalować Oracle JDK w Ubuntu ). Jeśli jest to twoje własne oprogramowanie, sprawdź Przewodnik po pakowaniu Ubuntu, aby uzyskać pomoc na temat prawidłowego umieszczania rzeczy w Ubuntu.

Jeśli i tak musisz to zrobić, umieść plik binarny w / opt / myapp i połącz plik wykonywalny ln -s /opt/myapp/myappbinary /usr/local/bin/myappbinary. Jeśli chcesz dowiedzieć się więcej na ten temat, wpisz man hierw terminalu. Wyjaśniono tam różnicę między / usr / bin i / usr / local / bin . W każdym razie obie ścieżki znajdują się w zmiennej środowiskowej $ PATH. Oznacza to, że każdy wstawiony plik binarny będzie wykonywalny przez każdego, kto poda nazwę pliku binarnego (a nie pełną ścieżkę). Korzystając z powyższego przykładu, możesz uruchomić swój program, myappbinaryzamiast podawać pełną ścieżkę /opt/myapp/myappbinary.

Mniess
źródło
1
Jaki jest cel umieszczenia go w / opt, szczególnie jeśli zamierzasz w jakiś sposób dowiązać go do / usr / local?
psusi
Jeśli chcę, aby wszyscy użytkownicy systemu mogli korzystać z aplikacji, powinienem dowiązać symbolicznie do / usr / bin zamiast / usr / local / bin?
Jiew Meng
4
@jiewmeng Jeśli spojrzysz na man hierto zobaczysz wszystko wyjaśnione tam. Łącznie z różnicą między / usr / bin i / usr / local / bin. W skrócie: Nie symbolizuj niczego do / usr / bin /. @psusi Powodem jest utrzymanie systemu plików w czystości. jeśli kiedykolwiek przeinstalujesz komputer (lub przeniesiesz się na inną maszynę / dysk twardy), jedynymi katalogami, na które musisz spojrzeć, powinny być / home, / etc i / opt. Powtórzę raz jeszcze: zazwyczaj nigdy nie chcesz robić nic poza $ HOME, z wyjątkiem edycji plików konfiguracyjnych w / etc.
mniess
7

/ usr jest czytelny na całym świecie, więc nie, nie będzie problemu z uruchomieniem programu przez innych użytkowników. / usr / local to aplikacje, które kompilujesz z kodu źródłowego. Programy instalowane za pomocą menedżera pakietów idą gdzie indziej. Nigdy nie widziałem żadnego celu, aby / optować i wierzę, że to tylko przeniesienie ze starego AT&T Sys V w latach 80.

psusi
źródło
jaka jest różnica między / usr / local / bin i / usr / bin? Jeśli chcę, aby wszyscy użytkownicy mieli dostęp do aplikacji, czy mogę umieścić ją w katalogu / usr / bin?
Jiew Meng
@jiewmeng, po raz kolejny, wersja lokalna jest dla programów, które sam kompilujesz ze źródła, zamiast instalować za pomocą menedżera pakietów. Nie ma to nic wspólnego z użytkownikami i dostępem.
psusi
0

W zależności od smaku linuksa preferowane miejsce do zainstalowania czegoś ręcznie może się różnić. Jeśli robisz to ręcznie, rób to, co sugeruje README .

Jeśli utworzysz nowego użytkownika, a twoi starzy użytkownicy nie musieli nic robić, aby uzyskać dostęp do nowego programu, nowi użytkownicy też nie będą.

Możesz jednak utworzyć / opt / bin i umieścić go na ścieżce , ale dlaczego miałbyś? Lub nawet / flip / flop / funky / bin . Lub link gdzieś do katalogu, który jest już zawarty w ŚCIEŻCE .

nieznany użytkownik
źródło