Récupérer le contenu d'un fichier UIF en le convertissant en ISO
Encore une fois, on m'a fait parvenir un fichier d'un format obscur dont l'extension est .UIF (Universal Image Format). Il s'agit d'une image de DVD créée à partir de l'application commerciale MagicISO pour Windows. Mon défi aujourd'hui : comment extraire son contenu à partir de Linux sans avoir à installer MagicISO et le faire rouler sous Wine ?
Le tour de passe-passe que j'ai trouvé consiste d'abord à convertir le fichier UIF au format ISO pour ensuite monter le système de fichier pour les extraire. Voici comment j'ai procédé sous la distribution Ubuntu de Linux.
D'abord, j'ai téléchargé la source d'un programme de conversion nommé UIF2ISO. J'ai créé un répertoire pour y déposer la source et j'y ai décompressé le contenu du fichier zip :
mkdir uif2iso
cp uif2iso.zip uif2iso/uif2iso.zip
cd uif2iso/
unzip uif2iso.zip
Depuis le répertoire des sources (src), j'ai appelé make :
cd src
make
Une erreur s'est affichée : uif2iso.c:29: fatal error: zlib.h: No such file or directory. Avant de poursuivre plus loin, j'ai installé zlib :
sudo apt-get install zlib1g zlib1g-dev libssl-dev build-essential
Si des erreurs se produisent (comme ça a été le cas pour moi) et qu'un message s'affiche indiquant qu'il ne trouve pas les fichiers sur le repository, faites ceci pour mettre à jour la liste des sources :
sudo apt-get update
Ensuite, on peut installer correctement zlib (sudo apt-get install zlib...) et lancer la procédure de make et make install :
make
sudo make install
Voilà, le programme uif2iso est prêt à être utilisé. En retournant dans le répertoire où se trouve le fichier UIF, je l'ai converti en ISO par une simple commande :
uif2iso fichier.uif fichier.iso
Une fois le processus terminé, j'ai monté le système de fichier du .ISO pour en extraire le contenu :
mkdir /mnt/iso
sudo mount -o loop /home/code18/Desktop/repertoire/fichier.iso /mnt/iso
Pour les consulter, je me suis rendu au répertoire où était monté le système de fichier (par le terminal, mais j'aurais pu y aller par l'interface graphique) :
cd /mnt/iso
Et j'ai copié copie tous les fichiers vers ma clé USB qui se trouvait montée dans /media/KINGSTON :
cp * /media/KINGSTON
Et finalement, on démonte le tout pour que ça reste propre :
sudo umount /mnt/iso
Mission accomplie.