Доверенная файловая система для отказа автомонтирования

(Я запускаю openSUSE 13.2)

Моя текущая настройка

У меня есть внешний резервный диск, который я монтирую при загрузке со следующей строкой в ​​моем /etc/fstab :

 /dev/mapper/cr_backup /backup ext4 comment=systemd.automount,nofail 0 2 

У меня есть опция nofail потому что иногда резервного диска нет, и я не хочу, чтобы загрузка зависала в этом случае.

Проблема

Когда резервный диск отсутствует, запуск ls в моем корневом каталоге вводит бесконечный цикл, который я должен отменить с помощью ctrl + c. Сообщение об ошибке:

 ls: cannot access /backup: Interrupted system call 

Кажется, что ls терпит неудачу, потому что он пытается получить доступ к резервному диску и не может.

Одним из решений было бы вложить резервный диск в /backup/backup чтобы ls / не срабатывал. Однако это похоже на грязный хак, и мне интересно, есть ли более элегантное решение (я очень хочу узнать больше о том, как работает система!).

В моем (ограниченном) опыте с mount , если устройство не смонтировано, точка монтирования представляет собой пустой каталог. Могу ли я достичь чего-то подобного здесь? Мне нужно быть осторожным, так как у меня запланировано автоматическое почасовое резервное копирование, которое в настоящее время не выполняется, если устройство не смонтировано. Я определенно не хочу, чтобы резервная копия просто удаляла все в пустом каталоге, если она не смонтировала резервный диск!

2 Solutions collect form web for “Доверенная файловая система для отказа автомонтирования”

На мой взгляд, это плохая практика, чтобы попытаться установить резервную файловую систему при запуске, потому что если что-то пойдет не так (rm -rf / [enter] ops), данные по резервному копированию, вероятно, будут удалены вместе.

Поэтому, если вы используете скрипт для этого, монтируйте внутри скрипта или внутри cron и umount, когда это будет сделано.

При этом ваш запуск больше не будет зависать, и вы будете работать с файловой системой.

Но другое решение – удалить его из fstab и поместить в команду mount в rc.local с символом «&», чтобы запустить его в фоновом режиме:

 mount /dev/mapper/cr_backup /backup -t ext4& 

Для съемных устройств у вас также есть решение autofs: https://linuxconfig.org/automatically-mount-usb-external-drive-with-autofs

Я знаю, что вы запускаете SUSE, но это заявление из wbuntu Ubuntu fstab ( https://help.ubuntu.com/community/Fstab ) может указывать вам в правильном направлении:

Съемные устройства, такие как флеш-накопители, могут быть добавлены в fstab, но обычно монтируются gnome-volume-manager и выходят за рамки этого документа.

ОБНОВЛЕНИЕ: Это может представлять интерес http://www.novell.com/coolsolutions/tip/17785.html , старую статью о SUSE.

  • ограничение на количество записей, возвращенных ls -lrt
  • Как проверить, что «ls» выводит что-то ... с помощью одной команды?
  • Что касается идентичных копий файлов gedit
  • вывод искажается при параллельном запуске «xargs ls»
  • Почему «ls» спорадически выводит только «.» В корневой каталог внешнего диска?
  • Поиск и удаление подпапок, содержащих только самые последние
  • BASH: как Grep и отображает набор значений
  • Список аргументов слишком длинный для ls
  • «Ls -b» не работает на macOS
  • Как создать переменную из данных по каналам
  • Какие типы типов файлов делают цвета в терминале в разных дистрибутивах (по умолчанию)?
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.