Linux размонтирует устройство с помощью скрипта, запущенного в самом устройстве

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

  •  20-12-2019
  •  | 
  •  

Вопрос

У меня есть смонтированный iso-образ в пути:

/mnt/iso

Внутри этого iso у меня есть установочный скрипт install.sh Я запускаю установочный скрипт из iso, и в конце скрипт запрашивает пользователя, хочет ли он смонтировать сам iso.Если пользователь нажимает "y", скрипт выполняет следующий код:

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

К сожалению, когда скрипт пытается выполнить umount, возникает ошибка

umount: /mnt/iso: device is busy

Я полагаю, это связано с тем, что виртуальное устройство занято самим скриптом.Как заставить это работать?Спасибо

Это было полезно?

Решение

Используйте -l или --lazy переключиться на umount который выполнит ленивое размонтирование, где он будет полностью размонтирован только после того, как перестанет использоваться.Полное описание на странице руководства (это опция, специфичная для Linux) приведено ниже:

Ленивое размонтирование.Теперь отсоедините файловую систему от иерархии файловой системы и очистите все ссылки на файловую систему, как только она больше не будет занята.(Требуется ядро 2.4.11 или более поздней версии.)

Другие советы

Решение Thomh разрешит проблему, если вы используете последние.В противном случае комментарий Simone Palazzo - ваша лучшая ставка.Вы отключаете что-то через скрипт, расположенный в районе, вы размораживаете.Если вы запустите скрипт из корневого каталога, он будет успешным.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top