HOME > Linux技術 リナックスマスター.JP(Linuxマスター.JP) > Linuxtips > Linuxtips, サーバー管理, システム管理, システム管理コマンド > yumでシステムアップデートする(カーネルは除く)
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ログの調査をする
・システム終了を中止する