Gestione file system FAT, ISO 9660, swap e altro in linux

Informatica

Continuiamo a vedere i comandi utili con i file system in gnu/linux. Dopo ext2, ext3 e NTFS, qui ci occupiamo di FAT (o vFAT, che dir si voglia), ISO 9660 (usato nei CD-Rom e DVD) e di alcuni comandi utili per altre operazioni, come ad esempio creare una file su cui mettere la swap o un file system. Naturalmente, dove possibile vedremo come creare, configurare, riparare e ridimensionare questi file system.

FAT

FAT non è un bel file system. È molto primitivo, ed è facile "romperlo". Se non dovete accedere ai dati da Mac Os X, usate NTFS. Se il dispositivo non vedrà mai Windows, usate ext2 o ext3.
Secondo me ha senso usare FAT solo per dischi "piccoli" (<15 GB), che possibilmente andranno usati solo per trasportare dati (come pendrive e piccoli dischi usb esterni), e non per l'uso "in linea", o per dispositivi come macchine fotografiche. In questo caso, ricordate sempre di scaricare periodicamente tutte le foto e di formattare la scheda di memoria della macchina fotografica tramite la macchina fotografica. Questo eviterà molti problemi.
In caso di file (foto, video, documenti) mancanti su queste memorie flash, NON FAR NULLA! Fate una immagine fisica del dispositivo (vedi qui), e provate il ripristino su una copia di questa immagine, magari con l'aiuto di Testdisk e di Photorec.

  • creare il file system:

    mkdosfs -F 32 -n volumename /dev/sda1
    

    crea una partizione FAT32 con label volumename.

  • assegnare un label al file system

    dosfslabel /dev/sda1 volumename
    
  • montare il file system: aggiungere -t vfat al comando mount.

  • controllare il file system

    dosfsck -a /dev/sda1

    l'opzione -a ripara automaticamente nel modo meno distruttivo possibile. In alternativa, l'opzione -r lavora in modo interattivo (equivalente a fsck.vfat)

  • ridimensionare il file system: usare parted. Oppure fatresize. È sempre possibile ridurre tutti i file system FAT, ma potrebbe non essere possibile allargare quelli in FAT16. Non è necessaria deframmentazione.

  • ripristino di un file system corrotto: far riferimento a TestDisk e a PhotoRec. In ogni caso, se il livello di frammentazione è alto, la probabilità di successo nel ripristino diminuisce (morale: evitare la frammentazione :-/ o non usare per nulla FAT :-).

Riferimenti utili

Advanced FAT Repair

swap

L'area di swap non è un vero e proprio file system, ma comunque è qualcosa che di solito mettiamo in una partizione e che conterrà dei dati, per cui lo tratto qui, insieme ad altri file system.
Grazie a miglioramenti nei kernel linux recenti, è possibile mettere la swap in file al posto delle partizioni senza significative perdite di prestazioni.
Ormai la memoria RAM abbonda, per cui un'area di swap è ormai sempre meno necessaria, salvo nel caso in cui vogliamo sospendere su disco il sistema (utile nei notebook, laptop, netbook o quel che vi pare). In questo caso ci serve un'area di swap di dimensioni almeno uguali a quelle della RAM.

  • creare l'area di swap con label nomeswap:

    mkswap -L nomeswap /dev/sda1
  • attivare/disattivare l'area di swap:

    swapon -a

    attiva tutte le aree di swap definite in /etc/fstab

    swapon /dev/sda1

    attiva l'area di swap in /dev/sda1

    swapon -L nomeswap

    attiva l'area di swap con label nomeswap

    swapoff /dev/sda1

    disattiva l'area di swap in /dev/sda1

iso9660

ISO 9660 è il file system che si usa con i CD e i DVD. Ecco come andare dal file sul PC al file sul CD/DVD.

cdrkit Vs cdrtools

Per problemi di licenza, nel 2006 Debian fa un fork (cdrkit) da cdrtools. I comandi hanno nomi diversi ma funzionano uguale. Le distribuzioni a volte fanno link simbolici tra i nomi dei tool cdrkit e quelli tradizionali, di cdrtools. growisofs fa le stesse cose, ma in un solo passo, supportando le opzioni di genisoimage.

  • creare un file immagine iso9660 (genisoimage == mkisofs)

    genisoimage -r -J -l -V volname -o image.iso /path/to/files

    crea una immagine iso dei file in /path/to/files, consentendo nomi di file con 31 caratteri (-l), aggiungendo per Windows le estensioni Joliet (-J) e le estensioni RockRidge per sistemi Linux, reimpostando i permessi in modo che i file siano sempre leggibili (-r). L'opzione -V imposta un nome da assegnare.

  • masterizzare una immagine iso9660 su un CD/DVD (wodim == cdrecord)

    growisofs -dvd-compat -Z /dev/cdrom=image.iso

    l'opzione -dvd-compat imposta la massima compatibilità con i DVD-ROM e DVD-Video

    wodim -eject speed=16 image.iso

    masterizza a velocità 16x ed espelle il disco alla fine.

  • masterizzare al volo dei file

    growisofs -Z /dev/dvd -R -J /master/tree

    masterizza al volo, impostando le estensioni RockRidge (mantiene permessi e proprietari sui file linux) e Joliet.

    genisoimage -r /master/tree | wodim -v fs=6m speed=2 dev=2,0 -

    masterizza al volo, in modo verboso, impostando un buffer di 6 MB (fs=6m), a velocità 2x e sul device 2,0 (vedi wodim -scanbus)

  • aggiungere una sessione a un disco multi sessione:

    growisofs -M /dev/dvd -R -J /more/files

    aggiunge una sessione a un cd/dvd.

    wodim -eject -multi speed=16 image.iso

    l'opzione -multi lascia aperto il disco

    wodim -msinfo

    preleva le informazioni sull'inizio e sulla fine delle tracce, nella forma "0,16774"

    genisoimage -J -r -o image2.iso -C 0,16774 -dev 2.0 /path/to/files

    crea una immagine da aggiungere dopo quella esistente, identificata dalle opzioni -C e -dev.

    Assicurarsi di usare le stesse opzioni usate per la masterizzazione iniziale. Per chiudere un disco, non aggiungere -multi all'ultima masterizzazione.

  • vedere il nome di volume di un CD/DVD o di un file ISO (ma i file manager grafici di KDE e Gnome lo fanno di default)

    volname /dev/dvd
  • espellere un CD/DVD o richiudere il cassetto del lettore:

    eject -T
  • recuperare dati da supporti danneggiati: usare TestDisk e PhotoRec su Linux. Per vedere i dati "cancellati" dalla scrittura di una nuova sessione, usare:

    mount /dev/cdrom /mnt/cdrom -t iso9660  -o session=0

    Si può usare anche ISObuster sotto wine.

Utile anche dvdisaster per masterizzare dischi con informazioni di correzione degli errori, in modo da ridurre le probabilità di perdita di dati in caso di supporti danneggiati. Può anche provare a recuperare dati dai CD attraverso letture ripetute, a costo di conservare file di "peso" pari alla percentuale di errori che si possono correggere (usa la codifica di Reed-Solomon).

Altro

  • creare un file da usare come immagine da montare in loopback

    dd if=/dev/zero of=image.loop bs=1M count=100

    crea un file vuoto da 100 MB, che si può formattare con mkfs.

  • montare un file immagine

    mount image.loop /mnt/dest -o loop

    mounta il file immagine sulla directory /mnt/dest usando il device di loopback

  • usare un file come swap (utile per aumentare la memoria virtuale senza ripartizionare, anche se le performance potrebbero essere inferiori)

    dd if=/dev/zero of=/path/to/image.loop bs=1M count=100
    mkswap /path/to/image.loop
    swapon /path/to/image.loop
  • montare una partizione facendo riferimento ad essa tramite label o uuid (funziona anche in fstab e in menu.lst di grub):

    mount LABEL=nomevolume /mnt/dest
    mount UUID=123456 /mnt/dest

Trackback URL for this post:

http://gerlos.altervista.org/trackback/447

commenti

Invia nuovo commento

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.
  • Allowed HTML tags: <a> <em> <strong> <del> <cite> <code> <img> <ul> <ol> <li> <dl> <dt> <dd> <pre>
  • Linee e paragrafi vanno a capo automaticamente.
  • Insert Flickr images: [flickr-photo:id=230452326,size=s] or [flickr-photoset:id=72157594262419167,size=m].
  • Indirizzi web o e-mail vengono trasformati in link automaticamente

Maggiori informazioni sulle opzioni di formattazione.

CAPTCHA
Per provare che sei un visitatore umano, rispondi a questa domanda. È per evitare l'inserimento di messaggi spam.
Image CAPTCHA
Enter the characters shown in the image without spaces, also respect upper and lower case.