Respostas:
O udiskscomando provavelmente é o que você está procurando.
Embora sudo unmount /dev/sdXYfuncione, os udiscos podem fazer isso sem as permissões no nível da raiz (sudo).
Se você possui uma unidade /dev/sdXYmontada, em que X é uma letra que representa 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/sdb1montada, eu executaria isso para desmontar e desanexá-la:
udisks --unmount /dev/sdb1
udisks --detach /dev/sdb
Originalmente, encontrei isso através desta pergunta: https://superuser.com/a/430470/176493 .
Nas distribuições mais recentes do ubuntu (não tenho certeza de quando a troca ocorreu), o udisks2 é instalado em vez dos udisks.
Espelhando os comandos acima, para desmontar e desanexar um disco com 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
Detach failed: Not Authorizedquando tento executá-lo sem privilégios de root. (Não é um problema sério, mas uma pequena correção.)
udisks.
sudo, mas também umounted antes de tentar --detach. É uma versão confiável do servidor ubuntu.
O equivalente real à operação Nautilus Mount / Unmount é gvfs-mount -m -d /dev/ice /some/directorye gvfs-mount -u /some/directory. Ele usa a mesma API usada pelo Nautilus, 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 o gvfs-mount -lque deve ser suficiente.
Essa solução possui a peculiaridade de que não requer permissões elevadas, pois tudo é gerenciado pelos serviços umount / gvfsd / polkit, que se assemelham ainda mais à semelhança com o comportamento do Nautilus.
udisks(sugerido em outras respostas) como "o modo como" os usuários não raiz montam e desmontam discos removíveis na área de trabalho, conforme indicado aqui, gvfs-mountpodem usar outros mecanismos. (No meu Ubuntu MATE sistema utópico, o pacote udisks é nem mesmo instalado.)
gioque é o substituto do gvfs-mount.
Depois de conhecer o dispositivo, possivelmente usando as dfinformações da 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 no qual eu sei que será montado /media/romano/movline, após o backup, eu faço:
sync
udisksctl unmount -b $(mount | grep movlin | cut -d" " -f1)
Aqui, mount | grep movlin | cut -d" " -f1extrairá o dispositivo que está montado sob o rótulo "movlin", (seria /dev/sdc1nesse caso) e, em seguida, desmontará.
syncantes udisksctl unmount?
sync; sync; sync && poweroff...
udisksnão está mais presente por padrão no Ubuntu, udisksctlpode ser uma solução preferida. udisksctl power-off --block-device /dev/sdcapaga a luz em uma unidade flash USB externa, para que possa ser o próximo comando a seguir o seu.
df para encontrar o ponto de montagem da sua unidade 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
Desmonte usando / dev / sdc1 ou / 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:~$
Você poderá ver o ícone de ejeção da unidade flash desaparecer no nautilus assim que a quantidade terminar.
dfparece muito útil para identificar onde está o dispositivo.
udisks --detaché útil para desconectar unidades completamente após desmontar.
dfe umountsão utilitários padrão do UNIX. É sempre bom conhecê-los, porque eles sempre funcionam, enquanto udisksdepende do dbus e de um udisksd em execução .
cp /path/to /drive && umount drive. Isso transformou duas unidades flash (temporariamente) em graváveis até que eu percebi que era o comando que a causou. A execução de "Digitalizar e reparar" em uma máquina Windows corrigia as unidades. A resposta do DaboRoss abaixo é muito mais segura.
ejectdo pacote de ejeção :
sudo eject /dev/sdX
aparece em umounttodas as partições e coloque o dispositivo em um estado que você deve remover e reconecte-o para remontar.