фс-Utils
Похоже, что fs-utils может быть общим решением здесь:
Цель этого проекта - создать набор утилит для доступа и изменения образа файловой системы без его монтирования. Чтобы использовать fs-utils, вам не нужно быть пользователем root, вам просто нужен доступ для чтения / записи к образу или устройству. Преимущество fs-utils перед аналогичными проектами, такими как mtools, заключается в поддержке использования знакомых инструментов Unix (ls, cp, mv и т.д.) Для большого числа файловых систем.
Linux поддерживается и доступны бинарные пакеты (убедитесь, что вы также получаете компоненты ядра rump, на которых он основан). Поскольку мы не root, нам нужно установить их в наш домашний каталог (например, ~/usr
):
$ 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 -
Добавьте это в ~/.bashrc
:
export PATH="$HOME/usr/bin:$PATH"
export LD_LIBRARY_PATH="$HOME/usr/lib"
Тогда ты можешь:
$ 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
Имена файловых систем немного отличаются от обычных: msdos вместо vfat, ext2fs вместо ext2, cd9660 вместо iso9660 и т.д.
Заметки:
- Как-то в моей системе это работает с vfat, но не с изображениями ext2. Я не делал полную сборку fs-tools, а вместо этого попробовал бинарный пакет, который не совсем соответствовал моему дистрибутиву (возможно, поэтому ...)
- Похоже, что опция offset=...
mount не поддерживается, поэтому для доступа к разделу внутри образа диска, похоже, нет другого выбора, кроме как сначала скопировать его ...