GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum haben die Verzeichnisse /home, /usr, /var usw. alle dieselbe Inode-Nummer (2)?

Sie befinden sich auf verschiedenen Geräten.

Betrachten wir die Ausgabe von stat , können wir auch das Gerät sehen, auf dem sich die Datei befindet:

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

Diese beiden befinden sich also auf separaten Geräten/Dateisystemen. Inode-Nummern sind nur innerhalb eines Dateisystems eindeutig, daher gibt es hier nichts Ungewöhnliches. Auf ext2/3/4 ist Inode 2 auch immer das Stammverzeichnis, also wissen wir, dass sie die Wurzeln ihrer jeweiligen Dateisysteme sind.

Die Kombination aus Gerätenummer + Inode dürfte systemweit eindeutig sein. (Es gibt Dateisysteme, die keine Inodes im herkömmlichen Sinne haben, aber ich denke, sie müssen trotzdem eine Art eindeutige Kennung an ihrer Stelle vortäuschen.)

Die Gerätenummern dort scheinen die gleichen zu sein, die auf den Geräteknoten angezeigt werden, also /dev/sda1 enthält das Dateisystem, wobei / ist an:

# ls -l /dev/sda1
brw-rw---- 1 root disk 8, 1 Sep 21 10:45 /dev/sda1

Die Inode-Nummer einer gegebenen Datei ist einzigartig für das Dateisystem, aber nicht notwendigerweise einzigartig für alle Dateisysteme, die auf einem gegebenen Host gemountet sind. Wenn Sie mehrere Dateisysteme haben, sehen Sie doppelte Inode-Nummern zwischen Dateisystemen, das ist normal.


Linux
  1. Bash =~ Regex und Https://regex101.com/?

  2. Unterschied zwischen /var/log/messages, /var/log/syslog und /var/log/kern.log?

  3. Installieren Sie Binärdateien in /bin, /sbin, /usr/bin und /usr/sbin, Interaktionen mit --prefix und DESTDIR

  4. Django static_root in /var/www/... - keine Berechtigungen für collectstatic

  5. Was bedeuten /usr/sbin, /usr/local/sbin und /usr/local/bin?

Die Dateien /proc/mounts, /etc/mtab und /proc/partitions verstehen

Wann sollte ich /dev/shm/ verwenden und wann sollte ich /tmp/?

unix:///var/run/supervisor.sock keine solche Datei

Warum andere Dinge als /home auf eine separate Partition legen?

Was ist die Verbindung zwischen den Verzeichnissen /etc/init.d und /etc/rcX.d in Linux?

So ändern Sie das Standard-/tmp in /home/user/tmp