kazmax - Linux で自宅サーバー

yum|パッケージのインストール

yum install コマンドを使うと、指定したパッケージをシステムにインストールする事ができます。

また、yum groupinstall コマンドを使うと、指定したパッケージグループをインストールすることができます。ここでは、yum を使ったパッケージのインストール手順について説明します。

Last Update : 2014年10月03日

yum|パッケージのインストール 項目

  1. パッケージの依存関係について
  2. yum install でパッケージインストール
  3. yum groupinstall でパッケージグループのインストール

1. パッケージの依存関係について

このパッケージをインストールするには、あのパッケージも同時にインストールする必要がある。

このパッケージをアップデートするには、あのパッケージも同時にアップデートする必要がある。

このようなお互いに関係しあっているパッケージのことを依存関係があるといいます。rpmファイルで直接パッケージをインストールする場合は、これらの依存関係を手動で解決していかなければならなかったのですが、yum コマンドは、この依存関係を自動的に調べて解決してくれます。

2. yum install でパッケージインストール

yum install コマンドを使用すると、任意のパッケージをインストールすることができます。単一パッケージのインストールだけではなく、複数のパッケージを同時にインストールすることもできます。

各パッケージの依存関係は、yumコマンドが自動的に解決し、必要なパッケージがあれば、確認後、同時にインストール/アップデートできます。

yum install 書式

# yum install パッケージ名 [パッケージ名2 パッケージ名3...]

※ 複数のパッケージを同時にインストールする場合には、空白でパッケージ名を区切って記入します。

memo

パッケージ名がわからない場合は、先にパッケージ名を調べます。(パッケージの検索

yum install 使用例

# yum install php ← phpをインストールしてみる
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centos.mirror.secureax.com
 * extras: centos.mirror.secureax.com
 * updates: centos.mirror.secureax.com
Setting up Install Process
Resolving Dependencies  ← 依存関係を確認
--> Running transaction check
---> Package php.x86_64 0:5.3.3-27.el6_5.1 will be installed
--> Processing Dependency: php-common(x86-64) = 5.3.3-27.el6_5.1 for package: php-5.3.3-27.el6_5.1.x86_64
--> Processing Dependency: php-cli(x86-64) = 5.3.3-27.el6_5.1 for package: php-5.3.3-27.el6_5.1.x86_64
--> Running transaction check
---> Package php-cli.x86_64 0:5.3.3-27.el6_5.1 will be installed
---> Package php-common.x86_64 0:5.3.3-27.el6_5.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================
 Package                         Arch      Version             Repository    Size
==================================================================================
Installing:
 php                             x86_64    5.3.3-27.el6_5.1    updates      1.1 M

Installing for dependencies:  ← 依存関係解決に必要なパッケージ
 php-cli                         x86_64    5.3.3-27.el6_5.1    updates      2.2 M
 php-common                      x86_64    5.3.3-27.el6_5.1    updates      526 k

Transaction Summary
==================================================================================
Install       3 Package(s)

Total download size: 3.8 M
Installed size: 13 M
Is this ok [y/N]: y ← 上記パッケージをインストールしてもいいなら y を入力
Downloading Packages:
(1/3): php-5.3.3-27.el6_5.1.x86_64.rpm                     | 1.1 MB     00:00
(2/3): php-cli-5.3.3-27.el6_5.1.x86_64.rpm                 | 2.2 MB     00:00
(3/3): php-common-5.3.3-27.el6_5.1.x86_64.rpm              | 526 kB     00:00
----------------------------------------------------------------------------------
Total                                             547 kB/s | 3.8 MB     00:07
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : php-common-5.3.3-27.el6_5.1.x86_64    1/3
  Installing : php-cli-5.3.3-27.el6_5.1.x86_64       2/3
  Installing : php-5.3.3-27.el6_5.1.x86_64           3/3
  Verifying  : php-5.3.3-27.el6_5.1.x86_64           1/3
  Verifying  : php-common-5.3.3-27.el6_5.1.x86_64    2/3
  Verifying  : php-cli-5.3.3-27.el6_5.1.x86_64       3/3

Installed:
  php.x86_64 0:5.3.3-27.el6_5.1

Dependency Installed:
  php-cli.x86_64 0:5.3.3-27.el6_5.1            php-common.x86_64 0:5.3.3-27.el6_5.1

Complete! ← 完了

memo

指定するパッケージ名の部分には、php* のようにワイルドカード(glob 表現)が使えます。

php-ではじまるパッケージを全てインストールする場合

# yum install php-* ←ワイルドカード(glob 表現)で指定
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centos.mirror.secureax.com
 * extras: centos.mirror.secureax.com
 * updates: centos.mirror.secureax.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:5.3.3-27.el6_5.1 will be installed
---> Package php-bcmath.x86_64 0:5.3.3-27.el6_5.1 will be installed
・・・
---> Package enchant.x86_64 1:1.5.0-4.el6 will be installed
---> Package libc-client.x86_64 0:2007e-11.el6 will be installed
---> Package libtidy.x86_64 0:0.99.0-19.20070615.1.el6 will be installed
---> Package postgresql-libs.x86_64 0:8.4.20-1.el6_5 will be installed
---> Package recode.x86_64 0:3.6-28.1.el6 will be installed
---> Package unixODBC.x86_64 0:2.2.14-12.el6_3 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================================
 Package                       Arch         Version                    Repository     Size
===========================================================================================
Installing:
 php                           x86_64       5.3.3-27.el6_5.1           updates       1.1 M
 php-bcmath                    x86_64       5.3.3-27.el6_5.1           updates        36 k
 php-cli                       x86_64       5.3.3-27.el6_5.1           updates       2.2 M
 php-common                    x86_64       5.3.3-27.el6_5.1           updates       526 k
・・・ php-ではじまる名前のパッケージがすべてリストされる
 php-xml                       x86_64       5.3.3-27.el6_5.1           updates       104 k
 php-xmlrpc                    x86_64       5.3.3-27.el6_5.1           updates        54 k
 php-zts                       x86_64       5.3.3-27.el6_5.1           updates       1.2 M
Installing for dependencies:
 aspell                        x86_64       12:0.60.6-12.el6           base          648 k
 autoconf                      noarch       2.63-5.1.el6               base          781 k
・・・
 recode                        x86_64       3.6-28.1.el6               base          712 k
 unixODBC                      x86_64       2.2.14-12.el6_3            base          378 k

Transaction Summary
===========================================================================================
Install      40 Package(s)

Total download size: 14 M
Installed size: 46 M
Is this ok [y/N]:

memo

パッケージ名がわからなくても、バイナリファイルのフルパスがわかっている場合、yum install に指定すれば、yum は、そのバイナリファイルを持つパッケージを検索してインストールしてくれます。

# yum install /usr/bin/php ← バイナリファイルを指定
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centos.mirror.secureax.com
 * extras: centos.mirror.secureax.com
 * updates: centos.mirror.secureax.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-cli.x86_64 0:5.3.3-27.el6_5.1 will be installed
--> Processing Dependency: php-common(x86-64) = 5.3.3-27.el6_5.1 for package: php-cli-5.3.3-27.el6_5.1.x86_64
--> Running transaction check
---> Package php-common.x86_64 0:5.3.3-27.el6_5.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================================
 Package                            Arch       Version             Repository                       Size
=========================================================================================================
Installing: ← yum がパッケージを見つけてくれて、そのままインストールできる
 php-cli                            x86_64     5.3.3-27.el6_5.1    updates                         2.2 M
Installing for dependencies:
 php-common                         x86_64     5.3.3-27.el6_5.1    updates                         526 k

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

Total download size: 2.7 M
Installed size: 9.1 M
Is this ok [y/N]:

3. yum groupinstall でパッケージグループのインストール

パッケージグループとは、共通の目的をもったパッケージのまとまりの事をいいます。

例えば、MySQLに関連したパッケージをまとめてインストールとか、WEBサーバーに関連したパッケージをまとめてインストールするといった事ができます。

memo

パッケージグループの一覧は、yum grouplist で確認します。
全てのパッケージグループを一覧表示する

yum groupinstall 書式

# yum groupinstall グループ名|グループID

※ グループ名か、グループIDのどちらかを指定する

memo

パッケージグループの名前は、パッケージグループを一覧表示するとわかります。

グループIDは、以下のように、yum grouplist に、-v オプションを追加して調べることができます。

# yum -v grouplist  ← -v オプションをつけてコマンドを実行
Loading "fastestmirror" plugin
Loading "refresh-packagekit" plugin
Loading "security" plugin
Config time: 0.024
Yum Version: 3.2.29
Setting up Group Process
Loading mirror speeds from cached hostfile
 * base: centos.mirror.secureax.com
 * extras: centos.mirror.secureax.com
 * updates: centos.mirror.secureax.com
base                                                     | 3.7 kB     00:00
extras                                                   | 3.3 kB     00:00
updates                                                  | 3.4 kB     00:00
rpmdb time: 0.001
group time: 9.503
Installed Groups: ↓ ()かっこの中がグループIDです。
   Perl のサポート (perl-runtime)          ← perl-runtime がグループID
   SNMP サポート (system-management-snmp)  ← system-management-snmp がグループID
   Web サーバー (web-server)               ← web-server がグループID
   ・・・

グループ名の横にでてきた、()の中の文字列ががグループIDです。

perl-runtime、system-management-snmp、web-server などがグループIDです。

yum groupinstall 使用例

グループ名でインストールしてみます。
先にパッケージグループ名を確認します。

# yum -v grouplist FTP* ← FTPのパッケージグループ名を確認
Loading "fastestmirror" plugin
Loading "refresh-packagekit" plugin
Loading "security" plugin
Config time: 0.012
Yum Version: 3.2.29
Setting up Group Process
Loading mirror speeds from cached hostfile
 * base: centos.mirror.secureax.com
 * extras: centos.mirror.secureax.com
 * updates: centos.mirror.secureax.com
rpmdb time: 0.001
group time: 3.246
Available Groups:
   FTP サーバー (ftp-server) ← パッケージグループ名は、"FTP サーバー"

パッケージグループ名は、"FTP サーバー"ということがわかったので、インストールします。

# yum groupinstall "FTP サーバー" ← グループ名を指定
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centos.mirror.secureax.com
 * extras: centos.mirror.secureax.com
 * updates: centos.mirror.secureax.com
Setting up Group Process
Checking for new repos for mirrors
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.x86_64 0:2.2.2-12.el6_5.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================
 Package             Arch       Version             Repository    Size
=======================================================================
Installing:
 vsftpd              x86_64     2.2.2-12.el6_5.1    updates      151 k

Transaction Summary
=======================================================================
Install       1 Package(s)

Total download size: 151 k
Installed size: 331 k
Is this ok [y/N]:

※ グループ名は”(ダブルコーテーションマーク)で囲みます

今度は、グループIDでインストールしてみます。
先にグループIDを確認します。

# yum -v grouplist FTP* ← FTPのパッケージグループIDを確認
Loading "fastestmirror" plugin
Loading "refresh-packagekit" plugin
Loading "security" plugin
Config time: 0.012
Yum Version: 3.2.29
Setting up Group Process
Loading mirror speeds from cached hostfile
 * base: centos.mirror.secureax.com
 * extras: centos.mirror.secureax.com
 * updates: centos.mirror.secureax.com
rpmdb time: 0.001
group time: 3.246
Available Groups:
   FTP サーバー (ftp-server) ← グループIDは、ftp-server

グループIDが、ftp-serverということがわかったので、インストールします。

# yum groupinstall ftp-server ← グループIDを指定
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centos.mirror.secureax.com
 * extras: centos.mirror.secureax.com
 * updates: centos.mirror.secureax.com
Setting up Group Process
Checking for new repos for mirrors
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.x86_64 0:2.2.2-12.el6_5.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================
 Package               Arch      Version           Repository     Size
=======================================================================
Installing:
 vsftpd                x86_64    2.2.2-12.el6_5.1  updates       151 k

Transaction Summary
=======================================================================
Install       1 Package(s)

Total download size: 151 k
Installed size: 331 k
Is this ok [y/N]:
パッケージ管理 関連記事
Linux 基礎知識 関連記事