web-dev-qa-db-fra.com

Linux (Ubuntu): retirer le disque flash USB en toute sécurité via la ligne de commande

Ce serait bien si votre script Shell vous aide à retirer votre disque flash en toute sécurité après avoir terminé son travail. J'ai fait beaucoup de devoirs avant de poster la question demandant une solution qui devrait répondre aux besoins suivants:

  1. Supposons que le disque flash soit monté en tant que /media/A avec de nombreux autres disques flash et le code peut simplement supprimer /media/A sans interférer avec d’autres disques. Par exemple, je peux passer /media/A comme argument.
  2. Une solution légère. Installer un autre paquet de taille 100MB pour finir la tâche rend fou.
  3. Je connais certaines commandes comme hdparm, sauf que leurs documents sont difficiles à lire. Si on peut me proposer une solution, j'espère qu'il/elle pourra aussi expliquer les paramètres, etc.
  4. Idéal si le code peut gérer toutes sortes de disques Flash (par exemple, mon ancien disque acheté en 2003 avec 32 Mo) (et des disques portables en option).
  5. Cela devrait produire l'effet exact d'un clic droit sur le disque -> en cliquant sur "Supprimer le lecteur en toute sécurité". Le problème de sécurité prévaudra, sinon on peut simplement débrancher le disque, ce qui ne fait généralement pas mal.
49
Xin Guo

Vous pouvez le faire en utilisant des udisks. il n'est pas installé par défaut mais il est assez facile à installer (le paquetage ressemble à un méga une fois installé) ...

Sudo apt-get install udisks

Une fois installé, vous pouvez détacher un lecteur USB avec les commandes suivantes ...

Sudo udisks --unmount /dev/sdb1
Sudo udisks --detach /dev/sdb

La première ligne le démonte. Comme pour toute autre partition, vous pouvez toujours la remonter à ce stade. La deuxième ligne le détache. Après cela, il est mis hors tension et vous devez le retirer/le réinsérer pour le remonter.

Pour clarifier, sdb est le périphérique et sdb1/2/3/etc sont des partitions sur le périphérique. En outre, vous devrez démonter tous les points de montage avant de tenter de détacher le périphérique. Habituellement, avec une clé USB/un lecteur, il n'y en a qu'un, mais c'est un avertissement que vous devriez savoir à ce sujet.

Obtenir le nom du périphérique à partir du point de montage nécessiterait que vous le tiriez de mount ou quelque chose du genre.

50
Omnikrys