En fonction des branchements des disques durs, les noms de fichiers peuvent varier
pour faciliter l'identification des disques, il est possible de leur fournir un identifiant unique appelé "UUID", ou une étiquette appelée "LABEL", /dev/sd?3 conduisait à "root92" pour l'exemple.
Le problème était de simplifier l'accès au fichier par le "LABEL" sans avoir à saisir le long chemin pour y accéder, rangé dans /dev : /dev/root92, à la place de /dev/disks/by-label/root92 ou /dev/by-label/root92 .
La commande "file" détermine le type de fichier, et fournit le nom du fichier du disque ayant le label "root92".
file /dev/by-label/root92
/dev/by-label/root92: symbolic link to ../../sda3
On apprend que ce fichier est sda3.
La commande "cat" renvoie le contenu du fichier et fournit les adresses MAJEUR et MINEUR du périphérique recherché.
cat /sys/block/sda/sda3/dev
8:3
On apprend que les MAJEUR et MINEUR de root92 (ou pour cette fois sda3) sont 8 et 3.
La commande "mknod" cré les fichiers disques (fichier bloc dans notre cas)
On peut donc créer un fichier appelé /dev/root92 qui pourra être appelé indifféremment du fichier /dev/sd?3.
mknod /dev/root92 b 8 3
file /dev/root92
/dev/root92: block special (8/3)
Quelques tests pour vérifier le résultat obtenu.
La commande "stat" affiche diverses informations sur un fichier (l'"état" du fichier).
Les 2 noms de fichiers renvoient bien les mêmes résultats.
Mis à part:
- les permissions qui n'ont pas été précisées et sont donc standard, sans tenir compte de leur fonction dans le système,
- leur inode qui est différent
- le contenu des inodes qui sont donc aussi différents
La commande "ls" permet lister le contenu de répertoires et affiche diverses informations sur les fichiers à partir des inodes (les répertoires sont aussi des fichiers)
ls -ldi /dev
1025 drwxr-xr-x 18 root root 3820 mai 31 02:56 /dev
ls -li /dev/sda3 /dev/root92
2964121 brw-r--r-- 1 root root 8, 3 mai 31 02:56 /dev/root92
15386 brw-rw---- 1 root disk 8, 3 mai 29 17:45 /dev/sda3
ls -ld /root /mnt/7
drwxr-xr-x 31 root root 4096 mai 29 17:36 /mnt/7
drwx------ 14 root root 4096 mai 31 04:08 /root
Je ne sais pas expliquer pourquoi la liste est inversée : le fichier sda3 ou root est toujours affiché en dernier.
La commande "df" indique l'espace occupé et divers autres indications.
Avant montage du système de fichiers root92 :
df -hT /dev/sda3 /dev/root92 /mnt/7
Sys. de fichiers Type Taille Utilisé Dispo Uti% Monté sur
/dev/sda3 xfs 84G 65G 20G 77% /
udev devtmpfs 7,7G 0 7,7G 0% /dev
/dev/sda3 xfs 84G 65G 20G 77% /
Après montage du système de fichiers root92 (sur /mnt/7)
df -hT /dev/sda3 /dev/root92 /mnt/7
Sys. de fichiers Type Taille Utilisé Dispo Uti% Monté sur
/dev/sda3 xfs 84G 65G 20G 77% /
/dev/root92 xfs 84G 65G 20G 77% /mnt/7
/dev/root92 xfs 84G 65G 20G 77% /mnt/7
La commande "xfs_info" fournit des informations sur les systèmes de fichiers xfs.
Les résultats sont bien identiques, sauf le nom des fichiers.
En conclusion,
Il serait intéressant de pouvoir automatiser la créations fichiers nommés par leur label, à partir d'un script à lancer avant de manipuler les disques appelés par leur LABEL.
Je n'ai pas essayé.
L'objectif de cette recherche était de rafraîchir mes connaissances avant de réorganiser les systèmes informatiques utilisés, après plusieurs années à faire autre chose. Cette fiche de révision sera peut-être utile à d'autres.
Merci à Pierre qui a tenté d'apporter une réponse malgré une intoxication alimentaire ce WE en chassant le champignon dans ses bois.
# une solution au problème possible
Posté par Patrick Trauquesègues . En réponse au message broken symbolic link : impossible d'ouvrir /dev/root92: Aucun fichier. Évalué à -2.
En fonction des branchements des disques durs, les noms de fichiers peuvent varier
pour faciliter l'identification des disques, il est possible de leur fournir un identifiant unique appelé "UUID", ou une étiquette appelée "LABEL", /dev/sd?3 conduisait à "root92" pour l'exemple.
Le problème était de simplifier l'accès au fichier par le "LABEL" sans avoir à saisir le long chemin pour y accéder, rangé dans /dev : /dev/root92, à la place de /dev/disks/by-label/root92 ou /dev/by-label/root92 .
La commande "file" détermine le type de fichier, et fournit le nom du fichier du disque ayant le label "root92".
On apprend que ce fichier est sda3.
La commande "cat" renvoie le contenu du fichier et fournit les adresses MAJEUR et MINEUR du périphérique recherché.
On apprend que les MAJEUR et MINEUR de root92 (ou pour cette fois sda3) sont 8 et 3.
La commande "mknod" cré les fichiers disques (fichier bloc dans notre cas)
On peut donc créer un fichier appelé /dev/root92 qui pourra être appelé indifféremment du fichier /dev/sd?3.
Quelques tests pour vérifier le résultat obtenu.
La commande "stat" affiche diverses informations sur un fichier (l'"état" du fichier).
stat /dev/sda3
Fichier : /dev/sda3
Taille : 0 Blocs : 0 Blocs d'E/S : 4096 fichier spécial de bloc
Périphérique : 6h/6d Inœud : 15386 Liens : 1 Type de périph. : 8,3
Accès : (0660/brw-rw----) UID : ( 0/ root) GID : ( 6/ disk)
Accès : 2022年05月31日 02:31:22.594352811 +0200
Modif. : 2022年05月29日 17:45:00.958762697 +0200
Changt : 2022年05月29日 17:45:00.958762697 +0200
Créé : -
stat /dev/root92
Fichier : /dev/root92
Taille : 0 Blocs : 0 Blocs d'E/S : 4096 fichier spécial de bloc
Périphérique : 6h/6d Inœud : 2964121 Liens : 1 Type de périph. : 8,3
Accès : (0644/brw-r--r--) UID : ( 0/ root) GID : ( 0/ root)
Accès : 2022年05月31日 02:56:02.437563935 +0200
Modif. : 2022年05月31日 02:56:02.437563935 +0200
Changt : 2022年05月31日 02:56:02.437563935 +0200
Créé : -
Les 2 noms de fichiers renvoient bien les mêmes résultats.
Mis à part:
- les permissions qui n'ont pas été précisées et sont donc standard, sans tenir compte de leur fonction dans le système,
- leur inode qui est différent
- le contenu des inodes qui sont donc aussi différents
La commande "ls" permet lister le contenu de répertoires et affiche diverses informations sur les fichiers à partir des inodes (les répertoires sont aussi des fichiers)
ls -ldi /dev
1025 drwxr-xr-x 18 root root 3820 mai 31 02:56 /dev
ls -li /dev/sda3 /dev/root92
2964121 brw-r--r-- 1 root root 8, 3 mai 31 02:56 /dev/root92
15386 brw-rw---- 1 root disk 8, 3 mai 29 17:45 /dev/sda3
ls -ld /root /mnt/7
drwxr-xr-x 31 root root 4096 mai 29 17:36 /mnt/7
drwx------ 14 root root 4096 mai 31 04:08 /root
Je ne sais pas expliquer pourquoi la liste est inversée : le fichier sda3 ou root est toujours affiché en dernier.
La commande "df" indique l'espace occupé et divers autres indications.
Avant montage du système de fichiers root92 :
Après montage du système de fichiers root92 (sur /mnt/7)
La commande "xfs_info" fournit des informations sur les systèmes de fichiers xfs.
Les résultats sont bien identiques.
La commande "fdisk -l" fournit des informations sur le partitionnement des disques.
Les résultats sont bien identiques, sauf le nom des fichiers.
En conclusion,
Il serait intéressant de pouvoir automatiser la créations fichiers nommés par leur label, à partir d'un script à lancer avant de manipuler les disques appelés par leur LABEL.
Je n'ai pas essayé.
L'objectif de cette recherche était de rafraîchir mes connaissances avant de réorganiser les systèmes informatiques utilisés, après plusieurs années à faire autre chose. Cette fiche de révision sera peut-être utile à d'autres.
Merci à Pierre qui a tenté d'apporter une réponse malgré une intoxication alimentaire ce WE en chassant le champignon dans ses bois.
Des erreurs sont possibles.