Почему tar не распознает файлы .iso, хотя в документации сказано, что должен?

man tarговорит, что реализация OS X tarдолжна иметь возможность извлекать файлы .iso.

tar создает файлы потокового архива и управляет ими. Эта реализация может извлекать файлы из образов компакт-дисков tar, pax, cpio, zip, jar, ar и ISO 9660 и создавать архивы tar, pax, cpio, ar и shar.

Однако tarдает мне следующую ошибку:

$ tar -xvf test.iso
tar: Unrecognized archive format
tar: Error exit delayed from previous errors.

Что с несоответствием?

.iso создается из .dmg с помощью hdiutilутилиты Apple. powerisoможет извлечь его без проблем.

У меня ОС Х 10.7.4. tar --versionотчеты bsdtar 2.8.3 - libarchive 2.8.3.

Ответы (1)

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

я использовал hdiutil convert -format UDTO -o foo foo.dmg. Я не вижу способа уточнить желаемый формат вывода. Я постараюсь найти еще несколько файлов .iso для тестирования.
Я протестировал его еще с парой файлов, и они молча провалились. Сообщений об ошибках не было, но он ничего не извлекал. Вы уверены, что используете ту же версию tarи OS X, что и я?