Производит ли CPIO зависимые от платформы архивы?
Я сделал архив CPIO со следующей командой на Solaris 11 (SPARC):
find . | cpio -ov >/tmp/myarchive.cpio
Я скопировал его на компьютер под управлением Intel Solaris 11 и попытался извлечь с помощью следующей команды
cpio -icvdu < myarchive.cpio
Это дает мне следующую ошибку:
cpio: Not a cpio file, bad header.
1 errors
Хеш MD5SUM совпадает, и я могу извлечь его на другом компьютере SPARC.
Мой вопрос, производит ли CPIO зависимый от платформы вывод? Есть ли способ конвертировать его?
Я не могу использовать TAR в данный момент, потому что каталог, который я архивирую, имеет длинные символические ссылки, которые пропускаются командой TAR
2 ответа
Если команды в кавычках копируются и вставляются правильно, это кажется ошибкой при выборе флагов - вы не создали архив с опцией "-c" (используйте переносимый формат ASCII), но вы ожидаете, что формат для чтения архива.
Я решил проблему, используя GNU CPIO и опцию -c (использовать старый переносимый формат ASCII) при создании архива. Я предполагаю, что опция -c также работает для Solaris CPIO.