こんにちわ
グローバルセンス株式会社のskanehiraです。
今までは、Linuxの基本的な操作に関する記事を書いてきましたが、
今回はパッケージ管理ツールのyumについて書いて行きます。(ちょっと踏み込んでみる)
最初に
パッケージはWindowsで言うとインストーラーと同じ様なモノです。
インストーラーはソフトウェアをOSにインストールに必要なリソースがバンドルされていて、
ユーザの選択・設定やパスの設定をするだけで、
後は必要なリソースを適切な場所に配置したり必要な処理をしたりします。
Linuxに於いても同様の事が出来ます。
それがパッケージ管理ツールです。
パッケージ管理ツールは
パッケージファイルをよろしくインストールしてくれるありがたい存在です。
ただし一つのパッケージをインストールするのに、
別のパッケージが必要だったりしますので、
インストールしたいソフトウェアによっては本体とは別にたくさんのパッケージが必要だったりします。
ここがちょっと親戚じゃないですよね…
yumとは?
yumは、パッケージ管理ツールの一つです。
もっとも使われているパッケージ管理ツールではないかと思います。
rpmというパッケージ管理ツールもあります。
こちらは拡張子がrpmと付いているファイルがパッケージファイルになります。
rpmコマンドを使ってパッケージをインストールしますが、
依存ライブラリがないとインストールが失敗します。
上記で説明したモノによってはたくさんのrpmファイルを用意しないと行けなくて大変です…
そこで、登場したのがyumです。
yumはインストールしたいソフトウェアと依存ライブラリを自動的にチェックしてダウンロードしてくれます。
なので、基本的にパッケージファイルを自ら探す旅に出る必要は無いです。
yum先生がやってくれます。
そう、yumなら。
リポジトリ
先程説明したように、パッケージyumが自動でパッケージファイルをダウンロードしてくれると書いてありますが、
ではどこからダウンロードするのだろうか?
という疑問が生まれますよね。
ダウンロード先はリポジトリと言われている場所になります。
パッケージファイルがたくさん保管されているサーバ、それがリポジトリです。
yumはインストール対象がリポジトリの存在しているかを検索しに行き、
見つけた場合インストールしてくれます。
yumを使ってみよう
では、yumは何をしてくれるのかを理解したところで、
実際使ってパッケージをインストールしてみましょうか。
ただし、yumを実行するのに、root権限が必要なので、sudoというコマンドを使います。
sudoはrootユーザに切り替えなくても、root権限でコマンドを実行でます。
細かい説明は別の機会に説明しますが、
sudoを実行するのに現在ログインしているユーザのパスワードが必要です。
- パッケージインストール
折角なので、先日紹介したvimをインストールしてみましょう。
[skanehira@localhost ~]$ sudo yum install vim
あなたはシステム管理者から通常の講習を受けたはずです。
これは通常、以下の3点に要約されます:
#1) 他人のプライバシーを尊重すること。
#2) タイプする前に考えること。
#3) 大いなる力には大いなる責任が伴うこと。
[sudo] skanehira のパスワード:
読み込んだプラグイン:fastestmirror
base | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/4): extras/7/x86_64/primary_db | 166 kB 00:00:00
(2/4): base/7/x86_64/group_gz | 156 kB 00:00:00
(3/4): base/7/x86_64/primary_db | 5.7 MB 00:00:02
(4/4): updates/7/x86_64/primary_db | 6.0 MB 00:00:04
Determining fastest mirrors
* base: mirror.fairway.ne.jp
* extras: mirror.qoxy.com
* updates: mirror.qoxy.com
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ vim-enhanced.x86_64 2:7.4.160-2.el7 を インストール
--> 依存性の処理をしています: vim-common = 2:7.4.160-2.el7 のパッケージ: 2:vim-enhanced-7.4.160-2.el7.x86_64
--> 依存性の処理をしています: perl(:MODULE_COMPAT_5.16.3) のパッケージ: 2:vim-enhanced-7.4.160-2.el7.x86_64
--> 依存性の処理をしています: libperl.so()(64bit) のパッケージ: 2:vim-enhanced-7.4.160-2.el7.x86_64
--> 依存性の処理をしています: libgpm.so.2()(64bit) のパッケージ: 2:vim-enhanced-7.4.160-2.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ gpm-libs.x86_64 0:1.20.7-5.el7 を インストール
---> パッケージ perl.x86_64 4:5.16.3-292.el7 を インストール
--> 依存性の処理をしています: perl(Socket) >= 1.3 のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Scalar::Util) >= 1.10 のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl-macros のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(threads::shared) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(threads) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(constant) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Time::Local) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Time::HiRes) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Storable) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Socket) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Scalar::Util) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Pod::Simple::XHTML) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Pod::Simple::Search) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Getopt::Long) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Filter::Util::Call) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(File::Temp) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(File::Spec::Unix) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(File::Spec::Functions) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(File::Spec) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(File::Path) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Exporter) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Cwd) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
--> 依存性の処理をしています: perl(Carp) のパッケージ: 4:perl-5.16.3-292.el7.x86_64
---> パッケージ perl-libs.x86_64 4:5.16.3-292.el7 を インストール
---> パッケージ vim-common.x86_64 2:7.4.160-2.el7 を インストール
--> 依存性の処理をしています: vim-filesystem のパッケージ: 2:vim-common-7.4.160-2.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ perl-Carp.noarch 0:1.26-244.el7 を インストール
---> パッケージ perl-Exporter.noarch 0:5.68-3.el7 を インストール
---> パッケージ perl-File-Path.noarch 0:2.09-2.el7 を インストール
---> パッケージ perl-File-Temp.noarch 0:0.23.01-3.el7 を インストール
---> パッケージ perl-Filter.x86_64 0:1.49-3.el7 を インストール
---> パッケージ perl-Getopt-Long.noarch 0:2.40-2.el7 を インストール
--> 依存性の処理をしています: perl(Pod::Usage) >= 1.14 のパッケージ: perl-Getopt-Long-2.40-2.el7.noarch
--> 依存性の処理をしています: perl(Text::ParseWords) のパッケージ: perl-Getopt-Long-2.40-2.el7.noarch
---> パッケージ perl-PathTools.x86_64 0:3.40-5.el7 を インストール
---> パッケージ perl-Pod-Simple.noarch 1:3.28-4.el7 を インストール
--> 依存性の処理をしています: perl(Pod::Escapes) >= 1.04 のパッケージ: 1:perl-Pod-Simple-3.28-4.el7.noarch
--> 依存性の処理をしています: perl(Encode) のパッケージ: 1:perl-Pod-Simple-3.28-4.el7.noarch
---> パッケージ perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 を インストール
---> パッケージ perl-Socket.x86_64 0:2.010-4.el7 を インストール
---> パッケージ perl-Storable.x86_64 0:2.45-3.el7 を インストール
---> パッケージ perl-Time-HiRes.x86_64 4:1.9725-3.el7 を インストール
---> パッケージ perl-Time-Local.noarch 0:1.2300-2.el7 を インストール
---> パッケージ perl-constant.noarch 0:1.27-2.el7 を インストール
---> パッケージ perl-macros.x86_64 4:5.16.3-292.el7 を インストール
---> パッケージ perl-threads.x86_64 0:1.87-4.el7 を インストール
---> パッケージ perl-threads-shared.x86_64 0:1.43-6.el7 を インストール
---> パッケージ vim-filesystem.x86_64 2:7.4.160-2.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ perl-Encode.x86_64 0:2.51-7.el7 を インストール
---> パッケージ perl-Pod-Escapes.noarch 1:1.04-292.el7 を インストール
---> パッケージ perl-Pod-Usage.noarch 0:1.63-3.el7 を インストール
--> 依存性の処理をしています: perl(Pod::Text) >= 3.15 のパッケージ: perl-Pod-Usage-1.63-3.el7.noarch
--> 依存性の処理をしています: perl-Pod-Perldoc のパッケージ: perl-Pod-Usage-1.63-3.el7.noarch
---> パッケージ perl-Text-ParseWords.noarch 0:3.29-4.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ perl-Pod-Perldoc.noarch 0:3.20-4.el7 を インストール
--> 依存性の処理をしています: perl(parent) のパッケージ: perl-Pod-Perldoc-3.20-4.el7.noarch
--> 依存性の処理をしています: perl(HTTP::Tiny) のパッケージ: perl-Pod-Perldoc-3.20-4.el7.noarch
---> パッケージ perl-podlators.noarch 0:2.5.1-3.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ perl-HTTP-Tiny.noarch 0:0.033-3.el7 を インストール
---> パッケージ perl-parent.noarch 1:0.225-244.el7 を インストール
--> 依存性解決を終了しました。
依存性を解決しました
====================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
====================================================================================================
インストール中:
vim-enhanced x86_64 2:7.4.160-2.el7 base 1.0 M
依存性関連でのインストールをします:
gpm-libs x86_64 1.20.7-5.el7 base 32 k
perl x86_64 4:5.16.3-292.el7 base 8.0 M
perl-Carp noarch 1.26-244.el7 base 19 k
perl-Encode x86_64 2.51-7.el7 base 1.5 M
perl-Exporter noarch 5.68-3.el7 base 28 k
perl-File-Path noarch 2.09-2.el7 base 26 k
perl-File-Temp noarch 0.23.01-3.el7 base 56 k
perl-Filter x86_64 1.49-3.el7 base 76 k
perl-Getopt-Long noarch 2.40-2.el7 base 56 k
perl-HTTP-Tiny noarch 0.033-3.el7 base 38 k
perl-PathTools x86_64 3.40-5.el7 base 82 k
perl-Pod-Escapes noarch 1:1.04-292.el7 base 51 k
perl-Pod-Perldoc noarch 3.20-4.el7 base 87 k
perl-Pod-Simple noarch 1:3.28-4.el7 base 216 k
perl-Pod-Usage noarch 1.63-3.el7 base 27 k
perl-Scalar-List-Utils x86_64 1.27-248.el7 base 36 k
perl-Socket x86_64 2.010-4.el7 base 49 k
perl-Storable x86_64 2.45-3.el7 base 77 k
perl-Text-ParseWords noarch 3.29-4.el7 base 14 k
perl-Time-HiRes x86_64 4:1.9725-3.el7 base 45 k
perl-Time-Local noarch 1.2300-2.el7 base 24 k
perl-constant noarch 1.27-2.el7 base 19 k
perl-libs x86_64 4:5.16.3-292.el7 base 688 k
perl-macros x86_64 4:5.16.3-292.el7 base 43 k
perl-parent noarch 1:0.225-244.el7 base 12 k
perl-podlators noarch 2.5.1-3.el7 base 112 k
perl-threads x86_64 1.87-4.el7 base 49 k
perl-threads-shared x86_64 1.43-6.el7 base 39 k
vim-common x86_64 2:7.4.160-2.el7 base 5.9 M
vim-filesystem x86_64 2:7.4.160-2.el7 base 9.8 k
トランザクションの要約
====================================================================================================
インストール 1 パッケージ (+30 個の依存関係のパッケージ)
総ダウンロード容量: 18 M
インストール容量: 60 M
Is this ok [y/d/N]:
上記のログを見て頂ければわかると思いますが、
依存性を解決しているのは、依存パッケージをyumが自動的にチェックし、
OSにインストールされていないモノを一覧として表示してくれます。
最下部にこれで良いのか?と聞かれていますので、[y]を入力してあげるとダウンロードが開始します。
Is this ok [y/d/N]: y
Downloading packages:
警告: /var/cache/yum/x86_64/7/base/packages/gpm-libs-1.20.7-5.el7.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID f4a80eb5: NOKEY
gpm-libs-1.20.7-5.el7.x86_64.rpm の公開鍵がインストールされていません
(1/31): gpm-libs-1.20.7-5.el7.x86_64.rpm | 32 kB 00:00:00
(2/31): perl-Carp-1.26-244.el7.noarch.rpm | 19 kB 00:00:00
(3/31): perl-Encode-2.51-7.el7.x86_64.rpm | 1.5 MB 00:00:01
(4/31): perl-Exporter-5.68-3.el7.noarch.rpm | 28 kB 00:00:00
(5/31): perl-File-Path-2.09-2.el7.noarch.rpm | 26 kB 00:00:00
(6/31): perl-File-Temp-0.23.01-3.el7.noarch.rpm | 56 kB 00:00:00
(7/31): perl-Filter-1.49-3.el7.x86_64.rpm | 76 kB 00:00:00
(8/31): perl-Getopt-Long-2.40-2.el7.noarch.rpm | 56 kB 00:00:00
(9/31): perl-5.16.3-292.el7.x86_64.rpm | 8.0 MB 00:00:02
(10/31): perl-HTTP-Tiny-0.033-3.el7.noarch.rpm | 38 kB 00:00:00
(11/31): perl-Pod-Perldoc-3.20-4.el7.noarch.rpm | 87 kB 00:00:00
(12/31): perl-PathTools-3.40-5.el7.x86_64.rpm | 82 kB 00:00:00
(13/31): perl-Pod-Escapes-1.04-292.el7.noarch.rpm | 51 kB 00:00:00
(14/31): perl-Pod-Usage-1.63-3.el7.noarch.rpm | 27 kB 00:00:00
(15/31): perl-Pod-Simple-3.28-4.el7.noarch.rpm | 216 kB 00:00:00
(16/31): perl-Scalar-List-Utils-1.27-248.el7.x86_64.rpm | 36 kB 00:00:00
(17/31): perl-Socket-2.010-4.el7.x86_64.rpm | 49 kB 00:00:00
(18/31): perl-Text-ParseWords-3.29-4.el7.noarch.rpm | 14 kB 00:00:00
(19/31): perl-Storable-2.45-3.el7.x86_64.rpm | 77 kB 00:00:00
(20/31): perl-Time-Local-1.2300-2.el7.noarch.rpm | 24 kB 00:00:00
(21/31): perl-constant-1.27-2.el7.noarch.rpm | 19 kB 00:00:00
(22/31): perl-Time-HiRes-1.9725-3.el7.x86_64.rpm | 45 kB 00:00:00
(23/31): perl-parent-0.225-244.el7.noarch.rpm | 12 kB 00:00:00
(24/31): perl-libs-5.16.3-292.el7.x86_64.rpm | 688 kB 00:00:00
(25/31): perl-macros-5.16.3-292.el7.x86_64.rpm | 43 kB 00:00:00
(26/31): perl-threads-1.87-4.el7.x86_64.rpm | 49 kB 00:00:00
(27/31): perl-threads-shared-1.43-6.el7.x86_64.rpm | 39 kB 00:00:00
(28/31): perl-podlators-2.5.1-3.el7.noarch.rpm | 112 kB 00:00:00
(29/31): vim-filesystem-7.4.160-2.el7.x86_64.rpm | 9.8 kB 00:00:00
(30/31): vim-enhanced-7.4.160-2.el7.x86_64.rpm | 1.0 MB 00:00:01
(31/31): vim-common-7.4.160-2.el7.x86_64.rpm | 5.9 MB 00:00:01
----------------------------------------------------------------------------------------------------
合計 3.4 MB/s | 18 MB 00:00:05
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 から鍵を取得中です。
Importing GPG key 0xF4A80EB5:
Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
Package : centos-release-7-4.1708.el7.centos.x86_64 (@anaconda)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
上記の処理を行います。よろしいでしょうか? [y/N]
そのまま[y]を入力するとインストールが開始します。
上記の処理を行います。よろしいでしょうか? [y/N]y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : 1:perl-parent-0.225-244.el7.noarch 1/31
インストール中 : perl-HTTP-Tiny-0.033-3.el7.noarch 2/31
インストール中 : perl-podlators-2.5.1-3.el7.noarch 3/31
インストール中 : perl-Pod-Perldoc-3.20-4.el7.noarch 4/31
インストール中 : 1:perl-Pod-Escapes-1.04-292.el7.noarch 5/31
インストール中 : perl-Text-ParseWords-3.29-4.el7.noarch 6/31
インストール中 : perl-Encode-2.51-7.el7.x86_64 7/31
インストール中 : perl-Pod-Usage-1.63-3.el7.noarch 8/31
インストール中 : 4:perl-macros-5.16.3-292.el7.x86_64 9/31
インストール中 : 4:perl-libs-5.16.3-292.el7.x86_64 10/31
インストール中 : perl-Storable-2.45-3.el7.x86_64 11/31
インストール中 : perl-Exporter-5.68-3.el7.noarch 12/31
インストール中 : perl-constant-1.27-2.el7.noarch 13/31
インストール中 : perl-Time-Local-1.2300-2.el7.noarch 14/31
インストール中 : perl-Socket-2.010-4.el7.x86_64 15/31
インストール中 : perl-Carp-1.26-244.el7.noarch 16/31
インストール中 : perl-PathTools-3.40-5.el7.x86_64 17/31
インストール中 : perl-Scalar-List-Utils-1.27-248.el7.x86_64 18/31
インストール中 : perl-File-Temp-0.23.01-3.el7.noarch 19/31
インストール中 : perl-File-Path-2.09-2.el7.noarch 20/31
インストール中 : perl-threads-shared-1.43-6.el7.x86_64 21/31
インストール中 : perl-threads-1.87-4.el7.x86_64 22/31
インストール中 : 4:perl-Time-HiRes-1.9725-3.el7.x86_64 23/31
インストール中 : perl-Filter-1.49-3.el7.x86_64 24/31
インストール中 : 1:perl-Pod-Simple-3.28-4.el7.noarch 25/31
インストール中 : perl-Getopt-Long-2.40-2.el7.noarch 26/31
インストール中 : 4:perl-5.16.3-292.el7.x86_64 27/31
インストール中 : gpm-libs-1.20.7-5.el7.x86_64 28/31
インストール中 : 2:vim-filesystem-7.4.160-2.el7.x86_64 29/31
インストール中 : 2:vim-common-7.4.160-2.el7.x86_64 30/31
インストール中 : 2:vim-enhanced-7.4.160-2.el7.x86_64 31/31
検証中 : perl-HTTP-Tiny-0.033-3.el7.noarch 1/31
検証中 : perl-threads-shared-1.43-6.el7.x86_64 2/31
検証中 : perl-Storable-2.45-3.el7.x86_64 3/31
検証中 : 2:vim-filesystem-7.4.160-2.el7.x86_64 4/31
検証中 : perl-Exporter-5.68-3.el7.noarch 5/31
検証中 : perl-constant-1.27-2.el7.noarch 6/31
検証中 : perl-PathTools-3.40-5.el7.x86_64 7/31
検証中 : 4:perl-macros-5.16.3-292.el7.x86_64 8/31
検証中 : 1:perl-parent-0.225-244.el7.noarch 9/31
検証中 : 4:perl-5.16.3-292.el7.x86_64 10/31
検証中 : perl-File-Temp-0.23.01-3.el7.noarch 11/31
検証中 : 1:perl-Pod-Simple-3.28-4.el7.noarch 12/31
検証中 : perl-Time-Local-1.2300-2.el7.noarch 13/31
検証中 : gpm-libs-1.20.7-5.el7.x86_64 14/31
検証中 : 4:perl-libs-5.16.3-292.el7.x86_64 15/31
検証中 : perl-Pod-Perldoc-3.20-4.el7.noarch 16/31
検証中 : perl-Socket-2.010-4.el7.x86_64 17/31
検証中 : perl-Carp-1.26-244.el7.noarch 18/31
検証中 : 2:vim-common-7.4.160-2.el7.x86_64 19/31
検証中 : perl-Scalar-List-Utils-1.27-248.el7.x86_64 20/31
検証中 : 1:perl-Pod-Escapes-1.04-292.el7.noarch 21/31
検証中 : perl-Pod-Usage-1.63-3.el7.noarch 22/31
検証中 : perl-Encode-2.51-7.el7.x86_64 23/31
検証中 : perl-podlators-2.5.1-3.el7.noarch 24/31
検証中 : perl-Getopt-Long-2.40-2.el7.noarch 25/31
検証中 : 2:vim-enhanced-7.4.160-2.el7.x86_64 26/31
検証中 : perl-File-Path-2.09-2.el7.noarch 27/31
検証中 : perl-threads-1.87-4.el7.x86_64 28/31
検証中 : 4:perl-Time-HiRes-1.9725-3.el7.x86_64 29/31
検証中 : perl-Filter-1.49-3.el7.x86_64 30/31
検証中 : perl-Text-ParseWords-3.29-4.el7.noarch 31/31
インストール:
vim-enhanced.x86_64 2:7.4.160-2.el7
依存性関連をインストールしました:
gpm-libs.x86_64 0:1.20.7-5.el7 perl.x86_64 4:5.16.3-292.el7
perl-Carp.noarch 0:1.26-244.el7 perl-Encode.x86_64 0:2.51-7.el7
perl-Exporter.noarch 0:5.68-3.el7 perl-File-Path.noarch 0:2.09-2.el7
perl-File-Temp.noarch 0:0.23.01-3.el7 perl-Filter.x86_64 0:1.49-3.el7
perl-Getopt-Long.noarch 0:2.40-2.el7 perl-HTTP-Tiny.noarch 0:0.033-3.el7
perl-PathTools.x86_64 0:3.40-5.el7 perl-Pod-Escapes.noarch 1:1.04-292.el7
perl-Pod-Perldoc.noarch 0:3.20-4.el7 perl-Pod-Simple.noarch 1:3.28-4.el7
perl-Pod-Usage.noarch 0:1.63-3.el7 perl-Scalar-List-Utils.x86_64 0:1.27-248.el7
perl-Socket.x86_64 0:2.010-4.el7 perl-Storable.x86_64 0:2.45-3.el7
perl-Text-ParseWords.noarch 0:3.29-4.el7 perl-Time-HiRes.x86_64 4:1.9725-3.el7
perl-Time-Local.noarch 0:1.2300-2.el7 perl-constant.noarch 0:1.27-2.el7
perl-libs.x86_64 4:5.16.3-292.el7 perl-macros.x86_64 4:5.16.3-292.el7
perl-parent.noarch 1:0.225-244.el7 perl-podlators.noarch 0:2.5.1-3.el7
perl-threads.x86_64 0:1.87-4.el7 perl-threads-shared.x86_64 0:1.43-6.el7
vim-common.x86_64 2:7.4.160-2.el7 vim-filesystem.x86_64 2:7.4.160-2.el7
完了しました!
[skanehira@localhost ~]$
これで無事にインストール完了しました!!
たったこれだけで、ソフトウェアのインストールを出来てしまいます。
便利です!
ちなみにyumのhelpを見ると色んな機能が付いていますね〜
[skanehira@localhost ~]$ yum -h
読み込んだプラグイン:fastestmirror
Usage: yum [options] COMMAND
List of Commands:
check rpmdb の問題を確認する
check-update 更新に利用できるパッケージを確認する
clean キャッシュデータを削除する
deplist パッケージの依存性の一覧を表示する
distribution-synchronization 最新の利用可能なバージョンへインストール済みパッケージを同期する
downgrade パッケージのダウングレード
erase システムから削除するパッケージ
fs Acts on the filesystem data of the host, mainly for removing docs/lanuages for minimal hosts.
fssnapshot Creates filesystem snapshots, or lists/deletes current snapshots.
groups グループ情報の表示または使用
help 役立つ使い方のメッセージを表示する
history トランザクション履歴を表示、使用する
info パッケージもしくはパッケージのグループについての詳細を表示する
install システムにパッケージをインストールする
list パッケージグループの一覧を表示する
load-transaction filename から保存済みトランザクションを読み込む
makecache メタデータキャッシュを生成する
provides 指定値を提供するパッケージを検索する
reinstall パッケージの再インストール
repo-pkgs Treat a repo. as a group of packages, so we can install/remove all of them
repolist ソフトウェアリポジトリーの構成を表示する
search 指定した文字列でパッケージの詳細を検索する
shell 対話型の yum シェルを実行する
swap Simple way to swap packages, instead of using shell
update システムのパッケージを更新する
update-minimal Works like upgrade, but goes to the 'newest' package match which fixes a problem that affects your system
updateinfo Acts on repository update information
upgrade 不要になったパッケージを考慮しながらパッケージを更新する
version ホストの利用できるリポジトリーのバージョンを表示する
ちなみに、こういうのもありました!
ググればyumについて色々出てきますが、
たまにはググらず、自分で色々見てみようと思っています。
- アンインストール
インストールしたパッケージをアンインストールしたい場合はremoveを使用します。
[skanehira@localhost ~]$ sudo yum remove vim
[sudo] skanehira のパスワード:
読み込んだプラグイン:fastestmirror
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ vim-enhanced.x86_64 2:7.4.160-2.el7 を 削除
--> 依存性解決を終了しました。
依存性を解決しました
==============================================================================================================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
==============================================================================================================================================================================================================================================
削除中:
vim-enhanced x86_64 2:7.4.160-2.el7 @base 2.2 M
トランザクションの要約
==============================================================================================================================================================================================================================================
削除 1 パッケージ
インストール容量: 2.2 M
上記の処理を行います。よろしいでしょうか? [y/N]
削除するパッケージを確認して問題なければ[y]を入力して下さい。
※アンインストールするときは、依存パッケージも同時にアンインストールされます。
上記の処理を行います。よろしいでしょうか? [y/N]y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
削除中 : 2:vim-enhanced-7.4.160-2.el7.x86_64 1/1
検証中 : 2:vim-enhanced-7.4.160-2.el7.x86_64 1/1
削除しました:
vim-enhanced.x86_64 2:7.4.160-2.el7
完了しました!
[skanehira@localhost ~]$ vim
-bash: /usr/bin/vim: そのようなファイルやディレクトリはありません
[skanehira@localhost ~]$
- バージョン指定によるインストール
yumはバージョン指定によるインストールも可能です。
その場合、バージョン指定をしてあげるだけでよいです。
まずインストール可能なバージョンを見ます。
[skanehira@localhost ~]$ yum --showduplicate list kernel
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.fairway.ne.jp
* extras: mirror.0x.sg
* updates: mirror.0x.sg
インストール済みパッケージ
kernel.x86_64 3.10.0-693.el7 @anaconda
利用可能なパッケージ
kernel.x86_64 3.10.0-693.el7 base
kernel.x86_64 3.10.0-693.1.1.el7 updates
kernel.x86_64 3.10.0-693.2.1.el7 updates
kernel.x86_64 3.10.0-693.2.2.el7 updates
kernel.x86_64 3.10.0-693.5.2.el7 updates
kernel.x86_64 3.10.0-693.11.1.el7 updates
kernel.x86_64 3.10.0-693.11.6.el7 updates
kernel.x86_64 3.10.0-693.17.1.el7 updates
[skanehira@localhost ~]$
今回は[kernel-3.10.0-693.5.2.el7]をインストールしてみましょう。
[skanehira@localhost ~]$ sudo yum install kernel-3.10.0-693.5.2.el7
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: download.nus.edu.sg
* extras: download.nus.edu.sg
* updates: download.nus.edu.sg
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ kernel.x86_64 0:3.10.0-693.5.2.el7 を インストール
--> 依存性解決を終了しました。
依存性を解決しました
==================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
==================================================================================================================
インストール中:
kernel x86_64 3.10.0-693.5.2.el7 updates 43 M
トランザクションの要約
==================================================================================================================
インストール 1 パッケージ
総ダウンロード容量: 43 M
インストール容量: 59 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
kernel-3.10.0-693.5.2.el7.x86_64.rpm | 43 MB 00:00:11
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : kernel-3.10.0-693.5.2.el7.x86_64 1/1
検証中 : kernel-3.10.0-693.5.2.el7.x86_64 1/1
インストール:
kernel.x86_64 0:3.10.0-693.5.2.el7
完了しました!
[skanehira@localhost ~]$
インストール済みかを確認します。
3.10.0-693.5.2.el7がありますねー
[skanehira@localhost ~]$ yum --showduplicate list kernel
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: download.nus.edu.sg
* extras: download.nus.edu.sg
* updates: download.nus.edu.sg
インストール済みパッケージ
kernel.x86_64 3.10.0-693.el7 @anaconda
kernel.x86_64 3.10.0-693.5.2.el7 @updates
利用可能なパッケージ
kernel.x86_64 3.10.0-693.el7 base
kernel.x86_64 3.10.0-693.1.1.el7 updates
kernel.x86_64 3.10.0-693.2.1.el7 updates
kernel.x86_64 3.10.0-693.2.2.el7 updates
kernel.x86_64 3.10.0-693.5.2.el7 updates
kernel.x86_64 3.10.0-693.11.1.el7 updates
kernel.x86_64 3.10.0-693.11.6.el7 updates
kernel.x86_64 3.10.0-693.17.1.el7 updates
[skanehira@localhost ~]$
最後に
Linuxでソフトウェアをインストールするときは、yumを使いましょう!
もちろん特定のバージョンのソフトウェアを使ってストなどもありますが、それでもかなり便利と思います。
次回は最近気になっているDockerについてちょっと勉強したいと考えています。
VMよりもDockerのが手軽に環境を作れるらしいので、気になります。