[size=85](A la demande de Ricardo)[/size]
P7zip (version POSIX de 7zip) est un gestionnaire d’archive qui supporte un grand nombre de format de conteneur d’archives et d’algorithmes de compression : 7z alias lzma, utilisé par défaut, tar, gz, bzip2, rpm, deb, cab de microsoft, rar avec p7zip-rar (paquet non libre), ISO en lecture seule etc…). C’est un logiciel libre.
Sa syntaxe est similaire à celle d’[mono]unrar-nonfree[/mono].
[size=150]Problématique[/size]
Extraire le contenu d’un fichier ISO sous GNU/Linux consiste généralement à monter le fichier ISO et d’en copier le contenu, puis de le démonter. Ce n’est pas toujours la meilleure solution :
[ol]
[li] Il faut être root pour monter/démonter le fichier ISO[/li]
[li] Il y a pas mal de choses a taper (flemmard inside !) [/li][/ol]
C’est la que 7zip intervient.
[size=150]Installation[/size]
# apt-get install p7zip-full
Si vous souhaitez ajouter le support RAR (dépôt non-free)
# apt-get install p7zip-rar
Nous utiliserons ici un fichier ISO mais il peut être remplacé par un CAB ou un RAR, sans changement de la ligne de commande.
[mono]7z[/mono] n’appelle pas la fonction sync() du système d’exploitation. Si vous comptez écrire sur une clé USB en plus des commandes nommées ci-dessous il vous faudra appeler [mono]sync[/mono].
[size=150]Extraction complète dans le répertoire en cours[/size]
$ 7z x fichier.iso
Si vous ecrivez sur de l’USB, une fois que 7z a terminé l’extraction, lancez
$ sync
[size=150]Extraction complète dans un répertoire donné[/size]
Il faut utiliser [mono]-o[/mono] pour spécifier un répertoire de sortie.
$ 7z x fichier.iso -o/repertoire_destination
# !!! il ne faut pas d'espace entre '-o' et le nom du répertoire
# !!! -o doit toujours être positionné après les arguments evoquant des fichiers, en toute dernière position.
[size=150]Extraction de certains fichiers/répertoires[/size]
NB: Les noms de fichier sont relatifs à la racine de l’ISO. Voir plus bas pour lister le contenu d’une ISO.
# dans le répertoire en cours :
$ 7z x debian.iso isolinux setup.exe
Vous pouvez bien sûr combiner avec [mono]-o[/mono] :
$ 7z x debian.iso isolinux -o/mnt/cleusb
sync # ne pas oublier sur usb
[size=150]Utilisation de wildcards pour l’extraction[/size]
Il vous faudra les échapper avec ‘’ ; seuls les caractères spéciaux reconnus par MSDOS sont pris en compte (* et ?) :
$ 7z x debian.iso isolinux/\*.cfg setup.exe -o/tmp
[size=150]Lister le contenu du fichier ISO[/size]
$ 7z l fichier.iso
La documentation complète de 7zip en anglais se situe dans [mono]/usr/share/doc/p7zip-full/DOCS/MANUAL/index.htm[/mono]