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.

Deixe uma resposta

O seu endereço de email não será publicado.