Debian 升级后,我可以使用我的工具而不重建它们吗?

Debian 升级后,我可以使用我的工具而不重建它们吗?

我想知道在 Debian 从 Jessie 升级到 Stretsh 后,是否必须重新编译/重建我之前从源代码构建的工具。

我的主要工具是:

  • Omnet++网络模拟器(基于Eclipse)
  • 相扑交通模拟器
  • 用Python编写的各种程序
  • 旧版本的 R (2-11)

我认为我的工具会全部损坏,因此我需要重建它们,但是当我尝试其中一些(Omnet ++,Sumo)时,似乎它们工作正常,但我不确定它们的连贯性,

那么,如果它有效,是否有可能以不一致的方式工作?

答案1

这取决于工具使用的库,以及 Stretch 中是否有新版本,以及这些新版本的 ABI 是否向后兼容。这也意味着可能只有程序中的某些功能出现问题。

我不知道你的工具,但一般来说,安全的方法是重新编译所有内容。

答案2

它们是否有效取决于这些工具所依赖的东西(它们能否在新操作系统中找到它们所依赖的东西)。

但由于它们仍然使用基于 Debian 的操作系统,因此它们应该可以继续工作而不会出现任何问题。

答案3

如果自定义编译的程序在升级后的操作系统中启动,则意味着它找到了必要的动态库,并且在这方面应该可以正常工作。 (由于其他不兼容性,它仍然可能失败,但重新编译无济于事。)但是,它可能在过时的包中找到了其动态库,这些包不是新操作系统的一部分,但在新操作系统期间不会自动删除。升级。因此,如果您稍后删除这样一个过时的包(包管理前端通常以某种方式突出显示它们),您的自定义编译程序将会崩溃。 (但是,如果您通过自定义包安装它,并且依赖于现已过时的库包,则包管理器会发出警告。)您可以使用该ldd工具发现动态库依赖项,然后使用 找到相应的包dpkg -S,最后找到它们的状态经过apt-cache policy

长期使用过时的软件包会带来安全风险,因为它们不会收到安全更新。启用适当的 LTS 存储库通常会在一段时间内对此有所帮助。特别是,Xerces 在这方面的代码质量并没有得到很好的声誉。

相关内容