Product SiteDocumentation Site

6.8. 保持系统在最新状态

Debian 发行版永远处于动态、持续变化中。大部分的变化在 测试版不稳定版 中,即使是 稳定版 也随时在更新中,主要是安全相关的修订。不论运行哪个版本,都需保持在最新的版本,才能用到最新的状态及修订错误。
最好定期运行升级与更新,虽然很琐碎却是必要的。幸运的是,这种重复性的工作可以自动运行,有很多工具可以使用。
第一个工具是 apticron,位于同名软件包中。主要作用是每日运行一个脚本 (经由 cron)。这个脚本更新可用软件包清单,若已安装的软件包不在此清单内,则发送电子邮件列出该软件包清单,并指出在新版中可用的软件包。明显地,此软件包的对象是 Debian 稳定版 的用户,对其他版本的用户而言,此清单太长了。取得可更新清单后,apticron 自动下载它们。不会安装它们 — 那是管理者的权限与工作 — 但已下载的软件包可以本地 (于 APT 缓存内) 安装,速度快多了。
同时管理多部电脑的管理者一定很感谢被通知有待升级的软件包,但升级本身还是很繁琐的工作。可以弃用定期升级:使用 systemd 计时组件或 cron。如果 systemd 未安装,有 /etc/cron.daily/apt-compat 脚本 (在 apt 软件包内) 可用。此脚本是由 cron 每日运行 (且不是交互式)。以 APT 配置变量 (保存在 /etc/apt/apt.conf.d/10periodic中的文件) 控制其运作。主要的变量是:
APT::Periodic::Update-Package-Lists
此选项允许您指定软件包列表刷新的频率(以天计)。apticron 也可以在无此变量的前提下运行,因为 apticron 本来就已在运行中。
APT::Periodic::Download-Upgradeable-Packages
此选项指定频率 (以天计),此时实际地下载软件包。同样地,apticron用户不需。
APT::Periodic::AutocleanInterval
此选项包括 apticron 没有的功能。指定过时软件包 (未被任何发行版引用) 移出 APT 缓存的时机。如此一来,APT 缓存的容量就保持在合理的范围,不必再担心其工作负担。
APT::Periodic::Unattended-Upgrade
启用此选项后,每日脚本将执行 unattended-upgrade(来自 unattended-upgrades 软件包) — 如其名称所示 — 会自动升级软件包(默认只运行安全性升级,但可以在 /etc/apt/apt.conf.d/50unattended-upgrades 中定制)。注意,这个选项能通过运行 dpkg-reconfigure -plow unattended-upgrades 来设置。如果安装了 apt-listbugs,它会阻止那些被报告了严重 bug 的软件包的自动升级。
其他选项允许你更精细地控制缓存清理动作。这里未完全列出,但可以在 /usr/lib/apt/apt.systemd.daily 脚本中查看。
这些工具在服务器上运作得很好,但桌面用户通常习惯于交互式系统。gnome-software 软件包在桌面环境的通知栏提供了一个更新提示图标,点击该图标则会运行升级界面。你可以浏览可用的升级,阅读相关软件包的简短说明以及对应的 changelog 条目,逐一确认是否升级。
使用 gpk-update-viewer 升级

图 6.3. 使用 gpk-update-viewer 升级

这个工具不再安装于默认的 GNOME 桌面中。新的哲学是安全升级应该自动安装,或者在后台安装,或者最好在你关闭计算机时,以免干扰任何正在运行的应用程序。