Назад | Перейти на главную страницу

Как преобразовать файл TAR в файл ISO

У меня есть файл Linux TAR, который я хотел бы преобразовать непосредственно в ISO. Есть ли способ сделать это, желательно без предварительного извлечения содержимого файла?

Это было бы похоже на следующий вопрос; однако он ориентирован на простые или простые файлы tar и не имеет отношения к bzip или сжатому с помощью bzip tar.

Это также то, что я намеревался использовать в сценарии, и причина того, что я не хочу сначала извлекать его.

Использовать AVFS для доступа к содержимому tar-архива, как если бы это был каталог. AVFS - это виртуальная файловая система, построенная на ПРЕДОХРАНИТЕЛЬ. Укажите ваш любимый конструктор ISO в каталог внутри tar-архива.

mountavfs
cd ~/.avfs/path/to/archive.tar\#
genisoimage -o /path/to/iso .

Если ваши основные цели - ускорить процесс и избежать ненужной активности диска по соображениям производительности, и у вас достаточно свободной оперативной памяти относительно размера вашего архива, вы можете извлечь .tar в ОЗУ, используя tmpfs. Этот вариант, скорее всего, самый быстрый из доступных, если только вы не можете заставить работать конвейерный подход @bulleric. и вы читаете с одного диска и записываете на другой.

archivemount /file.tar /media/ISO

или несжатый .tar и

genisoimage -o myfile.iso directory_src

(может быть папкой /media/ISO или точечное крепление /media/cdrom)

Вы должны извлечь его, но вы не должны извлекать его на свой жесткий диск, вы можете использовать stdtout и передать его в genisoimage или mkisofs

tar --to-stdout xf tareddata.tar | genisoimage -o image.iso tareddata

Попробуй это: mount -o loop image.iso /mnt

вы можете написать небольшой скрипт, чтобы автоматизировать эту проблему

Греческий бык