Warum haben /proc und /sys Inode 1?

Warum haben /proc und /sys Inode 1?

Die Verzeichnisse /proc und /sys haben den Inode-Wert 1, obwohl das „fehlerhafter Block“ bedeutet. Beide funktionieren und ich habe zusätzlich zu diesen beiden noch eine weitere Linux-Maschine, die /boot ebenfalls den Inode 1 hat.

adam@AdamMobile:/$ ls -i
 1179649 bin           2 dev           25034753 home            22675457 lib         12058625 media         1 proc  10092545 sbin        12 swapfile   8912897 usr            14 vmlinuz.old
12713985 boot         15 device-clean        13 initrd.img       9961473 lib64       25165825 mnt    13500417 root   7733249 snap         1 sys        2621441 var
20578305 cdrom  23330817 etc                 17 initrd.img.old        11 lost+found   1441793 opt           2 run   23592961 srv   18743297 tmp             18 vmlinuz

Warum haben sie Inode 1?

Antwort1

Die Inode-Struktur ist Teil des Dateisystemdesigns. Die Annahme, dass die Inodes 1–10 reserviert sind, ist spezifisch für UFS und Derivate (einschließlich Linux ext2/ext3/ext4) undtrifft nicht unbedingt zuauf Dateisysteme, die unabhängig entwickelt wurden.

Alle drei von Ihnen genannten Speicherorte sind Einhängepunkte für unterschiedliche Dateisysteme (verwenden Sie dies, findmntum dies herauszufinden).

  • Beispielsweise ist /boot häufig der Ort, an dem ein FAT32-Dateisystem (die EFI-Systempartition) gemountet ist. Die FAT-Dateisysteme haben keine Inode-Nummern als solche (der Kernel muss falsche Inode-Nummern anzeigen); sie markieren fehlerhafte Sektoren in der „Cluster-Map“.

  • /proc und /sys sind vollständig virtuelle (vom Kernel generierte) Dateisysteme, procfs und sysfs, und verfügen nicht einmal über die Konzepte „fehlerhafter Blöcke“ und „reservierter Inodes“, da es sich nicht wirklich um Dateisysteme auf der Festplatte handelt.

  • Andere Dateisysteme funktionieren immer noch anders. Beispielsweise verwendet NTFS Inode 8 (eine echte versteckte Datei mit dem Namen $BadClus), um fehlerhafte Sektoren zu reservieren. Btrfs verfolgt fehlerhafte Sektoren nicht vollständig.

Antwort2

Inode-Wert 1, obwohl dies „fehlerhafter Block“ bedeutet

Inext4 "Liste defekter Blöcke"eigentlich. Aber es ist für ext4. Jeder Dateisystemtyp kann auf seine eigene Weise einige spezielle Inodes reservieren.

Die betreffenden Einhängepunkte enthalten einige andere Dateisysteme (Pseudodateisysteme): /procist vom Typprocund /sysist vom Typsysfs. Sie können dies sehen, indem Sie es mountohne Argumente aufrufen.

Ich vermute, dass /bootes auf der anderen Maschine nicht eingeschaltet ist ext4.

verwandte Informationen