Linux-admin-system-updates
Linux Admin-システムアップデート
CentOS 7システムは3つの方法で更新できます-
- 手動で
- 自動的に *重大なセキュリティ問題のために手動で更新し、自動更新を構成します
実稼働環境では、実稼働サーバー用に手動で更新することをお勧めします。 または、少なくとも更新計画を確立して、管理者が業務に不可欠なサービスを保証できるようにします。
単純なセキュリティ更新プログラムは、管理者によるアップグレードと再構成を必要とする一般的なアプリケーションで再帰的な問題を引き起こす可能性があります。 そのため、最初に開発サーバーとデスクトップでテストする前に、実稼働環境で自動更新をスケジュールすることに疲れてください。
CentOS 7を手動で更新する
CentOS 7を更新するには、_yum_コマンドに慣れる必要があります。* yum *は、CentOS 7でパッケージリポジトリを処理するために使用されます。 _yum_は一般的に使用されるツールです-
- CentOS 7 Linuxシステムを更新する
- パッケージを検索
- パッケージをインストールする *パッケージに必要な依存関係を検出してインストールする
_yum_を更新に使用するには、CentOSサーバーをインターネットに接続する必要があります。 ほとんどの構成では、ベースシステムをインストールし、_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は、Webサイトでユーティリティを検索し、インストーラーを手動で実行するよりもはるかに簡単です。 また、リポジトリはデジタル署名を使用してパッケージを検証し、yumで信頼できるソースからのものであることを保証します。 新しいリポジトリを信頼するときに信頼性を検証するのは管理者の責任です。 これが、サードパーティのリポジトリにうんざりすることがベストプラクティスと見なされる理由です。
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バージョンではまだテストされていません
Yumは、設定されていない限り、ApacheとPHPを予告なく自動的にアップグレードする場合があります。
5つのシナリオすべてが実行された場合、午前中の大きな頭痛から、ユーザーデータが公開される可能性のあるセキュリティ侵害に至るまで、何でも起こります。 前述の例は完全な種類の嵐ですが、このようなシナリオを展開することは望ましくありません。
更新の再起動および再構成によるダウンタイムが原因でサービスを復元するために必要な時間から収益が失われる可能性があるシナリオにアクセスするのは、管理者次第です。 たとえば、数百万の顧客を抱える1日あたり数百万ドルのeコマースサイトでは、この手法は十分に保守的ではありません。
では、_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_の更新間隔を設定しましょう。
繰り返しますが、自動更新を使用して更新をオンデマンドでインストールするかどうかは両刃の剣である可能性があり、一意の状況ごとに管理者が考慮する必要があります。