(配布全体)ファイルを提供するパッケージを見つける方法

(配布全体)ファイルを提供するパッケージを見つける方法

コマンドが存在するかどうかをスクリプトで確認し、必要に応じてそのパッケージをインストールするように提案したいと思います。

Debian システムでは、dpgk次のような特定のファイルを提供するパッケージを頻繁に探します。

$ dpkg -S */envsubst
gettext-base: /usr/bin/envsubst

すべてのLinuxシステムで動作するソリューションはありますか、それとも少なくとも最も一般的なシステムで動作しますか?

数行のコードがない場合は、いくつかのオープンソースライブラリも歓迎します。

ベストアンサー1

PackageKitをサポートするディストリビューションでは、次のものを使用できます。

$ pkcon search file envsubst
Searching by file             [=========================]
Starting                      [=========================]
Loading cache                 [=========================]
Querying                      [=========================]
Finished                      [=========================]
Installed       gettext-base-0.21-4.amd64 (installed:debian-stable-main)        GNU Internationalization utilities for the base system
Installed       git-1:2.30.2-1+deb11u2.amd64 (installed:debian-stable-security-main)   fast, scalable, distributed revision control system

残念ながら、ディストリビューション全体でより信頼性の高い結果を得るには、フルパスを指定する必要があります。つまり、あなたの場合は、可能な限りさまざまなインストール場所を試す必要があることを意味します。だからDebianでは:

$ pkcon search file /usr/bin/envsubst
Searching by file             [=========================]         
Loading cache                 [=========================]         
Querying                      [=========================]         
Finished                      [=========================]         
Installed       gettext-base-0.21-4.amd64 (installed:debian-stable-main)        GNU Internationalization utilities for the base system

RHEL 8の場合:

$ pkcon search file /usr/bin/envsubst
Searching by file             [=========================]         
Finished                      [=========================]         
Installed       gettext-0.19.8.1-17.el8.x86_64 (installed:anaconda)             GNU libraries and utilities for producing multi-lingual messages
Available       gettext-0.19.8.1-14.el8.x86_64 (rhel-8-for-x86_64-baseos-rpms)  GNU libraries and utilities for producing multi-lingual messages

command-not-found多くのディストリビューションには、指定されたコマンドを使用可能にする方法(可能な場合)を知らせるか、タイプミス候補を提案するこの機能もインストールされています。

おすすめ記事