Quel est le moyen le plus rapide d'extraire une image ISO?


34

Actuellement, je monte une image ISO dans un répertoire (en lecture seule) (à l'aide de la mount -o loopcommande), puis je copie le contenu dans un autre répertoire normal. Cela prend beaucoup de temps car l'ISO est grande. Est-ce la seule façon de le faire ou existe-t-il une alternative?


Vous pouvez consulter ma solution: superuser.com/a/1180728/541106
MewX

Ce n'est pas une mauvaise façon car l'ISO est monté dans la RAM du système. Extraire avec des outils devrait prendre le même temps.
dubis

Réponses:


59

vous pouvez le faire avec le logiciel 7zip:

sudo apt-get install p7zip-full

7z x iso_file.iso

sur Fedora:

7za x iso_file.iso


1
Travaillait pour moi avec une image ISO Windows 8.1, pour laquelle (dans Gnome), ni Nautilus ni Archive Manager ne pouvaient afficher le contenu.
krlmlr

4
Attention, "7za x" ne fonctionnera pas, seulement "7z x". Merci!
Lzap

7za fonctionne sur fedora, 7z pas
Adam Kurkiewicz

Comme par cela , 7zne sera pas extraire tous les fichiers nécessaires.
Ploni

7

bsdtar(partie de libarchive portable ) peut analyser de nombreux formats de fichiers . C'est pratique pour ceux dont les doigts sont très familiers avec les options de tar ( extraire, simplement inspecter le contenu). bsdtar xfp foo.isobsdtar tf yoyoma.rpm

Il y a aussi un bsdcpio pour ceux qui sont familiers avec cpiol'utilisation de.

De nombreuses distributions linux incluent maintenant bsdtar, bsdcpio et libarchive (souvent sous forme de paquets séparés bien que tout provienne du code libarchive).


2

Monter l'image, ou utiliser 7zip comme déjà répondu, sont probablement les deux seules solutions. Essayez-les et vérifiez si l'un est plus rapide que l'autre.

Si vous avez vraiment besoin de quelque chose de plus rapide, vous devriez probablement regarder dans une direction différente: au lieu de changer de logiciel, essayez d’utiliser différents disques: un pour l’image source et un pour le répertoire cible. Ou essayez d'éviter de copier ces fichiers et conservez-les simplement dans l'image iso.


Pour votre information: utilise mount -o loopet rsync -a /mnt/iso /root/isocopie à environ 100 Mo / s d'un disque dur SATA interne vers un disque SSD SATA interne.
rwenz3l

2

uniso est un script Python qui exploite isoinfo pour extraire le contenu d'un flux ISO. Cela nécessite du pythorique . C'est un peu hacky, mais ça fait le travail.

Je suis l'auteur de uniso et pythoric.


1

Si vous souhaitez extraire uniquement certains fichiers au lieu de tout le contenu, essayez d’ mcappeler MidnightCommander dans le shell. Il est également intéressant d'examiner .zip/tar.gz/bz2avec.


1

Pourquoi ne pas utiliser:

isoinfo -R -X

extraire tous les fichiers ou

isoinfo -R -X -find find-options

extraire des fichiers contrôlés par les options de recherche?


2
Notez qu'il assume le isoinfode schily's cdrtools. Cela ne fonctionnera pas avec celui trouvé sur Debian (à partir d' cdrkitun fork de Debian de cdrtools(pour des raisons de licence AFAICT)).
Stéphane Chazelas

2
Correct, Debian a créé un fork en mai 2004 et n’a fait aucun progrès utile depuis. Toutes les améliorations apportées au code d'origine depuis ont été ignorées et c'était beaucoup: plus de 60% du code actuel dans le projet cdrtools date de 2004. Autrement dit, il manque plus de 50% des fonctionnalités d'un cdrtools récent. dans la fourche Debian.
Schily

1
BTW: le fork de Debian a été créé en mai 2004, le nom cdrkit a été utilisé après que j’ai demandé à Debian, en septembre 2006, de ne plus utiliser le nom original pour un fork contenant plus de 100 bogues spécifiques à Debian. Étant donné que toutes les distributions qui ont demandé à un avocat spécialisé d'expédier les outils originaux, je ne peux pas voir de preuve d'un problème de licence.
Schily

Si je dois avouer que je ne peux pas dire que je comprends le problème de la licence.
Stéphane Chazelas

1
Comme je respecte attentivement toutes les exigences des licences (j'ai vérifié cela auprès de plusieurs avocats), je ne vois pas de problème de licence. Étant donné que Debian a prétendu avoir eu un problème de licence bien avant que les licences aient été modifiées, je soupçonne ici un "problème redoutable". Pour continuer avec ma chronologie d’en haut: Debian a réclamé un problème de licence d’un changement non existant à l’automne 2005, mais le changement de licence a eu lieu le 15 mai 2006 afin de se défendre contre les attaques d’Eduard Bloch et de Jörg Jaspert.
Schily

1

Pour ceux qui utilisent le gestionnaire de fichiers Thunar sur Linux et veulent une solution simple et rapide:

  1. Ouvrez thunar -> Édition -> Configurer les actions personnalisées ...
  2. Créer un nouvel article:
    • Nom: Extrait ISO ici
    • Description: extrait le fichier ISO
    • Commander: xfce4-terminal -e "7z x %f"
  3. Ouvrir l'onglet Conditions d'apparence
    • Préfixe: *.iso
    • Sélectionner seulement la Other files case à cocher
  4. Enregistrez-le et vous êtes prêt à extraire en utilisant un clic droit.

Notez que cette astuce utilise et dépend des packages xfce4-terminal et p7zip . Si vous utilisez un gestionnaire d'archives ou un terminal différent, remplacez les commandes en conséquence.


1

Les images AppImage de type 1 sont des images ISO avec des fichiers compressés zisofs . C'est pourquoi toutes les applications capables d'extraire des fichiers ISO ne peuvent pas également extraire des images AppImage de type 1.


Ok, mais la question était comment les extraire? + RAPIDE.
LinuxSecurityFreak

Je pense que le moyen le plus rapide consiste à utiliser le noyau pour monter en boucle, puis copier les fichiers. Je n'ai pas fait de mesures scientifiques, cependant.
probono

0

Essayez genisoimage. Il a tout ce dont vous avez besoin pour gérer les ISO. Après l'avoir installé, vous pourrez également utiliser mcpour afficher le contenu ISO.


Lisez simplement la page de manuel pour cela. Impossible de trouver des options pour extraire le contenu d'une image ISO existante.
Alex Jansen

0

J'ai évalué les utilitaires suggérés pour le plus rapide:

FILE=some_file.iso
DIR="./unpacked"

# time 7z x $FILE -o$DIR # see note below
# real    0m0,656s

time xorriso -osirrox on -indev $FILE -extract / $DIR
# real    0m5,528s

mkdir $DIR
time bsdtar xp -C $DIR -f $FILE
# real    0m5,376s

# mkdir $DIR; cd $DIR
# time isoinfo -R -X -i ../$FILE # see note below
# real    0m0,446s

Ils ont été testés sur un fichier 780M sur nvme ssd. Donc, je resterais avec 7z, à cause de la simplicité de synopsis et de la vitesse rapide.

Edit: J'étais pressé à propos de 7z. 7z et isoinfo extraient des fichiers, mais ils sont corrompus. C'est pourquoi ils ont travaillé si vite, je pense. J'extrais un fichier AppImage. Alors bsdtar semble le meilleur.


Je les ai commentés, mais je les ai laissés en place pour que les autres puissent facilement utiliser leurs arguments. Aussi, c'est peut-être une bonne idée d'essayer avec une autre image iso (c'est-à-dire pas une AppImage).
Ashark
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.