![在“sources.list”中包含来自不同发行版的源是否安全?](https://linux22.com/image/212528/%E5%9C%A8%E2%80%9Csources.list%E2%80%9D%E4%B8%AD%E5%8C%85%E5%90%AB%E6%9D%A5%E8%87%AA%E4%B8%8D%E5%90%8C%E5%8F%91%E8%A1%8C%E7%89%88%E7%9A%84%E6%BA%90%E6%98%AF%E5%90%A6%E5%AE%89%E5%85%A8%EF%BC%9F.png)
我正在运行 Debian 测试(bookworm
在撰写本文时),并且我需要一个仅在较旧的 Debian 10 中可用的软件包(buster
;今天它的编码为“旧稳定”)。
我设法将相关buster
行添加到sources.list
、更新并安装该包。但后来我担心这可能会给系统带来一些不一致,所以删除了该行。
拥有main
来自两个不同发行版的两个组件是否安全?发行版版本之间的距离很可能会有所不同,因为该软件包未包含在 Debian 11 中。执行此操作的建议方法是什么?
答案1
答案2
只要两个发行版不会在同一个包上发生冲突,它就是安全的。不,我们无法预测是否会发生此类冲突。
将特定于应用程序的源添加到源列表中通常是安全的。例如,由于我使用 VS Code,因此我经常在列表中保留 Microsoft 的存储库。我相对确定它不会与 Ubuntu 的存储库冲突,这是我机器上的主要存储库。
但对于您所描述的情况(使用同一发行版的另一个版本的应用程序),下载单个应用程序包并在本地安装会更容易、更安全。它很可能需要一些其他库,但将从主库(您真正的主“主”发行版)中获取它们,因此不会发生冲突。
下载特定软件包的唯一缺点:它不会自动更新。如果开发人员发布了新版本,您将必须自己手动进行更新。在这种情况下,这将是受控下载,您将看到新版本的应用程序需要哪些附加包,因此冲突的可能性会降到最低。
如果您从旧版本的发行版中获取应用程序,则可能需要现代发行版中不存在的旧库。在这种情况下,知道需要哪个包,您可以重复该过程:下载该附加包,在本地安装它,确保依赖项不存在冲突。尝试再次安装该应用程序。如有必要,请重复。