Debian / Ubuntu:为无人值守升级启用“dist-upgrade”行为?

我们有一个定制的Ubuntu发行版,一个含一些定制软件包的仓库,我们在很多系统上运行无人值守升级。 我们希望能够做的是提供一个我们的软件包的更新,它可能有一个新的依赖尚未安装。

我通常理解,防止自动发生,使用dist-upgrade将允许它。

我怎样才能获得这种行为,所以我们的无人值守升级工作方式相同?

理想情况下,我们只想安装新的软件包,如果我们的软件包之一导致它需要(作为直接依赖或孩子等)

我应该知道任何潜在的问题或增加破损的风险。 这些系统通常不容易通过控制台访问,因此任何导致需要手动干预的问题都是非常糟糕的!

为什么不build立一个运行apt-get update && apt-get dist-upgrade变体的cron作业? 也许你的意思是说你只想要一个软件包的dist-upgrade行为,但我认为不值得专门解决这个问题。 在稳定的Ubuntu版本中, dist-upgrade应该很less提供新的软件包,如果是这样的话,可能有很好的理由,比如安全更新。

正如所说的, unattended-upgrades显然不支持它,但你可以很容易地使用cron-apt得到这种行为。 cron-apt运行shell代码,所以你可以改变它的configuration来调用dist-upgrade,就像在命令行中一样。

我应该知道任何潜在的问题或增加破损的风险。

切换到“dist-upgrade”之后,如果你使用Ubuntu的回购版,那么我相信你会开始获得你之前没有的内核更新。

不幸的是内核更新是你描述的情况的一个风险因素。

在你的情况下,它可能是有意义的a)configuration你的回购优先和b)从ubuntu回购testing的内核复制到它。

您也可以尝试固定/保持内核软件包。 我发现这个问题是不同的工具尊重不同的引脚/保持系统,或者没有。 即apt-get vs aptitude vs synaptic。 希望你不需要使用突触,你可以在apt-get和aptitude中设置pin / hold来保证安全。