我相信没有官方的方法可以做到这一点,但我希望得到最佳实践建议。
背景:当 Debian 9 推出并且测试解冻(因此成为 v10)时,我认为不稳定的许多软件包将转移到测试中。那时我将想再次开始使用测试,假设我需要的包已包含在内。
所以我的问题是如何优雅地做到这一点?
答案1
如果您想跟踪测试发行版,我强烈建议您混合运行测试版和不稳定版:这将允许您在必要时从不稳定版中提取更新的软件包(例如用于安全修复)。为此,请确保测试(如此命名,而不是特定的版本名称)和不稳定版本在您配置的存储库中可用;然后设置固定,例如在/etc/apt/preferences
:
Package: *
Pin: release a=testing
Pin-Priority: 500
Package: *
Pin: release a=unstable
Pin-Priority: 200
这将导致在测试中跟踪软件包是否可用,如果不可用则不稳定,或者安装的版本比测试中可用的版本更新。随着 Debian 从准备 Stretch 过渡到准备 Buster,并且软件包从不稳定迁移到测试,您的本地安装将逐渐开始跟踪 Buster 而不是不稳定。这避免了需要降级任何东西,并且希望在 Stretch 发布后能够在相对较短的时间内完成 Buster 设置,因为测试和不稳定还没有太大的分歧。 (这将改变非常Stretch 发布后很快,因此请确保在此之前进行设置。)
这种设置可以避免包在测试中有时长时间消失的问题。它还可以轻松地跟踪安全上传到不稳定的内容,使用Paul Wise 的补丁debsecan
。我已经在我的主要设置上运行这个程序很多年了,没有出现任何问题(但话又说回来,我非常熟悉 Debian 的内部工作原理)。法希姆提到的烦恼他的回答主要涉及软件包的新安装,这在纯测试中可能会很麻烦;实际上,它们对于正在运行的系统来说并不是什么大问题。
运行测试和/或不稳定的常见警告适用。您应该确保您熟悉最佳实践。特别是,请确保您了解全部apt-get
在放开之前,希望对升级进行更改。
答案2
当您准备好切换到测试时,我只需将您的源从不稳定切换到测试,或者调整您的偏好。您还需要将不稳定版本高于测试版本的软件包从不稳定版本降级到测试版本。这种降级可能很容易,也可能不容易,但我不认为这是你可以做的其他事情。另一个您没有问过的问题是这是否是一个好主意。我不相信是这样。因为在测试周期后期的大部分时间(或者我听说的)不稳定实际上比测试更可靠。
如果您想询问您的程序是否是个好主意,您可以将该问题添加到当前问题中,或者编写一个单独的问题。我认为前者是合理的。
要降级单个包,请执行以下第一个近似操作
apt-get install pkgname/release
在这里提到的情况下,发布=测试。您可能还需要强制降级其他软件包,具体取决于依赖项。您可以在命令行上将它们指定为附加参数,即
apt-get install pkgname1/release pkgname2/release ...