У меня есть запись в /etc/fstab
для монтирования общего ресурса Windows
//192.168.178.4/files /media/share/d cifs credentials=/home/arnold/.credentials,rw,dir_mode=0777,file_mode=0777 0 0
это не смонтировано во время загрузки / входа в систему. Когда я вхожу в систему, я вижу, что общий ресурс не смонтирован, после sudo mount -a
это так. На мятных форумах предполагалось, что сеть не работает. Создание сценария в /etc/network/if-up.d/fstab
(или другом имени) решит проблему. На самом деле, этот каталог предназначен для таких скриптов. Отличное предложение. Я создал скрипт, но, увы, он не сработал. Я добавил несколько операторов логирования, и скрипт выглядит так:
#!/bin/sh
date +"%m/%d/%Y %H:%M:%S $HOSTNAME fstab before mounting" >>/var/log/fstab.log
#mount -av >>/var/log/fstab.log
date +"%m/%d/%Y %H:%M:%S $HOSTNAME fstab mount executed" >>/var/log/fstab.log
echo " " >>/var/log/fstab.log
Сценарий исполняемый, а владелец - root. Когда я выполняю скрипт после входа в систему, ресурс правильно монтируется. Я удостоверился, что файл журнала был пуст и скопировал его сразу после входа в систему, где он читает:
01/03/2017 09:55:45 before mounting
/ : ignored
/data : already mounted
/home : already mounted
none : ignored
01/03/2017 09:55:45 mount executed
01/03/2017 09:55:45 before mounting
/ : ignored
/data : already mounted
/home : already mounted
none : ignored
01/03/2017 09:55:45 mount executed
01/03/2017 09:55:51 before mounting
/ : ignored
/data : already mounted
/home : already mounted
none : ignored
01/03/2017 09:55:51 mount executed
Он выполняется три раза (по одному разу для каждого сетевого интерфейса?). При следующем запуске sudo mount -av
я получаю:
/ : ignored
/data : already mounted
/home : already mounted
none : ignored
/media/share/d : successfully mounted
Как вы можете видеть, сравнивая эти два журнала, никакая (видимая) попытка не была сделана при монтировании сетевого ресурса во время загрузки.
Я получил много отличных предложений об обходных путях на форумах Linux, но никто не ответил на вопрос, почему скрипт в if-up.d
ведет себя так странно, и у меня нет решения, которое дает мне смонтированный общий ресурс из терминала (он доступен хотя через браузер файлов). У меня есть следующие вопросы:
- является
if-up.d
местом для установки общего файлового ресурса? - если это так, что может быть причиной того, что она не работает в моей системе (что я делаю неправильно?)
- если нет, то каково обычное место для катания на этих лошадях?
Я новичок в Linux, и я вижу эту проблему как ускоренный курс в Linux :-), но потерпите меня, если я не сразу понимаю предложение.
Используя mint 18.1 с mate, сервер - это NAS-устройство QNAP с самой последней прошивкой.
Edit Я искал места в журналах, в которых упоминалось что-то о монтировании этого ресурса, и я нашел некоторые записи в /var/log/syslog
:
Jan 3 09:19:53 lassus systemd[1]: Started Network Manager Wait Online.
Jan 3 09:19:53 lassus systemd[1]: Reached target Network is Online.
Jan 3 09:19:53 lassus systemd[1]: Mounting /media/share/d...
Jan 3 09:19:53 lassus systemd[1]: Starting /etc/rc.local Compatibility...
Jan 3 09:19:53 lassus mount[1301]: error 2 (No such file or directory) opening credential file /home/arnold/.credentials
Jan 3 09:19:53 lassus systemd[1]: media-share-d.mount: Mount process exited, code=exited status=2
Jan 3 09:19:53 lassus systemd[1]: Failed to mount /media/share/d.
Jan 3 09:19:53 lassus systemd[1]: Dependency failed for Remote File Systems.
Jan 3 09:19:53 lassus systemd[1]: remote-fs.target: Job remote-fs.target/start failed with result 'dependency'.
Jan 3 09:19:53 lassus systemd[1]: media-share-d.mount: Unit entered failed state.
Файл учетных данных абсолютно существует. Я сменил владельца с себя на root, но это тоже не помогло.