Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 18/02/2022, à 15:19

iznobe

Re : comment remonter des disques USB externes qui "dorment" ?

Bonjour , a mon avis le plus simple , serait justement de verifier que l' etiquette est bien listée , vu que c' est ce qu on a decidée d ' utiliser prealablement avec lsblk par exemple .
si l ' etiquettte est presente alors le disque est present.
si le disque est present , alors on monte la partition dans /mnt/sauvegarde/etiquette .
etc ...

Dernière modification par iznobe (Le 18/02/2022, à 15:20)


retour COMPLET et utilisable de commande  |  script montage partitions

MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#27 Le 18/02/2022, à 16:00

Qid

Re : comment remonter des disques USB externes qui "dorment" ?

Pas faux iznobe... Effectivement vérifier dans /dev/disk/by-label (de tête) est aussi une autre option tout aussi opérationnelle que la mienne... Elle est peut-être juste un peu plus logique...


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#28 Le 18/02/2022, à 22:26

Coeur Noir

Re : comment remonter des disques USB externes qui "dorment" ?

Euh… bah ouais c'est ce que je dis, dès le message #9 en fait lol ici il s'agit de disques externes, rien ne dit qu'ils sont toujours ET branchés à ce pc ET sous tension.

Et les commandes ( testées ) qui vont bien dans ce genre de situation, c'est :
⋅ pour monter

udisksctl mount -b /dev/disk/by-label/label_part_ou_disk

⋅ pour démonter

udisksctl unmount -b /dev/disk/by-label/label_part_ou_disk

Oui, ici avec udisksctl c'est bien unmount et non umount.

Cette commande de montage utilise proprement et automatiquement le dossier /media/$USER/label_part_ou_disk comme point de montage.
C'est aussi elle qui agit lorsqu'on branche à chaud un périphérique de stockage nomade, externe, hotpluggable.
Ou quand dans un explorateur de fichiers, on clique sur une partition d'un disque présent mais dont aucune partition n'est déclarée dans fstab.

Pourquoi cette commande va bien ? Parce qu'elle garantit au final toujours le même chemin pour accéder au contenu de cette partition :
⋅ que les disques soient branchés et sous tension avant le démarrage du pc ( donc partitions pas encore montées );
⋅ ou qu'on les branche à la volée, une fois la session allumée ( donc montage auto de leurs partitions ).
→ elle fournira donc, pour la partie sauvegarde du script, un chemin stable pour les partitions concernées et dûment étiquetées au préalable.

Maintenant il faut affiner le scénario du script :

1⋅ vérifier la présence matérielle des disques externes = est-ce que leurs étiquettes apparaissent dans /dev/disk/by-label/ ?
   cas 1 → les étiquettes ne sont pas là → dire à l'humain de brancher les disques → pause du script, pour attendre confirmation de l'humain qu'il les a branchés → oui, on continue | non, on quitte le script.
   cas 2 → les étiquettes sont là car les disques étaient déjà matériellement branchés → on continue.
2⋅ vérifier la présence des points de montage dans /media/$USER/…
   cas 1 → ils y sont déjà car l'humain vient de brancher les disques dans sa session et udisksctl a déjà fait le boulot de montage des partitions, on continue.
   cas 2 → ils n'y sont pas car les disques étaient branchés avant l'ouverture de session utilisateur → commandes udisksctl mount qui vont bien, on continue.
3⋅ sauvegarde(s)
   cas 1 → la partie sauvegarde renvoie une erreur → attendre que l'humain confirme qu'il a vu l'erreur ? Puis quitter le script sans démonter les partitions.
   cas 2 → pas de problème, sauvegarde bien effectuée → commandes udisksctl unmount qui vont bien pour démonter les partitions → fin du script

Un tel script est à priori utilisable depuis n'importe quelle session utilisateur, ou machine, puisque sa seule variable « contraignante » c'est les étiquettes des disques/partitions.
Script à placer sur chaque disque, avec un lanceur qui va bien, si on veut l'utiliser de façon nomade ( autre session, autre ordi, mais mêmes disques externes ).

Reste à voir s'il faut la présence des 2 disques à la fois, ou d'un seul, pour ces sauvegardes, c'est jamais qu'un test à faire sur la présence de l'une ou l'autre des étiquettes concernées, ou des 2 en même temps obligatoirement.

Et moi je ne sais pas écrire de script, donc pas dit qu'il soit réalisable tel quel !
Les commandes udisksctl donnent des réponses très humainement lisibles quand on les utilise depuis le terminal, pas dit que ce mode bavard soit pratique à travers un script ?
Cela dit il n'y a rien à tester directement sur les commandes udisksctl ( voir le comportement en cas de montage déjà effectué, ci-après, troisième retour ).
Exemples :

django@ASGARD:~$ udisksctl mount -b /dev/disk/by-label/4GO_ROUGE
Mounted /dev/sdc at /media/django/4GO_ROUGE.

django@ASGARD:~$ udisksctl unmount -b /dev/disk/by-label/4GO_ROUGE
Unmounted /dev/sdc.

django@ASGARD:~$ udisksctl mount -b /dev/disk/by-label/4GO_ROUGE
Error mounting /dev/sdc: GDBus.Error:org.freedesktop.UDisks2.Error.AlreadyMounted: Device /dev/sdc is already mounted at `/media/django/4GO_ROUGE'.

django@ASGARD:~$ 

Dernière modification par Coeur Noir (Le 19/02/2022, à 00:11)


DébuterDocBien rédigerRetour commandeInsérer image | illustrations & captures d'écran <>

Hors ligne