CPIO 是否生成依赖于平台的档案?

CPIO 是否生成依赖于平台的档案?

我在 Solaris 11 (SPARC) 上使用以下命令创建了一个 CPIO 存档:

 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 命令会跳过这些链接

答案1

如果引用的命令被正确复制和粘贴,这似乎是标志选择的一个错误 - 您没有使用“-c”选项创建档案(使用 ASCII 可移植格式),但您告诉它期望使用该格式来读取档案。

答案2

我在创建存档时使用 GNU CPIO 和 -c(使用旧 ASCII 可移植格式)选项解决了这个问题。我认为 -c 选项也适用于 Solaris CPIO。

相关内容