Linux ci fornisce dei potenti tool da riga di comando che ci consentono di effettuare operazioni molto utili. La feature che viene trattata in questo tutorial è la gestione delle immagini ISO tramite pochi e semplici comandi da riga di comando.

Grazie ai semplici comandi illustrati di seguito non è necessario masterizzare un’immagine CD o DVD su disco per prendere visione dei suoi contenuti. Inoltre, in tal modo potrebbe essere possibile, ad esempio, memorizzare più distribuzioni Linux su un solo supporto DVD. Considerato che sotto Linux “everything’s a file”, l’unica cosa che ci resta da imparare è come montare l’immagine ISO.
Le immagini ISO, dalle quali i CD e DVD sono tradizionalmente masterizzati, sono interessanti e utili perchè non contengono file ma solo i metadati associati al filesystem del CD/DVD. Questi metadati comprendono codice di boot, struttura del filesystem e attributi dei file. Questo significa che è possibile scaricare un solo file, come ad esempio l’ultima versione di Ubuntu, e creare un sistema operativo avviabile in maniera indipendente semplicemente scrivendolo su disco.
Come è possibile montare un’immagine .iso? Dopo aver creato la cartella image dentro la directory /mnt è sufficiente dare questo comando:
mount -o loop image_file.iso /mnt/image
(N.B.: il comando deve essere lanciato come utente root; su Ubuntu si può usare il comando preceduto da sudo.)
Dopo aver montato l’immagine con questo comando è possibile visionare il contenuto della ISO semplicemente andando a visionare tramite interfaccia grafica la cartella /mnt/image. State attenti: non dimenticate l’opzione -o loop altrimenti il sistema operativo andrà a cercare dentro il file di configurazione /etc/fstab una corrispondenza relativa al montaggio del device.
Le ISO sono molto usate anche per fare il backup. Anche questa operazione è piuttosto semplice. Il comando da digitare è il seguente:
dd if=/dev/hda1 of=/image_file.iso
Dove if indica l’address device di input mentre of indica il file su cui scrivere l’immagine ISO. Da notare che dd richiede un address device e non una directory come potrebbe sembrare dal comando. Infatti se diamo il comando “file /dev/hda1” otterremo che /dev/hda1 è un tipo di file block special e non un comune file essendo direttamente collegato alla periferica hardware. Segue un esempio che consente di capire meglio la differenza tra un device address ed un file. Il comando df -h ci consente di visualizzare i volumi montati e lo spazio a disposizione su ciascun volume. Un tipico output del comando è il seguente:
Filesystem Dimens. Usati Disp. Uso% Montato su
/dev/hda2 34G 2,9G 30G 9% /
tmpfs 253M 0 253M 0% /lib/init/rw
udev 10M 72K 10M 1% /dev
tmpfs 253M 0 253M 0% /dev/shm
/dev/hdc 4,3G 4,3G 0 100% /media/cdrom0
/media/cdrom0/systemrescuecd-x86-0219.iso 121M 121M 0 100% /mnt/image
Eseguendo dd if=/mnt/image of=backup.iso la shell ritornerà un errore. Invece eseguendo dd if=/dev/hdc of=backups.iso il tutto funzionerà correttamente.
Se qualche lettore avesse problemi con l’argomento quì trattato e non riuscisse nell’intento di montare o smontare un’immagine ISO oppure di creare l’immagine ISO di un CD/DVD, vi invitiamo sul forum di TuxJournal dove saremo a vostra disposizione per ulteriori problemi o chiarimenti in merito.
di Francesco Argese – TuxJournal.net







diciamo che salvare con .iso un file ottenuto da una ext3 è decisamente “confusionevole” e senza dubbio un “bad habit”
[Rispondi]
x Argesino
non ottieni una .iso facendo il dd di un device se tale device non
è un CD o un DVD !!!
Per esempio facendo il dd di una partizione, per comodità
scelgo la /boot che è di circa 100 mega e nel mio caso
corrisponde a /dev/sda1
# dd if=/dev/sda1 of=/tmp/boot.img
# file /tmp/boot.img
/tmp/boot.img: Linux rev 1.0 ext3 filesystem data (needs journal recovery)
mentre dalla prima iso che ho sotto mano:
# file /tmp/dsl-3.4.4.iso
/tmp/dsl-3.4.4.iso: ISO 9660 CD-ROM filesystem data UDF filesystem data (unknown version, id 'NSR01') 'KNOPPIX' (bootable)
Ovviamente anche boot.img è montabile via "-o loop" in quanto
è montabile anche il device originale da cui è stata prelevata.
Però se masterizzi la prima (boot.img) su CD, quel CD non lo potrai
più leggere (montare) … Di sicuro non da windows, mentre da linux
dipende…
Ciao!
[Rispondi]
x Martuf1
<dd if=/dev/hda1 of=/image_file.iso
<questa non l'ho capìta… se /dev/hda1 non è né un CD né un <DVD, non ottieni un file .iso, o mi sbaglio?
Certo ottieni un file .iso contenente tutti i file presenti nell'unità..provare per credere…se hai un bel pò di tempo
. Comunque ho letto che qualcuno ne fa uso ma io non l'ho mai usata…l'ho usata solo per creare immagini da riga di comando in sistemi senza server grafico…Spero che il tutorial vi sia stato utile comunque…
[Rispondi]
dd if=/dev/hda1 of=/image_file.iso
questa non l'ho capìta… se /dev/hda1 non è né un CD né un DVD
non ottieni un file .iso, o mi sbaglio?
x destroyer85
con dd se i dischi sono diversi la vedo dura… forse con Clonezilla…
Mentre se è solo il contenuto, consiglio rsync
[Rispondi]
Ragazzi, utilizzate il forum. Facciamolo crescere e facciamolo diventare un punto di riferimento per la comunità Italiana
[Rispondi]