![为什么有些软件包会从存储库中消失?](https://linux22.com/image/805873/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%9C%89%E4%BA%9B%E8%BD%AF%E4%BB%B6%E5%8C%85%E4%BC%9A%E4%BB%8E%E5%AD%98%E5%82%A8%E5%BA%93%E4%B8%AD%E6%B6%88%E5%A4%B1%EF%BC%9F.png)
我需要安装程序(GSAS 和 EXPGUI) 依赖于 libg2c0 库。此库在 Ubuntu Jaunty (9.04) 之前的存储库中,然后被删除。
解决方法是下载精致包,然后sudo dpkg --force-depends -i libg2c0_3.4.6-8ubuntu2_amd64.deb
。如果发现此解决方案不符合 Ubuntu 的精神(有没有一个词可以形容这一点,就像 Pythonic 与 Python 一样?)
一般来说,从新版本中删除给定软件包的原因是什么?
有没有更好的方法来管理不再受支持的软件包的依赖关系?
答案1
由于不同的原因,软件包在较新的版本中从存储库中删除。
软件包名称通常会引用其版本。在这种情况下,可能存在较新的版本。在这种情况下,您的软件包的依赖项可能需要更新。然而,这是一种替换,而不是纯粹的软件包删除。
当不再有活跃的开发时,软件包通常会被删除,并且它们的状态不再有价值。保留未修复的严重错误的软件包是没有意义的。
另一个原因可能是没有维护者再维护该软件包。Debian 中也可能存在这种情况,因为 Ubuntu 的许多软件包都是从 Debian 同步而来的。这是出于兴趣。如果当前维护者不再有时间或热情,该软件包将被放入孤立软件包列表中。这允许社区查看是否有其他人会接手。如果没有,一段时间后它将被删除,因为假设没有人再对该软件包感兴趣。
在您的特定情况下,GNU Fortran 77 被 GNU Fortran 95 编译器取代。因此,运行时库也被删除了。我不确定这是否对您有帮助,但您的软件包应该可以在新的 Fortran 编译器上运行(如果它是开源的,这应该是可能的)。然后它将使用可用的新库。