Warum hat '/' die Inode 2?

8

Auf vielen * nix-Systemen wie OS X und Ubuntu ist der Inode des Stammverzeichnisses 2. Wofür wird dann der Inode 1 verwendet?

yzyzsun
quelle
7
Dies unterscheidet sich je nach Dateisystem. Interessieren Sie sich für eine bestimmte? Inode 1 wird normalerweise für die Liste der fehlerhaften Blöcke verwendet, ist jedoch nicht erforderlich.
Michael Homer
2
Diese SO-Antwort kann relevant sein: stackoverflow.com/a/2109363/2808351
dhag
Das "Warum" ist wirklich "weil ext4-Entwickler sich dazu entschlossen haben". AFAIK-Inode für /unterscheidet sich zwischen Dateisystemen und ist im POSIX-Standard nirgends angegeben. Es mag natürlich in Original AT & T UNIX oder System V so gewesen sein, kann also als Tradition angesehen werden, aber es wäre definitiv nicht in Stein gemeißelt.
Sergiy Kolodyazhnyy

Antworten:

7

Inode 0 wird als NULL-Wert verwendet, um anzuzeigen, dass kein Inode vorhanden ist.

Inode 1 wird verwendet, um fehlerhafte Blöcke auf der Festplatte zu verfolgen. Es ist im Wesentlichen eine versteckte Datei, die die fehlerhaften Blöcke enthält. Diese fehlerhaften Blöcke, die mit aufgezeichnet werden e2fsck -c.

Inode 2 wird vom Stammverzeichnis verwendet und zeigt den Start von Dateisystem-Inodes an.

Maythux
quelle
Wir sollten beachten, dass die Werte mit Ausnahme von 0 aus der Tradition stammen und nicht wirklich festgelegt sind. Zum Beispiel hat minixfs / als Inode 1 und Badblocks als was auch immer inode /.badblocks ist.
Joshua