「エアコンの安全な修理・適切なフロン回収」はこちら

YUMによるパッケージ管理

YUMによるパッケージ管理

CentOSや、Fedoraには、RPMパッケージの依存関係を自動的に解消してインストールするYUM(Yellow dog Updater Modified)があります。
※Debian GNU/LinuxおよびVine Linuxで採用されているパッケージ管理システム(APTツール)に相当します。

YUMの設定ファイルは、下記から構成されています。
/etc/yum.conf
/etc/yum.repos.d

yum.confのファイル例

[root@Lion ~]# cat /etc/yum.conf
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
[main]cachedir=/var/cache/yum/$basearch/$releaseverkeepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

/etc/yum.repos.dディレクトリ以下には、リポジトリ情報の設定ファイルが保存されています。
パッケージの入手先を増やしたい場合は、リポジトリ情報の設定ファイルを追加します。

[root@Lion ~]# ls -l /etc/yum.repos.d
合計 32
-rw-r--r--. 1 root root 1664 11月 23 2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 11月 23 2018 CentOS-CR.repo
-rw-r--r--. 1 root root 649 11月 23 2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 630 11月 23 2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 11月 23 2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 5701 11月 23 2018 CentOS-Vault.repo
-rw-r--r--. 1 root root 314 11月 23 2018 CentOS-fasttrack.repo

yumコマンドの書式

yum [オプション] コマンド [パッケージ名など]

yumコマンドの基本操作

yum install パッケージ名
(パッケージおよびそのパッケージに必要なパッケージを同時にインストールする)
yum update パッケージ名
(指定したパッケージがインストールされている場合、アップデートする。パッケージを指定しなかった場合はシステム全体がアップデート対象となる)
yum erase パッケージ名
(パッケージをアンインストールする。指定したパッケージに依存するパッケージも削除するかどうかの確認メッセージが表示される)

●yumの主なコマンド

パッケージ操作関係

コマンド 実行内容
install パッケージをインストールする
reinstall パッケージを再インストールする
downgrade パッケージをダウングレードする
erase パッケージを削除する
update システムのパッケージを更新する
update-minimal 「重要な更新」だけを更新する
upgrade 不要になったパッケージを考慮しながらパッケージを更新する
distribution-synchronization 最新の利用可能なバージョンへインストール済みパッケージを同期する
localinstall パッケージファイル(RPMファイル)を指定してインストールする
localupdate パッケージファイル(RPMファイル)を指定してアップデートする

情報関係のコマンド

コマンド 実行内容
info パッケージもしくはパッケージグループの詳細を表示する
list パッケージグループの一覧を表示する
deplist パッケージの依存性の一覧を表示する
groups パッケージグループの情報を表示する
search 指定した文字列でパッケージの詳細を検索する
provides ファイルなどを指定して、該当するファイルを提供するパッケージを検索する
repolist ソフトウェアリポジトリの構成を表示する
version ホストが利用できるリポジトリのバージョンを表示する

メンテナンス関係のコマンド・その他

コマンド 実行内容
check rpmデータベースの問題を確認する
check-update 更新に利用できるパッケージを確認する
clean キャッシュデータを削除する
shell 対話型のシェル(yumシェル)を実行する
updateinfo リポジトリの更新情報を表示する

●yumコマンドの主なオプション

短いオプション 長いオプション 意味
-y --assumeyes 全ての問い合わせに「yes」で応答したものとして実行する
--assumeno 全ての問い合わせに「no」で応答したものとして実行する
-t --tolerant エラーを黙認する
-R 分 --randomwait=分 最大の待ち時間を指定する
-c 構成ファイル --config=構成ファイル 構成ファイルを指定する
--installroot=場所 インストール先を指定する
--downloaddir=場所 ダウンロード先を指定する
--downloadonly ダウンロードだけを行う
-C --cacheonly パッケージの情報をダウンロードせずキャッシュだけを使用する
-x パッケージ --exclude=パッケージ 除外するパッケージを指定する(ワイルドカードも使用可能)
--color=指定 出力メッセージを色付きにするかどうかを「always」「auto」「never」のいずれかで指定する
-q --quiet 実行時にメッセージを出力しない
-v --verbose 詳しいメッセージを出力する

アップデート確認

「yum check-update」を実行すると、インストールされているパッケージの中で、アップデートが存在するパッケージリストが表示されます。

[root@Lion ~]# yum check-update  ←「yum check-update」を実行する
# yum check-update
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jpImageMagick.x86_64 6.7.8.9-15.el7_2 base
ImageMagick-perl.x86_64 6.7.8.9-15.el7_2 base
NetworkManager.x86_64 1:1.4.0-20.el7_3 updates
NetworkManager-libnm.x86_64 1:1.4.0-20.el7_3 updates
NetworkManager-team.x86_64 1:1.4.0-20.el7_3 updates
NetworkManager-tui.x86_64 1:1.4.0-20.el7_3 updates
SDL.x86_64 1.2.15-14.el7 base(中略)yum.noarch 3.4.3-150.el7.centos base
yum-langpacks.noarch 0.4.2-7.el7 base
yum-plugin-fastestmirror.noarch 1.1.31-40.el7 base
yum-utils.noarch 1.1.31-40.el7 base
zip.x86_64 3.0-11.el7 base
zlib.x86_64 1.2.7-17.el7 base
zlib-devel.x86_64 1.2.7-17.el7 base

●パッケージがインストール済みか確認する

パッケージがシステムにインストール済みかを確認するには「list installed 」コマンドを使用します。
下記例では、httpdがインストール済みか確認しています。

[root@Lion ~]# yum list installed httpd
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
インストール済みパッケージ
httpd.x86_64 2.4.6-31.el7.centos @anaconda

●パッケージを検索する

yumコマンドでキーワードを使用してパッケージを検索するには、searchサブコマンドを実行します。
例ではexpectパッケージ一覧を取得しています。

[root@Lion ~]# yum search expect
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
======================================= N/S matched: expect ========================================
pexpect.noarch : Pure Python Expect-like module
expect.x86_64 : A program-script interaction and testing utility
expect-devel.i686 : A program-script interaction and testing utility
expect-devel.x86_64 : A program-script interaction and testing utility
expectk.x86_64 : A program-script interaction and testing utility

●特定のパッケージをアップデートする

特定のパッケージをアップデートするには、updateサブコマンドを指定します。
例では、opensslパッケージをアップデートしています。

[root@Lion ~]# yum update openssl
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ openssl.x86_64 1:1.0.1e-51.el7_2.4 を 更新
---> パッケージ openssl.x86_64 1:1.0.1e-60.el7_3.1 を アップデート
--> 依存性の処理をしています: openssl-libs(x86-64) = 1:1.0.1e-60.el7_3.1 のパッケージ: 1:openssl-1.0.1e-60.el7_3.1.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ openssl-libs.x86_64 1:1.0.1e-51.el7_2.4 を 更新(中略)--> 依存性解決を終了しました。

依存性を解決しました

===================================================
Package アーキテクチャー バージョン リポジトリー 容量
===================================================
更新します:
openssl x86_64 1:1.0.1e-60.el7_3.1 updates 713 k
依存性関連での更新をします:
openssl-devel x86_64 1:1.0.1e-60.el7_3.1 updates 1.2 M
openssl-libs x86_64 1:1.0.1e-60.el7_3.1 updates 959 k

トランザクションの要約
====================================================
更新 1 パッケージ (+2 個の依存関係のパッケージ)

総ダウンロード容量: 2.8 M
Is this ok [y/d/N]:y    ←yを入力する
(以下省略)

●システムアップデートを実行する

「yum update」を実行すると、インストールされている全パッケージが最新版にアップデートされます。

[root@Lion ~]# yum update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: rsync.atworks.co.jp
* base: rsync.atworks.co.jp
* extras: rsync.atworks.co.jp
* updates: rsync.atworks.co.jp
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package ImageMagick.i386 0:6.2.8.0-4.el5_5.3 set to be updated
---> Package NetworkManager.i386 1:0.7.0-10.el5_5.2 set to be updated
---> Package NetworkManager-glib.i386 1:0.7.0-10.el5_5.2 set to be updated
---> Package NetworkManager-gnome.i386 1:0.7.0-10.el5_5.2 set to be updated(中略)--> Running transaction check
---> Package tzdata-java.i386 0:2010l-1.el5 set to be updated
extras/filelists_db | 195 kB 00:00
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================
Package Arch Version   Repository Size
===========================================================
Installing:
kernel i686 2.6.18-194.32.1.el5 updates 17 M
Updating:
ImageMagick i386 6.2.8.0-4.el5_5.3 updates 3.3 M
NetworkManager i386 1:0.7.0-10.el5_5.2 updates 1.0 M
NetworkManager-glib i386 1:0.7.0-10.el5_5.2 updates 82 k
NetworkManager-gnome i386 1:0.7.0-10.el5_5.2 updates 327 k
apr i386 1.2.7-11.el5_5.3 updates 123 k

(中略)

Transaction Summary
===========================================================
Install 2 Package(s)
Upgrade 110 Package(s)

Total download size: 347 M
Is this ok [y/N]:y    ←yを入力する
Downloading Packages:
(1/112): avahi-glib-0.6.16-9.el5_5.i386.rpm | 15 kB 00:00
(2/112): device-mapper-event-1.02.39-1.el5_5.2.i386.rpm | 20 kB 00:00
(以下省略)

●パッケージのアンインストール

パッケージをアンインストールするには、↓のように実行します。
例ではopensslパッケージを削除しています

[root@Lion ~]# yum remove openssl

●グループを表示及びインストール

RPMパッケージは、いくつかのグループに分けることができます。
YUMでは、グループ単位でパッケージをインストールすることができます。
どのようなグループがあるかは「yum grouplist」で確認できます

[root@Lion ~]# yum grouplist
読み込んだプラグイン:fastestmirror, langpacks
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
Available environment groups:
最小限のインストール
Compute Node
インフラストラクチャサーバー
ファイルとプリントサーバー
ベーシック Web サーバー
仮想化ホスト
サーバー (GUI 使用)
GNOME Desktop
KDE Plasma Workspaces
開発およびクリエイティブワークステーション
利用可能なグループ
グラフィカル管理ツール
コンソールインターネットツール
システム管理
システム管理ツール
スマートカードサポート
セキュリティツール
レガシーな UNIX 互換性
互換性ライブラリ
科学的サポート
開発ツール
完了

「ベーシック Web サーバー」関連のパッケージをまとめてインストールする場合

[root@Lion ~]# yum groupinstall "ベーシック Web サーバー"
タイトルとURLをコピーしました