![](https://m.unixlinux.online/article/uploadfiles/202204/2022042508280818.jpg)
CentOSシステムを最新のセキュリティ更新で最新の状態に保つことは、システム全体のセキュリティの最も重要な部分の1つです。オペレーティングシステムのパッケージを最新のセキュリティパッチで更新しないと、マシンは攻撃に対して脆弱になります。
推奨されるアプローチは、yum-cron
を使用して更新を自動化することです。 。もう1つのオプションは、システムを手動で更新することです。
このチュートリアルでは、CentOS7でシステムパッケージを手動で更新する方法を示します。同じ手順がCentOS6にも当てはまります。
前提条件#
パッケージをインストールおよび更新するには、rootまたはsudo権限を持つユーザーとしてログインする必要があります。
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
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 install yum-plugin-versionlock
インストール中に、2つの構成ファイルがシステムに作成され、/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