目录
Debian 的目标之一是提供一致的升级路径和安全的升级过程。我们尽力让用户可以平滑地升级到新版本。如果升级过程有一些重要的注意事项,软件包会提示用户,并且常常会对可能出现的问题提供解决方案。
您也应该阅读发行说明,里面描述了特定的升级过程的细节。发行说明可以在 Debian 网站的 https://www.debian.org/releases/stable/releasenotes 阅读,也可以在 Debian CD、DVD 和蓝光光碟中找到。
最直接的方法是进入 Debian 档案站点,在各种目录中找到需要的文件,下载它,最后用 dpkg
进行安装。注意
dpkg
会原地安装升级文件,即使系统正在运行。有时候,一个软件包的新版本会依赖另外一个软件包的新版本,这种情况下,安装就会失败,除非已经安装了所依赖的那个软件包。
很多人觉得这种方式太耗时间了,因为 Debian 更新得实在太快——每周一般有数十个或更多的软件包被上传。新版本发布前这个数字可能更大。为了处理大量更新的软件包,许多人倾向于使用更加自动化的方法。有多个不同的软件包可以实现这一目的:
aptitude 是 Debian 系统推荐的软件包管理器,在第 8.1.3 节 “aptitude”中有描述。
在使用 aptitude 进行升级之前,您需要编辑
/etc/apt/sources.list
以完成设置过程。如果您希望升级到 Debian
的最新稳定版本,您可以使用类似如下的软件源:
http://deb.debian.org/debian stable main contrib
The mirror https://deb.debian.org/ is backed by a content-delivery network and requests to it will be directed to the closest instance to you. If you have a faster Debian mirror close to you, you can replace deb.debian.org with that one. See the mirror list at https://www.debian.org/mirror/list for more information.
或者您也可以使用 httpredir.debian.org 重定向服务,它的设计目标是解决选择 Debian 镜像的难题。它使用用户的地理位置信息和其他信息,以选择下载文件的最佳镜像。要使用它,请使用类似如下的软件源:
http://httpredir.debian.org/debian stable main contrib
更多信息请阅读 sources.list(5) 手册页。
要从命令行升级系统,请运行
aptitude update
然后运行
aptitude full-upgrade
回答可能出现的问题,然后您的系统就会被升级。
注意 aptitude 不是进行 Debian GNU/Linux 大版本升级的推荐工具。这种情况请使用 apt-get。进行大版本升级,请先阅读发行说明。该文档详细描述了从上一个大版本升级的推荐步骤,以及升级前需要考虑的已知问题。
更多详细信息,请阅读
aptitude(8)
手册页,以及 /usr/share/aptitude/README
文件。
aptitude 的一个替代品是 apt-get,它是基于 APT 的命令行工具(之前在第 8.1.2 节 “APT”介绍过)。
apt-get 是基于 APT 的命令行软件包管理工具,提供了安装和升级软件包的简单而安全的方式。
要使用 apt-get,请编辑 /etc/apt/sources.list
文件完成设置,就像第 9.1.1 节 “aptitude”中一样。
然后执行
apt-get update
然后运行
apt-get dist-upgrade
回答任何可能出现的问题,然后您的系统就会被升级。也请阅读 apt-get(8) 手册页,以及第 8.1.2 节 “APT”。
如果您希望使用 CD/DVD/BD 来安装软件包,您可以使用 apt-cdrom。更多详情,请阅读发行说明中的“从光学介质中添加 APT 源”一节。
请注意,当您获取和安装软件包时,在 /var 目录中可能会保留这些软件包。为了防止您的分区空间不足,记得使用 apt-get
clean
和 apt-get autoclean
删除多余的文件,或者把它们移动到其他地方(提示:使用 apt-move
)。
不是。即使是在正在运行的系统中,软件包也可以原地升级。Debian 有一个 start-stop-daemon
程序,在软件包升级时,如有必要,会调用它来停止和重启正在运行的进程。
不需要。如果您已经下载了这些文件到您的磁盘上,那么在您安装完软件包后,您就可以从系统中删除这些文件,例如,可以执行 aptitude
clean
。
dpkg 的 --log
选项使
dpkg 记录软件包的状态改变和动作。它既记录对 dpkg 的调用(例如
2005-12-30 18:10:33 install hello 1.3.18 2.1.1-4
),也记录结果(例如
2005-12-30 18:10:35 status installed hello 2.1.1-4
)。如果您想记录所有的 dpkg 调用(包括来自前端,如 aptitude 的调用),您可以将
log /var/log/dpkg.log
添加到您的 /etc/dpkg/dpkg.cfg
文件中。请确保配置了日志文件的周期性滚动。如果您使用
logrotate,您可以创建
/etc/logrotate.d/dpkg
文件,内容为
/var/log/dpkg { missingok notifempty }
关于 dpkg 日志的更多信息可以在 dpkg(1) 手册页中找到。
aptitude 会将它打算进行的软件包安装、卸载和升级操作记录到
/var/log/aptitude
中。注意这些操作的结果不会被记录到该文件!
记录您的操作的另一种方式是在 script(1) 程序中进行您的软件包管理会话。
可以。您可以使用 cron-apt;这一工具使用 cron 任务定期升级系统。它默认只更新软件包列表并下载新的软件包,但不安装它们。
注意:不建议在 testing 或 unstable 系统上配置软件包的自动升级,因为有可能出现意料之外的行为,或者在不通知您的情况下卸载软件包。