Il mio blog sulla tecnologia
 

Il comando “mount” e il file “/etc/fstab”

Il comando “mount” permette di montare un filesystem di un dispositivo su una directory del filesystem locale. Si sta parlando, ad esempio, di CDROM, Floppy, Hard Disk esterni, chiavette USB e dischi o share di rete condivisi da altri sistemi tramite protocolli CIFS o NFS. La sintassi del comando mount è la seguente:

mount [opzioni] filesystem directory

dove le opzioni servono per specificare il tipo di filesystem o come viene montato il volume (es. diritti di lettura, lettura/scrittura) e possono essere specifiche a seconda della distribuzione Linux o versione di Unix. Il parametro filesystem indica il dispositivo da montare (es. /dev/cdrom nel caso del CDROM, /dev/sda nel caso di un disco locale, servername:/exports/data nel caso di filesystem NFS). Il parametro directory invece indica la directory locale tramite la quale è possibile accedere al filesystem del dispositivo.
Nel caso in cui venga eseguito il comando mount senza parametri, vengono visualizzati tutti i filesystem montati nel sistema.

[root@linuxbox ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)

Equivalente al comando mount esiste il comando umount che permette di smontare il filesystem dalla directory locale.

Vediamo alcuni esempi:

[root@linuxbox ~]# mount /dev/sda1 /mountdir

che permette di montare la partizione /dev/sda1 sulla directory /mountdir (directory mountdir che va creata qualora non esista)

[root@linuxbox ~]# mount -o remount,rw /dev/sda1

che permette di rimontare un filesystem già in uso cambiando però le opzioni (ad esempio in lettura/scrittua “rw” oppure in sola lettura “r”)

[root@linuxbox ~]# mount -o loop /home/image.iso /media/cdrom

che permette di montare una immagine ISO di un cdrom oppure di un DVD senza la necessità di dover masterizzare un supporto fisico.

[root@linuxbox ~]# mount -t cifs //winserver/sharename -o username=username,password=password /mountdir

che permette di montare sul nostro sistema *nix locale una directory condivisa da un sistema Windows

[root@linuxbox ~]# mount -t nfs -o rw servername:/vol/export /mountdir

che permette di montare sul nostro sistema *nix un filesystem di tipo NFS (Network File System)

[root@linuxbox ~]# umount /mountdir

infine permette di smontare il filesystem dal nostro sistema *nix

Possiamo utilizzare il comando mount e umount da shell oppure all’interno di script. Qualora volessimo che il filsystem montato venga riconnesso automaticamente dopo il riavvio del sistema dobbiamo utilizzare il file di configurazione “fstab2 presente nella directory “/etc”. Vediamo la struttura di questo file:

[root@linuxbox ~]# cat /etc/fstab
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
LABEL=SWAP-VM           swap                    swap    defaults        0 0
  • Colonna 1: indica il dispositivo che contiene un filesystem
  • Colonna 2: la directory (mount point) tramite la quale sarà possibile accedere al contenuto
  • Colonna 3: il tipo di filsystem (ext2, ext3, ext4, swap, cifs, nfs, …)
  • Colonna 4: il tipo di accesso al filesystem
  • Colonna 5: opzione obsoleta che indica l’utilizzo del comando dump per fare i backup del filesystem (0 non attivato – 1 attivato)
  • Colonna 6: abilita il controllo del filesystem tramite il comando fsck (0 non attivato, da 1 in poi attivato nell’ordine indicato)

Di seguito viene riportato un esempio di come configurare questo file:

/dev/sdc        /media/cdrom   udf,iso9660 user,noauto    0       0

per montare un CDROM o DVD

/dev/sdb1       /mountdir      ext3    defaults        0      0

per montare una partizione di un nuovo disco locale di tipo ext3

//winserver/sharename   /mountdir    cifs    username=username,password=password

per montare una share di un sistema Windows tramite protocollo CIFS

servername:/vol/export   /mountdir   nfs      rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,proto=tcp,suid

per montare un filesystem NFS

Compilato e salvato il file /etc/fstab possiamo caricare le nuove impostazioni tramite il comando

[root@linuxbox ~]# mount -a

che permette di processare il file senza la necessità di riavviare il nostro sistema *nix.