Voici mon /etc/rc.local
actuel:
#!/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
Le /mnt/mediaDrive
est un noauto
dans fstab
. C'est un partage réseau, d'où le montage dans rc.local
.
Le montage dans le script ci-dessus ne fonctionne pas au démarrage. Après le démarrage, le fichier rclog.txt
contient à la fois line1
et line2
, et le fichier mountlog.txt
est vide. Cela indiquerait que toutes les commandes du script ont été exécutées avec succès. Toutefois, le lecteur n'est pas monté.
Lancer manuellement Sudo /etc/rc.local
dans un terminal fait monter le partage réseau.
Je ne vois rien de pertinent dans /var/syslog
et les autorisations pour rc.local
sont de 755. L'entrée correspondante fstab
:
//192.168.1.100/home /mnt/mediaDrive cifs noauto,credentials=/home/myHome/.mediaCredentials,uid=myName,gid=myGroup 0 0
Que se passe t-il ici?
Le problème doit être qu’au démarrage, votre réseau n’est pas encore disponible et c’est la raison pour laquelle il monte après boot. Vous devez utiliser un autre mécanisme pour monter le périphérique, comme upstart. Exemple d'utilisation de 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
Vous pouvez le modifier pour répondre à vos besoins. Le nom du fichier doit se terminer par .conf
et être enregistré dans le répertoire /etc/init
.
Il suffit d’ajouter un "sommeil 5" au-dessus de votre commande réseau dans le fichier rc.local.
J'ai eu le problème de monter l'accès cifs sur ma framboise avec osmc, avec ce 5s le réseau est en place et le montage est OK
Comme l'a noté Braiam, au moment où rc.local
est exécuté, aucun réseau n'est disponible pour une raison quelconque.
C'est la raison initiale pour laquelle je suis passé à l'approche noauto
+ rc.local
. Donc, bien que je ne sois pas tout à fait sûr de savoir pourquoi, cette approche est défectueuse.
Dans mon cas, un simple _netdev
(au lieu de noauto
) dans /etc/fstab
a fait l'affaire.
Notez que dans mon cas, j'avais plusieurs dizaines de montages de liaison vers des emplacements sur le lecteur réseau. Chacune de ces montages de liaison nécessite également une option _netdev
dans /etc/fstab
, à côté de l'option bind
.
Ajouter noauto,x-systemd.automount
à ma ligne fstab est finalement ce qui a fonctionné pour moi. J'ai aussi une ligne mount /media/share
dans mon rc.local, mais je ne suis pas sûr que ce soit important ou redondant.
_netdev
dans /etc/fstab
ne fonctionnait pas pour moi (avec ou sans commande de montage dans rc.local)