Смонтировать из rc.local не удается; как это сделать правильно?

Вот мой текущий /etc/rc.local:

#!/bin/sh -e

# Test 1
echo line1 > /home/myHome/rclog.txt

# the mount
mount /mnt/mediaDrive &> /home/myHome/mountlog.txt

# Test 2
echo line2 >> /home/myHome/rclog.txt

exit 0

/mnt/mediaDrive является noauto в fstab. Это сетевой ресурс, поэтому его см. В rc.local.

Монтирование в приведенном выше скрипте не работает при загрузке. После загрузки файл rclog.txt содержит как line1, так и line2, а файл mountlog.txt пуст. Это будет означать, что все команды в сценарии были выполнены успешно, однако диск не смонтирован.

Запуск sudo /etc/rc.local вручную в терминале приводит к подключению общего сетевого ресурса.

Нет ничего релевантного в /var/syslog, которое я вижу, и разрешения для rc.local равны 755. Соответствующая запись fstab:

//192.168.1.100/home  /mnt/mediaDrive  cifs  noauto,credentials=/home/myHome/.mediaCredentials,uid=myName,gid=myGroup  0  0

Что здесь происходит? [+1121]

2
задан 26 November 2013 в 15:31

4 ответа

Проблема должна заключаться в том, что во время загрузки ваша сеть еще не доступна, и это причина, по которой она монтируется после загрузки. Вы должны использовать другие механизмы для монтирования устройства, например, upstart. Пример использования upstart:

# mount CIFS share

start on (local-filesystems and net-device-up IFACE!=lo)
stop on runlevel [!2345]

pre-start script /bin/mount /mnt/mediaDrive
pre-stop script /bin/umount /mnt/mediaDrive

Вы можете изменить его в соответствии со своими потребностями. Имя файла должно заканчиваться на .conf и сохраняться в каталоге /etc/init.

0
ответ дан 26 November 2013 в 15:31

Как отметил Брайам, во время работы rc.local сеть по какой-то причине недоступна.

Это была первоначальная причина, по которой я перешел к подходу noauto + rc.local. Поэтому, хотя я не совсем уверен, почему, этот подход ошибочен.

В моем случае простой _netdev (вместо noauto) в /etc/fstab добился цели.

Обратите внимание, что в моем случае у меня было несколько десятков монтируемых привязок к местам на сетевом диске. Каждое из этих креплений также должно иметь опцию _netdev в /etc/fstab, рядом с опцией bind.

0
ответ дан 26 November 2013 в 15:31

Добавление noauto,x-systemd.automount в мою строку fstab - это то, что в итоге сработало для меня. У меня также есть строка mount /media/share в моем rc.local, но я не уверен, что это важно или излишне.

_netdev в /etc/fstab не работали для меня (с командой mount или без нее в rc.local)

0
ответ дан 26 November 2013 в 15:31

Просто добавьте «sleep 5» над вашей сетевой командой в rc.local

У меня была проблема с монтированием доступа к cifs на моей малине с помощью osmc, с этими 5s сеть работает и монтируется OK

0
ответ дан 26 November 2013 в 15:31

Другие вопросы по тегам:

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