Tive recentemente um problema onde um sistema de arquivos SSHFS montado recusou-se a desmontar.
Tentei desmontá-lo de dentro do Nautilus clicando com o botão direito do mouse na montagem e selecionando Desmontar, mas isso falhou com uma mensagem de erro. O erro me disse que não conseguia desmontar o dispositivo e deu uma razão para “mount discorda da fstab”.
I então editou a fstab (sudo vi /etc/fstab
) e comentou a entrada para o dispositivo. Eu tentei desmontar no Nautilus novamente, mas desta vez ele me disse que eu não podia desmontar o dispositivo porque eu não era root e o dispositivo não estava listado na fstab. Eu então descomentei a linha comentada anteriormente e salvei o arquivo novamente.
Time para ficar sujo. Tentei executar manualmente umount
, mas falhou:
$ sudo umount /mnt/shareumount: /mnt/share: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))$
Isso estava ficando pessoal agora, pois as mensagens anteriores não diziam nada sobre o dispositivo estar em uso. Eu fechei todas as aplicações e tentei novamente. A mesma mensagem de erro.
Segui as instruções e executei man lsof
seguido por man fuser
para saber mais sobre os comandos recomendados. fuser foi o vencedor.
fuser permite que você descubra informações detalhadas sobre processos que estão usando arquivos ou soquetes específicos. Além de obter informações, ele permite que você mate processos acessando o arquivo ou soquete. Isto era exatamente o que eu estava procurando.
Após ler sobre a sintaxe do fusor, eu executei o seguinte:
$ sudo fuser -km /mnt/share/mnt/share/: 9004c$
Este comando basicamente se traduz em “find every process that is accessing the /mnt/share mount point and kill it”. Como eu não tinha certeza da propriedade dos processos que seriam mortos, eu o executei com sudo para ter certeza de que qualquer processo poderia ser morto.
A resposta /mnt/share/: 9004c
significa que um processo com um ID de 9004 foi terminado.
Again, I ran:
$ sudo umount /mnt/share$
Este comando respondeu alegremente sem nada, o que é um bom sinal, pois significa que o comando umount foi bem sucedido.
Finalmente, o mount está desmontado. Agora se eu pudesse lembrar o que eu estava tentando fazer quando este problema aconteceu…
Eu ajudei-o?
- Envie-me uma dica via Paypal.
- Ajuda com a hospedagem deste site com o meu código de referência Linode.