4.1 KiB
Montare e smontare un filesystem
Il comando per montare manualmente un filesystem si chiama mount
:
mount -t TYPE DEVICE MOUNTPOINT
Il mountpoint non deve essere vuoto, ma deve esistere. Qualsiasi file sará inaccessibile fino a che il filesystem sará montato.
Per smontare il filesystem: umount MOUNTPOINT
o umount DEVICE
Elencari i filesystem
Se si digita mount
si ottiene un elenco dei filesystem montati nel sistema. Il parametro -t
permette di filtrare l'output per tipo di filesystem. É possibile specificare piú filesystem contemporaneamente separandoli con una virgola.
Alcuni parametri del comando mount
:
-a
: monta tutti i filesystem elencati in/etc/fstab
-o
: passa un elenco di opzioni di montaggio separate da virgole-ro
: monta il filesystem in sola lettura-rw
: monta il filesystem in modalitá scrivibile
Alcuni parametri del comando umount
:
-a
: smonta tutti i filesystem elencati in/etc/fstab
-f
: forza lo smontaggio-r
: rende il filesystem di sola lettura
File aperti
Se, quando si smonta un filesystem, si incontra il messaggio di errore che indica che la destinazione é occupata (target is busy), si puo' usare il comando lsof DEVICE
, per vedere un elenco di processi e a quali file accedono.
Montare un filesystem all'avvio
Il file /etc/fstab
contiene la lista dei filesystem che devono essere montati all'avvio del sistema. É costruito nel seguente modo:
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/sda1 / btrfs defaults 0 0
UUID=2858f3c1-995f-46ca-8164-76836b7860d2 /media/user/ btrfs defaults 0 2
dove:
FILESYSTEM
: il filesystem da montare. Al posto del dispositivo, é possibile specificare lo UUID (Universally Unique Identifier) o l'etichetta della partizioneUUID=
LABEL=
OPTIONS
: le opzioni di montaggio, che saranno passate a mountDUMP
: indica se un filesystem debba essere considerato per il backup dal comando dump. Solitamente é zeroPASS
: quando é diverso da zero, definisce l'ordine in cui i filesystem saranno controllati all'avvio
Le opzioni sono un elenco di parametri, separati da virgole:
atime
enoatime
: per impostazione predefinita, ogni volta che un file viene letto, le informazioni sul tempo di accesso vengono aggiornate. Disabilitare questa opzione aumenta le performanceauto
enoauto
: se il filesystem puo' o non puo' essere montato automaticamente conmount -a
defaults
: passa a mount le opzionirw,dev,suid,exec,auto,nouser,async
exec
enoexec
: consente o nega l'esecuzione di file binari sul filesystemuser
enouser
: consente o meno a un utente normale di montare il filesystemro
erw
remount
: tenterá di rimontare un filesystem giá montato. Non viene usato in/etc/fstab
, da come parametro del comandomount -o
.sync
easync
: indica se eseguire le operazioni di I/O sul filesystem in modo sincrono o asincrono
Montare con Systemd
Bisogna creare un file di configurazione .mount
, denominato mount unit, in /etc/systemd/system
.
[Unit]
Description=Additional drive
[Mount]
What=/dev/disk/by-uuid/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Where=
Type=
Options=
[Install]
WantedBy=multi-user.target
Nello specifico:
What
: cosa deve essere montato. Il volume deve essere specificato nella forma/dev/disk/by-uuid/UUID
WantedBy
: usato per la gestione delle dipendenze
Per funzionare correttamente, l'unitá di montaggio deve avere lo stesso nome del punto di mount. Se, per esempio, il punto di mount fosse
/mnt/external
, l'unitá si chiamerámnt-external.mount
emnt-external.automount
Auto-mount
Le unitá di montaggio possono essere montate in automatico ogni volta che si accede al punto di mount. Basta creare, accanto al file .mount
, un file .automount
:
Description=Automount Additional Drive
[Automount]
Where=
[Install]
WantedBy=multi-user.target
Ora ricaricare systemd e avviare l'unitá:
systemctl daemon-reload
systemctl enable --now mnt-external.automount