Eu sempre pensei que remover com segurança um dispositivo que havia sido montado era usar o umount
comando e, até recentemente, quando mudei para o Ubuntu 12.04 LTS, notei que havia a capacidade de remover com segurança o dispositivo que impressionou minha curiosidade.
Pesquisei várias postagens e descobri que, umount
aparentemente, não significa que posso remover o dispositivo com segurança porque não o desliga. Eu sei que existe a opção eject
. Agora, este é o meu entendimento depois de vasculhar a Internet. As referências incluem:
- O dilema "Desmontar", "Ejetar" e "Remover com segurança a unidade"
"ejetar" / "desmontar" / "remover com segurança a unidade" - qual é o melhor?
- desmontar apenas desmonta uma única partição no dispositivo
- remover com segurança desmonta todas as partições no dispositivo e desliga o dispositivo
- ejetar é usado para mídias como CDs, DVD, etc.
Eu então me deparei com um artigo, mas achei o processo complicado e acho que finalmente cheguei ao pagamento quando me deparei com o comando, udisks
por exemploudisks --unmount /dev/sdb1 && udisks --detach /dev/sdb
O que me confunde é (além de saber se umount
realmente significa que é seguro remover o dispositivo sem perda de dados e se eu preciso usar o comando sync
anterior a ele, bem como se o dispositivo foi desligado e que a remoção segura parece conseguir) é por que Eu tenho que usar /dev/sdb
seguido por --detach
em oposição a/dev/sdb1
Respostas:
/dev/sdb
é o dispositivo inteiro./dev/sdb1
é uma partição nesse dispositivo.Embora você possa usar um disco sem particioná-lo, isso é incomum (fora das configurações de RAID, mas você cria os sistemas de arquivos nos nós dos dispositivos raid, não nos nós dos dispositivos físicos).
Realmente não faz sentido tentar desanexar (remover fisicamente) uma única partição - você deseja remover o dispositivo inteiro (que pode conter várias partições), não apenas uma partição desse dispositivo.
Desmontar uma partição sincronizará o sistema de arquivos, portanto, a chamada
sync
anteriorunmount
não é necessária.A chamada
udisks --detach
no dispositivo verifica se você não possui sistemas de arquivos montados nesse dispositivo (você deve garantir que essa chamada seja bem-sucedida) e realizará um "desligamento ordenado", que é sempre preferível a uma abordagem "puxe o plug", independentemente se esse dispositivo em particular faz algo especial.fonte
udisks --unmount /dev/sdb && udisks --detach /dev/sdb
se quisesse desmontar todas as partições? Faz sentido desmontar uma partição apenas se existir várias partições.udisks --detach
seja bem-sucedida?/dev/sdb
não funciona. Você precisa desmontar cada partição montada e analisar / analisar a saída dos comandos.udisks --detach /dev/sdb
?