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