Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Il comando mount di Linux

Link copiato negli appunti

Una delle differenze che colpiscono subito chi si trova a usare per la prima volta uno Unix provenendo da sistemi operativi di casa Microsoft è senz'altro il diverso approccio che si ha con i filesystem e con tutti i dispositivi di memorizzazione (hard disk, cdrom, floppy, ecc).

Nello stesso albero delle directory di Linux (e più in generale di tutti gli Unix) i file sono disposti e ordinati in base alla loro funzione (in /boot vi sono i file necessari per il boot, in /home le directory personali dei vari utenti, in /etc i file di configurazione, in /usr i file relativi ai programmi, ecc.). In questo modo ogni supporto non viene visto come un'unità a sé stante (come gli identificativi di unità di Windows), ma si integra col preesistente albero delle directory. E così troveremo per esempio i file contenuti nel floppy in /mnt/floppy, nel cdrom in /mnt/cdrom.

Ma come poter accedere a queste risorse? Lo strumento che ci viene incontro e ci permette di "agganciare" i contenuti di un dispositivo in una directory già esistente di Linux (di solito /mnt) è mount.

I Filesystem in Linux

Linux, al contrario di molti altri OS, è in grado di gestire tutti i tipi di filesystem più comuni, dalla tradizionale FAT di Windows 9x a NTFS di Windows NT, dalle partizioni BSD a quella di Solaris, ecc. Affinché siano utilizzabili da Linux, però, è necessario che il kernel sia compilato con il supporto per il tipo di fs che vorremo montare (traduzione dell'inglese to mount cioè montare, posizionare). Un kernel standard presente nelle distribuzioni in genere ha già compilato il supporto per i filesystem più utilizzati. Per maggiori dettagli riguardo alla moltitudine di partizioni che sono supportati dal Pinguino fate riferimento alla sezione "File Systems" del menu per la compilazione del kernel e alla directory /usr/src/linux/fs.

A questo punto non ci rimane altro che cercare di far riconoscere a mount quello che abbiamo sui nostri dischi (per esempio la partizione di un altro OS installato, o un cdrom), e farglielo montare.

A questo proposito ricordo che tutti i device di Linux sono identificabili tramite una voce nella directory /dev.

Gli hard disk EIDE si indicano con /dev/hdxy dove al posto della x c'è una lettera che indica il canale e se è master o slave (ad esempio /dev/hda indica il Primary Master, /dev/hdd il Secondary Slave), al posto della y c'è un numero che indica la partizione da 1 a 4 per le primarie o estese, da 4 in poi per le logiche (/dev/hda1 indica la prima partizione primaria sul Primary Master, /dev/hda5 la prima partizione logica sul Primary Master, ecc.). Per avere le idee più chiare sulla situazione dei nostri hd può risultarci comodo l'uso del comando dmesg | grep hd. Andiamo a cercare un output del tipo hda: hda1 hda2 hda3 < hda5 hda6 hda7 hda8 hda9 >

dove hda1 hda2 sono partizioni primarie e hda3 una estesa contenente 5 logiche (hda5, hda6, ecc.).

Per quel che riguarda i dispositivi SCSI, gli hard disk vengono indicati da /dev/sdxy, con discorso analogo a xy dei dischi EIDE, mentre i cdrom da /dev/srx dove x è numero.

Floppy disk invece vengono indicati con /dev/fdx, dove x è sempre un numero.

È anche possibile che in fase di installazione siano state impostate le partizioni da montare al boot (per esempio una FAT). Per controllare che partizioni sono montate sulla nostra Linux Box diamo il comando mount senza opzioni:

/dev/hda5 on / type ext2 (rw,errors=remount-ro,errors=remount-ro)
proc on /proc type proc (rw)
/dev/hda2 on /boot type ext2 (rw)
/dev/hda7 on /home type ext2 (rw)
/dev/hda8 on /usr type ext2 (rw)
/dev/hda9 on /var type ext2 (rw)

Come si può vedere sono montate 5 partizioni. A parte proc

Vediamo ora come usare mount per rendere attivi i filesystem che desideriamo.

Usare Linux Mount

La sintassi di mount è semplice:

mount -t tipodifs -o opzione,altraopzione filesystem mountpoint

Se ad esempio volessimo montare un fs di tipo FAT32 presente sulla partizione /dev/hda1 in /mnt/windows scriveremo (da root):

Per "smontare" il nuovo filesystem possiamo usare il comando umount:

lnxbox1:~# umount /dev/hda1

Potendo mettere come parametro o il device o il mount point. È bene precisare che la directory /mnt/windows

In questo caso mount è riuscito a determinare da solo di che filesystem (fs) si tratti. È buona cosa però passare come parametro il tipo di fs tramite l'opzione -t tipo_di_fs ext2 reiserfs ext3 vfat msdos ntfs iso9660 hpfs hfs Filesystems-HOWTO

Vi sono alcune opzioni che sono comuni a tutti i fs, altre invece più specifiche. Andiamo ad analizzare quelle più importanti.

Opzioni comuni

Queste opzioni vanno espresse antecedendole con un -o e separandole con una virgola. Vediamo quelle più significative:

  • rw ro
  • exec
  • noexec
  • remount

Opzioni specifiche di un Filesystem

Per quel che riguarda ext2 (e ext3 che è una sua evoluzione) è da segnalare:

  • errors=remount-ro FAT
  • umask umask=000
  • uid gid

Usi Particolari di mount

Tramite mount è possibile anche accedere da remoto a share di Windows (tramite SAMBA/NetBIOS), oppure controllare il contenuto di un'immagine di un cd.

Per accedere a delle condivisioni sono necessarie tre cose: aver configurato Windows per condividere dei file, aver il supporto per smbfs ed installato smbmount sul vostro Linux (entrambi dovrebbero essere presenti di default). A questo punto se volessimo montare in /mnt/share la condivisione di Windows chiamata "condivisa1" situata sul pc Windows chiamato "pcwin" dovremmo scrivere:

In caso utilizziate Windows 9x o ME, potrete anche togliere l'opzione username password gid uid

Come già accennato mount può essere usato per esplorare il contenuto di un'immagine iso /home/utente/Mandrake90-inst.iso /mnt/loop

mount /home/utente/Mandrake90-inst.iso /mnt/loop -t iso9660 -o loop=/dev/loop0

dove iso9660 è il tipo di filesystem dell'immagine (in questo caso un cd quindi iso9660), se fosse stata l'immagine di un floppy MS-DOS avremmo dovuto sostituire iso9660 msdos

FSTAB

È anche possibile impostare quali filesystem il sistema dovrà montare all'avvio del sistema. Per far questo dovremo editare il file /etc/fstab, file che contiene le informazioni dei filesystem presenti sul sistema.

Questa è la sintassi del file fstab:

Dove al posto di <file system> <mount point> <tipo di partizione> <opzioni>

Come <dump> <ordine per fsck>

Ecco alcune opzioni che può essere utile mettere in /etc/fstab

  • noauto
  • users
  • user

Infine può risultare comodo mettere come tipo di filesystem per il floppy auto, in tal caso verrà riconosciuto automaticamente.

Per concludere ecco una nuova feature abbastanza curiosa del kernel 2.4. È possibile tramite l'opzione --bind montare un pezzo di un filesystem in un altro punto. Per esempio se eseguiamo il comando:

"sposteremo" (non a livello fisico però) il contenuto della directory /home/utente /data/nuovadirutente

Ti consigliamo anche