ホームページ > システムチュートリアル > Linux > Linuxでコマンドを提供するパッケージを見つける方法

Linuxでコマンドを提供するパッケージを見つける方法

Christopher Nolan
リリース: 2025-03-19 09:12:11
オリジナル
448 人が閲覧しました

Linuxシステムのコマンドは、通常、配布リポジトリにインストールされているソフトウェアパッケージによって提供されます。特定のコマンドを提供するパッケージを決定するには、Linux分布に固有のパッケージ管理ツールを使用できます。これは、不足しているコマンドのインストールやトラブルシューティングパッケージの依存関係に役立ちます。

目次

    1. Alpine LinuxにLinuxコマンドがあるパッケージを特定します
    1. Arch Linux、Endeavouros、Manjaro LinuxでLinuxコマンドのパッケージソースを見つける
    1. Debian、Ubuntu、およびその導関数でLinuxコマンドのパッケージを見つける
    1. Fedora、Centos、Rhel、およびその導関数で特定のコマンドのパッケージを見つける
    1. suse、opensuseのLinuxコマンドに関連するソフトウェアパッケージを識別する
    1. NixosのLinuxコマンドの背後にあるパッケージを見つけます
    1. Gentooでコマンドソースを明らかにします
  • 結論は

Linuxで特定のコマンドを提供するパッケージを見つけます

さまざまなLinuxディストリビューションのコマンドを提供するパッケージを見つけるには、通常、配布に固有のパッケージ管理システム(APK、APT、DNF、PACMAN、Zypperなど)を使用します。

最も一般的なLinux分布のいくつかでこれを行う方法は次のとおりです。

1. Alpine LinuxでLinuxコマンドを所有するパッケージを特定する

Alpine Linuxでは、 APKパッケージマネージャーを使用して、特定のコマンドを提供するパッケージを見つけることができます。

 <code># apk search -e pstree pstree-2.40-r1</code>
ログイン後にコピー

Linuxでコマンドを提供するパッケージを見つける方法

このコマンドは、Alpine LinuxパッケージリポジトリのPSTREEコマンドに関連するパッケージを検索します。

これがコマンドの内訳です:

  • APKは、Alpine Linuxのパッケージ管理ユーティリティであり、Debianベースの分布のAPTまたはRed Hatベースの分布のYumと同様です。
  • 検索は、リポジトリ内のパッケージを検索するコマンドです。
  • -eまたは-exactは、APKに、サブストリング検索を実行する代わりに正確なパッケージ名を検索するように指示するオプションです。
  • PSTREEは、検索しているパッケージまたはコマンドの名前です。

APK検索-E PSTREEを実行することにより、Alpine Linuxは、PSTREEコマンドまたは正確に「PSTREE」という名前のパッケージをパッケージリポジトリを検索します。

PSTREEユーティリティがAlpine Linuxシステムにインストールされていない場合、PSTREEユーティリティを含むパッケージを見つけてインストールするのに役立ちます。

2. Arch Linux、Endeavouros、およびManjaro LinuxでLinuxコマンドのパッケージのソースを見つける

Arch LinuxとEndeavourosやManjaro Linuxなどのバリエーションでは、Pacmanコマンドを-fまたは-qoフラグを使用して、パッケージ内のファイル(またはコマンド)を検索できます。

たとえば、次のコマンドには、GREPコマンドを含むパッケージが表示されます。

 <code>$ pacman -F grep</code>
ログイン後にコピー

コマンドPACMAN -F GREPは、特定のファイルまたはコマンドを提供するパッケージを見つけるために使用されます。

コマンドのさまざまな部分の意味は次のとおりです。

  • Pacman:これはArch Linuxのパッケージマネージャーです。
  • -f(or -files):このオプションは、特定のファイルを含むパッケージを検索するようにPacmanに指示します。
  • GREP:これはあなたが検索しているファイルまたはコマンドです。この場合、それはGREPコマンドです。

PACMAN -F GREPを実行すると、パッケージマネージャーはパッケージデータベースを検索し、GREPという名前のファイルまたは実行可能ファイルを含むすべてのインストールされたパッケージを一覧表示します。

このコマンドの出力には、通常、パッケージ名とファイルへの完全なパスがグレップに一致するフルパスが表示されます。たとえば、出力は次のようになる場合があります。

 <code>core/grep 3.11-1 usr/bin/grep [...]</code>
ログイン後にコピー

これは、GREPコマンドがコアリポジトリのGREPパッケージによって提供され、実行可能ファイルが/usr/bin/grepにあることを示しています。

複数のパッケージがGREPに一致するファイルを提供する場合、それらはすべてリストされます。逆に、GREPという名前のファイルを提供していないパッケージがない場合、コマンドは出力を返しません。

Pacman -QOコマンドを使用して、特定のファイルまたはコマンドを所有または提供するパッケージを見つけることもできます。

 <code>$ pacman -Qo grep</code>
ログイン後にコピー

コマンドのさまざまな部分の意味は次のとおりです。

  • Pacman:これはArch Linuxのパッケージマネージャーです。
  • -Q:このオプションは、PACMANにローカルパッケージデータベースを照会するように指示します。
  • -o(or -owns):このオプションは、特定のファイルを持つパッケージを検索することを指定します。
  • GREP:これはあなたが検索しているファイルまたはコマンドです。この場合、それはGREPコマンドです。

Pacman -Qo Grepを実行すると、Pacmanはシステム上にインストールされているすべてのパッケージを検索し、Grepという名前のファイルまたは実行可能ファイルを含むパッケージを見つけます。

このコマンドの出力には、通常、GREPに一致するファイルがあるパッケージ名が表示されます。たとえば、出力は次のようになる場合があります。

 <code>/usr/bin/grep is owned by grep 3.11-1</code>
ログイン後にコピー

これは、GREPコマンド(/usr/bin/grepにある)がgrepパッケージによって提供されていることを示しています。

複数のパッケージがGREPに一致するファイルを提供する場合、それらはすべてリストされます。 GREPという名前のファイルがあるパッケージがない場合、コマンドは出力を返さないでしょう。

このコマンドは、特定のファイルまたはコマンドがArch Linuxシステムに属するパッケージを見つける必要がある場合に役立ちます。不足しているファイルや依存関係のトラブルシューティングを支援したり、特定のコンポーネントを提供するパッケージを選択的に再インストールするのに役立ちます。

PACMAN -F GREPとPACMAN -QO GREPの主な違いは、-fがパッケージデータベースを検索して特定のファイルを含むパッケージを見つけ、-QOはシステムにインストールされ、それらのパッケージを探すファイルを検索することです。

3。Debian、Ubuntu、およびその導関数でLinuxコマンドパッケージを見つける

UbuntuなどのDebianベースのシステムでは、-sオプションを使用してDPKGコマンドを使用して、特定のファイルをインストールするパッケージを検索できます。

ただし、ファイルがインストールされていない場合は、APTファイルコマンドを使用する必要があります。まず、APTファイルがインストールされ、そのデータベースが更新されていることを確認してください。

 <code>$ sudo apt update $ sudo apt install apt-file $ sudo apt-file update</code>
ログイン後にコピー

次に、次のコマンドを使用して、特定のコマンド(PSTREEコマンドなど)を提供するパッケージを検索します。

 <code>$ apt-file search pstree</code>
ログイン後にコピー

サンプル出力:

 <code>criu: /usr/lib/python3/dist-packages/pycriu/images/pstree_pb2.py manpages-ja: /usr/share/man/ja/man1/pstree.1.gz<strong></strong></code><mark> psmisc:/usr/bin/pstree</mark>
psmisc:/usr/bin/pstree.x11
psmisc:/usr/share/man/de/man1/pstree.1.gz
psmisc:/usr/share/man/fr/man1/pstree.1.gz
psmisc:/usr/share/man/man1/pstree.1.gz
psmisc:/usr/share/man/man1/pstree.x11.1.gz
psmisc:/usr/share/man/pt_br/man1/pstree.1.gz
psmisc:/usr/share/man/ru/man1/pstree.1.gz
psmisc:/usr/share/man/uk/man1/pstree.1.gz
psmisc:/usr/share/pixmaps/pstree16.xpm
psmisc:/usr/share/pixmaps/pstree32.xpm
python-psutil-doc:/usr/share/doc/python-psutil-doc/examples/pstree.py
要約:/usr/lib/corap/core/pstree
SystemTap-doc:/usr/share/systemtap/examples/process/pstree.meta
SystemTap-doc:/usr/share/systemtap/examples/process/pstree.stp
Tomoyo-Tools:/usr/sbin/tomoyo-pstree
Tomoyo-Tools:/usr/share/man/man8/tomoyo-pstree.8.gz 
ログイン後にコピー

Linuxでコマンドを提供するパッケージを見つける方法

上記の出力で気づいたように、PSMISCパッケージはPSTREEコマンドを提供します。このアプローチを使用すると、インストールする必要があるパッケージを特定したり、PSTREEがシステムで利用できることを確認できます。

または、既にPSTREEをインストールしていて、PSTREEがこのパッケージから来ていることを確認したい場合は、以下を使用できます。

 <code>$ dpkg -S pstree</code>
ログイン後にコピー

4. Fedora、Centos、Rhel、およびその導関数で特定のコマンドのパッケージを見つける

FedoraおよびAlmalinux、Centos、Rhel、Rocky Linuxなどの他のRPMベースのシステムでは、DNFコマンドを使用できます。古いシステムでは、Yumを使用する必要がある場合があります。

たとえば、パターン*/PSTREEに一致するファイルを提供するパッケージを検索するには、次のことを実行できます。

 <code>$ dnf provides */pstree</code>
ログイン後にコピー

以下は、コマンドの関数の内訳です。

  • DNF:これはDNFパッケージマネージャーコマンドです。
  • 提供:このサブコマンドは、特定のファイルまたは機能を提供するパッケージを検索するようにDNFに指示します。
  • */PSTREE:これは、PSTREEという名前のファイルに一致するGLOBパターンです。 *部分的なは、ファイル名の前の「任意の文字」を意味します。

このコマンドを実行すると、DNFはパッケージデータベースを検索し、PSTREEという名前のファイルを含むすべての利用可能なパッケージを一覧表示します。このファイルは通常、PSTREEユーティリティの実行可能ファイルであり、プロセスツリーを表示します。

このコマンドの出力には、PSTREEファイルのパッケージ名とバージョン番号が表示されます。たとえば、出力は次のようになる場合があります。

 <code>psmisc-23.6-4.fc39.x86_64 : Utilities for managing processes on your system Repo : fedora Matched from: Provide : /usr/bin/pstree</code>
ログイン後にコピー

これは、PSTREEファイル(/usr/bin/pstreeにある)が、主にFedoraリポジトリのPSMISCパッケージ(バージョン23.6-4)によって提供されていることを示しています。

DNFの提供コマンドを使用することにより、システムで特定のファイルまたはユーティリティを取得するためにインストールする必要があるパッケージを見つけることができます。

5. suseのLinuxコマンドに関連するソフトウェアパッケージを特定する、opensuse

suse and opensuseでは、Zypper SE -Providesコマンドを使用して、指定されたファイルまたは実行可能ファイルを提供するパッケージを検索できます。

 <code>$ zypper se --provides '/usr/bin/grep'</code>
ログイン後にコピー

これがコマンドの内訳です:

  • Zypper:これは、Zyppパッケージマネージャーのコマンドラインインターフェイスです。
  • SE:これは、パッケージを検索する検索サブコマンドの略語です。
  • -Provides:このオプションは、特定のファイルまたは機能を提供するパッケージを検索するようZypperに指示します。
  • '/usr/bin/grep':これはあなたが探しているファイルまたは実行可能パスです。この場合、それは通常/usr/bin/grepにあるグレップコマンドへのパスです。

このコマンドを実行すると、Zypperはパッケージデータベースを検索し、ファイル/USR/BIN/GREPを含むまたは提供する利用可能なすべてのパッケージを一覧表示します。

このコマンドの出力には、指定されたファイルを提供するパッケージの名前、バージョン、およびリポジトリ情報が表示されます。たとえば、出力は次のようになる場合があります。

 <code>Loading repository data... Reading installed packages... S | Name | Summary | Type -- ------------------------- ------------------------------------------ ------- | grep-3.11-3 | Pattern matching utilities | package [...]</code>
ログイン後にコピー

この出力は、ファイル/USR/BIN/GREPが主にGREPパッケージ(バージョン3.11-3)によって提供されていることを示しています。

6. NixosのLinuxコマンドの背後にあるパッケージを見つけます

Nixos Linuxでは、NIX-ENVユーティリティを使用して、特定のコマンドを提供するパッケージを見つけることができます。

たとえば、どのパッケージをPSTREEコマンドを提供するかを見つけるには、次のことを実行できます。

 <code>$ nix-env -qaP pstree</code>
ログイン後にコピー

これにより、インストールされているすべてのパッケージを検索し、マッチが見つかったときにパッケージ名とパスを印刷します。

サンプル出力:

 <code>nixpkgs.pstree pstree-2.39</code>
ログイン後にコピー

PSTREEコマンドがPSTREE-2.39パッケージによって提供されていることを示します。

NIX検索コマンドを使用して、特定のコマンドを提供するパッケージの名前を見つけることもできます。このコマンドはまだ実験段階にありますが、それを使用してパッケージを検索できます。

最初の実行は遅いかもしれませんが、その後の実行はキャッシュされた結果を使用します。

たとえば、PSTREEコマンドを含むパッケージを見つけるには、実行してください。

 <code>$ nix --extra-experimental-features "nix-command flakes" search nixpkgs pstree</code>
ログイン後にコピー

サンプル出力:

 <code>* legacyPackages.x86_64-linux.psmisc (23.6) A set of small useful utilities that use the proc filesystem (such as fuser, killall and pstree) * legacyPackages.x86_64-linux.pstree (2.39) Show the set of running processes as a tree</code>
ログイン後にコピー

7. Gentooでコマンドのソースを明らかにします

Gentoo LinuxのApp-Partage/GentoolkitパッケージのEquery Toolを使用して、特定のコマンドを提供するパッケージを見つけることができます。

App-Partage/gentoolkitをインストールしていることを確認してください。

 <code># emerge --ask app-portage/gentoolkit</code>
ログイン後にコピー

特定のコマンドを提供するパッケージを検索するには、with belningsオプションを使用して使用します。

 <code>equery belongs /path/to/command</code>
ログイン後にコピー

あなたが探しているコマンドへのフルパスに/path/to/commandを置き換えます。

コマンドへのパスがわからない場合は、whereisコマンドを使用してそれを見つけることができます。

 <code># whereis pstree</code>
ログイン後にコピー

サンプル出力:

 <code># whereis pstree pstree:<strong></strong></code><mark> /usr/bin/pstree</mark> /usr/share/man/man1/pstree.1.bz2
ログイン後にコピー

次に、コマンドを使用して、PSTREEコマンドを提供するパッケージを見つけましょう。

 <code># equery belongs /usr/bin/pstree</code>
ログイン後にコピー

これにより、GREPコマンドを提供するパッケージ名とカテゴリが出力されます。たとえば、

<code> * Searching for /usr/bin/pstree ... sys-process/psmisc-23.6 (/usr/bin/pstree)</code>
ログイン後にコピー

PSTREEコマンドがSYS-APPS/PSMISCパッケージによって提供されていることを示します。

Linuxでコマンドを提供するパッケージを見つける方法

フルパスを指定せずにのみコマンド名を検索する場合は、hasuseオプションを使用できます。

 <code># equery hasuse search-term</code>
ログイン後にコピー

これにより、特定の使用フラグを使用してパッケージを検索するか、特定の実行可能ファイルを提供します。

結論は

ほとんどの主要なLinuxディストリビューションのパッケージマネージャーは、特定のコマンドまたはファイルを提供するパッケージを特定するための組み込みオプションを提供します。パッケージデータベースを検索し、特定のコマンドまたはファイルのソースパッケージを見つけることができます。

この機能は、不足している依存関係のトラブルシューティング、パッケージを選択的に再インストールし、システムに必要なコンポーネントがインストールされていることを確認するのに役立ちます。

関連記事: Linuxで特定のファイルを提供するパッケージを見つける方法

以上がLinuxでコマンドを提供するパッケージを見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート