Як витягнути ISO в Linux без доступу root


22

У мене є великий ISO-файл на сервері, і мені потрібно отримати доступ до файлу на ньому, не маючи кореневого доступу. Таким чином, я не можу просто змонтувати це. Що мені робити, щоб отримати ISO на LInux без кореневого доступу?

Відповіді:


23

Якщо встановлено 7zip, це дуже просто:

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

витягти цілу ізо.


3
Оскільки в питанні ОП є тег "linux", важливо констатувати, що це не працюватиме 7za(CentOS); 7zaне підтримує архіви ISO. Ви можете перевірити підтримувані формати за допомогою 7za i.
Йонгосі

FYI 7zздається досить розумні , щоб витягти безпосередньо від засобів масової інформації: 7z x /dev/cdrom. У мене дуже дурна проблема, що у моїх файлах при монтажі з'являється 0 байт. Тож видобуток був обхідним шляхом.
акостадінов

17

Багато інструментів графічного інтерфейсу, як ролик файлів, використовуватимуть isoinfo у фоновому режимі.

Ви можете витягти один файл із ISO, наприклад:

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

Перенаправлення потрібно як -xвитяжки до stdout.

Якщо ви хочете перерахувати вміст папки в ISO:

isoinfo -i image.iso -l

Приклад виведення:

Перелік каталогів /
d --------- 0 0 0 2048 0 1900 [26 02].
d --------- 0 0 0 2048 0 1900 [26 02] ..
d --------- 0 0 0 2048 6 лютого 2010 р. [27 02] i386
...

Щоб використовувати isoread для вилучення всіх файлів, спробуйте цей сценарій: github.com/goblinhack/isoread
Ніл Макгілл

@NeilMcGill тут не працює. Багато помилок.
MewX

Для ISO з розширеннями Rock Ridge потрібні великі імена файлів з "; 1", доданими в кінці. Використовуйте -Rl для переліку файлів у цій формі.
lzap

6

Я знайшов новий найкращий спосіб: використання xorriso!

Не потрібно мати кореневий доступ. Я спробував, 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

Якщо у вас є доступ до графічного інтерфейсу, клацніть правою кнопкою миші і виберіть "Відкрити за допомогою менеджера архівів ..." або просто запустіть:

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

1

Якщо у вас є 7-zipабо unrarвстановлено, ви можете витягти ізо-файли.


Для чого синтаксис unrar? Я думаю, що це лише для Winrar
golimar


1

Більшість вищезазначених рішень змушують витягувати вміст 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. Існує дуже багато інструментів для конкретних інструментів, щоб виконати трюк, який ви зможете скласти як користувач, але найпростішим способом слід зробити:

file-roller -h filename.iso
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.