server-memo.net

yumコマンドの使い方

   

yumについて

yumを使ったパッケージのインストールは、パッケージ間の依存関係を自動的に解決してくれるため、非常に簡単に行えます

yumの使い方

yumの使い方は基本的には下記の通りとなります。
※オプションとパッケージ名については指定しない場合もあります。

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

オプション

全てのオプションを説明すると非常に膨大な数になるため、普段使用しそうなものを抜粋して説明します。

オプション 説明
-y パッケージのインストール・アップデート・アンインストールを時の実行確認の問い合わせに「y」と入力したことになる
-c 設定ファイル 設定ファイルを指定する場合に使用
指定しない場合は「/etc/yum.conf」を使用
-q 実行状況を表示させない
全ての表示をなくすためには「-y」オプションと一緒に使用する必要がある
-v 実行内容の詳細情報を表示
-R 時間(分) タイムアウトの設定を分単位で設定する

コマンドについては使い方ごとに説明していきます。

yumコマンドの使い方

yumのコマンドで普段使用しそうなものを説明していきます。

パッケージのインストール(install)

「-y」オプションを指定することで、

# yum install パッケージ名

複数パッケージを一度に指定

パッケージは下記のように複数指定することも可能です。

# yum install パッケージ名1 パッケージ名2 パッケージ名3

ワイルドカード(*)を使用してパッケージを指定することもできます。

# yum install パッケージ名*

パッケージのアンインストール(remove)

# yum remove パッケージ名

インストールと同様に複数パッケージを指定することができます。

パッケージの再インストール(reinstall)

# yum reinstall パッケージ名

インストール可能なパッケージの一覧表示(list)

# yum list
# yum list パッケージ名

パッケージ名にはワイルドカード(*)の指定もでき、その場合はマッチするすべてのパッケージが表示されます。

# yum list httpd*
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * extras: ftp.nara.wide.ad.jp
 * remi-safe: mirror.innosol.asia
 * updates: ftp.nara.wide.ad.jp
インストール済みパッケージ
httpd.x86_64              2.4.6-40.el7.centos.4       @updates
httpd-tools.x86_64        2.4.6-40.el7.centos.4       @updates
利用可能なパッケージ
httpd-devel.x86_64        2.4.6-40.el7.centos.4       updates
httpd-manual.noarch       2.4.6-40.el7.centos.4       updates

インストール済みパッケージの確認

「yum」でインストールされたパッケージの一覧を表示

# yum list installed

重複パッケージの表示(--showduplicates)

インストール可能なパッケージで複数バージョンがある場合、複数バージョンすべてを表示されます。

パッケージ名を指定しなかった場合は、すべてのパッケージについて表示されます。

# yum --showduplicates list 
# yum --showduplicates list パッケージ名

httpdについて確認した例です。

# yum --showduplicates list httpd
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * extras: ftp.nara.wide.ad.jp
 * remi-safe: mirror.innosol.asia
 * updates: ftp.nara.wide.ad.jp
インストール済みパッケージ
httpd.x86_64          2.4.6-40.el7.centos.4          @updates
利用可能なパッケージ
httpd.x86_64          2.4.6-40.el7.centos            base
httpd.x86_64          2.4.6-40.el7.centos.1          updates
httpd.x86_64          2.4.6-40.el7.centos.4          updates

「利用可能なパッケージ」には3種類のバージョンが表示されていて、現在インストールされている以外にも使用できるバージョンのパッケージがあることが確認できます。

パッケージのアップデート確認(check-update)

パッケージを指定せずに実行すると、すべてのパッケージについてアップデートがあるか確認します。

# yum check-update
# yum check-update パッケージ名

パッケージのアップデート(update)

パッケージを指定せずに実行すると、すべてのパッケージをアップデートします。

# yum update
# yum update パッケージ名

アップデートから除外するパッケージを指定

# yum --exclude=パッケージ名 update

パッケージ名はワイルドカード(*)指定もできます。

セキュリティ関連の更新

パッケージ更新の際に「--security」オプションを指定することで、セキュリティ関連のアップデートのみを対象として、アップデートの確認やパッケージのアップデートすることができます。

セキュリティアップデートのチェック
# yum --security check-update
セキュリティアップデートのみ更新
# yum --security update

セキュリティ関連のみを対象とすることで、パッケージ最新化による不具合発生のリスクを低減させることが出来ます。

このオプションを使用する場合「CentOS 6」では「yum-plugin-security」を別途インストールする必要があります。

# yum install yum-plugin-security

パッケージのダウングレード(downgrade)

バージョンの指定をしない場合は、ひとつ前のバージョンにダウングレードします。

# yum downgrade パッケージ名

ダウングレードを実施する前に「yum --showduplicates list パッケージ名」を実施し、古いバージョンのパッケージの情報を取得します。

今回は「screen」というパッケージを例として、ダウングレードを行っていきます。

# yum --showduplicates list screen
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * extras: ftp.nara.wide.ad.jp
 * remi-safe: mirror.innosol.asia
 * updates: ftp.nara.wide.ad.jp
インストール済みパッケージ
screen.x86_64          4.1.0-0.23.20120314git3c2946.el7_2         @updates
利用可能なパッケージ
screen.x86_64          4.1.0-0.21.20120314git3c2946.el7           base
screen.x86_64          4.1.0-0.23.20120314git3c2946.el7_2         updates

「base」リポジトリにインストールされているバージョンより前のパッケージがあったので、そのバージョンにダウングレードします。

# yum downgrade screen-4.1.0-0.21.20120314git3c2946.el7
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * extras: ftp.nara.wide.ad.jp
 * remi-safe: mirror.innosol.asia
 * updates: ftp.nara.wide.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ screen.x86_64 0:4.1.0-0.21.20120314git3c2946.el7 を ダウングレード
---> パッケージ screen.x86_64 0:4.1.0-0.23.20120314git3c2946.el7_2 を 削除
--> 依存性解決を終了しました。

依存性を解決しました

=============================================================================================================================
 Package              アーキテクチャー     バージョン                                      リポジトリー        容量
==============================================================================================================================
ダウングレード中:
 screen               x86_64               4.1.0-0.21.20120314git3c2946.el7                base               551 k

トランザクションの要約
=============================================================================================================================
ダウングレード  1 パッケージ

総ダウンロード容量: 551 k
Is this ok [y/d/N]: y
Downloading packages:
screen-4.1.0-0.21.20120314git3c2946.el7.x86_64.rpm             | 551 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中   : screen-4.1.0-0.21.20120314git3c2946.el7.x86_64     1/2
  整理中          : screen-4.1.0-0.23.20120314git3c2946.el7_2.x86_64   2/2
  検証中          : screen-4.1.0-0.21.20120314git3c2946.el7.x86_64     1/2
  検証中          : screen-4.1.0-0.23.20120314git3c2946.el7_2.x86_64   2/2

削除しました:
  screen.x86_64 0:4.1.0-0.23.20120314git3c2946.el7_2

インストール:
  screen.x86_64 0:4.1.0-0.21.20120314git3c2946.el7

完了しました!

パッケージグループの一覧表示(grouplist)

# yum grouplist

パッケージグループのインストール(groupinstall)

# yum groupinstall パッケージグループ名

パッケージグループのアンイストール(groupremove)

# yum groupremove パッケージ名

パッケージ情報の確認(info)

# yum info パッケージ名

パッケージ名を指定せずに実行すると、すべてのパッケージ情報が表示されてしまいますので注意してください。

表示例
# yum info wget
読み込んだプラグイン:fastestmirror
Determining fastest mirrors
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * remi-safe: mirror.innosol.asia
 * updates: ftp.jaist.ac.jp
利用可能なパッケージ
名前                : wget
アーキテクチャー    : x86_64
バージョン          : 1.14
リリース            : 10.el7_0.1
容量                : 545 k
リポジトリー        : base/7/x86_64
要約                : A utility for retrieving files using the HTTP or FTP
                    : protocols
URL                 : http://www.gnu.org/software/wget/
ライセンス          : GPLv3+
説明                : GNU Wget is a file retrieval utility which can use either
                    : the HTTP or FTP protocols. Wget features include the
                    : ability to work in the background while you are logged
                    : out, recursive retrieval of directories, file name
                    : wildcard matching, remote file timestamp storage and
                    : comparison, use of Rest with FTP servers and Range with
                    : HTTP servers to retrieve files over slow or unstable
                    : connections, support for Proxy servers, and
                    : configurability.

パッケージの検索(search)

正確なパッケージ名が分からない場合などは、関連するキーワードからパッケージの検索を行うことができます。

# yum search パッケージ名

 - yum