Come estraggo un ISO su Linux senza accesso root


22

Ho un file ISO di grandi dimensioni su un server e ho bisogno di accedere al file al suo interno, senza avere accesso root. Quindi, non posso semplicemente montarlo. Cosa devo fare per essere in grado di estrarre un ISO su LInux senza accesso root?

Risposte:


23

Se è installato 7zip questo è davvero semplice:

7z x Your.iso -oWhere/You/Want/It/Extracted/To

per estrarre l'intero iso.


3
Poiché la domanda dell'OP ha un tag "linux" è importante affermare che non funzionerà con 7za(CentOS); 7zanon supporta gli archivi ISO. Puoi controllare i formati supportati con 7za i.
Jongosi,

FYI 7zsembra abbastanza intelligente per estrarre direttamente fuori dei media: 7z x /dev/cdrom. Ho un problema molto stupido, che i miei file mostrino 0 byte quando montati. Quindi l'estrazione è stata una soluzione alternativa.
Akostadinov,

17

Molti degli strumenti della GUI come il rullo di file useranno isoinfo in background.

È possibile estrarre un singolo file da un ISO in questo modo:

isoinfo -i image.iso -x /isolinux/initrd.img> initrd.img

Il reindirizzamento è richiesto come -xestratto da stdout.

Se desideri elencare i contenuti di una cartella nell'ISO:

isoinfo -i image.iso -l

esempio di output:

Elenco di directory di /
d --------- 0 0 0 2048 0 1900 [26 02].
d --------- 0 0 0 2048 0 1900 [26 02] ..
d --------- 0 0 0 2048 6 febbraio 2010 [27 02] i386
...

Per usare isoread per estrarre tutti i file, prova questo script: github.com/goblinhack/isoread
Neil McGill

@NeilMcGill Non funziona qui. Molti errori.
MewX,

ISO con estensioni Rock Ridge richiederà nomi di file maiuscoli con "; 1" aggiunto alla fine. Utilizzare -Rl per elencare i file in questo modulo.
lzap,

6

Ho trovato un nuovo modo migliore: usare xorriso!

Non è necessario disporre dell'accesso root. Ho provato 7ze file-roller, entrambi non funzionano qui.

xorriso è un programma open source, quindi puoi scaricare i codici sorgente se non lo hai installato per impostazione predefinita.

Se non lo hai installato, scarica i codici sorgente qui: https://www.gnu.org/software/xorriso/

I passaggi sono:

tar zxvf xorriso-1.4.6.tar.gz
cd xorriso-1.4.6
./configure
make
cd xorriso
pwd

Aggiungi la directory di output nella variabile di ambiente PATH.


Quindi, puoi usarlo per estrarre un file ISO:

xorriso -osirrox on -indev image.iso -extract / extracted_path

Hai solo bisogno di modificare image.isoe extracted_pathfarlo funzionare sul tuo sistema.


Riferito: https://blog.sleeplessbeastie.eu/2014/08/26/how-to-extract-an-iso-image/


4

Se hai accesso alla GUI, fai clic con il pulsante destro del mouse sull'iso e scegli "Apri con Archive Manager ..." o esegui semplicemente:

file-roller -e /path/to/extract/to /path/to/iso

1

Se l'hai installato 7-zipo unrarinstallato, puoi usarlo per estrarre gli iso.


A cosa serve la sintassi unrar? Penso che sia solo per Winrar
golimar


1

La maggior parte delle soluzioni di cui sopra ti fanno estrarre il contenuto iso, ma se il contenuto è grande ci vorrà molto spazio.

Una soluzione migliore sarebbe quella di eseguire l'effettivo montaggio dell'immagine iso, e grazie a FuseISO ciò è possibile senza accesso root (ma sarebbe comunque necessario chiedere all'amministratore di installare FuseISO se non è già installato, su Ubuntu sudo apt-get install fuseiso)

Dopo aver installato FuseISO nella macchina è possibile:

# For user to mount an iso file:
mkdir ~/iso
fuseiso ~/my_iso.iso ~/iso
# For user to unmount an iso file:
fusermount -u ~/iso

0

Non è necessario montarlo. ISO è proprio come qualsiasi altro file di archiviazione, come un .zip. Ci sono molti strumenti iso specifici per fare il trucco che dovresti essere in grado di compilare come utente, ma il modo più semplice dovrebbe essere fare:

file-roller -h filename.iso
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.