Mengapa '/' memiliki inode 2?

8

Pada banyak sistem * nix seperti OS X dan Ubuntu, Kita dapat melihat inode direktori root adalah 2. Lalu untuk apa inode 1 digunakan?

yzyzsun
sumber
7
Ini akan berbeda berdasarkan sistem file; apakah Anda tertarik pada yang tertentu? Biasanya inode 1 digunakan untuk daftar blok buruk, tetapi itu tidak diperlukan.
Michael Homer
2
Jawaban SO ini mungkin relevan: stackoverflow.com/a/2109363/2808351
dhag
"Kenapa" benar-benar "karena pengembang ext4 memutuskan untuk melakukannya". Inode AFAIK untuk /berbeda antara sistem file, dan itu tidak ditentukan di mana pun dalam standar POSIX. Mungkin memang demikian dalam AT&T UNIX atau Sistem V asli, tentu saja, jadi dapat dianggap sebagai tradisi, tetapi itu pasti tidak akan menjadi batu.
Sergiy Kolodyazhnyy

Jawaban:

7

Inode 0 digunakan sebagai nilai NULL untuk menunjukkan bahwa tidak ada inode.

Inode 1 digunakan untuk melacak semua blok buruk pada disk; itu pada dasarnya adalah file tersembunyi yang mengandung blok buruk. Blok-blok buruk yang direkam menggunakan e2fsck -c.

Inode 2 digunakan oleh direktori root, dan menunjukkan permulaan inode sistem file.

Maythux
sumber
Kita harus mencatat bahwa kecuali 0 nilai-nilai berasal dari tradisi dan tidak benar-benar diperbaiki. Misalnya minixfs memiliki / as inode 1 dan badblocks seperti inode /.badblocks apa pun.
Joshua