У меня есть маленький USB HD, который я купил для ежедневного резервного копирования, на котором установлена система encfs.
У меня есть скрипт autorun
в корне, который выполняет несколько вещей, включая монтирование enc-FS, и эта часть работает нормально.
Однако, если я забуду fusermount -u
enc-FS - до его извлечения, нет никаких предупреждений о чем-либо, и USB отключается, оставляя часть encFS, видимо, все еще смонтированной. Конечно, это не совсем так, и попытка доступа с помощью, скажем, nautilus, приводит к тому, что машина «плохо себя ведет».
Существует также риск потери файлов.
По какой-то причине системы, похоже, не обнаруживают, что диск все еще активен, как обычно, в этом сценарии.
В любом случае, мой вопрос заключается в том, можно ли настроить эквивалент автозапуска при отключении, который запускается при извлечении USB?
Спасибо
Ну, я придумала не очень элегантный способ обойти это. Сценарий autorun
выглядит примерно так:
#!/bin/bash
/path/to/mount-script&
while : # loop isn't really needed ...
do
sleep 999d # ... because the script will idle for 999 days
if (($?))
then
# sleep closed abnormally, so tidy up
/path/to/dismount-script
exit 1
fi
done
Поэтому, когда происходит извлечение диска, система обнаруживает, что sleep
и bash
все еще работают, и выдает предупреждение; щелкните правой кнопкой мыши sleep
в диалоговом окне и завершите его, затем вызовите состояние выхода 130, что означает, что вызывается сценарий размонтирования, а когда он возвращает, сценарий bash завершается, а затем USB-устройство корректно извлекается.