スポンサーリンク
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
というサブコマンドが用意されており、これを使えば コマンド名からパッケージ名を検索
することができます。
実際に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
を使えばコマンド名からパッケージ名を検索することができます。
これ地味に便利ですのでお試しあれ。
スポンサーリンク