fb-pixel
SupportHost italian

Come montare i file system con il comando mount

Con il comando mount su Linux possiamo montare altri file system, ad esempio un dispositivo esterno come una chiavetta USB o un disco rigido. In questa guida vedremo come si usa il comando mount con degli esempi pratici di utilizzo.

Iniziamo!

Sintassi del comando mount

Il comando mount è un comando Linux che serve a montare un file system specificando una posizione da noi definita per accedervi. Questo ci permette ad esempio di accedere a un drive USB collegato al computer.

La sintassi di base del comando mount è questa:

mount [opzioni] dispositivo destinazione

Per esempio esaminiamo il comando:

mount /dev/sda1 /mnt

Questo comando monta la prima partizione del primo disco rilevato all’avvio nella cartella mnt.

Prima di utilizzare il comando mount, bisogna capire come identificare i dispositivi collegati e quindi sapere qual è la nomenclatura che viene usata per distinguerli.

Come vengono indicati i dispositivi

Ogni dispositivo ha un’etichetta che può essere ad esempio /dev/sda per un disco SATA.

I dispositivi vengono identificati da una prima parte del nome che indica il tipo, ad esempio:

  • sd per indicare dispositivi a blocchi generici, tra cui i dischi SATA;
  • mmcblk per indicare le schede SD.

Nota: in base al modo in cui è collegato fisicamente il lettore SD alla scheda madre, le schede SD verranno identificate con mmcblkX o sdX.

La seconda parte del nome indica l’ordine con cui vengono rilevati i dispositivi e viene indicato con una lettera in ordine alfabetico crescente:

  • sda sarà il primo dispositivo rilevato;
  • sdb sarà il secondo.

Quando ci sono delle partizioni vengono indicate con un numero:

  • sda1 sarà la prima partizione del primo dispositivo rilevato (sda);
  • sda2 la seconda.

Suggerimento: per visualizzare tutte le partizioni o per crearne di nuove, puoi usare il comando fdisk.

Nel caso di dispositivi NVMe, verranno indicati seguendo questa logica: il primo numero dopo nvme indica il controller a cui è collegato il disco, mentre il secondo numero indica il disco collegato a un determinato controller.

Per esempio:

  • nvme0n1 indica il disco 1 collegato al primo controller (controller 0);
  • nvme0n2 indica il secondo disco collegato al primo controller (controller 0);
  • nvme1n5 indica il quinto disco collegato al secondo controller (controller 1).

In base al dispositivo le partizioni possono essere anche indicate precedute da p, come in questi esempi:

  • nvme0n1p1 indica la prima partizione d dispositivo NVMe;
  • nvme0n1p2 sarà la seconda partizione.

Casi d’uso del comando mount

Possiamo usare il comando mount per vedere tutti i file system collegati, ma anche per montare un nuovo disco. In base alle opzioni che usiamo possiamo anche montare file ISO e dischi di rete. Vediamo con degli esempi concreti come utilizzare mount.

Visualizzare tutti i file system collegati

Se usiamo il comando mount senza nessuna opzione, possiamo vedere la lista di tutti i file system montati con le seguenti informazioni:

  • nome del dispositivo montato;
  • punto di montaggio (o mount point);
  • tipo di file system;
  • opzioni.
Output Comando Mount Linux

Prendiamo come esempio questa riga dell’output del comando mount:

/dev/sda4 on / type btrfs (rw,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=5,subvol=/)

Analizziamo l’output:

  • /dev/sda4 – indica il dispositivo montato, in questo caso la partizione 4 del primo dispositivo rilevato, nel nostro caso un SSD SATA.
  • on / – indica il punto di montaggio, in questo caso la root (/).
  • type btrfs indica che il tipo di file system è btrfs.
  • tutto quello che è presente fra parentesi indica le opzioni di montaggio, per esempio “rw” indica che il dispositivo è montato in modo da permettere lettura e scrittura.

Se vogliamo vedere queste stesse informazioni in modo più ordinato, possiamo usare il comando:

findmnt
Comando Findmnt

In questo caso l’output del comando è mostrato in colonne e ci mostra:

  • target: indica il mount point (esempio: /);
  • source: il nome del dispositivo (esempio: /dev/sda4)
  • fstype: è il tipo di file system (esempio: btrfs)
  • options: indica tutte le opzioni (esempio: rw, relatime, ecc).

Visualizzare file system di un determinato tipo

Se utilizziamo l’opzione -t insieme al comando mount, possiamo restringere la ricerca a un determinato tipo di file system. Questo ci permette di passare da una situazione del genere:

Output Comando Mount Linux

A una in cui abbiamo solo poche righe.

Per esempio per vedere solo i file system btrfs, usiamo il comando così:

mount -t btrfs

L’output sarà simile a questo:

Comando Mount Opzione T

Possiamo usare lo stesso comando per cercare altri tipi di file system come:

  • ext4
  • zfs
  • xfs.

Montare un file system

L’uso più comune del comando mount è quello di montare un file system scegliendo la cartella che farà da punto di montaggio. Per poter usare il comando bisogna avere i permessi di root.

La sintassi da usare è questa:

mount [opzioni] dispositivo posizione

Per esempio per montare il dispositivo sdb1 in /mnt/usb usiamo il comando:

mount /dev/sdb1 /mnt/usb

Se vogliamo specificare il tipo di file system, dobbiamo aggiungere l’opzione -t seguita dal tipo di file system, ad esempio:

mount -t ntfs3 /dev/sdb1 /mnt/usb

Questo comando ci permette di utilizzare nello specifico il nuovo driver ntfs3 al posto di quello predefinito per montare un disco normalmente partizionato con Windows.

Opzioni di montaggio

Quando montiamo un file system possiamo anche decidere di utilizzare alcune opzioni, ad esempio per montarlo in sola lettura, per applicare una maschera sui permessi dei file o per montarlo per uno specifico utente.

Per usare le opzioni ci basta usare il comando in questo modo:

mount -o [opzione1,opzione2] -t [filesystem] [dispositivo] [punto di montaggio]

Per esempio:

mount -o windows_names,uid=1000 -t ntfs3 /dev/sdb1 /mnt/usb

In questo caso abbiamo montato questo file system usando le opzioni:

  • windows_names per impedire che i file e le cartelle vengano salvati con caratteri non ammessi da Windows (come ad esempio i due punti);
  • uid=1000 per assegnare all’utente con l’id 1000 la proprietà del file system.

Le opzioni che possiamo usare dipendono dal tipo di file system e si possono trovare sulla documentazione.

L’opzione bind (-o bind) è un tipo particolare di montaggio che ci permette di far sì che una cartella sia montata su un’altra cartella. Ad esempio vogliamo avere accesso a una cartella in sola lettura per evitare di eliminare file, allora ci basta montarla usando il seguente comando:

mount -o bind,ro ~/cartella-di-origine ~/cartella-di-destinazione

Usare mount con fstab

Il file di configurazione fstab è presente nella cartella /etc e raccoglie tutti i file system che generalmente devono essere montati all’avvio. In fstab ad esempio troviamo le indicazioni per montare la root, la partizione di boot e la partizione home, qualora queste siano separate.

Questo file è comunque modificabile per aggiungere altri punti di montaggio che possono essere montati automaticamente all’avvio oppure su richiesta dell’utente.

Possiamo quindi sfruttare questo file per montare al volo file system che utilizziamo di frequente o montare tutti i file system.

Infatti, se vogliamo montare tutti i file system indicati nel file fstab possiamo usare il comando mount con l’opzione -a:

mount -a

La prima cosa da fare è modificare il file fstab per fornire le istruzioni necessarie al montaggio.

Nel file fstab dovremo indicare il dispositivo oppure il suo UUID, e poi specificare anche il tipo file system, il punto di montaggio e le opzioni.

Per conoscere l’UUID del dispositivo da montare possiamo usare il comando:

lsblk -f

Questo ci darà indicazioni sul nome dei dispositivi, il file system usato e l’UUID.

Nel file fstab dobbiamo inserire le informazioni in questo ordine:

  • dispositivo (es. /dev/sda1) o UUID;
  • punto di montaggio (nel nostro esempio /mnt/usb);
  • tipo di file system (es. btrfs);
  • opzioni, nel nostro caso:
    • ro per far sì che il dispositivo sia in sola lettura;
    • noauto per evitare che venga montato automaticamente all’avvio;
    • nofail per evitare che causi un errore quando non rilevato (un’opzione ideale per tutti i dispositivi rimovibili).
  • gli ultimi due numeri indicano dump che serve per i file system ext2 e ext3, altrimenti deve essere impostato a 0 e pass che assegna le priorità per il controllo del disco durante l’avvio e che può essere impostato a 0 per disabilitare il controllo.

La riga da inserire sarà quindi come questa:

UUID=28909db5-7413-4b82-88f9-a65d719d1c19 /mnt/usb btrfs ro,noauto,nofail 0 0

Dopo aver modificato il file fstab, è bene aggiornare systemd con il comando:

systemctl daemon-reload

Ora che il dispositivo è indicato nel file fstab, per montarlo ci basta usare il comando mount seguito dal punto di montaggio:

mount /mnt/usb

In alternativa per montarlo possiamo anche indicare semplicemente il nome del dispositivo:

mount /dev/sdh2

Montare un file ISO

Visto che i file ISO non sono dispositivi a blocchi, ma file che contengono un file system, per montarli bisogna utilizzare l’opzione loop che permette al comando mount di montare l’immagine disco proprio come normale dispositivo.

Il comando da usare è:

mount -o loop disco.iso /mnt/disco

Montare un disco di rete

Con il comando mount possiamo montare un disco remoto per accedervi come se fosse collegato fisicamente alla nostra macchina.

Per farlo possiamo usare diversi tipi di protocolli come ssh, nfs o webdav. Ad esempio per collegarci a un disco usando ssh specifichiamo il tipo di file system (sshfs) nel comando mount e anche l’origine remota del disco.

mount -t sshfs user@192.168.1.2:/cartella-di-origine /mnt/disco-rete

Smontare un file system

Se vogliamo smontare un file system possiamo usare il comando umount seguito o dal nome del dispositivo o da quello del punto di montaggio.

Qui c’è un esempio con il nome del dispositivo:

umount /dev/sdh2

E qui un esempio con il mount point:

umount /mnt/usb

Conclusioni

Abbiamo visto a cosa serve il comando mount e come usarlo per montare i file system, sia manualmente che in modo automatico all’avvio usando fstab. Adesso sai come montare un file system, ad esempio una chiavetta USB o anche un disco remoto o un file ISO in modo da renderlo accessibile.

Avevi già usato il comando mount? Facci sapere nei commenti.

Categorie
Indice dei contenuti

    🚀

    Commenti

    Lascia un commento

    Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *