L'organizzazione del file system su GNU/Linux (ed altri sistemi Unix) è molto diversa rispetto a quello a cui potreste essere abituati (il modo utilizzato da Windows per fare le cose). Prima di tutto, su Linux non abbiamo il disco virtuale C:, D:, ecc. Tutti i dischi e le risorse disponibili sono posizionate nell'albero delle cartelle, sotto il magico /, chiamata cartella root (da non confondere con l'utente root - sono cose totalmente diverse).
Cose principali - dove sono i files dei miei Programmi?
Se sul nostro disco abbiamo alcune partizioni, le montiamo in una cartella a nostra scelta. Per esempio, se vogliamo che una specifica partizione sia la nostra cartella home, la dobbiamo montare come /home. E via dicendo. La stessa cosa va fatta per le risorse esterne, tipo floppy disks, CD-ROMs o chiavette USB. Nel rispetto degli standard FHS, dovrebbero essere montati sotto la cartella /media. Ad es. /media/cdrom0, /media/fd0, ecc. Nei vecchi sistemi, queste periferiche vengono spesso montate direttamente sotto la directory root oppure sotto la cartella /mnt. I collegamenti sono in genere creati in questi posti.
C'è anche un'altra differenza a proposito della posizione delle applicazioni installate. A causa della grande modularità dei pacchetti Linux (molte applicazioni non sono indipendenti ma richiedono invece altri programmi per poter funzionare correttamente), i programmi non sono generalmente installati in cartelle separate (come la cartella "Programmi" e le sue sottocartelle). I file vengono messi in posizioni predefinite all'interno dell'albero delle directory, per cui possono essere facilmente trovati da altre applicazioni. Il discorso è particolarmente valido per le librerie dinamiche ed i file eseguibili. Quindi, al posto della famosa cartella "Programmi", abbiamo delle cartelle separate: bin per i binari, lib per le librerie, doc per la documentazione, e molte altre utilizzate per specifiche esigenze.
Una descrizione dettagliata degli standard FHS specifica quale sia la gerarchia da seguire: Filesystem Hierarchy Standard
Questo è quanto riguardo alla teoria. Ora passiamo alla pratica. La tabella sottostante rappresenta il famoso file system di Windows con le sue posizioni e le loro controparti in Linux.
Le principali posizioni delle cartelle nel sistema
| MS Windows | GNU/Linux | |
| Root | C:\ | / |
| Cartella Home | C:\Documents and settings\USER\My documents (XP) o C:\Users\USER (Vista) | /home/USER (ad es. /home/zdzisiek) |
| File di configurazione | nascosti, accessibili da regedit | /etc |
| File di sistema | C:\Windows | Binari: /bin, /sbin; Libreire: /lib |
| Applicazioni installate | C:\Program Files | Binari: /usr/bin, /usr/local/bin, ecc; Librerie: /usr/lib, /usr/local/lib, /usr/share/lib, ecc; Documentazione: /usr/share/doc/, /usr/doc, ecc |
| CD-ROM | D:\ (o un altro drive virtuale | /media/cdrom (oppure /mnt/cdrom o ancora /cdrom) |
| Floppy drive | A:\ | /media/fd0 (oppure /mnt/fd0 o ancora /floppy) |
Gestire le partizioni e i dischi (/etc/fstab)
Nell'articolo [http://www.tuxfiles.org/linuxhelp/fstab.html How to edit and understand /etc/fstab i punti principali dei file di Linux vengono descritti in dettaglio. Qua proviamo soltanto a fornirvi le basi.
In generale, in /etc/fstab, diciamo al file system quali risorse (dischi, partizioni, periferiche esterne e file di sistema condivisi) vogliamo usare. Le risorse possono essere montate durante l'avvio del sistema oppure manualmente (opzione auto/nonauto).
Montare dischi - perché devo farlo?
Non dovete farlo - volete farlo
In Linux, tutte le risorse necessitano di essere montate prima di essere utilizzate e smontate prima di essere espulse (se è possibile). In Windows non è diverso (lo fa semplicemente in automatico in background). Anche Linux può farlo automaticamente ma avete una scelta. Nelle distribuzioni adatte ai principianti, la maggior parte delle principali risorse tipo CD-ROM e chiavette USB sono montate dal sistema. Dobbiamo pertanto capire come fare le cose manualmente, giusto nel caso che, per qualche motivo, le cose non dovessero funzionare.
Il comando chiave è mount. Quando utilizzato insieme ad una cartella presente in /etc/fstab, ad esempio
mount /media/cdrom
allora monta questa risorsa. In modo simile,
umount /media/cdrom
smonterà la risorsa o periferica.
Come montare una partizione Windows?
Windows supporta due tipologie di file system: FAT - vecchio e molto primitivo ma ben supportato sotto Linux (accesso in lettura e scrittura senza problemi), e NTFS che è più elaborato ma anche non molto ben supportato in quanto le specifiche sono mantenute segrete (quindi, di default è a sola lettua). Se abbiamo proprio bisogno dell'accesso in scrittura per partizioni NTFS, dobbiamo installare un programma esterno, ad es. http:/Captive NTFS - il quale purtroppo non è più sviluppato.
Per poter montare una partizione Windows dobbiamo prima sapere come questa viene vista dal sistema Linux. Per far questo possiamo utilizzare il programma fdisk:
# fdisk -l /dev/hda
Disk /dev/hda: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 1211 9727326 7 HPFS/NTFS
/dev/hda2 1216 7296 48845632+ 5 Extended
/dev/hda5 * 1216 3040 14648224+ 83 Linux
/dev/hda6 3041 3679 5132736 b W95 FAT32
/dev/hda7 3680 4049 2971993+ 83 Linux
/dev/hda8 4050 4319 2168743+ 82 Linux swap
/dev/hda9 4320 7296 23908216+ 83 Linux
Ci viene così mostrato l'intero hard disk primario (/dev/hda) con tutte le partizioni ed i nomi delle periferiche. Su questo disco possiamo notare due partizioni Windows. Una è hda1 (NTFS), l'altra è hda6 (FAT32). Quindi, per poterle montare, è sufficiente digitare:
# mount -t ntfs /dev/hda1 /mnt/C
# mount -t vfat /dev/hda1 /mnt/D
Adesso abbiamo quindi accesso ad entrambe le partizioni situate nella cartella /mnt. Si noti che bisogna creare le cartelle /mnt/C e /mnt/D prima di poterci montare all'interno una qualche risorsa.
Ok, ma questo metodo di montare le partizioni ha almeno due punti deboli: dobbiamo farlo manualmente, e soltanto l'utente root avrà accesso alle partizioni. Possiamo quindi fare un passo avanti e definire queste partizioni nel nostro magico file /etc/fstab file, in tal modo il sistema le monterà automaticamente, avendo anche cura di assegnare i relativi permessi. Il tutto dovrebbe assomigliare a questo:
/dev/hda1 /mnt/hda1 ntfs
ro,uid=1000,gid=1000 0 2
/dev/hda6 /mnt/hda6 vfat
rw,codepage=852,uid=1000,gid=1000, iocharset=iso8859-2 0 2
Le opzioni rw e ro significano rispettivamente lettura/scrittura e sola lettura. Le opzioni uid e gid specificano che solo l'utente con uid=100 o un membro di uno specifico gruppo (identificato da gid=1000) potrà avere l'accesso completo alla partizione (tali numeri possono essere trovati nel file /etc/group). Per le partizioni FAT32 possiamo anche specificare una propria codifica in quanto i nomi dei suoi file sono codificati come caratteri dell'Europa Orientale (ovviamente non è obbligatorio).
Come montare una chiavetta USB?
E' abbastanza semplice. In molte distribuzioni viene effettuato automaticamente grazie a HAL e udev. L'icona della periferica USB dovrebbe apparire sul desktop e possiamo così immediatamente copiarci dei file all'interno. Se comunque non dovesse succedere nulla, non preoccupatevi
Le chiavette USB sono solitamente visibili come periferiche virtuali sotto /dev/sda1 o /dev/sdb1 (storicamente periferiche SCSI). Basta allora digitare all'interno di un terminale:
mount -t vfat /dev/sda1 /mnt/pendrive
e la chiavetta sarà montata sotto /mnt/pendrive (sempre che la cartella esista). Possiamo rendere automatico questo procedimento aggiungendo la seguente riga al nostro /etc/fstab:
/dev/sda1 /mnt/pendrive vfat uid=1000,gid=1000,exec,rw,
codepage=852,iocharset=iso8859-2 0 0
Ora, per poter montare una chiavetta USB, basta digitare mount /mnt/pendrive o cliccare sull'icona della periferica all'interno del nostre file manager preferito (ad es. nautilus o konqueror). Se sulla nostra chiavetta abbiamo dei caratteri non-ASCII, sarà necessario specificare una codifica (ad es. per le lingue dell'Europa Orientale). Stiamo dando per scontato che il file system type utilizzato sulla chiavetta sia FAT32 (che è quello di default per la maggiornaza delle chiavette). Possiamo ovviamente utilizzare qualsiasi file system supportato dalla nostra chiavetta, incluso reiserfs o xfs.
Maggiori informazioni sui file system e il montaggio di periferiche sotto GNU/Linux
- Linux Filesystem Hierarchy — articolo da www.tldp.org
- Linux Directory Structure una rapida introduzione
- Mount your Widows partitions and make it read/writable in Ubuntu — compreso il supporto per la scrittura su NTFS (una guida da debianadmin.com)
- The Linux filesystem explained — da freeos.com
- The Linux filesystem hierarchy: a short description — da linuxnovice.org






