У мене є великий ISO-файл на сервері, і мені потрібно отримати доступ до файлу на ньому, не маючи кореневого доступу. Таким чином, я не можу просто змонтувати це. Що мені робити, щоб отримати ISO на LInux без кореневого доступу?
У мене є великий ISO-файл на сервері, і мені потрібно отримати доступ до файлу на ньому, не маючи кореневого доступу. Таким чином, я не можу просто змонтувати це. Що мені робити, щоб отримати ISO на LInux без кореневого доступу?
Відповіді:
Якщо встановлено 7zip, це дуже просто:
7z x Your.iso -oWhere/You/Want/It/Extracted/To
витягти цілу ізо.
7z
здається досить розумні , щоб витягти безпосередньо від засобів масової інформації: 7z x /dev/cdrom
. У мене дуже дурна проблема, що у моїх файлах при монтажі з'являється 0 байт. Тож видобуток був обхідним шляхом.
Багато інструментів графічного інтерфейсу, як ролик файлів, використовуватимуть 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 ...
Я знайшов новий найкращий спосіб: використання 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/
Якщо ви можете монтувати файлові системи FUSE, FuseISO - це варіант для монтажу зображення.
Більшість вищезазначених рішень змушують витягувати вміст 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
7za
(CentOS);7za
не підтримує архіви ISO. Ви можете перевірити підтримувані формати за допомогою7za i
.