/proc 및 /sys에 inode 1이 있는 이유는 무엇입니까?

/proc 및 /sys에 inode 1이 있는 이유는 무엇입니까?

/proc 및 /sys 디렉토리는 "잘못된 블록"을 의미하더라도 inode 값이 1입니다. 둘 다 작동하고 있으며 이 둘 외에도 /boot에 inode 1이 있는 또 다른 Linux 시스템이 있습니다.

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

Inode 구조는 파일 시스템 설계의 일부입니다. inode 1-10이 예약되어 있다는 가정은 UFS 및 파생 제품(Linux ext2/ext3/ext4 포함)에만 적용됩니다.반드시 적용되는 것은 아니다독립적으로 설계된 파일 시스템에.

언급한 세 위치는 모두 서로 다른 파일 시스템의 마운트 지점입니다( findmnt알아보는 데 사용).

  • 예를 들어 /boot는 FAT32 파일 시스템(EFI 시스템 파티션)이 마운트되는 경우가 많습니다. FAT 파일 시스템에는 inode 번호가 없습니다(커널은 가짜 inode 번호를 표시해야 합니다). 그들은 '클러스터 맵'에 불량 섹터를 표시합니다.

  • /proc 및 /sys는 완전히 가상(커널 생성) 파일 시스템인 procfs 및 sysfs이며 실제로 디스크에 있는 파일 시스템이 아니기 때문에 "불량 블록" 및 "예약된 inode" 개념조차 없습니다.

  • 다른 파일 시스템은 여전히 ​​다르게 작동합니다. 예를 들어 NTFS는 $BadClus불량 섹터를 예약하기 위해 inode 8(라는 실제 숨겨진 파일)을 사용합니다 . Btrfs는 불량 섹터를 완전히 추적하지 않습니다.

답변2

"불량 블록"을 의미하더라도 inode 값은 1입니다.

~ 안에ext4 "결함 블록 목록"실제로. 하지만 그것은 ext4. 각 파일 시스템 유형은 고유한 방식으로 일부 특수 inode를 예약할 수 있습니다.

문제의 마운트 지점에는 다른 파일 시스템(의사 파일 시스템)이 있습니다. /proc유형은 다음과 같습니다.proc그리고 /sys유형이다sysfs. mount인수 없이 호출하면 이를 확인할 수 있습니다 .

/boot다른 컴퓨터에는 켜져 있지 않은 것 같습니다 ext4.

관련 정보