22

У меня есть большой файл ISO на сервере, и мне нужно получить доступ к файлу в нем, не имея root-доступа. Таким образом, я не могу просто смонтировать его. Что я должен сделать, чтобы иметь возможность извлечь ISO на LInux без рут-доступа?

8 ответов8

21

Если установлен 7zip, это действительно просто:

7z x Your.iso -oWhere/You/Want/It/Extracted/To

чтобы извлечь весь ISO.

16

Многие инструменты GUI, такие как файловый ролик, будут использовать isoinfo в фоновом режиме.

Вы можете извлечь один файл из ISO, например так:

isoinfo -i image.iso -x /isolinux/initrd.img > initrd.img

Перенаправление требуется как извлечение -x в стандартный вывод.

Если вы хотите перечислить содержимое папки в ISO:

isoinfo -i image.iso -l

пример вывода:

Directory listing of /
d---------   0    0    0            2048      0 1900 [     26 02]  .
d---------   0    0    0            2048      0 1900 [     26 02]  ..
d---------   0    0    0            2048 Feb  6 2010 [     27 02]  i386
...
5

Я нашел новый лучший способ: с помощью xorriso !

Нет необходимости иметь root-доступ. Я пробовал 7z и file-roller , они оба здесь не работают.

xorriso - это программа с открытым исходным кодом, поэтому вы можете скачать исходные коды, если она не установлена по умолчанию.

Если вы не установили его, пожалуйста, загрузите исходные коды здесь: https://www.gnu.org/software/xorriso/

Шаги:

tar zxvf xorriso-1.4.6.tar.gz
cd xorriso-1.4.6
./configure
make
cd xorriso
pwd

Добавьте выходной каталог в переменную окружения PATH .


Затем вы можете использовать его для извлечения ISO-файла:

xorriso -osirrox on -indev image.iso -extract / extracted_path

Вам просто нужно изменить image.iso и extracted_path , чтобы заставить его работать на вашей системе.


Передано: https://blog.sleeplessbeastie.eu/2014/08/26/how-to-extract-an-iso-image/

4

Если у вас есть доступ к GUI, щелкните правой кнопкой мыши по iso и выберите «Открыть с помощью Archive Manager ...» или просто запустите:

file-roller -e /path/to/extract/to /path/to/iso
1

Если у вас установлен 7-zip или unrar вы можете использовать для распаковки iso.

1

Если вы можете монтировать файловые системы FUSE, FuseISO - это опция для монтирования образа.

1

Большинство из вышеперечисленных решений заставляют вас извлекать ISO-контент, но если он большой, он займет много места.

Лучшим решением было бы выполнить фактический монтаж iso-образа, и благодаря FuseISO это возможно без корневого доступа (но вам все равно нужно попросить администратора установить FuseISO, если он еще не установлен, в ubuntu sudo apt-get install fuseiso)

После установки FuseISO на машину вы можете:

# 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

Вам не нужно монтировать его. ISO, как и любой другой файл хранения, как .zip. Существует множество специфических для iso инструментов для выполнения трюка, который вы должны быть в состоянии скомпилировать как пользователь, но самый простой способ - это сделать:

file-roller -h filename.iso

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .