Podle standardu Filesystem Hierarchy Standard existuje několik míst, která jsou přijatelná v závislosti na aplikaci. Obsáhle z něj zde cituji.
bin
je samozřejmě zkratka pro „binary“-
sbin
je zkratka pro "server binary", jinak definovaná jako:Nástroje používané pro správu systému (a další příkazy typu root)
-
/usr
je pro sdílená data pouze pro čtení a mělo by být možné sdílet mezi různými hostiteli kompatibilními s FHS (pokud máte v síti mnoho počítačů a všechny mají stejnou architekturu, měli byste mít možnost sdílet jednu složku /usr s každým počítačem v síti) /usr/local
je pro použití správcem systému při místní instalaci softwaru (tj. pro aplikace nainstalované pouze na tomto počítači, ne na každém počítači v síti).
Když to vezmeme dohromady:
/usr/bin
je primární adresář spustitelných příkazů v systému./usr/sbin
je pro všechny nepodstatné binární soubory používané výhradně správcem systému.- Programy pro správu systému, které jsou vyžadovány pro opravu systému, obnovu systému, připojení /usr nebo jiné základní funkce, musí být umístěny v
/sbin
místo toho (tj. věci, ke kterým potřebujete přístup, abyste mohli připojit/usr/sbin
přejděte na/sbin
) - Stejně tak základní uživatelské příkazy, které mohou být potřeba před
/usr
je připojen, přejděte do/bin
- Všechno nainstalované pouze na místním počítači by mělo být v
/usr/local/bin
nebo/usr/local/sbin
Pro /usr/local je však ještě jedno použití. Většina věcí, které nainstalujete prostřednictvím správce balíčků vašeho distribuce, bude umístěna pod /usr; mnoho lidí dává věci, které zkompilovali ručně, do /usr/local. To je udržuje mimo cestu systému správy balíčků a umožňuje vám zjistit, co jste nainstalovali z distribuce (a nemusíte zálohovat, protože to můžete znovu vzít) a co jste zkompilovali ručně; také vám umožňuje spouštět různé verze současně (např. /usr/bin/firefox vs /usr/local/bin/firefox).
Právě když jste si mysleli, že jsou věci vyřešeny, je tu ještě jedno místo, které je pravděpodobně nejbližší ekvivalent c:\Program Files
- /opt
:
/opt
je vyhrazeno pro instalaci softwarových balíčků doplňkových aplikací.`
/opt
je pravděpodobně nejbližší ekvivalent k c:\program files
, protože je to jediné místo, kde byste očekávali, že najdete aplikaci se všemi jejími soubory pohromadě v jedné složce, nikoli roztroušenou po /usr/bin
, /var
a /etc
. Obvykle jej používají pouze velmi velké balíčky, ale v tomto případě, vzhledem k tomu, že Netbeans chce mít svou vlastní složku, je pravděpodobně nejrozumnější umístit ji do /opt/netbeans
Opravdu záleží na osobních preferencích. Vysvětlím vám, jakou má cenu.
/usr, /usr/bin jsou obvykle místa pro instalaci softwaru nainstalovaného systémem. Když věci instaluji sám, instaluji je na jedno z několika míst:
- Pokud se jedná o skript nebo malý program, který budu používat pouze já, nainstaluji jej do ~/bin – tam končí většina mých věcí.
- Pokud je to něco, co jste popsali (NetBeans) s úplným vlastním stromem souborů, nainstaluji to do /opt
- Pokud se jedná o jeden spustitelný soubor, nainstaluji jej do /usr/local/bin
Proč rozlišuji mezi #2 a #3? Nemám tušení, je to jen zvyk, který jsem si časem vytvořil. Ukazuje se, že /opt se obvykle stává hlubokým stromem souborů, ale má nainstalované pouze 2 nebo 3 skutečné „věci“. V tuto chvíli mám lampp a lotosové poznámky nainstalované v opt, 2 adresářích, z nichž každý má pod sebou poměrně velké stromy. V /usr/local/bin mám 20 nebo 30 položek, ale žádný podadresář.
Neinstaluji věci do /usr/bin nebo /usr/sbin, protože mám rád věci, které přidám ručně (není součástí prosté instalace ze standardního úložiště), odděleně.