Korzystanie z katalogów / opt i / usr / local w kontekście komputera

65

Jaka jest różnica między /opti /usr/localkatalogów i jakie programy powinny być zainstalowane na nich?

Odniosłem się do hierarchii systemu plików Linux, ale wyjaśnienie nie jest tak jasne. Zgodnie z powyższym linkiem;

/opt : - Ten katalog jest zarezerwowany dla całego oprogramowania i pakietów dodatków, które nie są częścią instalacji domyślnej

/usr/local: - /usr/localHierarchia jest używana przez administratora systemu podczas lokalnej instalacji oprogramowania. Przed aktualizacją oprogramowania systemowego należy zabezpieczyć go przed nadpisaniem.

W kontekście komputera bez żadnych komputerów podłączonych do sieci, jaki powinien być katalog instalacji oprogramowania, do którego dostęp będzie miał wielu lokalnych użytkowników? (tzn. gdzie powinienem zainstalować oprogramowanie takie jak netbeans)

Dziękuję Ci

Niroshan
źródło
4
Google Chrome optz jakiegoś powodu korzysta z tego katalogu.
Camilo Martin
2
@CamiloMartin Myślę, że to optjonalne.
becko
4
@becko Cóż, musi to być naprawdę optdobry wybór, jeśli reklama Google optgo.
Camilo Martin
3
Nawet jeśli wszystko jest w porządku, optimus Prime brzmi lepiej.
erm3nda
2
Lol .. Spóźniłem się na imprezę ... Ale wygląda na to, że ludzie bardzo optnaśladowali sekcję komentarzy ..: P
john400

Odpowiedzi:

71

/optjest dla aplikacji innych firm, które nie polegają na żadnych zależnościach poza zakresem tego pakietu. /usr/localdotyczy pakietów zainstalowanych na tym komputerze poza zakresem menedżera pakietów dystrybucyjnych.

Przykład:

Zainstalowany zostanie klient sip open source dostarczany jako .deb /usr. Gdyby został zbudowany w środowisku Qt, apt ściągnąłby go jako zależność.

Ten sam klient sip open source zbudowany ze źródła byłby w /usr/localnim umieszczony, więc apt nie byłby pomieszany, jeśli później zainstalowałeś pakiet .deb dla tej samej aplikacji. Możesz albo zbudować jego zależności ze źródła, albo pobrać je z menedżera pakietów.

Aplikacja innej firmy /optpowinna być samodzielna. Na przykład, zastrzeżony klient sip korzystający z Qt nie opierałby się na wersji z apt, ale wiązałby ją lub wiązał statycznie.

Aby uzyskać więcej informacji, zapoznaj się z Standardem hierarchii systemu plików .

Egil
źródło
1
więc netbeans idzie do / usr / local, ponieważ zależy to od jdk i innych kompilatorów + plus podąża za linuxem FHS?
Niroshan
1
Odpowiedź brzmi tak.
Egil
1
Jeśli chcę zainstalować condaglobalnie, jak sugerowano tutaj , czy /optto właściwe miejsce?
Aleksiej
@Egil, Dlaczego Mac nie ma katalogu opt?
Pacerier
Wcześniej głosowałem za tą odpowiedzią, ale teraz widzę, że jej wnioski różnią się nieco od tego artykułu z Linux Journal . Artykuł sugeruje, że w przypadku spakowanego oprogramowania ważne jest, kto dostarczył paczkę . Jeśli pakiet jest od systemu operacyjnego za pakiet repo, to powinny być instalowane pod /usr(lub przypuszczalnie nawet bezpośrednio pod /bin, /libitp) jak zwykle. Jeśli jednak pochodzi z innego źródła, należy go umieścić /usr/local. To potencjalnie zawierałoby w odpowiedzi „klienta sip open source” .deb.
sampablokuper
12

Zainstalowałbym do zewnętrznych pakietów binarnych tylko /opt.

Wszystko, co zbudujesz sam ze źródła, włożyłbym /usr/local.

netbeansjest w repozytoriach Ubuntu. Potrzebujesz konkretnej wersji?

Broam
źródło
Czy kryje się za tym jakieś uzasadnienie, czy jest to tylko dobra praktyka? (Jako przykład podałem netbeans - zmieniłem tę część, aby usunąć wszelkie niejasności). Dziękuję
Niroshan,
Myślę, że inne odpowiedzi mówią to najlepiej. Zwykle pliki binarne innych firm są samodzielne.
Broam,
Co z rzeczami zależnymi od środowisk wykonawczych, takimi jak oprogramowanie Python lub Java? Założyłbym je, /optale nie jestem pewien, czy to prawda.
Camilo Martin
8

Chodzi o opakowanie. Jeśli coś jest spakowane w sposób LHS (umieszczenie plików wykonywalnych w bin / bibliotekach w lib / itp.), Powinno ono przejść do / usr / local.

Jeśli coś ma katalog najwyższego poziomu i nie jest zgodny z tym modelem, wchodzi w tryb / opt. Ogólnie rzecz biorąc, musisz jawnie dodać rzeczy do / PATH.

Zobacz także To pytanie na temat administratora

DRZEWO
źródło
Ta odpowiedź wydaje się potwierdzona w tym artykule w Linux Journal .
sampablokuper