Por que os diretórios / home, / usr, / var, etc. possuem o mesmo número de inode (2)?

29

Eu acho que sob o meu diretório raiz, existem alguns diretórios que possuem o mesmo número de inode:

$ ls -aid */ .*/

2 home/ 2 tmp/ 2 usr/ 2 var/ 2 ./ 2 ../ 1 sys/ 1 proc/

Eu só sei que os nomes dos diretórios são mantidos no diretório pai, e seus dados são mantidos no inode dos próprios diretórios.

Estou confuso aqui.

Isto é o que penso quando traço o nome do caminho / home / user1.

  • Primeiro eu entro no inode 2, que é o diretório raiz que contém as listas de diretórios.
  • Então eu encontro o nome home emparelhado com o inode 2.
  • Então eu volto ao disco para encontrar o inode 2?
  • E eu recebo o nome user1 aqui?
por youxiao 01.12.2017 / 14:33

2 respostas

38

Eles estão em dispositivos diferentes.

Se analisarmos a saída de stat , também poderemos ver o dispositivo em que o arquivo está:

# stat / | grep Inode
Device: 801h/2049d      Inode: 2           Links: 24
# stat /opt | grep Inode
Device: 803h/2051d      Inode: 2           Links: 5

Então esses dois estão em dispositivos / sistemas de arquivos separados. Os números de inodes são únicos em um sistema de arquivos, portanto não há nada incomum aqui. No ext2 / 3/4 inode 2 também é sempre o diretório raiz , então sabemos que eles são as raízes de seus respectivos sistemas de arquivos.

A combinação do número do dispositivo + inode provavelmente será única em todo o sistema. (Existem sistemas de arquivos que não possuem inodes no sentido tradicional, mas acho que eles ainda precisam falsificar algum tipo de identificador único em seu lugar.)

Os números dos dispositivos parecem ser os mesmos que os mostrados nos nós do dispositivo, por isso /dev/sda1 contém o sistema de arquivos no qual / está:

# ls -l /dev/sda1
brw-rw---- 1 root disk 8, 1 Sep 21 10:45 /dev/sda1
    
por 01.12.2017 / 15:03
24

O número de inode de qualquer arquivo é único para o sistema de arquivos, mas não necessariamente exclusivo para todos os sistemas de arquivos montados em um determinado host. Quando você tem vários sistemas de arquivos, você verá números de inodes duplicados entre sistemas de arquivos, isso é normal.

    
por 01.12.2017 / 14:37