Dernière mise-à-jour : 2020/01/30 03:27
Chaque partition sous un système Unix peut héberger une des structures suivantes :
Le superbloc contient :
Le Superbloc est dupliqué tous les 8 ou 16Mo sous ext3 et ext4. Pour réparer un système de fichiers en restaurant un Superbloc, utilisez la commande suivante :
# e2fsck -f -b 8193 /dev/sda1 [Enter]
Pour visualiser l'emplacement du Superbloc primaire et ses sauvegardes, utilisez la commande suivante :
root@debian6:~# dumpe2fs /dev/sda1 | grep -i superbloc dumpe2fs 1.41.12 (17-May-2010) superbloc Primaire à 0, Descripteurs de groupes à 1-1 superbloc Secours à 32768, Descripteurs de groupes à 32769-32769 superbloc Secours à 98304, Descripteurs de groupes à 98305-98305 superbloc Secours à 163840, Descripteurs de groupes à 163841-163841 superbloc Secours à 229376, Descripteurs de groupes à 229377-229377 superbloc Secours à 294912, Descripteurs de groupes à 294913-294913 superbloc Secours à 819200, Descripteurs de groupes à 819201-819201 superbloc Secours à 884736, Descripteurs de groupes à 884737-884737
root@debian7:~# dumpe2fs /dev/sda1 | grep -i superbloc dumpe2fs 1.42.5 (29-Jul-2012) superbloc Primaire à 0, Descripteurs de groupes à 1-1 superbloc Secours à 32768, Descripteurs de groupes à 32769-32769 superbloc Secours à 98304, Descripteurs de groupes à 98305-98305 superbloc Secours à 163840, Descripteurs de groupes à 163841-163841 superbloc Secours à 229376, Descripteurs de groupes à 229377-229377 superbloc Secours à 294912, Descripteurs de groupes à 294913-294913 superbloc Secours à 819200, Descripteurs de groupes à 819201-819201 superbloc Secours à 884736, Descripteurs de groupes à 884737-884737 superbloc Secours à 1605632, Descripteurs de groupes à 1605633-1605633
root@debian8:~# dumpe2fs /dev/sda1 | grep -i superbloc dumpe2fs 1.42.12 (29-Aug-2014) superbloc Primaire à 0, Descripteurs de groupes à 1-1 superbloc Secours à 32768, Descripteurs de groupes à 32769-32769 superbloc Secours à 98304, Descripteurs de groupes à 98305-98305 superbloc Secours à 163840, Descripteurs de groupes à 163841-163841 superbloc Secours à 229376, Descripteurs de groupes à 229377-229377 superbloc Secours à 294912, Descripteurs de groupes à 294913-294913 superbloc Secours à 819200, Descripteurs de groupes à 819201-819201 superbloc Secours à 884736, Descripteurs de groupes à 884737-884737 superbloc Secours à 1605632, Descripteurs de groupes à 1605633-1605633
Chaque fichier est représenté par un inode. L'inode contient :
Graphiquement, on peut schématiser cette organisation de la façon suivante :
Pour mieux comprendre, tapez la commande suivante :
root@debian6:~# ls -ld /dev/console /dev/loop0 /etc /etc/passwd crw------- 1 root root 5, 1 4 juil. 14:34 /dev/console brw-rw---- 1 root disk 7, 0 4 juil. 14:34 /dev/loop0 drwxr-xr-x 121 root root 12288 4 juil. 15:05 /etc -rw-r--r-- 1 root root 1298 27 avril 2011 /etc/passwd
root@debian7:~# ls -ld /dev/console /dev/loop0 /etc /etc/passwd crw------- 1 root root 5, 1 juin 26 16:17 /dev/console brw-rw---T 1 root disk 7, 0 juin 26 16:17 /dev/loop0 drwxr-xr-x 133 root root 12288 juil. 4 16:36 /etc -rw-r--r-- 1 root root 1657 juin 26 15:42 /etc/passwd
root@debian8:~# ls -ld /dev/console /dev/sda /etc /etc/passwd crw------- 1 root root 5, 1 Oct 15 15:27 /dev/console brw-rw---- 1 root disk 8, 0 Oct 15 15:27 /dev/sda drwxr-xr-x 134 root root 12288 Oct 15 15:27 /etc -rw-r--r-- 1 root root 2202 Oct 15 13:27 /etc/passwd
Le premier caractère de chaque ligne peut être un des suivants :
Pour visualiser le numéro d'inode, utilisez l'option -i :
root@debian6:~# ls -ldi /dev/console /dev/loop0 /etc /etc/passwd 1251 crw------- 1 root root 5, 1 4 juil. 14:34 /dev/console 2041 brw-rw---- 1 root disk 7, 0 4 juil. 14:34 /dev/loop0 194689 drwxr-xr-x 121 root root 12288 4 juil. 15:05 /etc 201193 -rw-r--r-- 1 root root 1298 27 avril 2011 /etc/passwd
root@debian7:~# ls -ldi /dev/console /dev/loop0 /etc /etc/passwd 1196 crw------- 1 root root 5, 1 juin 26 16:17 /dev/console 3269 brw-rw---T 1 root disk 7, 0 juin 26 16:17 /dev/loop0 260609 drwxr-xr-x 133 root root 12288 juil. 4 16:36 /etc 262280 -rw-r--r-- 1 root root 1657 juin 26 15:42 /etc/passwd
root@debian8:~# ls -ldi /dev/console /dev/sda /etc /etc/passwd 5676 crw------- 1 root root 5, 1 Oct 15 15:27 /dev/console 6938 brw-rw---- 1 root disk 8, 0 Oct 15 15:27 /dev/sda 260609 drwxr-xr-x 134 root root 12288 Oct 15 15:27 /etc 262545 -rw-r--r-- 1 root root 2202 Oct 15 13:27 /etc/passwd
Les données sont stockées dans des blocs de données. Dans le cas d'un répertoire, le bloc de données contient une table qui référence les inodes et les noms des fichiers dans le répertoire. Cette table s'appelle une table catalogue.
Le nom d'un fichier n'est pas stocké dans l'inode mais dans une table catalogue. Cette particularité nous permet de donner deux noms différents au même fichier. Pour ajouter un nouveau nom à un fichier, il convient de créer un lien physique.
Un lien physique se crée en utilisant la commande suivante :
Pour illustrer ce point, tapez la ligne de commande suivante :
root@debian8:~# cd /tmp; mkdir inode; cd inode; touch fichier1; ls -ali total 8 11619 drwxr-xr-x 2 root root 4096 Jan 21 11:56 . 199 drwxrwxrwt 14 root root 4096 Jan 21 11:56 .. 11775 -rw-r--r-- 1 root root 0 Jan 21 11:56 fichier1
Notez bien le numéro de l'inode du fichier fichier1. Notez aussi que le numéro dans le troisième champs de la ligne de fichier1 a la valeur 1 :
11775 -rw-r–r– 1 root root 0 Jan 21 11:56 fichier1
Créez maintenant un lien physique :
# ln fichier1 fichier2 [Entrée]
Visualisez le résultat :
root@debian8:/tmp/inode# ln fichier1 fichier2 root@debian8:/tmp/inode# ls -ali total 8 11619 drwxr-xr-x 2 root root 4096 Jan 21 11:57 . 199 drwxrwxrwt 14 root root 4096 Jan 21 11:56 .. 11775 -rw-r--r-- 2 root root 0 Jan 21 11:56 fichier1 11775 -rw-r--r-- 2 root root 0 Jan 21 11:56 fichier2
Notez les deux lignes suivantes :
11775 -rw-r–r– 2 root root 0 Jan 21 11:56 fichier1
11775 -rw-r–r– 2 root root 0 Jan 21 11:56 fichier2
Les deux fichiers, fichier1 et fichier2, sont référencés par le même inode. Le nombre de liens est donc augmenté de 1 (le numéro dans le troisième champs).
Important : Un lien physique ne peut être créé que dans le cas où les deux fichiers se trouvent dans le même filesystem et que le fichier source existe.
Un lien symbolique est un raccourci vers un autre fichier ou répertoire. Un lien symbolique se crée en utilisant la commande suivante :
Pour illustrer ce point, tapez la ligne de commande suivante :
root@debian8:/tmp/inode# ln -s fichier1 fichier3 root@debian8:/tmp/inode# ls -ali total 8 11619 drwxr-xr-x 2 root root 4096 Jan 21 11:58 . 199 drwxrwxrwt 14 root root 4096 Jan 21 11:56 .. 11775 -rw-r--r-- 2 root root 0 Jan 21 11:56 fichier1 11775 -rw-r--r-- 2 root root 0 Jan 21 11:56 fichier2 11776 lrwxrwxrwx 1 root root 8 Jan 21 11:58 fichier3 -> fichier1
Notez que le lien symbolique est référencé par un autre inode. Le lien symbolique pointe vers le fichier1.
Important : Un lien symbolique peut être créé même dans le cas où les deux fichiers se trouvent dans deux filesystems différents et même dans le cas où le fichier source n'existe pas.
<html>
Copyright © 2004-2017 Hugh Norris.<br><br> <a rel=“license” href=“http://creativecommons.org/licenses/by-nc-nd/3.0/fr/”><img alt=“Licence Creative Commons” style=“border-width:0” src=“http://i.creativecommons.org/l/by-nc-nd/3.0/fr/88x31.png” /></a><br />Ce(tte) oeuvre est mise à disposition selon les termes de la <a rel=“license” href=“http://creativecommons.org/licenses/by-nc-nd/3.0/fr/”>Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 3.0 France</a>.
</html>