Почему /proc и /sys имеют inode 1?

Почему /proc и /sys имеют inode 1?

Директории /proc и /sys имеют значение inode 1, хотя это означает "плохой блок". Оба они функционируют, и у меня есть еще одна машина Linux, на которой, в дополнение к этим двум, /boot также имеет inode 1.

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

Почему у них inode 1?

решение1

Структура инодов является частью дизайна файловой системы. Предположение, что иноды 1–10 зарезервированы, характерно для UFS и производных (включая Linux ext2/ext3/ext4), ине обязательно применяетсяк файловым системам, которые были разработаны независимо.

Все три упомянутых вами местоположения являются точками монтирования для разных файловых систем (используйте, findmntчтобы узнать).

  • Например, /boot часто является местом, где монтируется файловая система FAT32 (системный раздел EFI). Файловые системы FAT не имеют номеров инодов как таковых (ядро должно показывать поддельные номера инодов); они отмечают плохие сектора в «карте кластера».

  • /proc и /sys — это полностью виртуальные (создаваемые ядром) файловые системы, procfs и sysfs, и в них даже нет понятий «плохие блоки» и «зарезервированные иноды», поскольку они на самом деле не являются дисковыми файловыми системами.

  • Другие файловые системы все еще работают по-другому. Например, NTFS использует inode 8 (реальный скрытый файл с именем $BadClus) для резервирования плохих секторов. Btrfs не отслеживает плохие сектора полностью.

решение2

значение inode 1, хотя это означает «плохой блок»

Вext4 "список дефектных блоков"на самом деле. Но это для ext4. Каждый тип файловой системы может резервировать некоторые специальные иноды по-своему.

Рассматриваемые точки монтирования содержат некоторые другие файловые системы (псевдофайловые системы): /procимеют типprocи /sysимеет типsysfs. Вы можете увидеть это, вызвав mountбез аргументов.

Я думаю, /bootна другой машине он не включен ext4.

Связанный контент