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