Un file system residente su un dispositivo SATA/PATA o SCSI deve essere montato manualmente per accedervi. Il comando mount consente 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 in cui il file system è reso disponibile dopo averlo montato. La directory di destinazione viene definita punto di montaggio.
La sintassi generale per montare un file system con mount è:
# mount [-t file_system_type] [-o mount_options] device mount_point_directory
Usando mount, puoi sovrascrivere le impostazioni predefinite in /etc/fstab. Ad esempio, l'immissione di quanto segue monta la partizione /dev/sdd1 nella directory /data:
# mount /dev/sdd1 /data
Di solito non specifichi il tipo di file system perché viene riconosciuto automaticamente (usando numeri magici nel superblocco o semplicemente provando diversi tipi di file system; vedi man mount per i dettagli).
Di seguito sono elencate alcune delle opzioni che puoi utilizzare durante il montaggio di un file system con il comando mount o inserendole in /etc/fstab.
- rimonta . Questa opzione fa sì che i file system già montati vengano rimontati. Quando apporti una modifica alle opzioni in /etc/fstab, puoi utilizzare remount per incorporare le modifiche.
- rw, ro . Queste opzioni indicano se un file system deve essere scrivibile (rw) o solo leggibile (ro).
- sincronizza, asincrona . Queste opzioni impostano input e output sincroni (sincronizzazione) o asincroni (asincroni) in un file system. L'impostazione predefinita è asincrona.
- tempo, tempo no . Queste opzioni impostano se il tempo di accesso di un file viene aggiornato nell'inode (atime) o meno (noatime). L'opzione noatime dovrebbe migliorare le prestazioni.
- nodev, dev . L'opzione nodev impedisce che i file del dispositivo vengano interpretati come tali nel file system.
- noexec, exec . Puoi vietare 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 vengano ignorati.
Alcune opzioni hanno senso solo nel file /etc/fstab. Queste opzioni includono quanto segue:
- auto, noauto . I file system impostati con l'opzione noauto nel file /etc/fstab non vengono montati automaticamente all'avvio del sistema.
- utente, non utente . Questa opzione consente agli utenti di montare il file system. Normalmente, questo è un privilegio dell'utente root.
- predefiniti . Questa opzione fa sì che vengano utilizzate le opzioni predefinite rw, suid, dev, exec, auto, nouser e async.
Le opzioni noauto e utente sono solitamente combinati per supporti rimovibili come floppy disk o unità CD-ROM.
Smonta un file system
Una volta montato un file system, è possibile utilizzare il comando umount (senza una "n") per smontare il file system. Puoi smontare il file system utilizzando umount con il dispositivo o il punto di montaggio.
Ad esempio, per smontare un file system (dev/sdd1) montato su /data, puoi inserire uno dei seguenti:
# umount /data
o
umount /dev/sdd1
Per smontare il file system, nessuna applicazione o utente può utilizzare il file system. Se viene utilizzato, Linux vede il file system "occupato" e si rifiuterà di smontare il file system e produrrà l'errore seguente.
# umount /data umount: /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 si accede al punto di montaggio da un processo. Affinché umount abbia esito positivo, il processo deve interrompere l'accesso al punto di montaggio.
Il lsof comando elenca tutti i file aperti ei processi che accedono ad essi nella directory fornita. È utile identificare quali processi attualmente impediscono al file system di smontare con successo.
# lsof /data COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 1160 root cwd DIR 253,1 180 4194369 /root rsyslogd 566 root cwd DIR 253,1 224 64 / ...
Puoi anche utilizzare il comando fuser per ottenere gli ID di processo dei processi attualmente in esecuzione sul punto mpunt che desideri smontare.
# fuser -cu /data
Puoi anche terminare tutti i processi sul punto di montaggio usando il comando fusore.
# fuser -ck /data
Una volta identificati i processi, è possibile intraprendere un'azione, come attendere il completamento del processo o inviare un segnale SIGTERM o SIGKILL al processo. In questo caso è sufficiente smontare il punto di montaggio.
# umount /dataNota :Una causa comune per cui il file system nel punto di montaggio è occupato è se la directory di lavoro corrente di un prompt della shell è al di sotto del punto di montaggio attivo. Il processo di accesso al punto di montaggio è bash. Il passaggio a una directory al di fuori del punto di montaggio consente di smontare il dispositivo.
Forza lo smontaggio dei file system
Potrebbero esserci momenti in cui il sistema (kernel) vede il file system occupato, indipendentemente da ciò che si tenta di fare. In questi casi, puoi inserire umount -f per forzare lo smontaggio del file system. Tuttavia, consigliamo di usarlo solo come ultima risorsa, poiché probabilmente c'è un motivo 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 immettendo il comando mount. Vengono visualizzate informazioni simili alle seguenti:
# mount sysfs 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) ...
Puoi anche visualizzare queste informazioni nel file /proc/mounts .
Comprendere il file /etc/fstab in Linux