Stai provando a montare un'unità in Ubuntu, CentOS o Debian?
Questa guida è per te.
Quando si monta un disco, il sistema operativo legge le informazioni sul file system dalla tabella delle partizioni del disco e assegna al disco un punto di montaggio.
Qui a LinuxAPT, come parte dei nostri servizi di gestione del server, aiutiamo regolarmente i nostri clienti a svolgere attività relative a Ubuntu.
In questo contesto, esamineremo come montare (collegare) un'unità in Linux con il file system EXT Linux, FAT o NTFS utilizzando il comando mount.
Ulteriori informazioni sul montaggio di un'unità in Linux?
Mount è un comando utilizzato in Linux per collegare filesystem e unità e il comando umount viene utilizzato per staccare (smontare) qualsiasi file system o dispositivo collegato.
Su entrambi i sistemi operativi Linux e UNIX possiamo usare il comando mount/umount per collegare/scollegare dispositivi.
Il punto di montaggio è un nome che si riferisce al disco, come "C:" in Microsoft Windows o "/" in Linux, BSD, macOS e altri sistemi operativi simili a Unix.
Fondamentalmente, ciò che significa "montare" un'unità disco è impostare il sistema operativo locale in modo che una risorsa disco (un'unità disco locale, un volume esterno USB, una partizione, un albero di sottodirectory, un volume del server, ecc. Ecc.) "assomigli" a un normale disco locale e occupa un "unità" sul sistema operativo del tuo computer.
Il comando mount monta un dispositivo di archiviazione o un filesystem, rendendolo accessibile e collegandolo a una struttura di directory esistente. Il comando umount "smonta" un filesystem montato, informando il sistema di completare qualsiasi operazione di lettura o scrittura in sospeso e staccandolo in modo sicuro.
Come elencare i file system montati e le unità Linux?
Per visualizzare tutti i file system attualmente collegati, eseguire il comando:
$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=491472k,nr_inodes=122868,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=100904k,mode=755)
/dev/sda1 on / type ext4 (rw,relatime,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
....
Per impostazione predefinita, l'output includerà tutti i file system inclusi quelli virtuali come cgroup, sysfs e altri. Ciascuna riga contiene informazioni sul nome del dispositivo, la directory in cui è montato il dispositivo, il tipo di filesystem e le opzioni di montaggio.
Per elencare solo alcuni tipi di file system useremo l'opzione -t:
$ mount -t ext4
/dev/sda1 on / type ext4 (rw,relatime,data=ordered)
Elencare solo il file system Linux ext4 di solito visualizzerà le nostre unità Linux.
Puoi usare fdisk per avere un'idea del tipo di partizioni e dispositivi Linux che hai, ad esempio:
$ sudo fdisk -l
Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x817e2210
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 20971486 20969439 10G 83 Linux
Disk /dev/sdb: 10 MiB, 10485760 bytes, 20480 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Sul computer Fedora Linux, vedrai una diversa configurazione dell'unità come:
$ sudo fdisk -l
Disk /dev/sda: 223.58 GiB, 240057409536 bytes, 468862128 sectors
Disk model: TS240GSSD220S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 7AA5C627-6B3A-4500-91B2-757F762207CF
Device Start End Sectors Size Type
/dev/sda1 2048 411647 409600 200M EFI System
/dev/sda2 411648 2508799 2097152 1G Linux filesystem
/dev/sda3 2508800 468860927 466352128 222.4G Linux LVM
Disk /dev/mapper/fedora_localhost--live-root: 70 GiB, 75161927680 bytes, 146800640 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/fedora_localhost--live-swap: 7.84 GiB, 8401190912 bytes, 16408576 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/fedora_localhost--live-home: 144.56 GiB, 155206025216 bytes, 303136768 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Ora quando inserisco un'unità flash USB, otteniamo un'altra informazione con fdisk -l:
Disk /dev/sdb: 1.88 GiB, 1998585856 bytes, 3903488 sectors
Disk model: DataTraveler 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 3903487 3901440 1.9G c W95 FAT32 (LBA)
Questo è importante quando dobbiamo trovare quale partizione desideriamo montare (collegare) o staccare. In questo caso, vediamo che l'unità USB è /dev/sdb1.
Come leggere le opzioni di montaggio da un'unità?
Possiamo usare il comando mount -t per elencare le opzioni di montaggio dell'unità. L'unità USB che ho inserito prima è stata montata automaticamente e abbiamo visto che il filesystem è VFAT:
$ mount -t vfat
/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro)
/dev/sdb1 on /run/media/slax/tribal type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
Vediamo che l'unità USB (partizione) è montata come /dev/sdb1 su /run/media/slax/tribal.
Come si monta un filesystem Linux?
Per montare un'unità dobbiamo assegnargli una directory radice (punto di montaggio) con il comando mount nel seguente formato:
$ mount [OPTIONS...] DRIVE DIRECTORY
Di solito, il comando mount rileverà automaticamente il tipo di filesystem, ma alcuni filesystem non vengono riconosciuti e devono essere specificati come parametro.
Utilizzare l'opzione -t per specificare il tipo di file system:
$ mount -t FILESYSTEM DRIVE DIRECTORY
Per specificare ulteriori opzioni di montaggio, puoi utilizzare l'opzione -o:
$ mount -o OPTIONS DRIVE DIRECTORY
Puoi utilizzare più opzioni separandole con una virgola (non inserire uno spazio dopo una virgola).
Come si monta un'unità USB Linux?
Per cominciare, devi creare un punto di montaggio (directory) con il comando:
$ sudo mkdir /media/myusb
Successivamente, montiamo l'unità su /media/myusb:
$ sudo mount /dev/sdb1 /media/myusb/
Con dh -H possiamo vedere nell'ultima riga che il nostro dispositivo USB è montato correttamente:
$ df -H
Filesystem Size Used Avail Use% Mounted on
devtmpfs 8.4G 0 8.4G 0% /dev
tmpfs 8.4G 149M 8.2G 2% /dev/shm
tmpfs 8.4G 2.0M 8.4G 1% /run
/dev/mapper/fedora_localhost--live-root 74G 22G 49G 31% /
tmpfs 8.4G 103k 8.4G 1% /tmp
/dev/sda2 1.1G 229M 725M 24% /boot
/dev/mapper/fedora_localhost--live-home 152G 60G 85G 42% /home
/dev/sda1 210M 21M 189M 10% /boot/efi
tmpfs 1.7G 14M 1.7G 1% /run/user/1000
/dev/sdb1 2.0G 4.1k 2.0G 1% /media/myusb
Come montare un FileSystem usando il file /etc/fstab?
I punti di montaggio e le relative opzioni configurate in /etc/fstab verranno montati automaticamente all'avvio del sistema.
Il file /etc/fstab contiene un elenco di voci nella forma seguente:
| File System | Mount Point | FileSystem Type | Options | Dump | Pass |
Ecco il file di esempio /etc/fstab dal nostro prompt dei comandi:
$ cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sun Aug 4 04:28:13 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
192.168.0.15:/volume1/NetBackup /mnt/perun nfs _netdev,defaults 0 0
/dev/mapper/fedora_localhost--live-root / ext4 defaults 1 1
UUID=a061115a-5965-4525-a3e9-b4c52c43ecf1 /boot ext4 defaults 1 2
UUID=1D56-1DD9 /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/fedora_localhost--live-home /home ext4 defaults 1 2
/dev/mapper/fedora_localhost--live-swap none swap defaults 0 0
Quindi puoi aggiungere una voce e configurare il punto di montaggio in /etc/fstab per averlo sempre montato all'avvio del sistema.
Come montare la condivisione NFS in Linux?
NFS sta per Network File System. Per montare una condivisione NFS devi avere il pacchetto client NFS installato sul tuo sistema Linux.
Per installare il client NFS su Ubuntu e Debian, digita:
$ sudo apt install nfs-common
Per installare il client NFS su CentOS e Fedora:
$ sudo yum install nfs-utils
Come abbiamo visto nelle voci del mio esempio /etc/fstab in precedenza, abbiamo già una condivisione NFS configurata come mostrato di seguito:
102.168.0.11:/volume1/NetBackup /mnt/perun nfs _netdev,defaults 0 0
Puoi aggiungere una voce a /etc/fstab sul tuo computer usando Nano o Vim e inserire il percorso URL della tua directory condivisa NFS remota e un punto di montaggio locale (directory) che verrà utilizzato per accedere ai file remoti.
Come si montano i file ISO?
Puoi montare un file ISO utilizzando il dispositivo loop, uno speciale pseudo-dispositivo che rende un file accessibile come dispositivo a blocchi.
Inizia creando il punto di montaggio, directory da utilizzare con il file ISO:
$ sudo mkdir /media/iso
Montare il file ISO nel punto di montaggio digitando il seguente comando:
$ sudo mount /path_to_image.iso /media/iso -o loop
Nel comando di esempio sopra, path_to_image.iso è il percorso del tuo file ISO, ovviamente.
Come smontare un File System?
Per staccare un filesystem montato, utilizzare il comando umount seguito dalla directory in cui è stato montato (punto di montaggio) o dal nome del dispositivo.
Se utilizziamo l'unità USB di prima come esempio, i comandi sarebbero simili a questo:
$ sudo umount /run/media/slax/tribal
$ sudo umount /dev/sdb1
Se il file system è in uso, il comando umount non riuscirà a scollegare il file system.
Il concetto di Lazy smontare?
Utilizzare l'opzione -l (--lazy) per smontare un file system occupato non appena non è più occupato.
$ sudo umount -l /dev/sdb1
Come forzare lo smontaggio?
Utilizzare l'opzione -f (--force) per forzare uno smontaggio. Questa opzione viene solitamente utilizzata per smontare un sistema NFS irraggiungibile. Nel caso della mia condivisione NFS, il comando sarebbe:
$ sudo umount -f /mnt/perun
Non è una buona idea forzare lo smontaggio in quanto potrebbe danneggiare i dati sul file system.