【Linux】コマンド名からパッケージを検索し、yum installする | 瀬戸内の雲のように

【Linux】コマンド名からパッケージを検索し、yum installする

Posted: 2019-01-08


スポンサーリンク

目次

背景

centosやamazon linuxでコマンドが無い時、yumを使ってインストールするかと思いますが、たまにコマンドとパッケージ名が一致しない場合にうまくいかないことがあります。

そんな時、実はyumのオプションで コマンド名からパッケージ名を検索する ことができるのです。

今回はそのやり方をメモしておきます。

 

具体例

実際に私が困ったのは snmpwalk を実行しようとした時です。amazon linuxではデフォルトでsnmpwalkがインストールされていません。

そこで、こんな感じでインストールを試みました。

yum install snmpwalk

 
しかし結果は以下の通りで、うまくいきません。

Loaded plugins: priorities, ps, update-motd, upgrade-helper
3246 packages excluded due to repository priority protections
No package snmpwalk available.
Error: Nothing to do

 
ここで、「ああ、そういえばsnmpwalkはなんとかutilsってパッケージだったかな」と思い、

yum install snmp-utils

を試してみました。しかし結果は

Loaded plugins: priorities, ps, update-motd, upgrade-helper
amzn-main                                                                                                                        | 2.1 kB  00:00:00
amzn-updates                                                                                                                     | 2.5 kB  00:00:00
3246 packages excluded due to repository priority protections
No package snmp-utils available.
Error: Nothing to do

またも失敗です。

 

解決策: yum provides

ということで早速ですが解決策を説明します。
yumには provides というサブコマンドが用意されており、これを使えば コマンド名からパッケージ名を検索 することができます。

実際にsnmpwalkの例で説明します。以下のようにコマンドを実行すると、

yum provides snmpwalk

 
このような結果が返ってきます。

Loaded plugins: priorities, ps, update-motd, upgrade-helper
3246 packages excluded due to repository priority protections
1:net-snmp-utils-5.5-54.1.20.amzn1.x86_64 : Network management utilities using SNMP, from the NET-SNMP project
Repo        : amzn-main
Matched from:
Filename    : /usr/bin/snmpwalk


少し見辛いですが、3行目に 1:net-snmp-utils-5.5-54.1.20.amzn1.x86_64 と記載されており、これがsnmpwalkが含まれるパッケージ名となります。

なので、以下のコマンドを実行すればsnmpwalkがインストールされます。

yum install net-snmp-utils

まとめ

ということで、インストールのパッケージ名がわからない場合は yum provides を使えばコマンド名からパッケージ名を検索することができます。
これ地味に便利ですのでお試しあれ。


スポンサーリンク




コメント一覧


コメントを投稿する


お名前


コメント内容





TOP back