J'essaie d'apprendre la norme POSIX. Lorsque vous utilisez Unix, j'ai /bin
, /etc
, /dev
, /media
, et le plus souvent /opt
, mais est - ce standardisé ou à votre mise en œuvre spec? Pourrait-il y avoir de nombreux répertoires à la racine, ou est-ce limité par la norme?
filesystems
posix
root-filesystem
Niklas
la source
la source
Réponses:
Selon la norme publiée par The Open Group , les seuls répertoires requis sont:
/
/dev
, Qui contientconsole
,null
ettty
/tmp
, garanti accessible en écriture mais pas nécessairement conservé.La Fondation Linux maintient une norme de hiérarchie du système de fichiers (FHS) qui l'étend pour inclure les répertoires que vous verrez généralement sur un système Linux:
Le FHS a été conçu pour être aussi générique que possible, pour permettre son intégration dans tout système UNIX. Les répertoires supplémentaires sont susceptibles d'exister dans tout système raisonnable, mais cela n'est pas mandaté par POSIX.
Cependant, notez que The Open Group déclare également que
Étant donné que les répertoires ne sont en réalité que des fichiers, cela implique qu'une application strictement conforme ne créera aucun fichier ou répertoire au niveau racine. Par conséquent, POSIX ne limite pas nécessairement ce qu'une distribution peut placer au niveau racine, mais semble indiquer qu'une application conforme à ses spécifications ne peut pas supposer qu'elle le pourra.
la source
Dans 10.1 Structure et fichiers de répertoires, POSIX répertorie les répertoires qui doivent exister. Mais il ne spécifie aucune limite sur le nombre d'autres répertoires qui peuvent exister au niveau racine d'un système de fichiers.
D'ailleurs, il ne semble pas imposer de limites sur la taille des autres répertoires.
L'attention de POSIX dans ce domaine se concentre sur les points communs plutôt que sur les différences.
la source
/
) peut être un répertoire racine, il serait assez idiot d'imposer une limite supérieure au nombre d'entrées dans un répertoire racine./
n'est pas particulièrement spécial à cet égard, il s'ensuit donc qu'il serait tout aussi idiot d'imposer une limite supérieure au nombre d'entrées en/
particulier.Il n'y a aucune limitation au nombre d'entrées dans un répertoire, que ce soit dans POSIX ou dans les implémentations Unix typiques. Il peut y avoir une limite indirecte pour le nombre de sous-répertoires, qui est le nombre maximal de liens physiques (l'
..
entrée de chaque sous-répertoire est un lien physique vers le répertoire); c'est 2 16 pour de nombreux systèmes de fichiers courants, ce qui limite un répertoire à 65533 sous-répertoires (au moins pour les systèmes de fichiers qui stockent..
explicitement les entrées). Vous commencerez à atteindre de mauvaises performances avant cela. Selon POSIX, une implémentation est autorisée à prendre en charge uniquement 8 liens durs sur un fichier (_POSIX_LINK_MAX
), mais aucune implémentation réelle n'est limitée à 6 sous-répertoires. Et de toute façon, sur de nombreux systèmes de fichiers, y compris ext4, le nombre de liens durs n'est pas maintenu pour..
entrées, donc la seule limite est l'espace ou le nombre d'inodes disponibles sur le système de fichiers.POSIX ne dit pas grand-chose sur l'organisation des fichiers sur le système. Il ne requiert l'existence que de quelques fichiers . Les seules entrées obligatoires dans le répertoire racine sont
/dev
et/tmp
. D' autres entrées Unix habituelles telles que/usr
,/var
,/bin
,/etc
,/lib
,/home
, etc. sont Unix conventions qui ne sont pas codifiées par POSIX.Sous Linux, le FHS codifie les classiques et quelques autres. La plupart des distributions Linux s'en tiennent aux entrées FHS. D'autres systèmes Unix ont généralement les mêmes entrées, peut-être avec quelques différences, mais le nombre est à peu près le même.
Les administrateurs système peuvent créer plus, bien que cela soit découragé: il y a des endroits bien définis pour la plupart des choses (le logiciel passe sous
/usr
ou/opt
, les données système vont sous/var
, les données utilisateur vont sous/net
, les points de montage vont sous/media
ou/mnt
, etc.), donc il y a rarement aucune bonne raison de créer de nouveaux répertoires au niveau supérieur.la source
contrairement à FAT, les systèmes de fichiers utilisés par UNIX n'ont pas de limite de taille spéciale sur le répertoire racine, mais une fois la partition pleine, vous ne pourrez plus en ajouter.
la source