仕事でRedhat Enterprise Linux(※以後,「RHEL」)の環境構築をしていると、足りないライブラリや必要となるコマンドが入っていないときがあります。 そんなときは大体はネットで検索をしていたのですが、dnfのコマンドオプションで足りないライブラリや必要となるコマンドが何のモジュールに含まれているのかを確認できることを知りました! でもすぐにそのオプションを忘れてしまうので、ここにメモ書きしておきます。
dnf whatprovides ファイル名
例えば、RHELの初期状態で「nslookup」コマンドが入っていなかったわ~ってなったときは、以下のように実行することで 「nslookup」コマンドは、「bind-utils」の中に入っているということが分かります。
# dnf whatprovides nslookup Last metadata expiration check: 2:48:40 ago on Tue 02 Apr 2024 11:08:07 AM JST. bind-utils-32:9.11.4-16.P2.el8.x86_64 : Utilities for querying DNS name servers Repo : rhel-8-appstream-rhui-rpms Matched from: Filename : /usr/bin/nslookup bind-utils-32:9.11.4-17.P2.el8_0.x86_64 : Utilities for querying DNS name servers Repo : rhel-8-appstream-rhui-rpms Matched from: Filename : /usr/bin/nslookup bind-utils-32:9.11.4-17.P2.el8_0.1.x86_64 : Utilities for querying DNS name servers Repo : rhel-8-appstream-rhui-rpms Matched from: Filename : /usr/bin/nslookup bind-utils-32:9.11.4-26.P2.el8.x86_64 : Utilities for querying DNS name servers Repo : rhel-8-appstream-rhui-rpms Matched from: Filename : /usr/bin/nslookup bind-utils-32:9.11.13-3.el8.x86_64 : Utilities for querying DNS name servers Repo : rhel-8-appstream-rhui-rpms Matched from: Filename : /usr/bin/nslookup bind-utils-32:9.11.13-5.el8_2.x86_64 : Utilities for querying DNS name servers Repo : rhel-8-appstream-rhui-rpms Matched from: Filename : /usr/bin/nslookup bind-utils-32:9.11.13-6.el8_2.1.x86_64 : Utilities for querying DNS name servers Repo : rhel-8-appstream-rhui-rpms Matched from: Filename : /usr/bin/nslookup bind-utils-32:9.11.20-5.el8.x86_64 : Utilities for querying DNS name servers Repo : rhel-8-appstream-rhui-rpms Matched from: Filename : /usr/bin/nslookup bind-utils-32:9.11.20-5.el8_3.1.x86_64 : Utilities for querying DNS name servers Repo : rhel-8-appstream-rhui-rpms Matched from: Filename : /usr/bin/nslookup bind-utils-32:9.11.26-3.el8.x86_64 : Utilities for querying DNS name servers Repo : rhel-8-appstream-rhui-rpms Matched from: Filename : /usr/bin/nslookup bind-utils-32:9.11.26-4.el8_4.x86_64 : Utilities for querying DNS name servers Repo : rhel-8-appstream-rhui-rpms Matched from: Filename : /usr/bin/nslookup bind-utils-32:9.11.26-6.el8.x86_64 : Utilities for querying DNS name servers Repo : rhel-8-appstream-rhui-rpms Matched from: Filename : /usr/bin/nslookup bind-utils-32:9.11.36-3.el8.x86_64 : Utilities for querying DNS name servers Repo : rhel-8-appstream-rhui-rpms Matched from: Filename : /usr/bin/nslookup bind-utils-32:9.11.36-3.el8_6.1.x86_64 : Utilities for querying DNS name servers Repo : rhel-8-appstream-rhui-rpms Matched from: Filename : /usr/bin/nslookup bind9.16-utils-32:9.16.23-0.7.el8.x86_64 : Utilities for querying DNS name servers Repo : rhel-8-appstream-rhui-rpms Matched from: Filename : /usr/bin/nslookup bind9.16-utils-32:9.16.23-0.7.el8_6.1.x86_64 : Utilities for querying DNS name servers Repo : rhel-8-appstream-rhui-rpms Matched from: Filename : /usr/bin/nslookup #
コマンド以外に、動的ライブラリファイルなども確認できます。 以下は「libncurses.so.5」ファイルが含まれるモジュールを調べています。 コマンド結果より「ncurses-compat-libs」に含まれているということがわかります。
# dnf whatprovides libncurses.so.5 Last metadata expiration check: 2:56:45 ago on Tue 02 Apr 2024 11:08:07 AM JST. ncurses-compat-libs-6.1-7.20180224.el8.i686 : Ncurses compatibility libraries Repo : rhel-8-baseos-rhui-rpms Matched from: Provide : libncurses.so.5 ncurses-compat-libs-6.1-9.20180224.el8.i686 : Ncurses compatibility libraries Repo : rhel-8-baseos-rhui-rpms Matched from: Provide : libncurses.so.5 #
以上、簡単な小ネタでした。