Qual è il modo più veloce per estrarre un ISO?


34

Attualmente sto montando un ISO in una directory (di sola lettura) (usando il mount -o loopcomando) e quindi copiando il contenuto in un'altra directory normale. Questo richiede molto tempo poiché l'ISO è grande. È l'unico modo per farlo o c'è qualche alternativa?


Puoi dare un'occhiata alla mia soluzione: superuser.com/a/1180728/541106
MewX

Questo non è un brutto modo in quanto l'ISO è montato nella RAM del sistema. L'estrazione con strumenti dovrebbe richiedere gli stessi tempi.
Dubai

Risposte:


59

puoi farlo con il software 7zip:

sudo apt-get install p7zip-full

7z x iso_file.iso

su Fedora:

7za x iso_file.iso


1
Ha funzionato per me con un ISO di Windows 8.1, per il quale (in Gnome) né Nautilus né Archive Manager sono stati in grado di mostrare i contenuti.
krlmlr,

4
Attenzione, "7za x" non funzionerà, solo "7z x". Grazie!
lzap,

7za lavora su Fedora, 7z no
Adam Kurkiewicz,

In questo modo , 7znon verranno estratti tutti i file necessari.
Ploni,

7

bsdtar(parte del libarchive portatile ) può analizzare molti formati di file . Questo è utile per coloro le cui dita conoscono molto bene le opzioni di tar ( estrarre, ispezionare semplicemente il contenuto). bsdtar xfp foo.isobsdtar tf yoyoma.rpm

C'è anche un bsdcpio per coloro che hanno familiarità con cpiol'uso.

Molte distribuzioni Linux ora includono bsdtar, bsdcpio e libarchive (spesso come pacchetti separati sebbene provenga tutto dal codice libarchive).


2

Montare l'immagine o usare 7zip come già risposto sono probabilmente le uniche due soluzioni. Provali e controlla se uno è più veloce dell'altro.

Se hai davvero bisogno di qualcosa di più veloce, dovresti probabilmente guardare in una direzione diversa: invece di cambiare software, prova a utilizzare diversi dischi: uno per l'immagine di origine e uno per la directory di destinazione. Oppure, cerca di evitare di copiare questi file e conservali nell'immagine ISO.


Cordiali saluti: utilizzo mount -o loope rsync -a /mnt/iso /root/isocopia a ~ 100 MB / s da un HDD SATA interno a un SSD SATA interno.
rwenz3l,

2

uniso è uno script Python che sfrutta isoinfo per estrarre i contenuti da un flusso ISO. Richiede pitorico . È un po 'confuso, ma fa il lavoro.

Sono l'autore di uniso e pythoric.


1

Se si desidera estrarre solo alcuni file anziché l'intero contenuto, provare mcalias MidnightCommander nella shell. È anche pulito da esaminare .zip/tar.gz/bz2.


1

Perché non usare:

isoinfo -R -X

per estrarre tutti i file o

isoinfo -R -X -find find-options

estrarre i file controllati dalle opzioni di ricerca?


2
Si noti che assume il isoinfoda schily's cdrtools. Ciò non funzionerà con quello trovato su Debian (da cdrkitun fork Debian di cdrtools(per motivi di licenza AFAICT)).
Stéphane Chazelas,

2
Corretto, Debian ha creato un fork nel maggio 2004 e da allora non ha mai fatto progressi utili. Tutti i miglioramenti apportati al codice originale sono stati ignorati e questo è stato molto: molto più del 60% del codice attuale nel progetto cdrtools è del 2004. In altre parole, manca più del 50% delle funzionalità di un recente cdrtools nel fork di Debian.
schily,

1
A proposito: il Debian fork è stato creato nel maggio 2004, il nome cdrkit è stato usato dopo che ho chiesto a Debian nel settembre 2006 di non usare più il nome originale per un fork con più di 100 bug specifici di Debian. Dato che tutte le distro che hanno chiesto a un avvocato specializzato spediscono i cdrtools originali, non riesco a vedere una prova per un problema di licenza.
schily,

Se devo confessare non posso dire di aver capito il problema della licenza.
Stéphane Chazelas,

1
Poiché seguo attentamente tutti i requisiti delle licenze (ho verificato questo con diversi avvocati), non riesco a vedere un problema di licenza. Dato che Debian ha rivendicato un problema di licenza molto prima che le licenze fossero cambiate, sospetto qui una "aringa rossa". Per continuare con la mia linea temporale dall'alto: Debian ha rivendicato un problema di licenza a causa di una modifica non esistente nell'autunno 2005, ma la modifica della licenza è avvenuta il 15 maggio 2006 per difendersi dagli attacchi di Eduard Bloch e Jörg Jaspert.
schily,

1

Per coloro che usano il file manager Thunar su Linux e vogliono una soluzione semplice e veloce:

  1. Apri thunar -> Modifica -> Configura azioni personalizzate ...
  2. Crea nuovo elemento:
    • Nome: estrai ISO qui
    • Descrizione: estrae il file ISO
    • Comando: xfce4-terminal -e "7z x %f"
  3. Scheda Apri Condizioni aspetto
    • Prefisso: *.iso
    • Seleziona solo la Other files casella di controllo
  4. Salvalo e sei pronto per estrarre usando il tasto destro.

Nota che questo trucco usa e dipende dai pacchetti xfce4-terminal e p7zip . Se si utilizza un gestore archivio o un terminale diverso, sostituire i comandi di conseguenza.


1

Le immagini di tipo 1 di AppImage sono immagini ISO con file compressi zisofs . Questo è il motivo per cui non tutte le applicazioni in grado di estrarre file ISO possono anche estrarre immagini di tipo 1 da AppImage.


Ok, ma la domanda era: COME ESTRARLI? + VELOCE.
LinuxSecurityFreak

Penso che il modo più veloce sia usare il kernel per eseguire il loop-mount e quindi copiare i file. Tuttavia, non ho effettuato misurazioni scientifiche.
probono

0

Prova genisoimage. Ha tutto ciò che serve per gestire gli ISO. Dopo averlo installato sarai anche in grado di utilizzare mcper visualizzare il contenuto ISO.


Basta leggere la manpage per questo. Impossibile trovare opzioni per l'estrazione del contenuto di un ISO esistente.
Alex Jansen,

0

Ho analizzato le utility suggerite per il più veloce:

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

Sono stati testati su file 780M su nvme ssd. Quindi rimarrei con 7z, a causa della sinossi convinenza e della velocità elevata.

Modifica: avevo fretta circa 7z. 7z e isoinfo estrae i file, ma sono danneggiati. Ecco perché hanno lavorato così in fretta, penso. Stavo estraendo un file AppImage. Quindi bsdtar sembra il migliore.


Li ho commentati, ma ho lasciato il posto agli altri per poter usare facilmente i loro argomenti. Inoltre, forse è una buona idea provare con un'altra immagine ISO (cioè non un AppImage).
Ashark,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.