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?
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:
Se è installato 7zip questo è davvero semplice:
7z x Your.iso -oWhere/You/Want/It/Extracted/To
per estrarre l'intero iso.
7z
sembra 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.
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 -x
estratto 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 ...
Ho trovato un nuovo modo migliore: usare xorriso
!
Non è necessario disporre dell'accesso root. Ho provato 7z
e 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.iso
e extracted_path
farlo funzionare sul tuo sistema.
Riferito: https://blog.sleeplessbeastie.eu/2014/08/26/how-to-extract-an-iso-image/
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
Se è possibile montare filesystem FUSE, FuseISO è un'opzione per montare l'immagine.
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
7za
(CentOS);7za
non supporta gli archivi ISO. Puoi controllare i formati supportati con7za i
.