Qual é a linha de comando equivalente a “Remover Unidade com Segurança”?

37

Qual é o equivalente da linha de comando do recurso Nautilus chamado "Remover Unidade com Segurança". Especificamente, estou removendo uma unidade flash USB.

    
por H2ONaCl 05.10.2014 / 19:58

5 respostas

27

O comando udisks é provavelmente o que você está procurando.

Embora sudo unmount /dev/sdXY funcione, os udisks podem fazer isso sem permissões de nível raiz (sudo).

Se você tiver uma unidade /dev/sdXY , montada, onde X é uma letra representando seu disco usb e Y é o número da partição (geralmente 1), você pode usar os seguintes comandos para remover a unidade com segurança:

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

Para um exemplo prático, se eu tiver a partição /dev/sdb1 montada, eu executaria isso para desmontá-la e desanexá-la:

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

Originalmente, achei isso por meio desta pergunta: link .

Usando o udisks2:

Nas distribuições mais recentes do ubuntu (não sei quando ocorreu a mudança), o udisks2 é instalado em vez dos udisks.

Espelhando os comandos acima, para desmontar e desanexar um disco com o udisks2:

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

Exemplo se minha unidade for /dev/sdb1 :

udisksctl unmount -b /dev/sdb1
udisksctl power-off -b /dev/sdb
    
por daboross 06.10.2014 / 02:34
18

O equivalente real à operação Montagem / desmontagem do Nautilus é gvfs-mount -m -d /dev/ice /some/directory e gvfs-mount -u /some/directory . Isso usa a mesma API que o Nautilus usa, o sistema de arquivos virtual GIO (gvfs), que fornece ferramentas diferentes para usar vários serviços como pontos de montagem, como smb, NFS, FTP, dispositivos de bloco, etc.

Para identificar qual dispositivo você precisa desmontar, basta usar gvfs-mount -l , o que deve ser suficiente.

Esta solução tem a particularidade de não exigir permissões elevadas, já que tudo é gerenciado pelos serviços umount / gvfsd / polkit, que se assemelham ainda mais à similaridade com o comportamento do Nautilus.

    
por Braiam 06.10.2014 / 03:10
11

Depois de conhecer o dispositivo, possivelmente usando as informações de df como na resposta @rcpao , a melhor maneira de "ejetar" o disco é, imho, usando o mesmo comando que a interface gráfica está usando:

udisksctl unmount --block-device /dev/sdc1

Eu tenho um script para fazer um backup em um disco que sei que será montado em /media/romano/movlin e depois do backup:

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

Aqui, mount | grep movlin | cut -d" " -f1 extrairá o dispositivo que está montado sob o rótulo "movlin", (seria /dev/sdc1 nesse caso) e, em seguida, o desmontará.

    
por Rmano 05.10.2014 / 22:13
8
  1. df para encontrar o ponto de montagem do seu pen drive.

    [email protected]:~$ 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. Desmonte usando / dev / sdc1 ou / media / rcpao / SD024-64GB.

    [email protected]:~$ sudo umount /dev/sdc1
    [sudo] password for rcpao: 
    [email protected]:~$
    

    ou

    [email protected]:~$ sudo umount /media/rcpao/SD024-64GB
    [sudo] password for rcpao: 
    [email protected]:~$
    
  3. Você poderá ver o ícone de ejeção da unidade flash desaparecer no nautilus assim que o umount terminar.

por rcpao 05.10.2014 / 20:27
2

eject do pacote de ejeção :

sudo eject /dev/sdX

aparece em umount todas as partições e coloca o dispositivo em um estado que você deve remover e reconectá-lo para remontar.