Como substituo um arquivo em um arquivo ISO sem precisar de raiz na linha de comando

13

Eu tenho um arquivo ISO e quero alterar o conteúdo de um dos arquivos na linha de comando. Eu sei que posso usar

sudo mount -o loop <etc...>
rsync -ra a b
edit b/file
mkisofs <options>

mas preciso de uma solução que não exija permissões de root.

martinhans
fonte
2
Isto irá dizer como e mais: unix.stackexchange.com/questions/96625/... Tecnicamente não é uma pergunta sobre Ubuntu, mas sobre Linux por isso a nossa irmã site terá mais acessos nesta;)
Rinzwind
Obrigado, mas eu esperava encontrar uma maneira de desempacotar de uma maneira que evite a montagem todos juntos. Afinal, ISO é apenas um arquivo que contém outros arquivos.
martinhans
Obrigado pelo ponteiro para unix.stackexchange.com, mas acho que é tarde demais para movê-lo agora. meta.stackexchange.com/questions/64068/…
martinhans
Um ISO é um sistema de arquivos. É mais semelhante a um disco rígido do que a um arquivo (daí a necessidade de montá-lo;)) A movimentação não é necessária; ele vai ser respondida e / ou fechada no tempo;)
Rinzwind
1
Você pode extrair o conteúdo de uma ISO diretamente usando 7zip.
Andrew Medico

Respostas:

22

Finalmente consegui encontrar uma resposta. Eu posso usar o fusível para montar o arquivo ISO, há até uma ferramenta para isso nos repositórios do Ubuntu:

sudo apt-get install fuseiso

Então eu posso fazer:

fuseiso -p file.iso mounted_iso/
rsync -ra mounted_iso/ copy/
fusermount -u mounted_iso

chmod -R +w copy/
edit copy/file

mkisofs <many options> -o remastered.iso copy/
martinhans
fonte
Não se esqueça de votar e aceitar. Aqui está um +1 de mim :)
Rinzwind
Parece justo que outros recebam dois dias para tentar encontrar uma solução ainda melhor. Por exemplo, pode ser que alguém tenha uma solução que nem exija fusível.
kasperd