yumでシステムアップデートする(カーネルは除く)

Linux入門マニュアルが無料ダウンロードできます。

ダウンロードはこちらをクリック

yumはrpmをインストールしたり、アップデートするコマンドです。
このyumを使用することで、Linuxシステムにインストールされている
すべてのパッケージをアップデートすることができます。

■yumのサブコマンド
yum check-update アップデート可能なパッケージを調査します。
yum update インストールされている全てのパッケージをアップデートします。
yum update パッケージ 指定したパッケージのみアップデートします。
yum upgrade システムをアップグレードします。
(CentOS7.1→CentOS7.4)
実質yum updateと同じ

yum updateにおいて、カーネルアップデートは行わないほうが無難です。
なぜなら、カーネルアップデートを行うと、
システムの再起動やサービスの停止措置が必要だったり、
最悪カーネルパニックが発生して、システムが起動しない場合があるからです。


■カーネルを除外してアップデートする
yum -y updateの後ろに「--exclude=kernel*」を指定して実行することで
カーネルをアップデート対象から除外することできます。

# yum -y update --exclude=kernel*

ただし、この方法だと毎回「--exclude=kernel*」を指定する必要があり、
指定し忘れてしまう危険性があります。

そこで、/etc/yum.confにカーネルアップデートを除外する設定を行うのがオススメです。

# vi /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
exclude=kernel* ←追加します。

追加したら「:wq」で保存終了します。

・カーネルのバージョンを確認します。
# uname -r
3.10.0-229.el7.x86_64

・CentOSのバージョンを確認します。
# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)

・アップデート可能なパッケージを確認します。
アップデートリストを確認して、カーネルが対象になっていない事を確認します。
# yum check-update
jasper-libs.x86_64 1.900.1-31.el7 base
kbd.x86_64 1.15.5-13.el7 base
kbd-legacy.noarch 1.15.5-13.el7 base
kbd-misc.noarch 1.15.5-13.el7 base
kexec-tools.x86_64 2.0.14-17.el7 base
kmod.x86_64 20-15.el7_4.2 updates
kmod-libs.x86_64 20-15.el7_4.2 updates
kpartx.x86_64 0.4.9-111.el7 base
kpatch.noarch 0.4.0-1.el7 base
krb5-devel.x86_64 1.15.1-8.el7 base
krb5-libs.x86_64 1.15.1-8.el7 base
langtable.noarch 0.0.31-3.el7 base

・アップデートを実施します。
# yum update

・アップデート後のカーネルのバージョンを確認します。
# uname -r
3.10.0-229.el7.x86_64

・アップデート後のCentOSのバージョンを確認します。
# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)  ←CentOS7.4にアップグレードしています。

・アップデート後にアップグレード可能なパッケージが存在しないことを確認します。
対象パッケージがなければ問題ありません。
# yum check-update

・ログファイルでもアップデート状況の確認が行なえます。
# less /var/log/yum.log
Sep 22 15:37:14 Updated: libgcc-4.8.5-16.el7.x86_64
Sep 22 15:37:15 Installed: 1:grub2-common-2.02-0.64.el7.centos.noarch
Sep 22 15:37:15 Updated: centos-release-7-4.1708.el7.centos.x86_64
Sep 22 15:37:16 Updated: setup-2.8.71-7.el7.noarch
Sep 22 15:37:19 Updated: filesystem-3.2-21.el7.x86_64
Sep 22 15:37:19 Updated: 1:emacs-filesystem-24.3-20.el7_4.noarch
Sep 22 15:37:19 Updated: libreport-filesystem-2.1.11-38.el7.centos.x86_64
Sep 22 15:37:19 Updated: 32:bind-license-9.9.4-51.el7.noarch
Sep 22 15:37:19 Updated: langtable-0.0.31-3.el7.noarch
Sep 22 15:37:20 Updated: langtable-data-0.0.31-3.el7.noarch
Sep 22 15:37:20 Installed: 1:grub2-pc-modules-2.02-0.64.el7.centos.noarch
Sep 22 15:37:20 Installed: firewalld-filesystem-0.4.4.4-6.el7.noarch
Sep 22 15:37:20 Updated: 2:vim-filesystem-7.4.160-2.el7.x86_64


カーネルアップデートを行わない場合でも、
何らかの不具合が発生する可能性がありますので、
アップデートを行う際は、事前に必ずテスト環境での検証を行うことが必要です。

yum upgradeは、「yum update --obsoletes」と同じ扱いになります。
CentOSでは、/etc/yum.confにobsoletes=1と設定されているため、
デフォルトで--obsoletesが有効の状態になっています。
結果的に、「yum update」も「yum upgrade」も同じ扱いになります。




P.S
yumでシステムアップデートする(カーネルは除く)など、より高度な現場のLinux技術をマスターしたいなら

詳しくはこちらをクリック

P.P.S
Linux入門マニュアルが無料ダウンロードできます。

ダウンロードはこちらをクリック


<<関連記事>>
・LinuxのOS種類とバージョンを確認する
・Perlモジュールを一覧表示する
・Linuxのシステムクロック、ハードウェアクロック
・Linuxログの調査をする
・システム終了を中止する