linux - 为什么 Ubuntu 和 VM 上的 tar 文件大小不同?

标签 linux ubuntu compression virtual-machine tar

我执行了相同的脚本,该脚本将在 Windows7 上运行的 Ubuntu 虚拟机以及仅安装了 Ubuntu 的另一台计算机上生成 .tgz 文件。

我比较了我的linux计算机和VM生成的tgz文件,生成的文件在VM上大约大1MB。

但是,当我解压该文件时,tgz 中的所有文件在两个系统上的大小完全相同。

我在下面添加了我能想到的所有信息,这些信息可以帮助任何人弄清楚为什么 .tgz 在两个系统上大小不同。


有关虚拟机的信息:
Ubuntu 14.04.5 LTS 32 位
版本12.4
代号精确
tar版本:1.27.1


有关Linux计算机的信息:
Ubuntu 14.04.1 LTS 64 位
版本14.4
代号可信赖
tar版本:1.27.1

两台计算机之间唯一的区别是安装的操作系统,它们是相同的型号,具有相同的配置。

谢谢。

最佳答案

操作系统、库和/或 tar/gz 可执行文件的不同版本,或者正如 @ThomasDickey 提到的 - 创建存档的上下文都可能导致存档文件的实际内容不同。

如果您想确定文件内容是否相同,只需将其中一个与另一个并排复制并比较它们即可。

即使文件内容完全相同,由于文件系统类型、版本、格式选项(甚至可能是碎片?)等的差异,实际文件大小也可能有所不同。

如果您有并排副本,它们应该具有相同的大小(除非涉及碎片)。

关于linux - 为什么 Ubuntu 和 VM 上的 tar 文件大小不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31323666/

相关文章:

linux one liner,显示匹配模式的文件名

ubuntu - Texmaker 不在 Ubuntu 上编译 latex 文档

python:从压缩文本文件中读取行

c - 字体压缩! RLE 或霍夫曼或什么都没有?

c - 自适应(动态)霍夫曼编码 : encode and decode data from file

linux - Golang 中的 slice 导致空白终端和困惑的线程

java - 在 Linux 中获取用户进程的执行时间

python - 退出并清理 python fork

python - 如何在 Python 中添加 sys.path 的路径?

python - 在 Ubuntu 上安装 python-igraph 时出错(从命令行)