当我们在一台Linux系统上进行日常工作或者运营,升级软件包是一个非常重要的任务,因为软件包升级可以修复安全漏洞,提高性能,添加新的功能等等。在Linux系统中升级软件包主要有以下几个步骤:
- 更新软件包列表
在升级软件包之前,我们需要先更新软件包列表,以获取最新的软件包信息。不要忘记在升级之前备份数据。
sudo apt update
- 查看可用的更新
运行下面的命令,可以列出所有可用的更新。此时,你可以查看软件包的名称,版本号,升级前和升级后的大小,升级前和升级后的状态。
apt list --upgradable
- 执行软件包升级
一旦你决定要升级哪些软件包,可以使用下面的命令进行升级。
sudo apt upgrade
输入上述命令后,系统会提示你确认软件包的升级。输入“Y”即可开始升级。在升级过程中,系统会显示升级的软件包的名称,升级前和升级后的版本,升级前和升级后的大小以及升级的进度。
示例说明1:升级openjdk-11-jre
在终端中输入以下命令查找openjdk-11-jre的版本信息:
apt-cache policy openjdk-11-jre
运行结果将出现如下信息:
openjdk-11-jre:
Installed: 11.0.9.1+1-0ubuntu1~18.04.1
Candidate: 11.0.10+9-0ubuntu1~18.04.1
Version table:
11.0.10+9-0ubuntu1~18.04.1 500
500 http://cn.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
11.0.9.1+1-0ubuntu1~18.04.1 500
500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages
10.0.2+13-1ubuntu0.18.04.5 500
500 http://cn.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
可以看到 Candidate 版本为 11.0.10+9-0ubuntu1~18.04.1,将 openjdk-11-jre 更新到 Candidate 版本,运行如下命令:
sudo apt-get install openjdk-11-jre=11.0.10+9-0ubuntu1~18.04.1
示例说明2:升级nginx
在终端中输入以下命令查找nginx的版本信息:
apt-cache policy nginx
运行结果将出现如下信息:
nginx:
Installed: 1.14.0-0ubuntu1.7
Candidate: 1.14.0-0ubuntu1.7
Version table:
*** 1.14.0-0ubuntu1.7 500
500 http://cn.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
100 /var/lib/dpkg/status
1.14.0-0ubuntu1 500
500 http://cn.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
可以看到 Candidate 版本和 Installed 版本是一致的,因此不需要升级。如果要升级,可以输入以下命令:
sudo apt-get install nginx
注意,输入此命令时,系统会将nginx的版本更新为最新的,可能会引起修改配置文件的问题。可以在升级之前先备份nginx的配置文件,以便升级后恢复原样。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在Linux系统上升级软件包? - Python技术站