• # une solution au problème possible

    Posté par . 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".

    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).

    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 :

    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.

    xfs_info /dev/sda3 >sda3
    xfs_info /dev/root92 >root92
    diff sda3 root92
    

    Les résultats sont bien identiques.

    La commande "fdisk -l" fournit des informations sur le partitionnement des disques.

    fdisk -l /dev/sda3 >sda3
    fdisk -l /dev/root92 >root92
    diff sda3 root92
    1c1
    < Disque /dev/sda3 : 83,9 GiB, 90033881088 octets, 175847424 secteurs
    ---
    > Disque /dev/root92 : 83,9 GiB, 90033881088 octets, 175847424 secteurs
    

    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.