Ich versuche den POSIX-Standard zu lernen. Wenn Unix verwenden, habe ich /bin
, /etc
, /dev
, /media
, und in der Regel /opt
ist aber , dass auf Ihre spec Implementierung standardisiert oder nach oben? Könnte es viele Verzeichnisse im Stamm geben, oder ist es durch den Standard begrenzt?
filesystems
posix
root-filesystem
Niklas
quelle
quelle
Antworten:
Nach dem veröffentlichten Standard von The Open Group sind nur folgende Verzeichnisse erforderlich:
/
/dev
, Die enthältconsole
,null
undtty
/tmp
, garantiert beschreibbar, aber nicht unbedingt erhalten.Die Linux Foundation unterhält einen Dateisystem-Hierarchie-Standard (FHS), der diesen um die Verzeichnisse erweitert, die normalerweise auf einem Linux-System angezeigt werden:
Das FHS wurde so allgemein wie möglich konzipiert, um die Integration in jedes UNIX-System zu ermöglichen. Die zusätzlichen Verzeichnisse sind wahrscheinlich in jedem vernünftigen System vorhanden, dies wird jedoch von POSIX nicht vorgeschrieben.
Beachten Sie jedoch, dass The Open Group dies auch angibt
Da Verzeichnisse eigentlich nur Dateien sind, bedeutet dies, dass eine streng konforme Anwendung keine Dateien oder Verzeichnisse auf Stammebene erstellt. Daher beschränkt POSIX nicht unbedingt, was eine Distribution auf der Root-Ebene platzieren kann, sondern scheint zu behaupten, dass eine Anwendung, die ihrer Spezifikation entspricht, nicht davon ausgehen kann, dass dies möglich ist.
quelle
In 10.1 Verzeichnisstruktur und Dateien listet POSIX Verzeichnisse auf, die vorhanden sein müssen . Es gibt jedoch keine Begrenzung für die Anzahl anderer Verzeichnisse, die auf der Stammebene eines Dateisystems vorhanden sein können.
Im Übrigen scheint die Größe anderer Verzeichnisse nicht begrenzt zu sein.
Die Aufmerksamkeit von POSIX in diesem Bereich konzentriert sich eher auf Gemeinsamkeiten als auf Unterschiede.
quelle
/
) ein Stammverzeichnis sein kann, wäre es ziemlich dumm, der Anzahl der Einträge in einem Stammverzeichnis eine Obergrenze aufzuerlegen./
ist in dieser Hinsicht nicht besonders speziell, daher wäre es ziemlich albern, der Anzahl der Einträge in/
spezifisch eine Obergrenze aufzuerlegen .Die Anzahl der Einträge in einem Verzeichnis ist weder in POSIX noch in typischen Unix-Implementierungen begrenzt. Möglicherweise gibt es eine indirekte Begrenzung für die Anzahl der Unterverzeichnisse. Dies ist die maximale Anzahl fester Verbindungen (der
..
Eintrag jedes Unterverzeichnisses ist eine feste Verbindung zum Verzeichnis). Das ist 2 16 für viele gängige Dateisysteme, wodurch ein Verzeichnis auf 65533 Unterverzeichnisse beschränkt wird (zumindest für die Dateisysteme, in denen..
Einträge explizit gespeichert werden). Sie werden vorher anfangen, schlechte Leistung zu erzielen. Laut POSIX darf eine Implementierung nur 8 feste Links in einer Datei (_POSIX_LINK_MAX
) unterstützen, aber keine tatsächliche Implementierung ist auf 6 Unterverzeichnisse beschränkt. Auf vielen Dateisystemen, einschließlich ext4, wird die Anzahl der festen Verbindungen nicht beibehalten..
Einträge, daher ist die einzige Begrenzung, wie viel Speicherplatz oder wie viele Inodes im Dateisystem verfügbar sind.POSIX sagt nicht viel über die Organisation von Dateien auf dem System aus. Es ist nur die Existenz einiger weniger Dateien vorgeschrieben . Die einzigen obligatorischen Einträge im Stammverzeichnis sind
/dev
und/tmp
. Andere gewöhnliche Unix - Einträge wie/usr
,/var
,/bin
,/etc
,/lib
,/home
, etc. sind Unix - Konventionen , die von POSIX nicht kodifiziert werden.Unter Linux kodifiziert die FHS die Klassiker und einige mehr. Die meisten Linux-Distributionen halten sich an die FHS-Einträge. Andere Unix-Systeme haben normalerweise die gleichen Einträge, möglicherweise mit einigen Unterschieden, aber die Anzahl ist ungefähr gleich.
Systemadministratoren können mehr erstellen, obwohl dies nicht empfohlen wird: Es gibt genau definierte Stellen für die meisten Dinge (Software geht unter
/usr
oder/opt
, Systemdaten gehen unter/var
, Benutzerdaten gehen unter/net
, Mount-Punkte gehen unter/media
oder/mnt
usw.), so dass es selten gibt Ein guter Grund, neue Verzeichnisse auf oberster Ebene zu erstellen.quelle
Im Gegensatz zu FAT haben die von UNIX verwendeten Dateisysteme keine spezielle Größenbeschränkung für das Stammverzeichnis, aber sobald die Partition voll ist, können Sie keine weiteren hinzufügen.
quelle