如何在 CentOS 7 上安装更新

保持 CentOS 系统的最新状态,安装最新的安全更新是整个系统安全性中最重要的部分之一。如果您未使用最新的安全修补程序更新操作系统的软件包,则您的计算机将容易受到攻击。

推荐的方法是使用自动化更新程序 yum-cron 。另一种选择是手动更新系统。

在本教程中,我们将向您展示如何在 CentOS 7 上手动更新系统包。相同的说明适用于 CentOS 6 。

先决条件

要安装和更新软件包,您需要以 root 用户身份或具有 sudo 权限的用户身份登录。

更新 CentOS 上的软件包

RPM 是 Red Hat 及其衍生产品(如 CentOS) 使用的包管理程序。

Yum 是 CentOS 中的默认包管理器工具。它用于从官方 CentOS 存储库以及其他第三方存储库安装,删除,下载,查询和更新软件包。

在运行更新之前,您可以使用以下命令检查可用更新:

sudo yum check-update

输出将包含可用于更新的所有包的列表:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.s.uw.edu
 * centos-sclo-rh: centos.s.uw.edu
 * centos-sclo-sclo: centos.s.uw.edu
 * epel: mirror.cherryservers.com
 * extras: centos.s.uw.edu
 * updates: centos.s.uw.edu

bind-libs-lite.x86_64                    32:9.9.4-74.el7_6.2             updates
bind-license.noarch                      32:9.9.4-74.el7_6.2             updates
curl.x86_64                              7.29.0-51.el7_6.3               updates
device-mapper.x86_64                     7:1.02.149-10.el7_6.8           updates
device-mapper-event.x86_64               7:1.02.149-10.el7_6.8           updates
device-mapper-event-libs.x86_64          7:1.02.149-10.el7_6.8           updates
device-mapper-libs.x86_64                7:1.02.149-10.el7_6.8           updates

要更新单个程序包,请使用 yum install 命令,后跟要更新的程序包的名称。例如,要仅更新 curl 您要运行的包:

sudo yum install curl

Yum 将为您提供将要更新的软件包的摘要,并提示您进行确认。输入 y 进行更新。

Dependencies Resolved

================================================================================
 Package         Arch           Version                   Repository       Size
================================================================================
Updating:
 curl            x86_64         7.29.0-51.el7_6.3         updates         269 k
Updating for dependencies:
 libcurl         x86_64         7.29.0-51.el7_6.3         updates         222 k

Transaction Summary
================================================================================
Upgrade  1 Package (+1 Dependent package)

Total download size: 492 k
Is this ok [y/d/N]:

要更新所有包,请使用以下 yum update 命令:

sudo yum update

该命令将更新存储库,并为您提供可以更新的所有软件包的列表。提示输入 y 时继续。

禁用更新某些包

有时您可能希望将程序包限制为更新为较新的版本。 Yum 插件 versionlock 允许您将包锁定到特定版本。

默认情况下不安装该插件,因此首先需要安装它:

sudo yum install yum-plugin-versionlock

在安装过程中,将在系统上创建两个配置文件,这些文件存储在 /etc/yum/pluginconf.d 目录中。配置文件 versionlock.conf 和 versionlock.list 包含锁定包的文件。默认情况下,此文件中未列出任何包。

要锁定软件包的版本,您可以手动在文件中添加软件包名称,也可以使用 yum versionlock 命令后跟软件包名称。例如,为了防止所有 PHP 包(以 “php-” 开头的所有包)被更新,您将运行:

sudo yum versionlock php-*

这会将 PHP 包锁定到当前版本。

查看 Yum 日志

yum 安装和更新的软件包的历史记录记录在 /var/log/yum 文件中。您可以使用 cat 或者 tail 命令查看最新记录:

sudo tail /var/log/yum.log

输出将包含有关软件包安装和更新的记录:

Jul 23 16:00:04 Installed: 7:squid-3.5.20-12.el7_6.1.x86_64
Jul 31 22:27:16 Updated: libcurl-7.29.0-51.el7_6.3.x86_64
Jul 31 22:27:16 Updated: curl-7.29.0-51.el7_6.3.x86_64

结论

安装更新并使 CentOS 系统保持最新非常简单,但如果您管理多台 CentOS 计算机,可能会非常耗时,有时您可能会忽略重要更新。最好的选择是设置自动更新。

如果您有任何疑问,请在下面留言。

相关推荐