Come impedire il mount automatico di specifiche partizioni/dischi alla tua LinuxBox.
Esclusione, dal mount automatico, di specifici dischi/partizioni sulla nostra LinuxBox.
Oltre alle partizioni illeggibili e a quelle nascoste come EFI e Recovery HD, di default Linux monta qualsiasi partizione di un'unità all'avvio, al login o al collegamento di un'unità USB esterna.
Sebbene questa funzionalità risulti utile per i principianti o per chi collega una sola chiavetta USB per copiare alcuni file, può diventare scomoda e fastidiosa se si hanno molte unità con più partizioni collegate alla propria LinuxBox.
Dopo una lettura approfondita del man di mount
e di man fstab
ho trovato la soluzione che mi sta più comoda. Quindi ti mostrerò come creare una lista di unità che non subiranno la procedura di auto-mount una volta collegate alla nostra LinuxBox.
Prima di proseguire, visto che vedrete spesso la parola UUID meglio spiegare cosa sia:
L’
UUID
è un identificativo univoco universale, usato in informatica per identificare ad esempio un hard disk in un sistema informatico. È composto da 32 caratteri esadecimali, quindi le combinazioni possibili sono 16^32 cioè 340.282.366.920.938.463.463.374.607.431.768.211 possibilità.Se volete potete generarne uno da qua: https://www.uuidgenerator.net ma vi basterà formattare un hard disk esterno o una pendrive per vederne implicazioni pratiche (può essere usato per montare un disco all’avvio oppure una condivisione ecc).
(sogente: https://marcotini.com/cos-e-l-uuid)
Nel caso specifico di Linux, usare l’UUID
evita problemi di riconoscimento del disco quando si monta, di volta in volta, in porte USB
diverse. Per poter fare una operazione sempre sullo stesso disco, di norma, si inserisce una regola nel file /etc/fstab
e si usava il suo indirizzo di device, per esempio /dev/sdb1
come indicatore; con i computer che hanno sempre un più alto numero di porte USB disponibili, l’indirizzo di device cambia a seconda della porta che utilizziamo per collegare il disco in questione.
Quindi a seconda che inseriamo una pennetta nella porta anteriore del computer o in una di quelle posteriori, il device che indica quella pennetta può cambiare da /dev/sdb1
a /dev/sdf1
.
Usando l’UUID
del disco, che viene assegnato durante la creazione della partizione, si risolve questo problema, in quando il codice UUID
si riferisce al disco, indipendentemente da a quale porta lo abbiamo collegato.
Primo passo:
Per evitare che le partizioni si montino automaticamente, aggiungeremo i rispettivi UUID
a una lista tramite il Terminale. Prima di tutto, colleghiamo le unità e montiamo le partizioni che non vogliamo più montare automaticamente in futuro.
Secondo passo:
Avviamo il Terminale eseguiamo un comando df
ed otterrete l’unità di riferimento del disco che vogliamo escludere: nel mio caso /dev/sdb3
. Al prompt, eseguire il comando:
blkid /dev/sdb3
ed otterrete una risposta simile alla seguente:
blkid /dev/sdb3
/dev/sdb3: UUID="c711f4fe-8030-316e-b2a5-43e514d4c7ed" BLOCK_SIZE="4096" LABEL="MACOS" TYPE="hfsplus" PARTUUID="0f72ad28-6467-46ae-8f86-29e33a8f3ddc"
Nel mio caso specifico avremo presenti sia un UUID
che un PARTUUID
perché la pennetta montata ha due partizioni presenti al suo interno.
Terzo passo:
Copiamo la stringa esadecimale intestata ad UUID
e incolliamola in una qualche nota, quindi ripetiamo il comando per tutti gli altri nomi di dischi che desideriamo escludere dall'auto-mount, incollando i loro UUID
nella stessa nota in cui abbiamo messo il primo.
Quarto passo:
Una volta completato, nel Terminale digitiamo:
sudo vi /etc/fstab
Inseriamo la password di amministratore quando richiesto. Comparirà un documento con alcune righe già compilate, sulla mia LinuxBox sono presenti quelle che seguono:
cat /etc/fstab
#### Static Filesystem Table File
proc /proc proc defaults 0 0
# /dev/sda3
UUID=3fa8fcb6-caa5-464c-90d1-74e2a59b073c / btrfs defaults,subvol=@ 0 0
UUID=3fa8fcb6-caa5-464c-90d1-74e2a59b073c /home btrfs defaults,subvol=@home 0 0
# /dev/sda1
UUID=796562d6-3c89-4481-9df5-edb08c11d391 swap swap sw 0 0
# /dev/sda2
UUID=D365-5621 /boot/efi vfat defaults 0 1
# /dev/sda3
UUID=0f72ad28-6467-46ae-8f86-29e33a8f3ddc /media/$HOME/MACOS hfsplus defaults 0 2
Premiamo il tasto “A” per visualizzare il cursore e, utilizzando il tasto “Freccia in giù” e premendo infine il tasto “Invio”, spostiamoci alla fine del documento.
Ora copiamo e incolliamo la seguente riga nel documento:
# no automount for /dev/sdb3: LABEL_FATBOOT="MACOS"
UUID=0f72ad28-6467-46ae-8f86-29e33a8f3ddc none hfsplus noauto,nofail 0 0
La prima riga è semplicemente un commento che potrà servire in futuro per ricordarci cosa fa quella riga.
Aggiungi eventuali altre partizioni sulle righe sottostanti, ripetendo l'intera frase ma cambiando 0f72ad28-6467-46ae-8f86-29e33a8f3ddc
con il corretto UUID
ogni volta.
Quinto passo:
Quando abbiamo finito, premiamo il tasto ESC
per uscire dalla modalità cursore, quindi digitiamo :x
e premiamo il tasto INVIO
per salvare le modifiche ed uscire dal documento.
Da questo momento, dopo un riavvio o dopo un logout → login o un disconnetti→collega del device, le unità, i cui UUID
hai aggiunto nel file /etc/fstab
, non verranno più montati automaticamente.
Se desideriamo montare tali partizioni in futuro, possiamo farlo manualmente utilizzando il Terminale con il corretto comando mount
: nel nostro esempio:
sudo mount UUID=0f72ad28-6467-46ae-8f86-29e33a8f3ddc /percorso/dove/volete/montarlo
Per eventualmente ripristinare le modifiche descritte qui, devi semplicemente cancellare, o commentare, le righe con gli UUID
delle tue unità dal file /etc/fstab
a cui li abbiamo aggiunti, utilizzando un processo simile a quello descritto in precedenza:
Apri prima il Terminale e digita il comando sudo
vi /etc/fstab
;inseriamo la password per visualizzare
/etc/fstab
con l'elenco delle nostre unità al suo interno;Premiamo “A” per entrare nella modalità di modifica;
Spostiamoci verso il basso, fino alle righe inserite precedentemente, con il tasto “Freccia in giù” e utilizziamo il tasto “Cancella” o “Backspace” per rimuoverne quante ne desideriamo, oppure inseriamo come primo carattere della riga il carattere
#
così da rendere la riga un mero commento.Quando abbiamo finito, premiamo
ESC
per uscire dalla modalità di modifica, quindi digitiamo:x
e premiamo il tastoINVIO
per salvare le modifiche, ed uscire dall'editor.
Questo metodo funziona con questi tipo di partizioni:
normali (ext4, ext3, resierfs, btrfs, MSDOS, ecc.)
RAID (In Linux non ho potuto ancora verificare)
criptate.
Il comando fornito in questa guida assume che la partizione in questione sia formattata come ext4
(che è il default per Linux) e che tu voglia che sia possibile sia leggere che scriverci, al momento in cui decida di montarla.
La maggior parte delle partizioni Linux è formattata in questo modo, ma puoi verificare la formattazione del tuo disco dal terminale usando il comando mount
se non sei sicuro. Se le tue partizioni sono configurate diversamente, devi modificare il comando di conseguenza.
Ad esempio, se desideri che la partizione non si monti automaticamente, ma vuoi che venga montata in sola lettura invece che lettura/scrittura, puoi modificare il parametro rw,noauto
e sostituire rw
con ro
.
Per impostare una partizione formattata come FAT per non montarsi automaticamente, sostituisci ext4
nel comando precedente con vfat
.
Nota finale: è possibile modificare il file /etc/fsta
b in molti modi diversi: usando vi
usando nano
o usando un qualsiasi altro editor di testo, che preferiate.
Quindi: se proprio non digerite vi
come editor usate nano /etc/fstab
e la cosa non genererà problemi di alcun tipo.
Fatemi sapere se avete trovato qualche errore in questa guida.
Buon mount
manuale!
P.S.
In MacOS la cosa è simile, ma con qualche differenza importante: creerò una pagina corrispondente e la metterò online quanto prima: Il titolo sarà: ‘Come impedire il mount
automatico delle partizioni all'avvio, al login o al collegamento di unità USB al tuo Mac.’