cpio 相对于 tar、zip 等有哪些优点?

cpio 相对于 tar、zip 等有哪些优点?

使用 cpio,您需要将文件列表定向到 cpio 的标准输入中,而使用 tar、zip 等工具,可以递归地归档一个目录(或多个目录)。

我知道归档目录被认为是良好的举止和/或最佳实践,这样如果您将 *.tar 或 *.zip 归档文件提供给其他人,当他们提取它时,他们不会得到散落在各处的文件。放在他们将其解压到的任何目录中。

如果其他归档工具可以同时归档文件和目录,而 cpio 只能归档文件,那么 cpio 的优点和/或用例是什么?

答案1

如果其他归档工具可以同时归档文件和目录,而 cpio 只能归档文件,那么 cpio 的优点和/或用例是什么?

没有任何。 Fedora 的cpio文档不鼓励使用 CPIO:

__WARNING__
       The cpio utility is considered LEGACY based on POSIX specification.  Users are encouraged to use other archiving tools for archive creation.

实际上没有任何优势,除非您需要使用存在 CPIO 但 TAR、mksquashfs 等不存在的系统。 (据我所知,此类系统确实不是存在了近 20 年左右。)

由于遗留原因,某些格式只是停留在 cpio 上; .rpm 就是其中之一。这是您使用 cpio 的唯一原因:一些已有数十年历史的软件希望您这样做。

如果它是遗留的并且不鼓励使用,为什么 LFCS 考试需要它?

考试模仿现实生活,通常在现实和考试之间有很长的延迟。此外,设计测试的人通常都是“老派”,因为他们是那里当时 cpio 是在不同 POSIX 系统之间交换档案的唯一可靠方式。但话又说回来,Stéphane 是对的,Linux initrd 通常是 cpio!

一般来说,“它在测试中,它必须是相关的”本质上并不是……正确的。


通常,ZIP 不是一个选项,因为它根本不支持文件所有权和访问属性。如果您使用的是 MS-DOS,那么它是一个很好的工具,这正是它的用途。即使在现代 Windows 上,文件也具有 ZIP 根本无法表示的更多属性。

相关内容