Який найшвидший спосіб отримати ISO?


34

В даний час я монтую ISO в каталог (лише для читання) (за допомогою mount -o loopкоманди), а потім копіюю вміст в інший звичайний каталог. Це вимагає багато часу, оскільки ISO великий. Це єдиний спосіб зробити це чи є якась альтернатива?


Ви можете подивитися на моє рішення: superuser.com/a/1180728/541106
MewX

Це не поганий спосіб, оскільки ISO встановлюється в оперативній пам'яті системи. Видобуток інструментом повинен тривати однакові рази.
дубіс

Відповіді:


59

це можна зробити за допомогою програмного забезпечення 7zip:

sudo apt-get install p7zip-full

7z x iso_file.iso

у Fedora:

7za x iso_file.iso


1
Я працював для мене з Windows 8.1 ISO, для якого (в Gnome) ні Nautilus, ні Archive Manager не змогли показати вміст.
krlmlr

4
Слідкуйте за тим, щоб "7za x" не працював, тільки "7z x". Спасибі!
lzap

7za працює над Fedora, 7z не
Адам Куркевич

Відповідно до цього , 7zне буде вилучено всі необхідні файли.
Плоні

7

bsdtar(частина портативного бібліотеки ) може проаналізувати безліч форматів файлів . Це зручно для тих, у кого пальці дуже добре знайомі з варіантами дьогтю ( витягти, просто оглянути вміст). bsdtar xfp foo.isobsdtar tf yoyoma.rpm

Також є bsdcpio для тих, хто знайомий cpio використанням.

Зараз у багатьох Linux-дистрибутивах входять bsdtar, bsdcpio та libarchive (часто як окремі пакети, хоча все походить від коду libarchive).


2

Монтаж зображення або використання 7zip як уже відповів, ймовірно, є єдиними двома рішеннями. Спробуйте їх і перевірте, чи швидше одне інше.

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


FYI: використання mount -o loopта rsync -a /mnt/iso /root/isoкопіювання зі швидкістю ~ 100 Мб / с з внутрішнього жорсткого диска SATA на внутрішній SATA SSD.
rwenz3l

2

uniso - це скрипт Python, який використовує isoinfo для отримання вмісту з потоку ISO. Він вимагає піторічного . Це трохи хакі, але це робить роботу.

Я автор унісо та піторічного.


1

Якщо ви хочете витягти лише деякі файли замість цілого вмісту, спробуйте mcaka MidnightCommander в оболонці. Це також акуратно придивлятися .zip/tar.gz/bz2.


1

Чому б не використовувати:

isoinfo -R -X

для вилучення всіх файлів або

isoinfo -R -X -find find-options

витягувати файли, керовані параметрами пошуку?


2
Зауважте, що це передбачає isoinfoвід schily's cdrtools. Це не буде працювати зі знайденою на Debian (з cdrkitв Debian вилки з cdrtools(ліцензування причин AFAICT)).
Стефан Шазелас

2
Правильно, Debian створив вилку в травні 2004 року і ніколи не робив корисного прогресу з тих пір. Усі вдосконалення вихідного коду з тих пір були ігноровані, і цього було багато: понад 60% поточного коду в проекті cdrtools - з минулого 2004 року. Іншими словами, більше 50% функцій недавнього оригінального cdrtools відсутнє у вилці Debian.
schily

1
BTW: виделка Debian була створена в травні 2004 року, ім'я cdrkit було використано після того, як я попросив Debian у вересні 2006 року більше не використовувати оригінальне ім’я для вилки з більш ніж 100 помилок Debian. Зважаючи на те, що всі дистрибутиви, які запитували спеціалізованого юриста, доставляють оригінальні cdrtools, я не можу побачити доказ для видачі ліцензії.
schily

Якщо доведеться зізнатися, я не можу сказати, що розумію проблему ліцензії.
Стефан Шазелас

1
Оскільки я ретельно дотримуюся всіх вимог ліцензій (я перевірив це у кількох юристів), я не можу побачити видачу ліцензії. Зважаючи на той факт, що Debian вимагав видачі ліцензії задовго до зміни ліцензій, я підозрюю тут "червону оселедець". Для продовження мого часового рядка: Дебіан заявив про видачу ліцензії через неіснуючу зміну восени 2005 року, але зміна ліцензії сталася 15 травня 2006 року для захисту від атак Едуарда Блоха та Йорга Ясперта.
schily

1

Для тих, хто використовує Thunar файловий менеджер на Linux і хоче легко та швидко вирішити:

  1. Відкрити тунар -> Редагувати -> Налаштувати власні дії ...
  2. Створіть новий елемент:
    • Назва: Витягніть тут ISO
    • Опис: Витяги ISO-файлу
    • Команда: xfce4-terminal -e "7z x %f"
  3. Відкрити вкладку Умови появи
    • Приставка: *.iso
    • Установіть лише Other files прапорець
  4. Збережіть його, і ви готові витягти за допомогою правої кнопки миші.

Зауважте, що цей трюк використовує і залежить від xfce4-терміналу та пакетів p7zip . Якщо ви використовуєте інший менеджер архіву або термінал - замініть команди відповідно.


1

Зображення типу 1 AppImage - це ISO-зображення із стиснутими файлами zisofs . Ось чому не кожна програма, яка може витягувати ISO-файли, також може витягувати зображення типу 1-го типу AppImage.


Гаразд, але питання було ЯК ЕКСПЕРАТУВАТИ ЇХ? + ШВИДКО.
LinuxSecurityFreak

Я думаю, що найшвидший спосіб - використовувати ядро ​​для контурного монтажу, а потім скопіювати файли. Я не проводив наукових вимірів.
probono

0

Спробуйте genisoimage. У ньому є все, що потрібно для обробки ISO. Після його встановлення ви також зможете використовувати mcдля перегляду вмісту ISO.


Просто прочитайте цю сторінку. Не вдалося знайти жодних варіантів вилучення вмісту існуючої ISO.
Алекс Янсен

0

Я найшвидше визначив запропоновані утиліти:

FILE=some_file.iso
DIR="./unpacked"

# time 7z x $FILE -o$DIR # see note below
# real    0m0,656s

time xorriso -osirrox on -indev $FILE -extract / $DIR
# real    0m5,528s

mkdir $DIR
time bsdtar xp -C $DIR -f $FILE
# real    0m5,376s

# mkdir $DIR; cd $DIR
# time isoinfo -R -X -i ../$FILE # see note below
# real    0m0,446s

Вони були протестовані на файлі 780M на nvme ssd. Тому я б дотримувався 7z, через конспект конспекту та швидку швидкість.

Редагувати: Я поспішав близько 7z. 7z і isoinfo витягує файли, але вони пошкоджені. Тому вони так швидко працювали. Я витягував файл AppImage. Тоді bsdtar здається найкращим.


Я прокоментував їх, але залишив на місці, щоб інші могли легко використовувати свої аргументи. Також, можливо, добре спробувати скористатись іншим зображенням iso (тобто не AppImage).
Ашарк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.