Co? ne /bin/
není symbolický odkaz na /usr/bin
na jakémkoli systému vyhovujícím FHS. Všimněte si, že stále existují populární systémy Unices a Linux, které toto ignorují – například /bin
a /sbin
jsou symbolicky propojeny s /usr/bin
na Arch Linuxu (důvodem je, že nepotřebujete /bin
pro záchranu/režim pro jednoho uživatele, protože byste pouze zavedli živé CD).
/bin
obsahuje příkazy, které může používat jak správce systému, tak uživatelé, ale které jsou vyžadovány, když nejsou připojeny žádné jiné souborové systémy (např. v režimu jednoho uživatele). Může také obsahovat příkazy, které jsou nepřímo používány skripty
/usr/bin/
Toto je primární adresář spustitelných příkazů v systému.
v podstatě /bin
obsahuje spustitelné soubory, které systém vyžaduje pro nouzové opravy, spouštění a režim jednoho uživatele. /usr/bin
obsahuje všechny binární soubory, které nejsou povinné.
Upozorňuji, že mohou být na samostatných discích/diskových oddílech, /bin
musí být na stejném disku jako /
. /usr/bin
může být na jiném disku – i když mějte na paměti, že tato konfigurace byla nějakou dobu nefunkční (to je důvod, proč např. systemd na tuto konfiguraci při bootování varuje).
Pro plnou správnost, některé unice mohou ignorovat FHS, protože se domnívám, že je to pouze linuxový standard, nejsem si vědom, že by byl ještě zahrnut do SUS, Posix nebo jakéhokoli jiného standardu UNIX, i když by IMHO měl být. Je však součástí standardu LSB.
Aktualizace:Pro nějakou historii a skutečný důvod, proč existuje /usr
, přečtěte si toto:http://lists.busybox.net/pipermail/busybox/2010-December/074114.html. Také toto.
/sbin
– Binární soubory potřebné pro spouštění, opravu nebo údržbu systému na nízké úrovni (úroveň běhu 1 nebo S)
/bin
- Binární soubory potřebné pro normální/standardní fungování systému na jakékoli úrovni běhu.
/usr/bin
- Aplikační/distribuční binární soubory určené pro přístup lokálně přihlášeným uživatelům
/usr/sbin
- Aplikační/distribuční binární soubory, které podporují nebo konfigurují věci v /sbin.
/usr/share/bin
– Aplikační/distribuční binární soubory nebo skripty určené pro přístup přes web, např. webové aplikace Apache
*local*
- Binární soubory, které nejsou součástí distribuce; lokálně zkompilovaný nebo ručně nainstalovaný. Obvykle tam není /local/bin
ale vždy /usr/local/bin
a /usr/local/share/bin
.
Nějaký druh "aktualizace" k tomuto problému:
V poslední době některé distribuce Linuxu slučují /bin
do /usr/bin
a související /lib
do /usr/lib
. Někdy také (/usr)/sbin
na /usr/bin
(Arch Linux).Takže /usr
očekává se, že bude k dispozici ve stejnou dobu jako /
.
Rozdíl mezi těmito dvěma hierarchiemi je nyní považován za zbytečnou složitost. Jednou myšlenkou bylo mít pouze /bin
k dispozici při bootování, ale pokud máte počáteční ramdisk, je to zastaralé.
Vím, že Fedora Linux (2011) a Arch Linux (2012) jdou tímto směrem a Solaris to dělá již dlouhou dobu (> 15 let).
- freedesktop:TheCaseForTheUsrMerge
- Fedora:Funkce UsrMove
- arch:sloučení /bin, /sbin, /lib do /usr/bin a /usr/lib