Jak wspomniano wcześniej , /usr/local
jest przeznaczony jako przedrostek dla oprogramowania zainstalowanego przez administratora systemu, podczas gdy /usr
powinien być używany dla oprogramowania zainstalowanego z pakietów dystrybucji.
Ideą jest to, aby uniknąć kolizji z rozproszonego oprogramowania (takie jak rpm
i deb
pakiety) i dać Admin pełne panowanie nad „lokalnym” prefiksem.
Oznacza to, że administrator może zainstalować niestandardowo skompilowane oprogramowanie, wciąż korzystając z dystrybucji typu debian.
Oprogramowanie umieszczone w / lub / usr może zostać zastąpione przez uaktualnienia systemu (chociaż zalecamy, aby dystrybucje nie zastępowały danych w / etc w tych okolicznościach). Z tego powodu lokalnego oprogramowania nie wolno umieszczać poza / usr / local bez uzasadnionego powodu.
Podczas instalowania oprogramowania specyficznego dla użytkownika uther sugeruje użycie $HOME
jako prefiksu, ponieważ zapewnia to uprawnienia do zapisu. Osobiście uważam, że jestem $HOME/.local
bardziej eleganckim rozwiązaniem, ponieważ pozwala uniknąć zaśmiecania twojego (mam nadzieję) ładnego i uporządkowanego katalogu domowego!
$HOME/.local/share
jest już używany w specyfikacji katalogu bazowego XDG freedesktop.org , więc nie trzeba wiele wyobrażać sobie dodawania $HOME/.local/bin
do niego $PATH
i tworzenia $HOME/.local/lib
itp., gdy jesteś przy nim.
Jeśli tak naprawdę nie chcesz, aby twój prefiks był ukrytym katalogiem, możesz łatwo utworzyć do niego również symboliczny link, np .:
ln -s .local ~/local
Dygresja
Warto zauważyć, że .config
(nie .local/etc
) jest wartością domyślną dla $XDG_CONFIG_HOME
plików konfiguracyjnych specyficznych dla użytkownika. Powinienem również zauważyć, że niestety duża część oprogramowania ignoruje XDG i tworzy pliki konfiguracyjne w dowolnym miejscu (zwykle w katalogu głównym $HOME
). Należy również pamiętać, że $XDG_CONFIG_HOME
może być niezbrojony, jeśli $HOME/.config
pożądane jest ustawienie domyślne .
Co dziwne, nie ma katalogu zarezerwowanego dla domyślnych plików konfiguracyjnych dystrybucji, więc nie ma sposobu, aby dowiedzieć się, czy plik /etc
został dostarczony przez dystrybucję, czy edytowany przez administratora systemu.