Linux umount um dispositivo a partir de um script que é executado no dispositivo em si

StackOverflow https://stackoverflow.com//questions/20000547

  •  20-12-2019
  •  | 
  •  

Pergunta

Eu tenho um montado de imagem iso no caminho:

/mnt/iso

Dentro desta iso eu tenho um script de instalação install.sh Eu executar o script de instalação do iso e no final o script perguntar ao usuário se ele deseja umount o iso em si.Se o usuário pressione "y" o script, execute o seguinte código:

cd /
umount /mnt/iso
echo "Installation completed!"

Infelizmente, quando o script tenta executar o umount há um erro

umount: /mnt/iso: device is busy

Acho que é devido ao fato de que o dispositivo virtual está ocupado a partir do próprio script.Como pode fazê-lo funcionar?Tnx

Foi útil?

Solução

Use o -l ou --lazy mude para umount que vai fazer um preguiçoso umount, onde só é totalmente desmontado, uma vez que não está mais em uso.A descrição completa da página de manual (este é um linux opção específica) é:

Preguiça de desmontar.Desanexar o sistema de arquivos a partir da hierarquia do sistema de arquivos agora, e a limpeza de todas as referências para o sistema de arquivos assim que não é ocupado mais.(Requer o kernel 2.4.11 ou posterior.)

Outras dicas

TomH a solução vai resolver o problema se você estiver usando o mais recente.Caso contrário, o comentário por Simone Palazzo é a sua melhor aposta.Você está desmontar algo através de um script localizado na área que você está desmontando.Se você executar o script a partir do diretório raiz será bem sucedido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top