我们有非常老的 FreeBSD 构建系统 (6.3),我们使用它来保持与我们的专有二进制文件的系统库的向后兼容性,并避免在每个 FreeBSD 版本上进行构建。
问题:从技术上来说,是否可以安装全新的 FreeBSD 11.x 并在其上保留旧系统?或者会因系统调用不兼容而出现问题?
我认为我记得一些(据称是破坏性的)内核接口更改,其大小约为time_t
。是否有任何此类更改会破坏依赖旧系统调用的旧二进制文件,或者是否仅影响与(相应的)新系统调用绑定的新建/链接的二进制文件?
答案1
我认为 bhyve 是你的第一选择,而不是最后的选择。如果你将构建环境封闭起来,那么你将在 6.3 世界和库以及 11.x 内核上测试你的产品。然而,你的客户将运行 6.3 世界/库和 6.3 内核。
我认为 6.3 和 11.x 内核之间的差异会随着时间的推移而增大。这可能会导致以下情况:您的测试监狱的 11.x 内核运行正常,但客户的 6.3 内核却运行不正常,因此您无法重现客户的问题报告。
在我看来,bhyve 是完成这项工作的最佳工具。