/etc/fstab не монтируется автоматически в Debian 10

Во-первых, я предполагаю, что отсутствие места перед =в [ $trapaddress= "10.10.10.1" ]является опечаткой. Если бы это было не так, вы бы немедленно получили сообщение об ошибке [.

Во-вторых, у вас проблема в связи между операторами &&и ||. В оболочке они обрабатываются слева направо, поэтому ваше условие не делает то, что вы хотите. На самом деле это:

if cond1 && cond2 || cond3 && cond4; then... 

больше похоже на это:

if ((cond1 && cond2) || cond3) && cond4; then... 

Примечательно, что для этого требуется cond4 . Вы хотите либо

if (... &&...) || (... &&... ); then...

или

if [[... &&... ||... &&... ]]; then...

(В пределах [[.. ]]они действительно имеют обычный относительный приоритет.)

Если вы хотите, вы можете объединить переменные, чтобы упростить сравнение, предполагая, что они никогда не содержат, например. косая черта:

if [[ "$traphost/$trapaddress" = "trapserver1/10.10.10.1" ||
      "$traphost/$trapaddress" = "trapserver2/10.10.10.2" ]]; then...

Обратите внимание, что вы хотите заключать переменные в кавычки, чтобы избежать разделения слов, см. Когда необходимо двойное -цитирование?

2
19.07.2019, 00:13
3 ответа

systemdбудет использовать содержимое традиционного файла /etc/fstabдля динамического создания «юнитов монтирования». Вам нужно будет проверить статус соответствующего модуля монтирования, чтобы понять, почему он не работает :, запустите systemctl status Share.mount.

Наиболее вероятная причина заключается в том, что разрешение имен NetBIOS недоступно (, т.е. Samba nmbdеще не запущена ), когда происходит попытка монтирования, как предложено в соответствующей странице Debian Wiki .

См. man systemd.mountспециальные параметры монтирования systemd -, которые вы можете использовать в /etc/fstab. Например, вы можете использовать x-systemd.automountв качестве обходного пути :, systemd должен автоматически монтировать файловую систему при первой попытке ее использования.

Также проверьте systemctl status network-online.target:, если у вас статическая конфигурация сети,система может быть не в состоянии определить, когда сетевое соединение правильно подключено, и в результате пытаться смонтировать сетевые файловые системы слишком рано. Проверьте новые настройки WAIT_ONLINE_IFACE=и WAIT_ONLINE_METHOD=в файле конфигурации /etc/default/networking, чтобы узнать о возможных способах повышения надежности онлайн-обнаружения в сети.

Кроме того, чтобы отключить диалоговое сообщение, вы должны добавить vers=N.Nв параметры монтирования. См. man mount.cifsдля получения списка доступных значений N.Nи соответствующих версий Windows. Если сервер не ниже Windows Server 2008R2, вы можете использовать vers=2.1.

Старая версия протокола vers=1.0была уязвима для атаки печально известной программы-вымогателя WannaCry в 2017 году, и ее нельзя было исправить, поэтому все ОС до -до -даты должны быть запрограммированы на ненависть эту версию и не использовать ее, если об этом специально не попросят. (Если ваш сервер по-прежнему не поддерживает ни одну из новых версий протокола, его необходимо обновить.)

8
27.01.2020, 21:55

У меня только что была эта проблема с монтированием NFS в fstab. Оказалось, что при загрузке были попытки монтирования, когда сеть еще не была готова.

Простая установка network-managerрешила проблему.

0
27.01.2020, 21:55

Публикую это здесь, надеюсь, это кому-нибудь поможет. У меня ушло 4+ часа.

В Debian 10 мне нужно было запустить:

systemctl enable systemd-networkd-wait-online.service

Я использую параметры fstab:

NFS-Server-IP:/FolderName /mnt/FolderName nfs rw,bg,intr,hard,timeo=600,nfsvers=3 0 0
2
08.03.2021, 19:45

Теги

Похожие вопросы