我想知道,在Debian从Jessie升级到Stretsh之后,我是否需要重新编译/重新构建以前从源代码构建的工具。
我的主要工具是:
我认为我的工具都会被破坏,因此我需要重建它们,但当我尝试其中一些工具(Omnet++,Sumo)时,它们似乎工作得很好,但我不确定它们的一致性,
那么,如果它有效,它是否有可能以不一致的方式工作呢?
发布于 2018-02-18 11:39:12
这取决于工具所使用的库,以及这些新版本的扩展版是否有新版本,以及这些新版本的ABI是否向后兼容。这也意味着它可能只是程序中的一些功能被破坏了。
我不知道你的工具,但一般来说,安全的方法是重新编译所有的东西。
发布于 2018-02-18 11:38:09
它们能否工作取决于这些工具依赖于什么(它们能在新操作系统中定位它们所依赖的东西吗)。
但是由于他们仍然是基于Debian的操作系统,他们应该继续工作,没有任何问题。
发布于 2018-02-19 07:54:37
如果自定义编译程序在升级后的操作系统中启动,这意味着它找到了必要的动态库,在这方面应该可以正常工作。(由于其他不兼容的原因,它仍可能失败,但重新编译无助于此。)然而,它可能已经在过时的包中找到了它的动态库,这些包不是新操作系统的一部分,但在升级过程中并没有被自动删除。因此,如果您稍后删除这样一个过时的包(包管理前端通常会以某种方式突出显示它们),您的自定义编译程序就会中断。(如果您通过一个依赖于现已过时的库包的自定义包安装它,则包管理器将发出警告。)您可以使用ldd工具发现动态库依赖项,然后使用dpkg -S查找相应的包,最后通过apt-cache policy查找它们的状态。
长期使用过时的包是一种安全风险,因为它们不接收安全更新。启用适当的LTS回购通常在一段时间内对此有所帮助。特别是,在这方面,Xerces在代码质量方面还没有得到良好的声誉。
https://unix.stackexchange.com/questions/424936
复制相似问题