YUM(Yellow dog Updater Modified)


Linuxサーバー管理者の技術を2日で学べる「初心者向けリナックスセミナー」
30日掛かって覚えるプロの技術を、たった2日間で学習できます。
リナックスマスター2日間集中セミナー【CentOS7版】
 (今すぐ↑をクリックしてください。)

CentOSや、Fedoraには、RPMパッケージの依存関係を自動的に解消してインストールする
YUM(Yellow dog Updater Modified)があります。

※YUMは、Debian GNU/LinuxおよびVine Linuxで採用されている
 パッケージ管理システム(APTツール)に相当します。

もともとはYellow Dog Linuxのパッケージ管理システムとして
開発されたものでYUMの設定ファイルは、下記から構成されています。
/etc/yum.conf
/etc/yum.repos.d

■/etc/yum.confのファイル例
----------------------------------------------------------
$ cat /etc/yum.conf
[main]
cachedir=/var/cache/yum ←パッケージのキャッシュディレクトリ
keepcache=0
debuglevel=2
logfile=/var/log/yum.log  ←ログファイル
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1

# Note: yum-RHN-plugin doesn\'t honor this.
metadata_expire=1h

# Default.
# installonly_limit = 3

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
----------------------------------------------------------

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

$ ls -l /etc/yum.repos.d
合計 16
-rw-r--r-- 1 root root 2245 4月 26 2010 CentOS-Base.repo
-rw-r--r-- 1 root root 626 4月 26 2010 CentOS-Media.repo

YUMを使用して管理を行うにはyumコマンドを使用します。

■yumコマンドの主なサブコマンド
------------------------------------------------------------------------
check-update    アップデート対象のパッケージリストを表示する
update パッケージ名    指定したパッケージをアップデートする
install パッケージ名    指定したパッケージをインストールする
list installed パッケージ名  指定したパッケージがインストール済みか確認する
remove パッケージ名    指定したパッケージをアンインストールする
info パッケージ名    指定したパッケージの情報を表示する
list    全パッケージ情報をリスト表示する
search キーワード    パッケージ情報をキーワード検索する
grouplist    パッケージグループをリスト表示する
groupinstall グループ    指定したグループのパッケージをインストールする
------------------------------------------------------------------------

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

$ su -    ←「su -」を実行する
パスワード:    ←rootパスワードを入力する(表示されません)
# 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.jp

ImageMagick.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がインストール済みか確認しています。

# 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パッケージ一覧を取得しています。

# 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

Name and summary matches only, use "search all" for everything.


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

# 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」を実行すると、インストールされている
全パッケージが最新版にアップデートされます。

# 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パッケージの情報を確認しています。

# yum info openssl
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
Installed Packages
Name : openssl
Arch : i686
Version : 0.9.8e
Release : 12.el5_5.7
Size : 3.3 M
Repo : installed
Summary : The OpenSSL toolkit
URL : http://www.openssl.org/
License : BSDish
Description: OpenSSL ツールキットはマシン間の安全な通信をサポートします。
: OpenSSLには、証明書管理ツールと、各種の暗号化アルゴリズムと
: プロトコルを提供する共有ライブラリが含まれています。

Available Packages
Name : openssl
Arch : i386
Version : 0.9.8e
Release : 12.el5_5.7
Size : 1.4 M
Repo : updates
Summary : The OpenSSL toolkit
URL : http://www.openssl.org/
License : BSDish
Description: OpenSSL ツールキットはマシン間の安全な通信をサポートします。
: OpenSSLには、証明書管理ツールと、各種の暗号化アルゴリズムと
: プロトコルを提供する共有ライブラリが含まれています。


「yum list」を実行すると、リポジトリにあるすべてのパッケージ情報と
インストールされているかどうかを確認できます。

# yum list
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
Installed Packages
Deployment_Guide-ja-JP.noarch 5.2-11.el5.centos installed
GConf2.i386 2.14.0-9.el5 installed
ImageMagick.i386 6.2.8.0-4.el5_5.3 installed
↑「installed」でインストールされているパッケージ

Available Packages
Cluster_Administration-as-IN.noarch 5.2-1.el5.centos base
Cluster_Administration-bn-IN.noarch 5.2-1.el5.centos base
Cluster_Administration-de-DE.noarch 5.2-1.el5.centos base
↑インストールされていないパッケージ


「yum search パッケージ名」を実行すれば、パッケージ情報を
キーワードで検索することもできます。
例ではopensslパッケージの情報を確認しています。

# yum search openssl
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
================= Matched: openssl ==============================
m2crypto.i386 : Support for using OpenSSL in python scripts
openssl.i386 : The OpenSSL toolkit
openssl.i686 : The OpenSSL toolkit
openssl-perl.i386 : Perl scripts provided with OpenSSL
openssl097a.i386 : The OpenSSL toolkit
perl-Net-SSLeay.i386 : Perl extension for using OpenSSL
pyOpenSSL.i386 : OpenSSLライブラリへのPythonラッパーモジュール
xmlsec1-openssl.i386 : XML Security Library の OpenSSL 暗号プラグイン
xmlsec1-openssl-devel.i386 : XML Security Library の OpenSSL 暗号プラグイン


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

# yum remove openssl

※yum removeは関連パッケージを一括で削除してしまうため、
 場合によってはシステムに不具合を起こす可能性があります。
 取扱には充分な注意が必要です。


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

# 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 サーバー」関連のパッケージを
まとめてインストールする場合は、↓のように実行します。

# yum groupinstall "ベーシック Web サーバー"


-------------------------------------------
▼Available environment groups内に含まれるパッケージの表示及びインストール
-------------------------------------------
Available environment groupsのベーシック Web サーバー内に
含まれるパッケージを表示するには、↓のように実行します。

# yum groupinfo "ベーシック Web サーバー"
読み込んだプラグイン: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

Environment Group: ベーシック Web サーバー
Environment-Id: web-server-environment
説明: 静的および動的なインターネットコンテンツの配信を行うサーバーです。
Mandatory Groups:
+base
+core
+web-server
Optional Groups:
+backup-client
+debugging
+directory-client
+guest-agents
+hardware-monitoring
+java-platform
+large-systems
+load-balancer
+mariadb-client
+network-file-system-client
+performance
+perl-web
+php
+postgresql-client
+python-web
+remote-system-management
+web-servlet

「debugging」パッケージをインストールするには、↓のように実行します。

# yum groupinstall "debugging"


---------------------------------------
▼パッケージファイルのダウンロード
---------------------------------------
リポジトリにあるパッケージをダウンロードだけしたい場合は、
yumdownloaderコマンドを使用します。

yumdownloaderコマンドがインストールされていない場合は、
yumdownloaderコマンドが含まれているyum-utilsパッケージを
先にインストールします。

# yum install yum-utils

yum-utilsをインストール後、yumdownloaderを実行します。
例ではEmacsパッケージをダウンロードしています。

# yumdownloader Emacs
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
emacs-21.4-20.el5.i386.rpm | 1.6 MB 00:00



■CentOS7.1サーバー構築マニュアルを無料プレゼント
 「CentOS7.1」のサーバー構築手順、「VMware Player」の
 ダウンロードとインストール手順をまとめたマニュアルを
 無料でプレゼントしています。


 詳しくは↓のページで説明していますので、今すぐクリックしてダウンロードしてください。
 無料マニュアルをダウンロードする  無料マニュアルをダウンロードする