Podczas instalowania aplikacji użytkownika, gdzie "najlepsze praktyki" sugerują, że są zlokalizowane?

178

Od czasu do czasu instaluję aplikacje ręcznie, zamiast używać apt lub innego menedżera pakietów.

Jaką lokalizację ( /usr/ , /usr/local/ , /opt/ , /home/ itd.) zasugerował "najlepsze praktyki" do instalacji aplikacji użytkownika?

    
zadawane citadelgrad 05.08.2010, 16:42
źródło

6 odpowiedzi

160

To naprawdę zależy. Jeśli aplikacja ma plik Makefile, (w przypadku aplikacji Pythona) używa distutils (ma plik setup.py ) lub podobny system kompilacji / instalacji, umieść go w /usr/local/ (zachowanie domyślne).

Jeśli potrzebujesz tylko wyodrębnić archiwum i uruchomić bezpośrednio (np. Thunderbird, Firefox), a następnie umieścić go w /opt/ .

Dlaczego? Z tego co rozumiem, /usr/local/ ma hierarchię podobną do /usr/ . Zatem program, który oczekuje "zainstalowania" w /usr/ , powinien działać poprawnie w /usr/local/ . Program, który potrzebuje tylko jednego katalogu i otrzyma wszystkie pliki / biblioteki względem tego katalogu, może uzyskać jeden katalog dla siebie w /opt/ .

    
odpowiedział Umang 05.08.2010, 16:53
źródło
94

Dobrze jest pamiętać, że /usr nie oznacza użytkownika , a raczej zasoby systemowe unix .

Jako takie, mam tendencję do stwierdzenia, że ​​każda dystrybucja ma prawa do tłumienia całej zawartości /usr, i że moje specyficzne dodatki do systemu idą w /usr/local , które zachowuję przed aktualizacją.

Tymczasem aplikacje i inne rzeczy idą w /opt .

Niektórzy ludzie czują się komfortowo umieszczając rzeczy w /home , ale rzadko stosuję się do tej konwencji.

Wszystko, co powiedziałem, pozwoliłem menedżerowi pakietów dystrybucyjnych robić rzeczy po swojemu, a następnie zrobić to, gdy ręcznie zwijają rzeczy.

    
odpowiedział Walt Stoneburner 17.09.2010, 19:39
źródło
30

Zainstaluj niestabilne programy, takie jak firefox devel w / home / user / opt / znacznie ułatwia ich usunięcie, i nie ma zamieszania dla innych użytkowników, jeśli chodzi o wersję, której powinni używać ... Więc jeśli to nie jest program dla globalnych użyj, zainstaluj go w podfolderze w swoim katalogu domowym.

Nigdy nie instaluj programów w / usr /, może to powodować chaos, rzeczy zainstalowane w / usr / mają być przeznaczone tylko dla pakietów dystrybucyjnych. / usr / local / jest dla pakietów skompilowanych lokalnie. A srtuktura działa dokładnie w ten sam sposób! pliki w / usr / local / będą miały priorytet nad plikami w katalogu / usr /

/ opt / powinno być używane do instalacji wstępnie skompilowanych (binarnych) paczek (Thunderbird, Eclipse, Netbeans, IBM NetSphere itp.) i tym podobnych. Ale jeśli są one przeznaczone tylko dla jednego użytkownika, powinny zostać umieszczone w twoim katalogu domowym.

Jeśli chcesz mieć możliwość uruchomienia programu zainstalowanego w "dziwnej" lokalizacji (jak / home / user / opt / firefox /) bez wpisania całej ścieżki, musisz dodać ją do zmiennej $ PATH, możesz należy to dodać w swoim /home/user/.profile

export PATH=/home/user/opt/firefox:$PATH

Nazwa folderu powinna być tą, w której znajduje się plik wykonywalny, który należy uruchomić.

    
odpowiedział LassePoulsen 07.08.2010, 10:40
źródło
24

Hierarchia standardu systemu plików Linux wskazuje /usr/local .

From link :

  

Pierwotną ideą "/ usr / local" było oddzielne ("lokalne")   Katalog "/ usr" na każdej maszynie oprócz "/ usr", który może być sprawiedliwy   montowane tylko do odczytu z innego miejsca. Kopiuje strukturę   "/ usr". Obecnie "/ usr / local" jest powszechnie uważane za dobre miejsce w   które należy zachować samodzielnie skompilowane lub programy innych firm. / Usr / local   hierarchia jest przeznaczona do użytku przez administratora systemu podczas instalacji   oprogramowanie lokalne. Musi być bezpieczny przed nadpisaniem, gdy   oprogramowanie systemowe zostało zaktualizowane. Może być używany do programów i danych, które   są wspólne dla grupy hostów, ale nie można ich znaleźć w / usr. Lokalnie   zainstalowane oprogramowanie musi być umieszczone w katalogu / usr / local, a nie / usr   chyba że jest instalowany w celu wymiany lub aktualizacji oprogramowania / usr.

    
odpowiedział popey 05.08.2010, 16:45
źródło
5

Zazwyczaj w moim domu mam folder o nazwie "Programy", w którym instaluję te programy, co jest dość dziwne (lub nie), że wszystkie są teraz plikami java.

Ma to dla mnie wielką zaletę, gdy ponownie instaluję lub zmieniam komputery, które przenoszą z resztą mojego domu. Ma to tę wadę, że te aplikacje są dostępne tylko dla mojego użytkownika.

    
odpowiedział Javier Rivera 05.08.2010, 16:57
źródło
1

Użyj "checkinstall", aby przekonwertować swój pakiet obcych na deb, aby można go było odinstalować za pomocą menedżera pakietów.

Zauważ, że pliki konfiguracyjne często nie są traktowane jako pliki konfiguracyjne (być może są ignorowane lub traktowane jako część aplikacji), a skrypty przed instalacją i po instalacji czasami się psują, chociaż zwykle ostrzegają, gdy uważa, że ​​deb będzie miał zły skrypt przed instalacją lub po instalacji.

    
odpowiedział A Student at a University 16.08.2010, 03:41
źródło

Przeczytaj inne pytania na temat tagów