Eu tenho um arquivo ISO grande em um servidor e preciso acessar o arquivo nele, sem ter acesso root. Assim, não posso simplesmente montá-lo. O que devo fazer para conseguir extrair uma ISO no LInux sem acesso root?
Eu tenho um arquivo ISO grande em um servidor e preciso acessar o arquivo nele, sem ter acesso root. Assim, não posso simplesmente montá-lo. O que devo fazer para conseguir extrair uma ISO no LInux sem acesso root?
Respostas:
Se o 7zip estiver instalado, este será realmente fácil:
7z x Your.iso -oWhere/You/Want/It/Extracted/To
para extrair todo o iso.
7z
parece bastante inteligente para extrair diretamente da mídia: 7z x /dev/cdrom
. Eu tenho um problema muito estúpido, que meus arquivos aparecem 0 bytes quando montados. Portanto, extrair foi uma solução alternativa.
Muitas das ferramentas da GUI, como o rolo de arquivos, usarão o isoinfo em segundo plano.
Você pode extrair um único arquivo de uma ISO como:
isoinfo -i image.iso -x /isolinux/initrd.img> initrd.img
O redirecionamento é necessário como -x
extrações para o stdout.
Se você deseja listar o conteúdo de uma pasta na ISO:
isoinfo -i image.iso -l
saída de exemplo:
Lista de diretório de / d --------- 0 0 0 2048 0 1900 [26 02]. d --------- 0 0 0 2048 0 1900 [26 02] .. d --------- 0 0 0 2048 6 de fevereiro de 2010 [27 02] i386 ...
Encontrei uma nova maneira melhor: usar xorriso
!
Não é necessário ter acesso root. Eu tentei 7z
e file-roller
, os dois não funcionam aqui.
xorriso
é um programa de código aberto, para que você possa fazer o download dos códigos-fonte se não o tiver instalado por padrão.
Se você não o instalou, faça o download dos códigos-fonte aqui: https://www.gnu.org/software/xorriso/
Os passos são:
tar zxvf xorriso-1.4.6.tar.gz
cd xorriso-1.4.6
./configure
make
cd xorriso
pwd
Adicione o diretório de saída à variável de ambiente PATH
.
Em seguida, você pode usá-lo para extrair um arquivo iso:
xorriso -osirrox on -indev image.iso -extract / extracted_path
Você só precisa modificar image.iso
e extracted_path
fazê-lo funcionar no seu sistema.
Referido: https://blog.sleeplessbeastie.eu/2014/08/26/how-to-extract-an-iso-image/
Se você tiver acesso à GUI, clique com o botão direito do mouse no iso e escolha "Abrir com o Archive Manager ..." ou simplesmente execute:
file-roller -e /path/to/extract/to /path/to/iso
Se você pode montar sistemas de arquivos FUSE, o FuseISO é uma opção para montar a imagem.
A maioria das soluções acima faz com que você extraia o conteúdo iso, mas se o conteúdo for grande, será necessário muito espaço.
Uma solução melhor seria fazer a montagem real da imagem iso e, graças ao FuseISO, isso é possível sem acesso root (mas você ainda precisará pedir ao administrador para instalar o FuseISO se ele ainda não estiver instalado, no ubuntu sudo apt-get install fuseiso
)
Depois de instalar o FuseISO na máquina, você pode:
# 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
não suporta arquivos ISO. Você pode verificar os formatos suportados com7za i
.