文章目录
{ .ImgAlt }}

保证你的 CentOS 系统更新到最新是整个系统安全中最重要的部分之一。如果你不经常使用最新的系统安全补丁来更新系统,你的机器将会很容易被攻击。

推荐的方式就是使用yum-cron自动更新。另外一个选项,就是手动更新整个系统。

在这个指南中,我们将会为你展示,如何在 CentOS 7 上手动更新系统软件包。CentOS 6 上也同样适用。

一、前提条件

以 root 或者其他有 sudo 权限的用户身份登录,安装并且更新软件包。

二、在 CentOS 上升级软件包

RPM 是 RedHat 以及它的衍生版本 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

你将会得到将会被升级的软件包的概要,并被提示确认信息。回复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 install命令:

腾讯云学生服务器_学生机_云服务器优惠套餐-云+校园 - 腾讯云
sudo yum check-update

这个命令将会更新软件源,并且给出一列可以被升级的所有软件包。当被提示时,输入y继续。

三、 阻止软件包被更新

有时候你想要严格限制软件包,不想它被更新到更新的版本。这个 YUM 插件versionlock允许你锁定软件包到某个指定的版本。

这个插件默认没有被安装,因此,首先,你需要去安装它。

sudo 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 机器,你要检查一个重要更新可能会非常耗时间。最好的选项就是设置自动更新。




如果你有任何疑问,请通过以下方式联系我们:

微信:

微信群: 加上面的微信,备注微信群

QQ: 3217680847

QQ 群: 82695646 雪梦科技交流群

原文 :https://linuxize.com/post/how-to-install-updates-on-centos/

    版权声明:本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。知识共享许可协议
阿里云: 爆款云服务器低至1折,1核1G 1M 仅17月/月

相关推荐