きさま!見ているなッ!!

CentOSにyumでパッケージをインストールする

  • 2019-06-16
  • 2019-08-15
  • Linux

CentOSでは、基本的に「yum(Yellowdog Updater Modified)」コマンドを使用して、パッケージを管理します。

「rpm(RedHat Package Manager)」コマンドでもパッケージ管理できますが、「yum」は、パッケージの依存関係を考慮して、インストールやアップデートをしてくれます。

「yum」も内部的には「rpm」を実行しています。
なので、「yum」でインストールできないものがあったら「rpm」を使うといった運用でよいと思います。

yumコマンド

基本的なコマンドをまとめておきます。
他のオプションは、「man yum」で確認してもらえると助かります。

パッケージ操作系

コマンド説明
yum install <パッケージ名>登録
yum update <パッケージ名>更新
yum remove <パッケージ名>削除
yum search <検索文字列>検索

パッケージ確認系

コマンド表示されるパッケージ
yum listインストール可能・インストール済みパッケージ
yum list installedインストール済みパッケージ
yum list updatesアップデート可能パッケージ
yum list available利用可能パッケージ
yum list extras利用不可パッケージ

yumでパッケージをインストールしてみる

実際に、「yum」コマンドを使用してパッケージをインストールしてみましょう。

インストールするパッケージ説明
p7zip暗号化や圧縮機能を備えたファイルアーカイバ。Windowsだと7-Zipでお馴染み。

リポジトリのインストール

# yum search p7zip
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ty1.mirror.newmediaexpress.com
 * extras: ty1.mirror.newmediaexpress.com
 * updates: ty1.mirror.newmediaexpress.com
警告: 一致するものが見つかりません: p7zip
No matches found
# 

「p7zip」がリポジトリに存在するか確認します。
デフォルトのリポジトリには存在しないようです。

# yum repolist all | grep 有効
base/7/x86_64                    CentOS-7 - Base                    有効: 10,019
extras/7/x86_64                  CentOS-7 - Extras                  有効:    409
updates/7/x86_64                 CentOS-7 - Updates                 有効:  2,076
# 

デフォルトのリポジトリを確認します。

「EPEL」がないので、リポジトリのインストールから始めます。
※「EPEL」には便利なパッケージが多数含まれていますので、特に制約がなければ追加しておきましょう。

# yum install epel-release
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ty1.mirror.newmediaexpress.com
 * extras: ty1.mirror.newmediaexpress.com
 * updates: ty1.mirror.newmediaexpress.com
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ epel-release.noarch 0:7-11 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

===========================================================================================================================
 Package                           アーキテクチャー            バージョン                リポジトリー                 容量
===========================================================================================================================
インストール中:
 epel-release                      noarch                      7-11                      extras                       15 k

トランザクションの要約
===========================================================================================================================
インストール  1 パッケージ

総ダウンロード容量: 15 k
インストール容量: 24 k
Is this ok [y/d/N]: y
Downloading packages:
epel-release-7-11.noarch.rpm                                                                        |  15 kB  00:00:05     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : epel-release-7-11.noarch                                                                   1/1 
  検証中                  : epel-release-7-11.noarch                                                                   1/1 

インストール:
  epel-release.noarch 0:7-11                                                                                               

完了しました!
# 

「yum install epel-release」でインストールします。

# yum repolist all | grep 有効
base/7/x86_64                 CentOS-7 - Base                       有効: 10,019
epel/x86_64                   Extra Packages for Enterprise Linux 7 有効: 13,232
extras/7/x86_64               CentOS-7 - Extras                     有効:    409
updates/7/x86_64              CentOS-7 - Updates                    有効:  2,076
# 

「EPEL」が追加されていることが確認できますね。

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

お待たせしました。それでは、「p7zip」をインストールしましょう。

# yum search p7zip
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ty1.mirror.newmediaexpress.com
 * epel: ftp.jaist.ac.jp
 * extras: ty1.mirror.newmediaexpress.com
 * updates: ty1.mirror.newmediaexpress.com
=================================================== N/S matched: p7zip ====================================================
p7zip-plugins.x86_64 : Additional plugins for p7zip
p7zip.x86_64 : Very high compression ratio file archiver
p7zip-doc.noarch : Manual documentation and contrib directory
p7zip-gui.x86_64 : 7zG - 7-Zip GUI version

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

今度は、「p7zip」がリポジトリに存在していますね。

# yum install p7zip

「yum」コマンドでインストールします。途中の設問は、「y」を入力してください。
特に問題なくインストールされたかと思います。

p7zipを使ってみる

折角なので、「p7zip」を使ってみましょう。

# ll
合計 8
-rw-r--r-- 1 root root 7  6月 16 18:52 test1.txt
-rw-r--r-- 1 root root 7  6月 16 18:52 test2.txt
# 

「test1.txt」と「test2.txt」をアーカイブしてみます。

# 7za a -mem=AES256 -p11111 -tzip -mx=4 -sdel test.zip test1.txt test2.txt

7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=ja_JP.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs Intel(R) Core(TM) i7-7800X CPU @ 3.50GHz (50654),ASM,AES-NI)

Scanning the drive:
2 files, 14 bytes (1 KiB)

Creating archive: test.zip

Items to compress: 2

    
Files read from disk: 2
Archive size: 396 bytes (1 KiB)
                       
Everything is Ok
# 

暗号化方式は「AES256」で「test.zip」が作成されます。

# ll
合計 4
-rw-r--r-- 1 root root 396  6月 16 18:54 test.zip
# 

アーカイブ元ファイルは削除するオプション(-sdel)だったので、「test1.txt」と「test2.txt」は削除されています。

# 7za x -p11111 test.zip

7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=ja_JP.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs Intel(R) Core(TM) i7-7800X CPU @ 3.50GHz (50654),ASM,AES-NI)

Scanning the drive for archives:
1 file, 396 bytes (1 KiB)

Extracting archive: test.zip
--
Path = test.zip
Type = zip
Physical Size = 396

Everything is Ok

Files: 2
Size:       14
Compressed: 396
# 

「test.zip」を解凍してみましょう。

# ll
合計 12
-rw-r--r-- 1 root root 396  6月 16 18:54 test.zip
-rw-r--r-- 1 root root   7  6月 16 18:52 test1.txt
-rw-r--r-- 1 root root   7  6月 16 18:52 test2.txt
# 

無事に解凍できましたね。

まとめ

今回は、RedHat系のLinuxディストリビューションでは必ず使用するパッケージ管理コマンド「yum」について、簡単に説明しました。

他にも「bash-completion」や「yum-utils」パッケージは便利ですので、インストールされていなければ、「yum」でインストールしてみてください。

yumでパッケージをインストールする
最新情報をチェックしよう!