[Risolto] Montare cartelle rete quando connessione attiva

Networking, configurazione della connessione, periferiche e condivisioni di rete.
Scrivi risposta
Avatar utente
agarest
Prode Principiante
Messaggi: 125
Iscrizione: mercoledì 30 maggio 2007, 14:52
Desktop: GNOME
Distribuzione: Ubuntu 18.04
Sesso: Maschile

[Risolto] Montare cartelle rete quando connessione attiva

Messaggio da agarest »

Buongiorno,
ho un dilemma da risolvere, ho provato a cercare in giro per il forum ma non ho trovato soluzione... La cosa mi sembra strana dato che credo che sia un problema non solo mio ma ora ve lo espongo.

Su fstab ho aggiunto un paio di cartelle di rete da montare in automatico all'avvio del PC con Ubuntu.
All'avvio del PC però non trovo le cartelle montate ma se do "sudo mount -a" mi vengono montate correttamente senza nessun problema.

Sembra che il problema sia dato dal fatto che il file fstab viene caricato prima che la connessione alla rete wifi sia attiva. Ci ho visto giusto?
C'è una qualche soluzione al problema, per esempio lanciare in automatico "sudo mount -a" appena il wifi del PC si connette alla rete? Oppure fare in modo che fstab venga avviato in un secondo momento?

Grazie mille in anticipo.
Ultima modifica di agarest il mercoledì 21 dicembre 2016, 15:47, modificato 3 volte in totale.
Xubuntu 16.04.1 notebook Acer Extensa 5230, XUbuntu 64 17.04 notebook 13" Asus (Unity/Gnome)
Avatar utente
agarest
Prode Principiante
Messaggi: 125
Iscrizione: mercoledì 30 maggio 2007, 14:52
Desktop: GNOME
Distribuzione: Ubuntu 18.04
Sesso: Maschile

Re: Montare cartelle rete quando connessione attiva

Messaggio da agarest »

Nessuno che mi può aiutare? :-(
Xubuntu 16.04.1 notebook Acer Extensa 5230, XUbuntu 64 17.04 notebook 13" Asus (Unity/Gnome)
Avatar utente
DoctorStrange
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2926
Iscrizione: mercoledì 14 ottobre 2015, 9:33
Desktop: Gnome3
Distribuzione: Ubuntu 22.04 LTS Jammy Jellyfish
Sesso: Maschile
Località: Roma, Italia

Re: Montare cartelle rete quando connessione attiva

Messaggio da DoctorStrange »

Probabimente ci hai visto giusto.

C'è la possibilità di lanciare degli script non appena il wifi è connesso, usando il dispatcher del network manager.

Se guardi nella cartella del NetworkManager, sotto etc ci dovrebbe essere il dispatcher appunto, che magari potrebbe esserti utile.
Avatar utente
agarest
Prode Principiante
Messaggi: 125
Iscrizione: mercoledì 30 maggio 2007, 14:52
Desktop: GNOME
Distribuzione: Ubuntu 18.04
Sesso: Maschile

Re: Montare cartelle rete quando connessione attiva

Messaggio da agarest »

Si, ho la cartella dispatcher con 3 sottocartelle, pre-up, pre-down e no-wait. Dovrei mettere lo script nella pre-up? Non sarebbe comunque troppo presto per lanciarlo se viene eseguito prima dell'UP della scheda come dice il nome?
Xubuntu 16.04.1 notebook Acer Extensa 5230, XUbuntu 64 17.04 notebook 13" Asus (Unity/Gnome)
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2886
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: Montare cartelle rete quando connessione attiva

Messaggio da rai »

Dovresti avere in /etc/NetworkManager/dispatcher.d/ lo script 01ifupdown
Se è così, devi mettere il tuo script (contenente il comando per montare quello che ti serve e reso eseguibile) nella cartella /etc/network/if-up.d/
Avatar utente
agarest
Prode Principiante
Messaggi: 125
Iscrizione: mercoledì 30 maggio 2007, 14:52
Desktop: GNOME
Distribuzione: Ubuntu 18.04
Sesso: Maschile

Re: Montare cartelle rete quando connessione attiva

Messaggio da agarest »

Si, nella cartella dispatcher.d ho 01ifupdown.
Ho creato lo script (dovrebbe essere semplice, ho messo solamente sudo mount -a e reso eseguibile) nella cartella /etc/network/if-up.d/ ma non funziona.
Non è che in questo modo esegua lo script appena la scheda va UP ma non è ancora connessa alla rete?

PS. se lancio lo script a mano funziona
Xubuntu 16.04.1 notebook Acer Extensa 5230, XUbuntu 64 17.04 notebook 13" Asus (Unity/Gnome)
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2886
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: Montare cartelle rete quando connessione attiva

Messaggio da rai »

Se sei certo che il tuo comando funziona fallo precedere da un rigo che ne posticipa l'esecuzione per esempio di 60 secondi

Codice: Seleziona tutto

sleep 60
Nel caso fortunato che questo funzioni puoi provare a ridurre gradualmente il tempo di attesa

Per essere certo che il comando sia effettivamente eseguito fallo precedere anche da un comando di cui tu possa controllare l'output come il seguente

Codice: Seleziona tutto

touch /home/ilTuoUtente/Scrivania/ifUpProof
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 13164
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: Montare cartelle rete quando connessione attiva

Messaggio da thece »

:ciao:

script di nome 02MyScript da inserire nella directory /etc/NetworkManager/dispatcher.d con proprietà root:root e permessi 755

Codice: Seleziona tutto

#!/bin/bash

if [[ -z "$1" || -z "$2" ]]; then
        exit 1
fi

if [[ "$1"=="WLAN0"  ]]; then
        case "$2" in
                up)
                        mount -t cifs -o username="USERNAME",password="PASSWORD",uid=USERID,gid=GROUPID "//SERVER_IP/SHAREPOINT" "/PATH/MOUNTPOINT"
                        ;;
                down)
                        umount "/PATH/MOUNTPOINT"
                        ;;
                *)
                        exit 0
        esac
fi

exit $?
Avatar utente
agarest
Prode Principiante
Messaggi: 125
Iscrizione: mercoledì 30 maggio 2007, 14:52
Desktop: GNOME
Distribuzione: Ubuntu 18.04
Sesso: Maschile

Re: Montare cartelle rete quando connessione attiva

Messaggio da agarest »

rai [url=http://forum.ubuntu-it.org/viewtopic.php?p=4943350#p4943350][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Se sei certo che il tuo comando funziona fallo precedere da un rigo che ne posticipa l'esecuzione per esempio di 60 secondi

Codice: Seleziona tutto

sleep 60
Nel caso fortunato che questo funzioni puoi provare a ridurre gradualmente il tempo di attesa

Per essere certo che il comando sia effettivamente eseguito fallo precedere anche da un comando di cui tu possa controllare l'output come il seguente

Codice: Seleziona tutto

touch /home/ilTuoUtente/Scrivania/ifUpProof
Che cosa avrebbe dovuto fare quella riga "touch ..."? a me sebra che non abbia fatto nulla... :-(

Ora provo il consiglio di thece

su

Codice: Seleziona tutto

 if [[ "$1"=="WLAN0"  ]]; then
al posto di WLAN0 scriverò il nome della mia scheda wifi, giusto?

e al posto di

Codice: Seleziona tutto

mount -t cifs -o username="USERNAME",password="PASSWORD",uid=USERID,gid=GROUPID "//SERVER_IP/SHAREPOINT" "/PATH/MOUNTPOINT"
posso mettere

Codice: Seleziona tutto

sudo mount -a
altrimenti dovrei mettere 3 righe di connessione perchè ho 3 cartelle di rete a cui connettermi...

Grazie!
Xubuntu 16.04.1 notebook Acer Extensa 5230, XUbuntu 64 17.04 notebook 13" Asus (Unity/Gnome)
Avatar utente
agarest
Prode Principiante
Messaggi: 125
Iscrizione: mercoledì 30 maggio 2007, 14:52
Desktop: GNOME
Distribuzione: Ubuntu 18.04
Sesso: Maschile

Re: Montare cartelle rete quando connessione attiva

Messaggio da agarest »

Ottimo, credo di aver risolto così:

Codice: Seleziona tutto

#!/bin/bash

if [[ -z "$1" || -z "$2" ]]; then
        exit 1
fi

if [[ "$1"=="nome_mia_scheda_wifi"  ]]; then
        case "$2" in
                up)
                         sudo mount -a
                        ;;
                down)
                        umount "/PATH/MOUNTPOINT"
                        ;;
                *)
                        exit 0
        esac
fi

exit $?
In questo modo vengono montate tutte le cartelle di rete configurate su fstab quando la connessione con la rete wifi è attiva.

Grazie mille a tutti per l'aiuto!
Xubuntu 16.04.1 notebook Acer Extensa 5230, XUbuntu 64 17.04 notebook 13" Asus (Unity/Gnome)
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 13164
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: [Risolto] Montare cartelle rete quando connessione attiv

Messaggio da thece »

:ciao:

più che risolto temo che tu abbia solamente combinato un pasticcio, per i seguenti motivi:

1) non leggi la documentazione dei comandi

2) lo script viene eseguito dal dispatcher come utente root, quindi il "sudo" non serve

3) il comando "mount -a" fa più di quello che ti è necessario, ossia rimonta tutto quello che è indicato nel file /etc/fstab. Tu devi solamente montare gli share di rete e niente altro

4) quando l'interfaccia di rete WIFI viene disattivata devi smontare di share di rete altrimenti vai incontro a malfunzionamenti se la stessa interfaccia viene ripetutamente attivata e disattivata. Quindi il comando "umount" serve.
Al di là di questo, non volendolo proprio usare, nel tuo script dovevi avere almeno l'accortezza di commentarlo: al momento quella riga ti sta solamente generando degli errori
Avatar utente
agarest
Prode Principiante
Messaggi: 125
Iscrizione: mercoledì 30 maggio 2007, 14:52
Desktop: GNOME
Distribuzione: Ubuntu 18.04
Sesso: Maschile

Re: [Risolto] Montare cartelle rete quando connessione attiv

Messaggio da agarest »

thece [url=http://forum.ubuntu-it.org/viewtopic.php?p=4943928#p4943928][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto::ciao:

più che risolto temo che tu abbia solamente combinato un pasticcio, per i seguenti motivi:

1) non leggi la documentazione dei comandi

2) lo script viene eseguito dal dispatcher come utente root, quindi il "sudo" non serve

3) il comando "mount -a" fa più di quello che ti è necessario, ossia rimonta tutto quello che è indicato nel file /etc/fstab. Tu devi solamente montare gli share di rete e niente altro

4) quando l'interfaccia di rete WIFI viene disattivata devi smontare di share di rete altrimenti vai incontro a malfunzionamenti se la stessa interfaccia viene ripetutamente attivata e disattivata. Quindi il comando "umount" serve.
Al di là di questo, non volendolo proprio usare, nel tuo script dovevi avere almeno l'accortezza di commentarlo: al momento quella riga ti sta solamente generando degli errori
1) in che senso? vuoi dire che non mi sono documentato sui comandi da usare?

2) posso togliere sudo ma a questo punto se dici che questo sistema non va bene provo a far funzionare lo script senza mount -a ma con le stringhe singole

3) si, sapevo che mount -a, come già avevo scritto sopra, monta tutto quello che c'è in fstab ma l'avevo messo proprio perchè così montava tutte le cartelle di rete senza doverle specificare una per una nello script ma se dici che non va bene posso anche scriverle singolarmente nello script. Il problema è che quando avevo provato a metterle singolarmente con la stringa seguente non funzionava

Codice: Seleziona tutto

mount -t cifs -o username="USERNAME",password="PASSWORD",uid=USERID,gid=GROUPID "//SERVER_IP/SHAREPOINT" "/PATH/MOUNTPOINT"
e credo sia perchè in fstab la stringa è così:

Codice: Seleziona tutto

//INDIRIZZO/SHAREPOINT /PATH/MOUNTPOINT cifs users,auto,username=xxx,password=xxx 0 0
ma è un mio pensiero perchè non sono assolutamente un esperto.

4) la riga per smantare le unità è scritta correttamente e sembra funzionare, è solo qui che copiandola dalla discussione è rimasta con i percorsi di esempio, nel mio PC ha i nomi dei mountpoint corretti.

Ora provo a rifare lo script con le stringhe singole e vediamo se riesco a trovare l'inghippo.
Intanto grazie mille per l'aiuto!
Xubuntu 16.04.1 notebook Acer Extensa 5230, XUbuntu 64 17.04 notebook 13" Asus (Unity/Gnome)
Avatar utente
agarest
Prode Principiante
Messaggi: 125
Iscrizione: mercoledì 30 maggio 2007, 14:52
Desktop: GNOME
Distribuzione: Ubuntu 18.04
Sesso: Maschile

Re: Montare cartelle rete quando connessione attiva

Messaggio da agarest »

Così può andare?

Codice: Seleziona tutto

#!/bin/bash

if [[ -z "$1" || -z "$2" ]]; then
        exit 1
fi

if [[ "$1"=="wlp3s0"  ]]; then
        case "$2" in
                up)
		mount -t cifs -o username=user,password=psw //192.168.221.251/cartella1 /mnt/cartella1
		mount -t cifs -o username=user,password=psw //192.168.221.251/cartella2 /mnt/cartella2
		mount -t cifs -o username=user,password=psw //192.168.221.251/cartella3 /mnt/cartella3
		mount -t cifs -o username=user,password=psw //192.168.221.1/cartella4 /mnt/cartella4
		mount -t cifs -o username=user,password=psw //192.168.221.1/cartella5 /mnt/cartella5
		mount -t cifs -o username=user,password=psw //192.168.221.1/cartella6 /mnt/cartella6
		mount -t cifs -o username=user,password=psw //192.168.221.1/cartella7 /mnt/cartella7
                        ;;
                down)
		umount "/mnt/cartella1"
		umount "/mnt/cartella2"                        
		umount "/mnt/cartella3"
		umount "/mnt/cartella4"
		umount "/mnt/cartella5"
		umount "/mnt/cartella6"
		umount "/mnt/cartella7"
                        ;;
                *)
                        exit 0
        esac
fi

exit $?
In questo modo funziona e le cartelle vengono correttamente montate alla connessione e smontate quando il wifi è disconnesso.

PS: ho cambiato i nomi delle cartelle, utente e password, ovviamente nella realtà non sono questi ;-)
Xubuntu 16.04.1 notebook Acer Extensa 5230, XUbuntu 64 17.04 notebook 13" Asus (Unity/Gnome)
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 13164
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: Montare cartelle rete quando connessione attiva

Messaggio da thece »

Lo script adesso rispetta le indicazioni che ti ho dato. Se funziona lascialo così
Avatar utente
agarest
Prode Principiante
Messaggi: 125
Iscrizione: mercoledì 30 maggio 2007, 14:52
Desktop: GNOME
Distribuzione: Ubuntu 18.04
Sesso: Maschile

Re: Montare cartelle rete quando connessione attiva

Messaggio da agarest »

Xubuntu 16.04.1 notebook Acer Extensa 5230, XUbuntu 64 17.04 notebook 13" Asus (Unity/Gnome)
Scrivi risposta

Ritorna a “Connessione e configurazione delle reti”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti