fs-utils
Parece que o fs-utils pode ser a solução genérica aqui:
The aim of this project is to have a set of utilities to access and modify a file system image without having to mount it. To use fs-utils you do not have to be root, you just need read/write access to the image or device. The advantage of fs-utils over similar projects such as mtools is supporting the usage of familiar Unix tools ( ls , cp , mv , etc.) for a large number of file systems.
O Linux é suportado e há pacotes binários disponíveis (certifique-se de obter também o componentes do kernel do rump nos quais se baseia). Como não somos root, precisamos instalá-los em nosso diretório pessoal ( ~/usr
, por exemplo):
$ mkdir ~/usr ; cd ~/usr
$ dpkg-deb --fsys-tarfile ../netbsd-rump_20140405_i386.deb | tar -xvf -
$ dpkg-deb --fsys-tarfile ../netbsd-fs-utils_1.10_i386.deb | tar -xvf -
Adicione isso a ~/.bashrc
:
export PATH="$HOME/usr/bin:$PATH"
export LD_LIBRARY_PATH="$HOME/usr/lib"
Então você pode:
$ fsu_ls -t ext2fs image.ext2 -l
total 2
-rw-r--r-- 1 0 0 12 Apr 9 12:45 a_file.txt
$ fsu_cat -t ext2fs image.ext2 a_file.txt
just a demo
Os nomes dos sistemas de arquivos são um pouco diferentes do normal: msdos em vez de vfat, ext2fs ao invés de ext2, cd9660 ao invés de iso9660 etc.
Notas:
- De alguma forma no meu sistema funciona com imagens vfat mas não ext2. Eu não fiz uma versão completa do fs-tools, e tentei um pacote binário que não era uma correspondência exata para a minha distro (o que pode ser o porquê ...)
- Parece que a opção offset=...
mount não é suportada, então, para acessar uma partição dentro de uma imagem de disco inteira, parece haver pouca escolha a não ser copiá-la primeiro ...