Un file system che risiede su un dispositivo SATA/PATA o SCSI deve essere montato manualmente per accedervi. Il comando mount permette all’utente root di montare manualmente un file system. Il primo argomento del comando mount specifica il file system da montare. Il secondo argomento specifica la directory di destinazione dove il file system è reso disponibile dopo averlo montato. La directory di destinazione è chiamata punto di montaggio.
La sintassi generale per montare un file system con mount è:
# mount device mount_point_directory
Utilizzando mount, potete sovrascrivere le impostazioni di default in /etc/fstab. Per esempio, inserendo il seguente comando si monta la partizione /dev/sdd1 nella directory /data:
# mount /dev/sdd1 /data
Di solito non si specifica il tipo di file system perché viene riconosciuto automaticamente (usando numeri magici nel superblocco, o semplicemente provando diversi tipi di file system; vedere man mount per dettagli).
Le seguenti sono alcune delle opzioni che puoi usare quando monti un file system con il comando mount o inserendole in /etc/fstab.
- remount. Questa opzione fa sì che i file system già montati vengano montati di nuovo. Quando fai un cambiamento alle opzioni in /etc/fstab, puoi usare remount per incorporare i cambiamenti.
- rw, ro. Queste opzioni indicano se un file system deve essere scrivibile (rw) o solo leggibile (ro).
- sync, async. Queste opzioni impostano l’input e l’output sincrono (sync) o asincrono (async) in un file system. L’impostazione predefinita è async.
- atime, noatime. Queste opzioni impostano se il tempo di accesso di un file è aggiornato nell’inode (atime) o no (noatime). L’opzione noatime dovrebbe migliorare le prestazioni.
- nodev, dev. L’opzione nodev impedisce che i file di dispositivo siano interpretati come tali nel file system.
- noexec, exec. Si può proibire l’esecuzione di programmi su un file system con l’opzione noexec.
- nosuid, suid. L’opzione nosuid assicura che i bit suid e sgid nel file system siano ignorati.
Alcune opzioni hanno senso solo nel file /etc/fstab. Queste opzioni includono le seguenti:
- auto, noauto. I file system impostati con l’opzione noauto nel file /etc/fstab non vengono montati automaticamente quando il sistema viene avviato.
- user, nouser. Questa opzione permette agli utenti di montare il file system. Normalmente, questo è un privilegio dell’utente root.
- defaults. Questa opzione fa sì che vengano usate le opzioni predefinite rw, suid, dev, exec, auto, nouser e async.
Le opzioni noauto e user sono di solito combinate per supporti rimovibili come dischi floppy o unità CD-ROM.
Smontare un file system
Una volta che un file system è montato, puoi usare il comando umount (senza la “n”) per smontare il file system. Puoi smontare il file system usando umount con il dispositivo o il punto di montaggio.
Per esempio, per smontare un file system (dev/sdd1) montato su /data, puoi inserire uno dei seguenti comandi:
# umount /data
oppure
umount /dev/sdd1
Per smontare il file system, nessuna applicazione o utente può utilizzare il file system. Se è in uso, Linux vede il file system come “occupato” e si rifiuterà di smontare il file system e produrrà l’errore seguente.
# umount /dataumount: /data: target is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))
Lo smontaggio non è possibile se il punto di montaggio è accessibile da un processo. Perché l’umount abbia successo, il processo deve smettere di accedere al punto di montaggio.
Il comando lsof elenca tutti i file aperti e i processi che vi accedono nella directory fornita. È utile per identificare quali processi attualmente impediscono al file system di umountarsi con successo.
# lsof /dataCOMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEbash 1160 root cwd DIR 253,1 180 4194369 /rootrsyslogd 566 root cwd DIR 253,1 224 64 /...
Si può anche usare il comando fuser per ottenere gli ID dei processi attualmente in esecuzione sul punto mpunt che si desidera umount.
# fuser -cu /data
Puoi anche uccidere tutti i processi sul punto di montaggio usando il comando fuser.
# fuser -ck /data
Una volta identificati i processi, si può intraprendere un’azione, come aspettare che il processo si completi o inviare un segnale SIGTERM o SIGKILL al processo. In questo caso, è sufficiente smontare il punto di montaggio.
# umount /data
Forzare lo smontaggio dei file system
Ci potrebbero essere momenti in cui il sistema (kernel) vede il file system come occupato, non importa quello che si cerca di fare. In questi casi, è possibile inserire umount -f per forzare lo smontaggio del file system. Tuttavia, si raccomanda di usare questo metodo solo come ultima risorsa, poiché probabilmente c’è una ragione per cui il kernel pensa che il file system sia ancora montato.
# umount -f /mount_point
Visualizza i file system attualmente montati
È possibile visualizzare i file system attualmente montati inserendo il comando mount. Appaiono informazioni simili alle seguenti:
# mountsysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=487424k,nr_inodes=121856,mode=755)/dev/vda1 on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)...
È anche possibile visualizzare queste informazioni nel file /proc/mounts.