CIFS si monta attraverso fstab non si monta all'avvio


20

Ho una condivisione CIFS sul mio NAS che voglio aver montato all'avvio: viene utilizzata dal mio server MythTV come archivio multimediale principale. Ho aggiunto una voce fstabper farlo montare ma non lo fa. Sembra che, dopo aver esaminato i miei registri di sistema, fstabvenga letto prima che le mie interfacce di rete diventino online. C'è qualche modifica che posso apportare alla fstabvoce che cambierebbe questo?

La fstabvoce per montare la condivisione è:

\\192.168.0.26\mythtv\media  /media/mybooklive  cifs  username=user,password=pass,umask=002,uid=136,gid=144,iocharset=utf8   0       0

Si monta bene dopo l'avvio quando emetto sudo mount -ae non ci sono altri problemi con esso.

Grazie!


2
Se il server esegue Ubuntu, probabilmente è necessario un / piuttosto che un \ - "//192.168.0.26/mythtv/media" Vedi wiki.ubuntu.com/MountWindowsSharesPermanently
Panther

@ bodhi.zazen Potrebbe aver avuto il / quando l'ho inserito, ma ora si legge con il \
douggro

Controlla la sintassi (/ vs \) in fstab
Panther

@ bodhi.zazen Sono abbastanza sicuro che l'articolo wiki sia quello che ho seguito durante l'impostazione. Controllerò la sintassi più tardi quando avrò tempo di sedermi con il mio server.
Douggro

1
@ bodhi.zazen Per favore, converti il ​​tuo commento in una risposta - cambiando il \ in / risolto.
Douggro,

Risposte:


8

È un errore di sintassi, penso che tu abbia bisogno di un "/" piuttosto che di un "\", come questo

//192.168.0.26/mythtv/media  /media/mybooklive  cifs  username=user,password=pass,_netdev,umask=002,uid=136,gid=144,iocharset=utf8  0 0

Vedi: https://wiki.ubuntu.com/MountWindowsSharesPermanently per ulteriori informazioni.


24

Hai provato ad aggiungere l'opzione _netdevalla tua fstabvoce? Lo aggiungeresti con le altre opzioni nella tua stringa in questo modo

//192.168.0.26/mythtv/media  /media/mybooklive  cifs  username=user,password=pass,_netdev,umask=002,uid=136,gid=144,iocharset=utf8   0       0

_netdev dovrebbe ritardare il montaggio fino a quando la rete non si connette.


Puoi aggiungere un contesto a dove verrebbe inserito nella fstablinea? Detto questo, e un periodo in cui posso riavviare il server quando non viene utilizzato, lo proverò. Grazie per aver risposto.
Douggro,

1
Questo ha funzionato per me in Ubuntu 12.04 ma non in Ubuntu 16.04. È cambiato nell'ultima versione?
Katu,

2
Nota: penso che _netdev funzioni effettivamente in 16.04, tuttavia credentials = / home / user / .smbcreds non funziona più. Almeno per me quando uso user =, pass =, _netdev funziona, quando utilizzo credenziali =, _ netdev non funziona. Entrambi funzionano tramite sudo mount-a dalla riga di comando dopo l'avvio.
jb510,

1
In realtà penso che questo potrebbe avere più a che fare con le modifiche alle autorizzazioni apportate alla cartella multimediale. Ad un certo punto, Ubuntu ha iniziato a montare cose su / media / nomeutente / nome cartella piuttosto che / media / nome cartella. Se non eseguire il mount nella posizione "nome utente", è necessario disporre delle autorizzazioni a livello di sudo per l'accesso. Se cambi il tuo percorso per usare il percorso / media / username penso che dovrebbe ancora funzionare.
djmadscribbler

1
_netdev - Valido solo con fstype nfs
Mikhail Chuprynski,

15

se _netdev non funziona, prova l'opzione:

x-systemd.automount

anziché. Funziona montando l'unità al primo accesso.

Per testare l'automount, smonta la tua condivisione se è attualmente montata:

$ sudo umount /media/mybooklive

E quindi riavviare l' remote-fsunità systemd:

$ sudo systemctl daemon-reload
$ sudo systemctl restart remote-fs.target

2
grazie, questo ha funzionato per me nel 18.04 LTS
Capo

1
_netdev non funzionava il 18.04, funzionava perfettamente :)
Brian dice Reinstate Monica

6

Sto usando la build Raspbian-Stretch del 2017-09-07 e ho riscontrato lo stesso problema. Tuttavia, sono stato in grado di superare questo andando in raspi-config e nel menu Opzioni di avvio, ho abilitato l'opzione "Attendi rete all'avvio".


1
Questo in realtà è MOLTO utile, ho avuto problemi che anche se l'avvio diceva tutto OK, non lo montava o non visualizzava le cartelle
Alfred Espinosa,

3

-Utilizzando le barre (/) NON è stato risolto per me.
-Inoltre, l'aggiunta dell'opzione _netdevalla mia /etc/fstabvoce NON l'ha riparata per me.

Quello che ho fatto per risolvere questo problema (sul mio Pi3) è modificare la modalità /etc/rc.localdi sospensione 20 secondi (chiamando sleep 20) e quindi chiamare mount -a. In questo modo, anche se la rete NON è ancora connessa quando il sistema legge per la prima volta il file fstab, quindi il montaggio fallisce, costringo il sistema ad attendere 20 secondi qui (dando alla rete il tempo di connettersi) quindi lo costringo a chiamare di mount -anuovo per montare tutte le unità nel fstabfile.

Ecco /etc/rc.localcome appare ora il mio file:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
#GS notes: a *minimum* of sleep 10 is required for the mount below to work on the Pi 3; it failed with sleep 5, but worked with sleep 10, sleep 15, and sleep 30
sleep 20
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
  mount -a #GS: mount all drives in /etc/fstab
fi

exit 0

Fatto! Ora funziona perfettamente per me!

Riferimenti:


Ti stai collegando tramite wifi?
cbcoutinho,

Sì, sto usando WiFi invece di Ethernet.
Gabriel Staples,

Questo è davvero molto strano, ma probabilmente non correlato al mio problema. Ho tre unità di rete che sto cercando di connettere tramite un cavo ethernet - nessun wifi. Uno dei nomi delle unità ha un carattere speciale al suo interno e ciò non consente la connessione dopo un nuovo avvio. L'esecuzione sudo mount -arisolve il problema, ma sono curioso di sapere perché non funziona durante l'avvio. Proverò la tua soluzione e vedrò se aiuta.
cbcoutinho,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.