Odpowiedzi:
Ogólna zasada, przynajmniej w systemach o smaku Debiana:
/usr/local
o rzeczy, która jest „w całym systemie” -ie /usr/local
bywa zalega distro jest $PATH
, i podąża standardową hierarchię katalogów z systemu UNIX /usr/local/bin
, /usr/local/lib
itp
/opt
do rzeczy, które nie mają zaufania do całego systemu, z prefiksów-ie na aplikacji /opt/firefox-3.6.8
, /opt/mono-2.6.7
i tak dalej. Rzeczy tutaj wymagają bardziej starannego zarządzania, ale także mniej prawdopodobne jest uszkodzenie systemu - i jest łatwiejsze do usunięcia, ponieważ po prostu usuwasz folder i go nie ma.
/opt
jeśli się je sudo
zainstaluje.
Jeśli naprawdę nie chcesz, aby to w ogóle przeszkadzało, nie umieszczaj go w żadnym miejscu $PATH
.
Jeśli chcesz $PATH
, przynajmniej upewnij się, że nie instalujesz /usr/local
. Przekonałem się, że wiele programów wygląda tam, nawet jeśli jest zainstalowane przez dystrybucję /usr
.
Mój ulubiony sposób instalowania niestandardowego oprogramowania znajduje się w moim $HOME
katalogu. W ten sposób nie musisz używać sudo
do niczego, i jest bardzo ładnie oddzielony od reszty twojego systemu. Na przykład:
mkdir ~/stage
./configure --prefix=/home/username/stage && make && make install
A jeśli chcesz, możesz dodać /home/username/stage/bin
do swojego $PATH
.
/usr/local
.).
FHS mówi, aby umieścić go w / usr / local, gdzie dystrybucje nie powinny go dotykać. /usr/local/bin
dla plików binarnych /usr/local/src
dla źródła i /usr/local/lib
bibliotek. Zobacz specyfikację FHS, aby uzyskać więcej informacji
/etc/mysql
do konfiguracji?
/usr/local/etc
domyślnie jest folder, chyba powinienem go użyć ... :-)
Przez większość czasu lubię umieszczać własne skompilowane rzeczy /opt
. To trochę pseudo-standardowe miejsce. Możesz również rozważyć /usr/local
, ale wolę, aby moje rzeczy były w 100% odizolowane.
/opt
, ale widziałem wiele razy, gdzie /usr/local
jest pełno śmieci, które pochodzą z dystrybucji
/usr/local
to hierarchie katalogów podobne do tych w standardowym drzewie i być może indeksowanie plików takich rzeczy jak TeX.
Połóż je /usr/local/src
.
To, co robię, to rozpakuj źródło w tym katalogu. Stworzy to ścieżkę podobną do
/usr/local/src/postgresql-8.3.7
Następnie tworzę dowiązanie symboliczne do tego:
/usr/local/src # ln -s postgresql-8.3.7 postgresql
Zrób cały swój budynek /usr/local/src/postgresql
.
Robienie tego w ten sposób pomaga, gdy trzeba przedzierać się między wersjami i dokumentami, której wersji używasz.
To mi przypomina, że muszę częściej korzystać z checkinstall ! W ten sposób po prostu robię to, co zwykle
./configure
make
śledzony przez
sudo checkinstall
utworzyć plik .deb ...
Jeśli jest taka możliwość - sugeruję skompilowanie oprogramowania, a następnie utworzenie pakietu FC (sądzę, że używa yum do instalowania pakietów oprogramowania). Następnie możesz zainstalować ten pakiet własnego skompilowanego oprogramowania i usunąć go bez zepsucia całego systemu.
Jeśli chcesz w łatwy sposób zainstalować i usunąć kilka samodzielnie zbudowanych aplikacji, możesz użyć Stow jako prostego menedżera pakietów.
Zgodnie z FHS , /usr/local/
jest używany do aplikacji skompilowanych ze źródła, podczas gdy /opt/
jest używany do aplikacji innych producentów nieobsługiwanych przez dostawcę systemu operacyjnego.
Dwie rzeczy polecam:
System: użyj stow i zainstaluj w / usr / local / stow / package-version. Następnie możesz łatwo przełączać się między wersjami.
W moim domu lub jeśli nie mam uprawnień do zapisu / usr / local, osobiście instaluję programy w ~ / .local, co jest wskazane przez standard XDG .
Możesz także użyć stow lokalnie, chociaż nigdy tego nie zrobiłem :)
Mam trochę inną konfigurację niż większość ludzi, ponieważ robię dużo rozwoju. Mam katalog / home / jackson / bin /, w którym instaluję pliki, i edytowałem plik .bashrc, dodając:
export PATH=/home/jackson/bin/bin::$PATH
export LD_LIBRARY_PATH=/home/jackson/bin/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/home/jackson/bin/lib/pkgconfig:$PKG_CONFIG_PATH
Nie zrobiłbym tego dla wszystkiego, ale jest to miłe podczas tworzenia.
jeśli kompilujesz aplikację, możesz dodać jej ścieżkę do pliku zmiennej PATH env. nie wpłynie to na innych użytkowników.
Jeśli chcesz, aby Twoja aplikacja była dostępna dla wszystkich użytkowników w systemie i masz niezbędne uprawnienia, użyj / opt. Jeśli chcesz, aby aplikacja była dostępna tylko dla Ciebie (i użytkownika root), użyj / home / nazwa użytkownika
Najprostszym sposobem na to jest .src.rpm
pobranie pakietu źródłowego ( dla RPMites), rozpakowanie go, zhakowanie nowego źródła / konfiguracji / czegokolwiek, zmianę wersji i skompilowanie. Zainstalowanie tego powoduje, że menedżer pakietów wie o nowym pakiecie, pozwala rozważyć jego zależności i odinstalować / zaktualizować.
Za pierwszym razem jest to obowiązkowe, ale jeśli pojawi się nowa wersja (lub jakaś krytyczna łatka), łatwiej jest ją zaktualizować. Kolejną korzyścią jest to, że możesz stworzyć własne repozytorium z lokalnym oprogramowaniem, które będzie udostępniane np. Przez maszyny w laboratorium.
Napisz RPM, nie jest to trudne, ma wytyczne, gdzie umieścić rzeczy i sprawia, że odinstalowanie jest szybkie.
Jeśli to zrobisz, zainstaluj pliki pod /usr
i nie pod /usr/local
, podobnie jak wszystkie inne pliki przechodzące przez system pakowania.