Was macht und soll gehen /opt/
und was soll / macht gehen /usr/
? Ich verstehe, dass dies /usr/
früher für Benutzer-Home-Verzeichnisse galt, aber seitdem sie existieren /Users/
- wozu dient das jetzt?
Gibt es ein Handbuch oder eine Anleitung, wofür alle integrierten Verzeichnisse verwendet werden sollten? Wie ist was /home/
, oder /net/
?
macos
folders
filesystem
unix
DilithiumMatrix
quelle
quelle
Antworten:
Gibt es ein Handbuch oder eine Anleitung, wofür alle integrierten Verzeichnisse verwendet werden sollten? Wie ist / home / oder / net /?
Die aktuellsten Informationen finden Sie im Programmierhandbuch für Dateisysteme und
man hier
in Terminal, das eine "historische Skizze" der Dateisystemhierarchie enthält (diese finden Sie am Ende dieser Antwort als Referenz).In einem Kommentar zu Ihrer Frage wird der Dateisystem-Hierarchiestandard erwähnt . Sie werden wahrscheinlich zu dem Schluss gekommen, nach dem Durchlesen File System Programming Guide und
man hier
, dass macOS nicht folgt FHS , die mehr von einer Linux - Sache. Natürlich gibt es Ähnlichkeiten zwischen dem FHS- und dem Dateisystem-Layout in macOS aufgrund des gemeinsamen UNIX-Ursprungs, aber die Unterschiede sind auffällig. macOS verwendet keine der folgenden Methoden:/boot
ordner -> macOS verwendet/System/Library/Kernels
stattdessen (in älteren versionen von macOS war der ordner mit dem kernel/
)/home
ordner -> macOS verwendet/Users
stattdessen/root
ordner -> macOS verwendet/var/root
stattdessenund
/opt
wird in keinem Dokument einmal erwähnt (mehr dazu weiter/opt
unten.)Eine weitere Unterscheidung zwischen macOS und einem FHS-konformen Betriebssystem ist die Verwendung von
/private
beispielsweise/etc
einem Symlink zu/private/etc
.Info
/net
: Es handelt sich um eine Automounter-Karte (aufgeführt in/etc/auto_master
). Weitere Informationen finden Sie in Wikipedia .Was geht in / opt / und was geht in / usr /? Ich verstehe, dass / usr / für Benutzer-Ausgangsverzeichnisse verwendet wurde, aber da dies in / Users / vorhanden ist - wozu dient es jetzt?
Obwohl
/usr
in der Vergangenheit verwendet wurde, um die Home-Verzeichnisse der Benutzer zu platzieren , ist dies nicht mehr der Fall./usr
Enthält heutzutage Benutzerbefehle (in/usr/bin
für normale Benutzer und/usr/sbin
für administrative Benutzer wieroot
), gemeinsam genutzte Bibliotheken (/usr/lib
), Manpages (/usr/share/man
), ausführbare Dateien, die nicht direkt von Benutzern (/usr/libexec
) ausgeführt werden sollten, und andere Dinge.Es bietet auch ein Unterverzeichnis,
/usr/local
in dem Programme, Bibliotheken und andere Dateien abgelegt werden können, die nicht zum Basisbetriebssystem gehören./opt
hat eine sehr ähnliche Rolle/usr/local
und sie scheinen austauschbar. Aus meiner Erfahrung mit anderen Linux / UNIX-Systemadministratoren scheint es jedoch eine Präferenz für/usr/local
BSD-basierte UNIX-Betriebssysteme zu geben.Das ist also meine Meinung: macOS ist BSD-basiert und ich würde es folglich verwenden
/usr/local
. Beachten Sie, dass Sie ein Programmverzeichnis erstellen und dann Befehle mit Symbolen verknüpfen können/usr/local/bin
, zum Beispiel:Dies war auch unter Linux und UNIX üblich, wird jedoch vom FHS ausdrücklich untersagt : Wenn Sie Pakete von Drittanbietern in einer eigenen Verzeichnishierarchie installieren möchten, sollten Sie
/opt/<package>
stattdessen diese verwenden. Beachten Sie, dass die FHS-Konformität das Einfügen von Konfigurationsdateien/etc/opt/<package>
und variablen Dateien erfordert/var/opt/<package>
.Daher würde ich empfehlen, dass Sie sich unter macOS an
/usr/local
die oben beschriebene Vorgehensweise halten.Mir sind Add-On-Software wie Cisco VPN und XQuartz bekannt , die installiert werden
/opt
, sodass die oben genannten Unterschiede allmählich verschwimmen.man hier
Wie oben erwähnt ist dies
man hier
:quelle
/usr/X11/
nicht zu empfehlen?man hier
) haben: Apples Mac OS X-Handbuch für hier (7)Wenn ich von
/opt
(oft mit/opt/local
für MacPorts verbundenen ) und "Standard" -Verwendungen von Pfaden lese , denke ich auch an Fink, das es seit mindestens 2001 gibt . Fink popularisierte Verwendung des folgenden Pfades:/sw
Ein Beispiel für die unachtsame Verwendung eines nicht standardmäßigen Teils der Dateisystemhierarchie unter Mac OS X
2003-02-06
Virex 7.2, kostenlos für alle .Mac-Mitglieder, hat die Fink-Bibliotheken infamös überschrieben :
Weitere Diskussionen über den Vorfall, einschließlich der Einhaltung der Lizenzbestimmungen, umfassten:
2003-04-16
Eine Nachricht von Fink :
2003-05
In den Versionshinweisen für McAfee Virex Version 7.2.1 wurden die Probleme, die für Benutzer von Fink verursacht wurden, nicht erwähnt.
Als Randnotiz …
2004-08-31
Beobachtungen, dass Virex 7.5 .Mac Mitgliedern nicht mehr zur Verfügung stand .
BSD-bezogen
Das gilt immer noch für Betriebssysteme wie FreeBSD und PC-BSD.
Während
/usr/home/
dies unter https://www.freebsd.org/cgi/man.cgi?query=hier&sektion=7&manpath=FreeBSD+10.2-RELEASE nicht explizit angegeben ist, wird der Pfad in folgenden Dokumenten veranschaulicht:quelle