現在の/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
を手動で実行doesネットワーク共有をマウントします。
/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
何が起きてる?
問題は、起動時にネットワークがまだ利用できないことであり、それがafter bootをマウントする理由であるに違いありません。デバイスをマウントするには、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
ディレクトリに保存する必要があります。
Rc.localのネットワークコマンドの上に「sleep 5」を追加するだけです
Osmcでraspberryにcifsアクセスをマウントする際に問題が発生しました。この5秒ではネットワークが起動し、マウントは問題ありません
Braiamが述べたように、rc.local
の実行時には、何らかの理由で利用可能なネットワークがありません。
これが、私がnoauto
+ rc.local
アプローチに移行した最初の理由でした。そのため、理由はよくわかりませんが、このアプローチには誤りがあります。
私の場合、_netdev
の単純な/etc/fstab
(noauto
の代わりに)がトリックを行いました。
私の場合、ネットワークドライブ上の場所に数十個のバインドマウントがあったことに注意してください。これらの各バインドマウントには、bind
オプションの横にある_netdev
の/etc/fstab
オプションも必要です。
noauto,x-systemd.automount
をfstab行に追加することが、最終的に私にとってうまくいったことです。 rc.localにもmount /media/share
行がありますが、それが重要なのか冗長なのかはわかりません。
_netdev
の/etc/fstab
が機能しませんでした(rc.localのマウントコマンドの有無にかかわらず)