Как создать ISO из файла (не из каталога)

2

Я пытаюсь провести тестирование на старых платформах. В данном случае это Fedora 1 (около 2002 или 2003). Программное обеспечение VM (VMware и VirtualBox) не может обрабатывать старые дистрибутивы, поэтому у гостей нет сетевой карты.

Я обнаружил, что могу передавать им вещи через привод CD Rom. Однако, когда я пытаюсь создать ISO с файлом, я пытаюсь передать:

hdiutil makehybrid -o ~/image.iso ~/make-4.1.tar.gz -iso -joliet
Creating hybrid image...

hdiutil: makehybrid failed - Operation not permitted

Я также пытался с create, но это также приводит к ошибке:

hdiutil create -ov ~/make-4.1.tar.gz  -iso -joliet
hdiutil: create: unknown option "-iso"
Usage:  hdiutil create <sizespec> [options] <imagepath>
    hdiutil create -help

Я также попробовал с и без опции makehybrid.

Как мне создать ISO файл (а не каталог)?


Я хочу избежать разархивирования и последующего создания ISO, потому что имена файлов и разрешения изменены (это более старое программное обеспечение, которое не так стабильно, как сегодня).


источник
Вы пытались обернуть свою команду sudo? Возможно, hdiutilон пытается записать временные файлы в место, где у него нет доступа.
Иоахим Браттели
Источником hdiutil -makehybrid должен быть каталог или образ диска (см. Man-страницу); возможно, попробуйте извлечь архив с параметром -p, переданным tar, чтобы сохранить права доступа / владельцев.
MTKLR

Ответы:

5

Вы не можете создать ISO-образ из файла, не являющегося изображением. hdiutil и особенно hdiutil makehybrid ожидают образ или каталог (необязательно содержащий файлы!).


Но вам не нужно ничего разархивировать / разархивировать. Просто создайте папку с именем MAKE , переместите в нее файл gz и затем введите hdiutil makehybrid -o ~/make.iso ~/MAKE -iso -joliet. Полученный смонтированный образ просто содержит файл make-4.1.tar.gz .

Разрешения iso, смонтированные в файловой системе виртуальной машины Fedora, должны быть:

# ls -al /dev/cdrom*
lrwxrwxrwx 1 root root 3 [date] /dev/cdrom -> devicename #e.g. sr0 or something similar, it depends on your distro and the /etc/fstab file inside the VM

и файл make-4.1.tar.gz "изнутри" доступен для чтения всем.

После копирования файла gz в папку пользователя на виртуальной машине разархивируйте / разархивируйте его.

klanomath
источник
0

Чтобы уменьшить ответ Klanomath на рецепт:

mkdir -p /tmp/MAKE
rm -f ./make.iso
cp make-4.1.tar.gz /tmp/MAKE/make-4.1.tar.gz
hdiutil makehybrid -o ./make.iso /tmp/MAKE/ -iso -joliet

Затем подключите make.isoвиртуальную машину.

Будьте в курсе условий гонки при использовании /tmp. Они не волнуют меня, потому что это для локального тестирования, а не для производства.

Nohillside
источник