我正在使用服务器(debian 7),并且当前正在运行 cron-apt,以便在有新的升级可用时向我发送电子邮件。
当显示新升级时,运行以下命令是否安全?
sudo apt-get dist-upgrade
升级之前我应该做任何检查吗?
我有点担心每次收到电子邮件时简单地升级所有内容可能会导致失败。
答案1
有一个包可以做到这一点;-)。
也cron-apt
,可以配置为自动执行某些升级,另一个有用的包是unattended-upgrades
其设计目的是自动安全地应用安全更新。
除此之外,作为埃拉希尔说自动运行并不安全dist-upgrade
,但是每次有东西需要升级时手动运行就足够安全了,只要你不盲目回答“是”。
答案2
sudo apt-get dist-upgrade
运行起来非常安全,因为它不会对系统做任何事情,而是停下来要求您确认;)您必须添加一个-y
开关,该开关旨在用于无人值守升级,并让您假设您总是回答“是”对问题:sudo apt-get -y dist-upgrade
.手册页指出
如果发生不良情况,例如更改保留的软件包、尝试安装未经身份验证的软件包或删除重要的软件包,则 apt-get 将中止
但在无人值守的情况下运行 dist-upgrade 总是存在风险,因此您可能需要避免这种情况。
您始终可以通过添加开关来检查 apt 会做什么-s
,如下所示sudo apt-get -s dist-upgrade
:这会切换到模拟模式,在该模式下不进行任何更改,您可以安全地查看 apt 对系统所做的所有更改。
还有一种更保守的 apt 运行模式,即apt-get upgrade
. apt-get 的手册页非常清楚地说明了它的作用:
检索并升级当前安装的可用新版本的软件包;在任何情况下都不会删除当前安装的软件包,也不会检索和安装尚未安装的软件包。当前安装的软件包的新版本如果不更改另一个软件包的安装状态就无法升级,将保留其当前版本。
在我最初的回答中,我以某种方式假设你将通过 cron 运行 dist-upgrade,但在仔细阅读后,情况似乎并非如此。不过,我将相关段落作为一般性评论:
不建议sudo apt-get -y dist-upgrade
通过 cron 运行,特别是如果您的 apt 源恰好指向测试分支(这通常不应该发生在服务器上,尤其是在生产中),因为您最终可能会得到一个无法使用的系统。如果您使用 Debian 的稳定分支,那么您相对安全,但我仍然建议您参加升级。
无论如何,如果您正在进行要执行重大更改的发行版升级,您应该始终有一个备份。万一。