在 debian(或 raspbian)上,有时“测试”缺少软件包或依赖项,因为它仍在开发中,这与“稳定”不同,通常一切都是超级兼容/稳定的。
作为过去的解决方法,我短暂地切换回“稳定”以安装“测试”下不可用的某些缺失的东西,然后切换回源。
为什么不一直启用它们(两者)?安装/升级时除了可能不兼容之外还有其他缺点吗?
Debian 示例:
deb https://deb.debian.org/debian/ stable main contrib non-free non-free-firmware
deb https://deb.debian.org/debian/ stable-updates main contrib non-free non-free-firmware
deb https://security.debian.org/debian-security stable-security/updates main contrib non-free non-free-firmware
deb https://deb.debian.org/debian/ testing main contrib non-free non-free-firmware
deb https://deb.debian.org/debian/ testing-updates main contrib non-free non-free-firmware
deb https://security.debian.org/debian-security testing-security/updates main contrib non-free non-free-firmware
树莓派示例:
deb [ arch=armhf ] https://raspbian.raspberrypi.com/raspbian/ bookworm main contrib non-free rpi
deb [ arch=armhf ] https://raspbian.raspberrypi.com/raspbian/ testing main contrib non-free rpi
附:
通常全新安装的功能是不带 tls 的“http”,因此不是“https”。为什么是这样?
如果您正在跟踪测试,那么始终启用以前的稳定存储库与根据需要启用它之间没有太大的实际区别:
apt upgrade
是安全的);真正的问题就变成了是否建议运行一个混合了稳定版和测试版软件包的系统。这是不受欢迎的(但混合测试和不稳定则不然)。特别是,您面临安装来自稳定版本的软件包的风险,该软件包已从测试中删除,因为已知它会导致当前测试状态出现问题;有时会发生这种情况,尤其是在重大过渡期间,并且由不稳定的软件包的较新版本修复。然而,由于您正在跟踪测试,所以理想情况下您也关注 Debian 下一版本的开发(通过遵循
debian-devel
,现在不是很忙);通常会在那里讨论此类转变(有时不是提前,而是在有人注意到出现问题后不久)。最终,当测试中缺少软件包时,是否从稳定版安装软件包取决于您。如果软件包仍在积极维护中,等待几天通常意味着修复版本可用。如果不是,或者它已被删除,您需要弄清楚为什么它不在测试中,并确定这是否对稳定的包有任何影响。您可以查看包裹跟踪器以查找相关信息。
(我使用混合存储库,但我不是一个很好的例子,因为我比大多数人更熟悉 Debian 依赖问题。)
就纯文本 HTTP 与 TLS 而言,Debian 默认配置为不使用 TLS 的原因是它没有添加任何特别有价值的东西:包完整性是通过其他方式(带外)保证的,而 TLS与存储库交互时不提供机密性(每次下载的大小足以准确地确定您正在下载的内容)。TLS 具有不可忽略的成本,无论是在镜像上的 CPU 方面,还是因为它限制了缓存的使用。
1 这可能看起来不公平,但是虽然稳定版本确实应该可以使用而无需关注软件包安装和升级(即Debian 试图不辜负用户可以盲目信任其稳定版本的期望),但测试主要是开发的地方下一个版本即将发布,预计用户会更加关注。