РЕШЕНИЕ
Задача, с которой был связан данный вопрос, заключалась в использовании network file system (NFS). При этом, чтобы монтирование сетевого ресурса происходило автоматически, без участия пользователя. Связь должна самостоятельно восстанавливаться после переподключения сервера.
Проблема возникает при потери связи с сервером (например, при обрыве ethernet) после того как было сетевой ресурс был смонтирован. Она заключается в длительном выключении, перезагрузке, иногда с выводом сообщения failed to unmount... . Также возникает зависание менеджера файлов. Если размонтировать ресурс, проблема исчезает.
Решение следующее:
- fstab не используется вообще; всевозможные таймауты, в частности DefaultTimeoutStartSec в /etc/systemd/system.conf не трогаются.
- создаётся скрипт mounter.sh такого плана:
Код:
#!/bin/bash
sleep 4
if ping -c1 -W1 192.168.0.2
then
sudo timeout 1s mount 192.168.0.2:/server /home/user/client
else
sudo timeout 1s umount -f 192.168.0.2:/server /home/user/client
fi
- пишется и активируется служба:
Код:
[Unit]
Description=User service: network file system special mounter
After=network.target
[Service]
Type=simple
ExecStart=/etc/systemd/system/mounter.sh
Restart=always
[Install]
WantedBy=multi-user.target
Эта служба постоянно перезапускается. Возможно, было бы лучше, чтобы она однократно запустила нескончаемый скрипт, не знаю.
Тут, конечно, не совсем верно, что не проверяется состояние - смонтировано или нет, а тупо перемонтируется/передемонтируется время от времени.
Также следует отметить, что после команды sudo systemctl mask --now rpcbind , которая дана в инструкции для борьбы с зависанием графических приложений, отваливаются важные nfs службы, из-за чего astra linux вообще не могла запуститься, зависает.