Ich habe das auf dieser Website nachgelesen und es macht keinen Sinn.
http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/basic/node32.html
Als UNIX zum ersten Mal geschrieben wurde
/bin
und sich/usr/bin
physisch auf zwei verschiedenen Datenträgern befand:/bin
auf einem kleineren, schnelleren (teureren) Datenträger und/usr/bin
auf einem größeren, langsameren Datenträger. Nun/bin
ist ein symbolischer Link zu/usr/bin
: Sie sind im Wesentlichen das gleiche Verzeichnis.
Aber wenn Sie ls
den /bin
Ordner, hat es viel weniger Inhalt als der /usr/bin
Ordner (zumindest auf meinem laufenden System).
Kann jemand bitte den Unterschied erklären?
Antworten:
Was? no
/bin/
ist kein Symlink zu/usr/bin
einem FHS-kompatiblen System. Beachten Sie, dass es nach wie vor beliebt Unices und Linux - Versionen sind , die dies ignorieren - zum Beispiel,/bin
und/sbin
sind symbolische Links zu/usr/bin
auf Arch Linux (die Begründung ist , dass Sie nicht brauchen/bin
für die Rettung / Single-User-Modus, da Sie nur eine Live - booten würde CD)./bin
/usr/bin/
/bin
Enthält im Wesentlichen ausführbare Dateien, die vom System für Notfallreparaturen, das Booten und den Einzelbenutzermodus benötigt werden./usr/bin
Enthält alle Binärdateien, die nicht benötigt werden.Ich werde bemerken, dass sie sich auf separaten Festplatten / Partitionen befinden können,
/bin
müssen sich auf derselben Festplatte befinden wie/
./usr/bin
kann sich auf einer anderen Festplatte befinden - obwohl zu beachten ist, dass diese Konfiguration seit einiger Zeit nicht mehr funktioniert (aus diesem Grund warnt zB systemd beim Booten vor dieser Konfiguration).Aus Gründen der vollen Korrektheit ignorieren einige Unices möglicherweise FHS, da es meiner Meinung nach nur ein Linux-Standard ist. Mir ist nicht bekannt, dass es bereits in SUS, Posix oder einem anderen UNIX-Standard enthalten ist, obwohl es IMHO sein sollte. Es ist jedoch Teil des LSB- Standards.
quelle
/bin
ist ein Link zu/usr/bin
einigen Unices, wie (einigen Releases von?) Solaris./usr
zwischen zwei sehr ähnlichen Distributionen, obwohl ich würde es nicht versuchen , wenn Sie wissen , was Sie tun, und Sie bereit sind , für das Experiment in einer Art und Weise zu scheitern , dass der Computer macht nicht booten, oder essen deine Daten. Auch darauf hingewiesen werden , dass viele der großen Unterschiede zwischen 10.04 und 10.10 wird in/usr
/sbin
- Binärdateien, die zum Booten, zur Reparatur oder Wartung von Systemen auf niedriger Ebene benötigt werden (Run Level 1 oder S)/bin
- Binärdateien, die für die normale / Standard-Systemfunktion auf jedem Runlevel benötigt werden./usr/bin
- Binärdateien für Anwendungen / Verteilungen, auf die lokal angemeldete Benutzer zugreifen sollen/usr/sbin
- Programm- / Distributions-Binärdateien, die / sbin unterstützen oder konfigurieren./usr/share/bin
- Programm- / Distributions-Binärdateien oder Skripte, die über das Web zugänglich sein sollen, dh Apache-Webanwendungen*local*
- Binärdateien, die nicht Teil einer Distribution sind; lokal kompiliert oder manuell installiert. Es gibt normalerweise nie ein,/local/bin
aber immer ein/usr/local/bin
und/usr/local/share/bin
.quelle
/usr/bin
automatisch ausgehängt, wenn keine Benutzer angemeldet sind. Zum Beispiel, wenn LINUX bootet und die Login-Authentifizierung präsentiert, ist/usr/bin
gemountet oder nicht?Eine Art "Update" zu diesem Thema:
Kürzlich verschmelzen einige Linux - Distributionen
/bin
in/usr/bin
und in Verbindung stehend/lib
in/usr/lib
. Manchmal auch(/usr)/sbin
zu/usr/bin
(Arch Linux). Es/usr
wird also erwartet, dass es zur gleichen Zeit wie verfügbar ist/
.Die Unterscheidung zwischen den beiden Hierarchien wird jetzt als unnötige Komplexität angesehen. Die Idee war einmal, nur
/bin
beim Booten verfügbar zu sein, aber eine anfängliche RAM-Disk macht dies obsolet.Ich weiß, dass Fedora Linux (2011) und Arch Linux (2012) diesen Weg gehen, und Solaris tut dies schon lange (> 15 Jahre).
quelle
Unter Linux
/bin
und/usr/bin
sind immer noch getrennt, da es üblich ist,/usr
auf einer separaten Partition zu arbeiten (obwohl diese Konfiguration manchmal auf subtile Weise unterbrochen wird). In/bin
sind alle Befehle, die Sie benötigen, wenn Sie nur/
gemountet haben.Unter Solaris und Arch Linux (und wahrscheinlich auch anderen)
/bin
gibt es einen Symlink zu/usr/bin
. Arch hat auch/sbin
und/usr/sbin
symlinked zu/usr/bin
.Besonders zu beachten ist, dass die Aussage,
/bin
die für "Systemadministrator" -Befehle und/usr/bin
für Benutzerbefehle gilt, nicht wahr ist (es sei denn, Sie glauben dasbash
undls
sind nur für Administratoren, in diesem Fall müssen Sie viel lernen). Administratorbefehle befinden sich in/sbin
und/usr/sbin
.quelle
bin
denn nur für systemadministratoren? das ist, wassbin
ist für.Es gibt viele UNIX-basierte Systeme. Linux, AIX, Solaris, BSD usw. Das Originalzitat gibt einen historischen Kontext an, der für alle Geschmacksrichtungen gilt. Wenn Sie sich ein bestimmtes System ansehen, werden Sie unterschiedliche Ergebnisse sehen. Der letzte Satz des Originalzitats bezieht sich nur auf einige Versionen und Distributionen.
quelle