Ste*_*sky 8 linux ubuntu disk-usage
我正在开发一种构建 Pacman 包的软件(基本上是带有一些特殊元数据文件的 tarball)。测试套件构建一些包,然后将生成的包与记录的预期结果进行比较。
包中记录的元数据中的字段之一是包的安装大小,通过du -s --apparent-size
在对其进行 tar'ing 之前在根目录上运行来确定。
所有这些都可以在我开发的本地 Arch Linux 机器上完美运行。每次我运行测试时,软件包,包括它们的安装大小(甚至不是千字节,字节!)都会准确地重现。
现在,我还在 Travis 上启用了此测试,它在基于 Ubuntu-12.04 的容器上运行(据我从 Travis 文档中了解)。在那里,测试大部分时间都通过了。大多数时候。有时,它计算的安装尺寸会降低 80-99%。
这是一个失败的测试示例:https : //travis-ci.org/holocm/holo/builds/89326780(之前的测试成功了。)相关差异之一是
@@ -37,7 +37,7 @@
pkgdesc = my foo bar package
url =
packager = Unknown Packager
- size = 37728
+ size = 1464
arch = any
license = custom:none
replaces = foo-bar<2.1
Run Code Online (Sandbox Code Playgroud)
令人费解的是,它只在某些时候发生,没有明显的模式。测试像往常一样排列相同的文件,du -s --apparent-size
在结果树上运行,并得出一个完全错误的结果。我曾尝试在 Ubuntu 12.04 VM 上重现此问题,虽然我已经看到它出现在那里一两次,但我也看不到任何可以帮助我重现问题的模式。
也许这里有人知道是什么导致了这个问题?
编辑:哦,实际上我观察到了一种模式。du
每个测试用例运行一次。当第一个测试用例失败时,此运行中的所有测试用例都将失败。
嗯,@derobert 提示我将此作为答案
\n\n\n\n您遇到的问题是 AUFS...检查与它相关的问题,检查它不在最新内核中的原因,检查它的“稳定性”,检查它的“POSIX完整性”。\xe2\x80\x93 Hvisage 1 月 24 日\n 20:55
\n