📜  Linux管理员-系统更新

📅  最后修改于: 2020-10-31 13:39:21             🧑  作者: Mango


CentOS 7系统可以通过三种方式进行更新-

  • 手动地
  • 自动地
  • 手动更新以解决主要安全问题并配置自动更新

在生产环境中,建议为生产服务器手动更新。或者至少建立一个更新计划,以便管理员可以确保对业务运营至关重要的服务。

一个简单的安全更新可能会导致需要管理员进行升级和重新配置的常见应用程序引起递归问题。因此,在先在开发服务器和台式机中进行测试之前,就厌倦了计划生产中的自动更新。

手动更新CentOS 7

要更新CentOS 7,我们将要熟悉yum命令。 yum用于处理CentOS 7中的软件包存储库。yum是常用的工具-

  • 更新CentOS 7 Linux系统
  • 搜索包裹
  • 安装套件
  • 检测并安装软件包所需的依赖关系

为了使用yum进行更新,您的CentOS服务器将需要连接到Internet。大多数配置将安装一个基本系统,然后使用yum查询主CentOS存储库中软件包的其他功能并应用系统更新。

我们已经使用yum安装了一些软件包。使用yum时,您始终需要以root用户身份进行操作。或具有root访问权限的用户。因此,让我们搜索并安装一个易于使用的文本编辑器nano

[root@centos rdc]# yum search nano
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.rackspace.com
 * epel: mirror.chpc.utah.edu
 * extras: repos.forethought.net 
 * updates: repos.forethought.net 
====================================================================== 
      N/S matched: nano 
======================================================================
nano.x86_64 : A small text editor
nodejs-nano.noarch : Minimalistic couchdb driver for Node.js
perl-Time-Clock.noarch : Twenty-four hour clock object with nanosecond precision
 Name and summary matches only, use "search all" for everything.
 
[root@centos rdc]#

现在,让我们安装nano文本编辑器。

[root@centos rdc]# yum install nano
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.keystealth.org
 * epel: pubmirror1.math.uh.edu
 * extras: centos.den.host-engine.com
 * updates: repos.forethought.net
Resolving Dependencies
--> Running transaction check
---> Package nano.x86_64 0:2.3.1-10.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================  
Package                             Arch
Version                          Repository                            Size  
================================================================================  
 Installing: 
 nano                               x86_64
 2.3.1-10.el7                    base                                  440 k
 
Transaction Summary
Install  1 Package
Total download size: 440 k
Installed size: 1.6 M
Is this ok [y/d/N]: y
Downloading packages:
nano-2.3.1-10.el7.x86_64.rpm
| 440 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 Installing : nano-2.3.1-10.el7.x86_64
1/1  
 Verifying  : nano-2.3.1-10.el7.x86_64
1/1  
Installed: 
 nano.x86_64 0:2.3.1-10.el7
 
Complete!

[root@centos rdc]#

我们已经安装了nano文本编辑器。与在网站上搜索实用程序并手动运行安装程序相比,IMO这种方法要容易得多。此外,存储库使用数字签名来验证软件包,以确保它们来自受信任的yum来源。信任新存储库时,由管理员来验证真实性。这就是为什么厌倦第三方存储库被视为最佳实践的原因。

百胜餐饮还可以用于删除包装。

[root@centos rdc]# yum remove nano 
Loaded plugins: fastestmirror, langpacks 
Resolving Dependencies 
--> Running transaction check 
---> Package nano.x86_64 0:2.3.1-10.el7 will be erased 
--> Finished Dependency Resolution

Dependencies Resolved 

现在,让我们检查更新。

[root@centos rdc]# yum list updates
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.keystealth.org
 * epel: pubmirror1.math.uh.edu
 * extras: centos.den.host-engine.com
 * updates: repos.forethought.net
Updated Packages
NetworkManager.x86_64           1:1.4.0-17.el7_3       updates
NetworkManager-adsl.x86_64      1:1.4.0-17.el7_3       updates
NetworkManager-glib.x86_64      1:1.4.0-17.el7_3       updates
NetworkManager-libnm.x86_64     1:1.4.0-17.el7_3       updates
NetworkManager-team.x86_64      1:1.4.0-17.el7_3       updates
NetworkManager-tui.x86_64       1:1.4.0-17.el7_3       updates
NetworkManager-wifi.x86_64      1:1.4.0-17.el7_3       updates
audit.x86_64                    2.6.5-3.el7_3.1        updates
audit-libs.x86_64               2.6.5-3.el7_3.1        updates
audit-libs-python.x86_64

如图所示,我们有几十个更新要安装。实际上,由于我们尚未配置自动更新,因此总共大约有100个更新。因此,让我们安装所有未决的更新。

[root@centos rdc]# yum update
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.usc.edu
 * epel: pubmirror1.math.uh.edu
 * extras: repos.forethought.net
 * updates: repos.forethought.net
Resolving Dependencies
--> Running transaction check
---> Package NetworkManager.x86_64 1:1.4.0-14.el7_3 will be updated
---> Package NetworkManager.x86_64 1:1.4.0-17.el7_3 will be an update
 selinux-policy            noarch      3.13.1102.el7_3.15      updates     414 k
 selinux-policy-targeted   noarch      3.13.1102.el7_3.15      updates     6.4 M 
 systemd                   x86_64      21930.el7_3.7           updates     5.2 M 
 systemd-libs              x86_64      21930.el7_3.7           updates     369 k 
 systemd-python            x86_64      21930.el7_3.7           updates     109 k 
 systemd-sysv              x86_64      21930.el7_3.7           updates     63 k 
 tcsh                      x86_64      6.18.01-13.el7_3.1      updates     338 k 
 tzdata                    noarch      2017a1.el7              updates     443 k 
 tzdata-java               noarch      2017a1.el7              updates     182 k 
wpa_supplicant             x86_64      1:2.021.el7_3           updates     788 k  

Transaction Summary 
=============================================================================== 
  Install   2 Packages 
  Upgrade  68 Packages 
Total size: 196 M 
Total download size: 83 M 
Is this ok [y/d/N]:

按下“ y”键后,将开始更新CentOS 7。 yum更新时经历的一般过程是-

  • 检查当前包
  • 在存储库中查找更新的软件包
  • 计算更新软件包所需的依赖关系
  • 下载更新
  • 安装更新

现在,让我们确保我们的系统是最新的-

[root@centos rdc]# yum list updates 
Loaded plugins: fastestmirror, langpacks 
Loading mirror speeds from cached hostfile 
 * updates: mirror.compevo.com

[root@centos rdc]#

如您所见,没有列出更新。

为YUM配置自动更新

如前所述,在企业环境中,自动更新可能是也可能不是首选的安装方法。让我们看一下使用yum配置自动更新的步骤。

首先,我们安装一个名为yum-cron的软件包。

[root@centos rdc]# yum -y install yum-cron
Install  1 Package
Total download size: 61 k
Installed size: 51 k
Downloading packages:
yum-cron-3.4.3-150.el7.centos.noarch.rpm
|  61 kB  00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : yum-cron-3.4.3-150.el7.centos.noarch
1/1
  Verifying  : yum-cron-3.4.3-150.el7.centos.noarch
1/1

Installed: 
 yum-cron.noarch 0:3.4.3-150.el7.centos
 
Complete!

[root@centos rdc]#  

默认情况下, yum-cron将仅下载更新,而不安装更新。是否自动安装更新取决于管理员。最大的警告是:某些更新将要求系统重新启动。同样,某些更新可能需要更改配置,然后服务才能再次运行。

更新依赖关系可能在以下情况下产生递归问题-

  • yum建议对特定库进行更新

  • 该库仅支持Apache Server 2.4,但我们拥有服务器2.3

  • 我们的商务网站依赖特定版本的PHP

  • 为该库安装的新版本Apache需要升级PHP

  • 我们的生产Web应用程序尚未通过较新的PHP版本进行测试

百胜可能会继续前进,并自动升级Apache和PHP,除非另行通知,除非另行通知。

如果所有5种情况都发生了,那么可能会导致各种事情,从早晨的头疼到可能泄露用户数据的安全性受到损害。尽管前面提到的例子是一场完美的风暴,但我们绝不希望出现这种情况。

由于更新重新启动和重新配置可能导致停机,管理员需要根据恢复服务所需的时间来访问可能造成潜在收入损失的方案。对于每天有数百万客户的电子商务网站来说,这种做法可能不够保守。

现在,我们将yum-cron配置为自动安装系统更新。

[root@centos rdc]# vim /etc/yum/yum-cron.conf
# Whether updates should be applied when they are available.  Note
# that download_updates must also be yes for the update to be applied.
apply_updates = yes

我们想要将apply_updates = no更改为apply_updates = yes 。现在让我们为yum-cron配置更新间隔。

同样,是否使用自动更新和按需安装更新可能是双刃剑,管理员需要针对每种独特情况来考虑。