web-dev-qa-db-fra.com

Quel est l'équivalent en ligne de commande de "Safely Remove Drive"?

Quel est l'équivalent en ligne de commande de la fonctionnalité Nautilus appelée "Safely Remove Drive". Plus précisément, je retire un lecteur flash USB.

43
H2ONaCl

La commande udisks est probablement ce que vous recherchez.

Alors que Sudo unmount /dev/sdXY fonctionnera, les udisks peuvent le faire sans autorisations au niveau racine (Sudo).

Si vous avez un lecteur /dev/sdXY, monté, où X est une lettre représentant votre disque USB et Y le numéro de la partition (généralement 1), vous pouvez utiliser les commandes suivantes pour retirer le lecteur en toute sécurité:

udisks --unmount /dev/sdXY
udisks --detach /dev/sdX

Pour un exemple pratique, si j'ai la partition /dev/sdb1 montée, je lancerais ceci pour démonter et détacher le:

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

J'ai initialement trouvé ceci à travers cette question: https://superuser.com/a/430470/17649 .

Utiliser udisks2:

Dans les nouvelles distributions ubuntu (je ne sais pas quand le commutateur s'est produit), udisks2 est installé à la place d'udisks.

En miroir des commandes ci-dessus, pour démonter et détacher un disque avec udisks2:

udisksctl unmount -b /dev/sdXY
udisksctl power-off -b /dev/sdX

Exemple si mon lecteur est /dev/sdb1:

udisksctl unmount -b /dev/sdb1
udisksctl power-off -b /dev/sdb
37
daboross

L'équivalent réel de l'opération Nautilus Mount/Unmount est gvfs-mount -m -d /dev/ice /some/directory et gvfs-mount -u /some/directory. Cela utilise la même API que Nautilus, le système de fichiers virtuel GIO (gvfs), qui fournit différents outils pour utiliser plusieurs services en tant que points de montage, tels que smb, NFS, FTP, des périphériques en mode bloc, etc.

Pour identifier le périphérique que vous devez démonter, utilisez simplement gvfs-mount -l qui devrait suffire.

Cette solution a la particularité de ne pas nécessiter d'autorisations élevées, car tout est géré par les services umount/gvfsd/polkit, ce qui ressemble davantage à la similitude avec le comportement de Nautilus.

19
Braiam

Une fois que vous connaissez le périphérique, utilisez éventuellement les informations df comme dans @ rcpao answer , le meilleur moyen "d'éjecter" le disque est, à mon humble avis, à l'aide de la même commande que celle utilisée par l'interface graphique:

udisksctl unmount --block-device /dev/sdc1

J'ai un script pour faire une sauvegarde sur un disque qui, je le sais, sera monté sous /media/romano/movlin, et après la sauvegarde, je le fais:

sync
udisksctl unmount -b $(mount | grep movlin   | cut -d" "  -f1)

Ici, mount | grep movlin | cut -d" " -f1 extraira le périphérique qui est monté sous l’étiquette "movlin", (ce serait /dev/sdc1 dans ce cas), puis il le démontera.

12
Rmano
  1. df pour trouver le point de montage de votre lecteur flash.

    rcpao@bun:~$ df
    Filesystem                   1K-blocks       Used  Available Use% Mounted on
    /dev/mapper/ubuntu--vg-root 1916153032  658404668 1160390336  37% /
    none                                 4          0          4   0% /sys/fs/cgroup
    udev                          16438692          4   16438688   1% /dev
    tmpfs                          3289976       2156    3287820   1% /run
    none                              5120          0       5120   0% /run/lock
    none                          16449860      18768   16431092   1% /run/shm
    none                            102400         48     102352   1% /run/user
    /dev/sda1                       240972      98990     129541  44% /boot
    /dev/sdc1                     60915712      20992   60894720   1% /media/rcpao/SD024-64GB
    
  2. Démontez à l’aide de/dev/sdc1 ou de/media/rcpao/SD024-64GB.

    rcpao@bun:~$ Sudo umount /dev/sdc1
    [Sudo] password for rcpao: 
    rcpao@bun:~$
    

    ou

    rcpao@bun:~$ Sudo umount /media/rcpao/SD024-64GB
    [Sudo] password for rcpao: 
    rcpao@bun:~$
    
  3. Vous devriez pouvoir voir l'icône d'éjection du lecteur flash disparaître dans Nautilus dès la fin du démontage.

8
rcpa0

eject à partir du paquet éjecté :

Sudo eject /dev/sdX

apparaît sur umount de toutes les partitions et placez le périphérique dans un état que vous devez supprimer, puis rattachez-le pour le remonter.