Como extrair uma ISO no Linux sem acesso root


22

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:


23

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.


3
Como a pergunta do OP tem uma tag "linux", é importante afirmar que isso não funcionará com 7za(CentOS); 7zanão suporta arquivos ISO. Você pode verificar os formatos suportados com 7za i.
Jongosi

FYI 7zparece 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.
Akostadinov

17

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 -xextraçõ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
...

Para usar o isoread para extrair todos os arquivos, tente este script: github.com/goblinhack/isoread
Neil McGill

@NeilMcGill Não funciona aqui. Muitos erros.
MewX 20/02

O ISO com extensões Rock Ridge exigirá nomes de arquivos em maiúsculas com "; 1" anexado ao final. Use -Rl para listar os arquivos neste formulário.
lzap

6

Encontrei uma nova maneira melhor: usar xorriso!

Não é necessário ter acesso root. Eu tentei 7ze 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.isoe extracted_pathfazê-lo funcionar no seu sistema.


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


4

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

1

Se você possui 7-zipou unrarinstalou, pode usar para extrair iso's.


Para que serve a sintaxe unrar? Eu acho que é para Winrar única
Golimar


1

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

0

Você não precisa montá-lo. ISO é como qualquer outro arquivo de armazenamento, como um .zip. Existem muitas ferramentas iso-específicas para executar o truque que você deve poder compilar como usuário, mas a maneira mais fácil deve ser:

file-roller -h filename.iso
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.