1

У меня есть программа, которая записывает некоторые файлы в каталог. Моя проблема в том, что если каталог по какой-то причине не смонтирован, программа все равно записывает в каталог, но файлы попадают в файловую систему системы, а не в нормально смонтированную файловую систему. Я хотел бы, чтобы записи в каталог не выполнялись, если этот каталог не смонтирован. Как мне это сделать в Linux?

2 ответа2

2

Сделайте базовую точку монтирования доступной только для чтения.

Когда дополнительная файловая система смонтирована, ее разрешения имеют приоритет IIRC.

1

Я тоже однажды наткнулся на эту проблему.

В моем случае скрипты обращаются к рассматриваемому каталогу как root, поэтому опция readonly не была бы решением.

Но есть два других возможных обходных пути:

1-й: Проверьте с помощью команды mount, если каталог смонтирован:

 if mount | grep /that/mountpoint
  then
    ...

2-й: создайте вручную файл флага после монтирования FS и проверьте это в вашем скрипте. Если файл-флаг отсутствует, FS может быть не смонтирован

 mount /that/mountpoint
 touch /that/mountpoint/.is_mounted

 if test -e /that/mountpoint/.is_mounted
  then
    ...

Первое решение более надежно, если оно подходит для вашей системы, а второе - более переносимо.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .