答案1
系统的不同部分使用不同的压缩格式和存档格式:
gzip(压缩):
$ file - < /initrd.img
/dev/stdin: gzip compressed data, last modified: Wed Feb 22 01:10:21 2017, from Unix
cpio(存档):
$ gunzip < /initrd.img | file -
/dev/stdin: ASCII cpio archive (SVR4 with no CRC)
bzip2(压缩):
$ sudo cat /vmlinuz | file -
/dev/stdin: Linux kernel x86 boot executable bzImage, version 4.4.0-64-generic (buildd@lgw01-56) #85-Ubuntu SMP Mon Feb 20 11, RO-rootFS, swap_dev 0x6, Normal VGA
ar
(档案):Debian 软件包实际上是ar
档案,它们本身包含各种压缩档案:
$ ar t /var/cache/apt/archives/zlib1g-dev_1%3a1.2.8.dfsg-2ubuntu4_amd64.deb
debian-binary
control.tar.gz
data.tar.xz
tar(档案):control.tar.gz
和data.tar.xz
当然是tar
档案,分别是 gzip 压缩和 xz 压缩。
xz 背后的压缩格式是 LZMA,7z 也使用该格式,因此您可以免费获得 7z 创建(但不能获得 7z 读取)。
因此,Ubuntu 支持多种压缩格式(大多数发行版都如此),因为它们都很常用。
为什么所有这些都在被使用?
歇斯底里的葡萄干。
(历史原因。)
为什么所有这些组件都要转而使用其他东西,有可能破坏向后兼容性,并且会带来极大的麻烦,而得到的可能只是微小的好处?
顺便说一下,Windows 本身支持多种归档和压缩格式:
答案2
在当今系统中,许多文件都经过了压缩,包括音频、图像、视频和游戏。但对于数据文件,有很多可用的选项。原因是随着时间的推移,人们开发了新的算法,以实现更快的速度或更好的压缩率。
从 (Lifehacker.com - 压缩一堆文件的最佳方法是什么)有一篇很好的文章:
- 压缩:它不会大量压缩您的文件,但速度超快,您无需安装任何额外软件。非常适合 Windows 和 Mac 用户。
- 压缩包:与 zip 类似,tar.gz 文件的速度也非常快。它是 Linux 用户最常用的选项,并且文件压缩后的大小也比 zip 略小。非常适合 Linux 用户。Tar。
- bzip2:对于 Linux 用户来说,这是另一个不错的选择;tar.bzip2 比 tar.gz 慢一点,但可以将文件压缩为更小的尺寸。
- 7z:我们最喜欢的压缩工具 7-Zip 使这种存档格式变得流行起来。它的速度很慢,但压缩文件的速度却快得惊人。如果您需要非常小的文件,这是最好的选择。7-Zip 仅适用于 Windows,但您也可以获得适用于 Mac OS X 和 Linux 的命令行工具。7z 是唯一可以将文件拆分为多个存档并将它们重新组合在一起的压缩格式之一。这似乎违反直觉,但如果您尝试通过电子邮件等方式发送许多大文件(这会限制您发送的文件的大小),它就很有用
- 压缩文件:这种格式与 7z 相当。7z 通常具有更好的压缩率,但也有一些明显的例外,例如 mp3,在这种情况下 RAR 会压缩成较小的文件。但是,唯一可以创建 RAR 文件的软件(WinRAR)是共享软件,并且仅适用于 Windows。您可以在 Mac 和 Linux 上解压缩 RAR 文件,但不能创建它们。RAR 还可以将压缩档案拆分成多个部分。