server-memo.net

yumコマンドの使い方

      2017/04/30

yumについて

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

yumの使い方

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

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

オプション

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

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

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

yumコマンドの使い方

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

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

パッケージは「install」の後にパッケージ名を指定することで、インストールすることができます。

# yum install パッケージ名

インストール時に確認される「Is this ok [y/d/N]:」は「-y」オプションを指定することで、「y」を入力したことにすることができます。

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

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

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

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

# yum install パッケージ名*

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

パッケージをアンインストールしたい場合は「remove」を使用することで、指定したパッケージをアンインストールすることができます。(「erase」でもアンインストールできます)

# yum remove パッケージ名

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

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

何らかの理由でパッケージの再インストールを行いたい場合は「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」でインストールされたパッケージの一覧を表示させたい場合は「list installed」を使用します。

# 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 パッケージ名

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

アップデートしたくないパッケージがある場合は「--exclude=パッケージ名」で、アップデート対象から除外することができます。

# 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)

パッケージグループの一覧を表示させたい場合は「grouplist」を使用します。

# yum grouplist

実際に実行してみると、下記のようにパッケージグループが表示されます。

# yum grouplist
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ftp.yz.yamagata-u.ac.jp
 * epel-debuginfo: ftp.yz.yamagata-u.ac.jp
 * epel-source: ftp.yz.yamagata-u.ac.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
Available Environment Groups:
   Minimal Install
   Compute Node
   Infrastructure Server
   File and Print Server
   MATE Desktop
   Basic Web Server
   Virtualization Host
   Server with GUI
   GNOME Desktop
   KDE Plasma Workspaces
   Development and Creative Workstation
Available Groups:
   CIFS file server
   Compatibility Libraries
   Console Internet Tools
   Desktop
   Desktop Platform
   Desktop Platform Development
   Development Tools
   Eclipse
   Educational Software
   Electronic Lab
   FCoE Storage Client
   Fedora Packager
   General Purpose Desktop
   Graphical Administration Tools
   Haskell
   Legacy UNIX Compatibility
   Messaging Client Support
   Messaging Server Support
   Milkymist
   MySQL Database client
   MySQL Database server
   NFS file server
   Network Storage Server
   SNMP Support
   Scientific Support
   Security Tools
   Server Platform
   Server Platform Development
   Smart Card Support
   Storage Availability Tools
   System Administration Tools
   System Management
   TeX support
   TurboGears application framework
   Virtualization
   Web-Based Enterprise Management
   Xfce
   iSCSI Storage Client
Done

パッケージグループのインストール(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