yum でインストールしたいパッケージを探す
CentOS ならおなじみの yum ですが、欲しいパッケージをどう探し当ててインストールするか困ったことありませんか? 結局ググって探すオチになることが多いと思いますが、本来の yum コマンドの機能で探してみましょう。
(今回は苦し紛れで yum の小ネタですw)
使用した docker image は docker run --rm -it centos:7.6.1810
です。
$ yum --version | head -1 3.4.3 $ yum -y install epel-release $ yum-config-manager --disable epel
パッケージ一覧
yum list
何も考えずに一覧を表示して見つけるのもありだとは思います。名前でフィルタせずにパイプして grep するのも良いと思います。
デフォルトで disable になっている yum リポジトリもあると思うので --enablerepo=[repo]
を使うことも頭の片隅に入れておきましょう。
$ yum --enablerepo=epel list 'ansible*' Loaded plugins: fastestmirror, ovl Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * epel: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp Available Packages ansible.noarch 2.7.10-1.el7 epel ansible-doc.noarch 2.7.10-1.el7 epel ansible-inventory-grapher.noarch 2.4.4-1.el7 epel ansible-lint.noarch 3.5.1-1.el7 epel ansible-openstack-modules.noarch 0-20140902git79d751a.el7 epel ansible-review.noarch 0.13.4-1.el7 epel
パッケージ検索
yum search
一覧から探すのもなんかコレジャナイ感があるので、パッケージ検索をしてみます。 しかし search では正規表現などは使えないようなので、正確に探したい時は grep などが必要になってしまいます。なんか嬉しくないですね。 ただ summary などの文字も含めた検索ができるので、そこは search ならではという感じです。
$ yum --enablerepo=epel search ansible Loaded plugins: fastestmirror, ovl Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * epel: www.ftp.ne.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp ============================================================== N/S matched: ansible =============================================================== ansible-doc.noarch : Documentation for Ansible ansible-inventory-grapher.noarch : Creates graphs representing ansible inventory ansible-lint.noarch : Best practices checker for Ansible ansible-openstack-modules.noarch : Unofficial Ansible modules for managing Openstack ansible-review.noarch : Reviews Ansible playbooks, roles and inventory and suggests improvements centos-release-ansible26.noarch : Ansible 2.6 packages from the CentOS ConfigManagement SIG repository python2-ansible-runner.noarch : A tool and python library to interface with Ansible python2-ansible-tower-cli.noarch : A CLI tool for Ansible Tower ansible.noarch : SSH-based configuration management, deployment, and task execution system kubernetes-ansible.noarch : Playbook and set of roles for seting up a Kubernetes cluster onto machines loopabull.noarch : Event loop driven Ansible playbook execution engine standard-test-roles.noarch : Standard Test Interface Ansible roles Name and summary matches only, use "search all" for everything.
ちなみに探し当てたパッケージのバージョンなどを確認したい時は yum info
が使えます。
Available Packages
に複数表示された場合は、 yum --enablerepo=epel install ansible-2.7.10
のようにバージョンを指定してインストールすることもできます。
$ yum --enablerepo=epel info ansible Loaded plugins: fastestmirror, ovl Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * epel: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp Available Packages Name : ansible Arch : noarch Version : 2.7.10 Release : 1.el7 Size : 11 M Repo : epel/x86_64 Summary : SSH-based configuration management, deployment, and task execution system URL : http://ansible.com License : GPLv3+ Description : Ansible is a radically simple model-driven configuration management, : multi-node deployment, and remote task execution system. Ansible works : over SSH and does not require any software or daemons to be installed : on remote nodes. Extension modules can be written in any language and : are transferred to managed machines automatically.
コマンド名からパッケージを検索
yum provides
実はここがメインの話なのですが、 インストールしたいコマンド名はわかっても yum のパッケージ名が全く思い浮かばい時 もありますよね。 そんな時に provides が使えます。 alias の whatprovides でも良いです。
$ yum provides '*bin/tracepath*' Loaded plugins: fastestmirror, ovl Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp iputils-20160308-10.el7.x86_64 : Network monitoring tools including ping Repo : base Matched from: Filename : /usr/bin/tracepath Filename : /usr/bin/tracepath6 Filename : /usr/sbin/tracepath Filename : /usr/sbin/tracepath6 iputils-20160308-10.el7.x86_64 : Network monitoring tools including ping Repo : @CentOS Matched from: Filename : /usr/sbin/tracepath Filename : /usr/sbin/tracepath6 Filename : /usr/bin/tracepath Filename : /usr/bin/tracepath6
tracepath は iputils パッケージにあることがわかりました。 iputils はインストール済みだったので rpm コマンドでパッケージのファイル一覧を確認することができます。
$ rpm -qls iputils normal /etc/sysconfig/rdisc normal /usr/bin/ping normal /usr/bin/ping6 normal /usr/bin/tracepath normal /usr/bin/tracepath6 normal /usr/lib/systemd/system/rdisc.service normal /usr/sbin/arping normal /usr/sbin/clockdiff normal /usr/sbin/ifenslave normal /usr/sbin/ping6 normal /usr/sbin/rdisc normal /usr/sbin/tracepath normal /usr/sbin/tracepath6 not installed /usr/share/doc/iputils-20160308 not installed /usr/share/doc/iputils-20160308/README.bonding not installed /usr/share/doc/iputils-20160308/RELNOTES not installed /usr/share/man/man8/arping.8.gz not installed /usr/share/man/man8/clockdiff.8.gz not installed /usr/share/man/man8/ifenslave.8.gz not installed /usr/share/man/man8/ping.8.gz not installed /usr/share/man/man8/ping6.8.gz not installed /usr/share/man/man8/rdisc.8.gz not installed /usr/share/man/man8/tracepath.8.gz not installed /usr/share/man/man8/tracepath6.8.gz
以上、短いですが yum の小ネタでした。
CentOS 7システム管理ガイド systemd/NetworkManager/Firewalld徹底攻略
- 作者: デージーネット
- 出版社/メーカー: 秀和システム
- 発売日: 2017/01/31
- メディア: Kindle版
- この商品を含むブログを見る
本気で学ぶ Linux実践入門 (サーバ運用のための業務レベル管理術)
- 作者: 大竹龍史,山本道子
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2019/05/30
- メディア: 単行本
- この商品を含むブログを見る