GNU/Linux >> Linux の 問題 >  >> Linux

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

この簡単なチュートリアルでは、Linuxで特定のファイルを提供するパッケージを見つけるためのいくつかの異なる方法について説明します。これは、パッケージを手動でコンパイルしてインストールするときに役立つ場合があります。ソースからパッケージをコンパイルしているときに、「ターゲット''を作成するルールがありません。''に必要です。停止してください。」のようなエラーが発生する可能性があります。 。どのパッケージが不足しているファイルを提供しているか正確にわからない場合があります。このような場合、このガイドで説明されているように、不足しているファイルを提供するパッケージを簡単に見つけて、Linuxボックスにインストールできます。

Linuxで特定のファイルを提供するパッケージを探す

Arch Linux、Antergos、Manjaro Linux:

Archベースには、 pkgfileと呼ばれる小さなコマンドラインツールがあります。 、パッケージからファイルを検索するために使用されます。

PkgfileにはArchLinuxがプリインストールされています。そうでない場合は、次のコマンドを使用してインストールできます。

$ sudo pacman -S pkgfile

次に、次のコマンドを実行してpkgfileデータベースと同期します。

$ sudo pkgfile -u

これで、特定のファイルを提供するパッケージを見つけることができます。たとえば、 alisp.h 、コマンドを使用:

$ pkgfile alisp.h
extra/alsa-lib

上記の出力にあるように、 alsa-lib パッケージはalisp.hを提供します ファイル。また、パッケージは追加から入手できます。 リポジトリ。これで、以下に示すようにこのパッケージをインストールできます。

$ sudo pacman -S alsa-lib

alsa-libパッケージによって提供されるすべてのファイルを一覧表示するには、次のコマンドを実行します。

$ pkgfile -l alsa-lib

RHEL、CentOS、Fedora:

RHELなどのYUMベースのシステム、およびCentOS、Scientific Linuxなどのそのクローンでは、次のコマンドを使用して、特定のファイルを所有するパッケージを見つけることができます。

$ yum whatprovides '*filename'

Fedoraでは、代わりに次のコマンドを使用してください:

$ dnf provides '*filename'
を提供します

ファイルがシステムですでに利用可能である場合は、たとえば / bin / lsと言います。 、コマンドを使用してファイルを所有するパッケージを見つけることができます:

# rpm -qf /bin/ls
coreutils-8.22-18.el7.x86_64

repoqueryを使用することもできます 次のようにコマンドを実行します:

$ repoquery -f /bin/ls

システムでrepoqueryコマンドを使用できない場合は、 yum-utilsをインストールしてください パッケージ。

$ sudo yum install yum-utils

または、

$ sudo dnf install yum-utils

Debian、Ubuntu、Linux Mint:

DEBベースのシステムでは、 apt-fileを使用して特定のファイルを提供するパッケージを見つけることができます。 ツール。

まだインストールされていない場合は、以下に示すようにapt-fileをインストールします。

$ sudo apt-get install apt-file

apt-fileをインストールしたばかりの場合は、システム全体のキャッシュが空になっている可能性があります。キャッシュを更新するには、rootとして「apt-fileupdate」を実行する必要があります。通常のユーザーとして「apt-fileupdate」を実行して、ユーザーのホームディレクトリのキャッシュを使用することもできます。

コマンドを使用してデータベースキャッシュを更新しましょう:

$ sudo apt-file update

次に、特定のファイル( alisp.h など)を含むパッケージを検索します 、コマンド付き:

$ apt-file find alisp.h

または、

$ apt-file search alisp.h

サンプルは次のようになります:

libasound2-dev: /usr/include/alsa/alisp.h

ええと、 libasound2-dev です!このパッケージは、次のコマンドを使用してインストールできます:

$ sudo apt-get install libasound2-dev

すでにファイルがあり、それがどのパッケージに属しているかを知りたい場合は、 dpkgを使用できます。 以下に示すコマンド。

$ dpkg -S $(which alisp.h)

または、

$ dpkg -S `which alisp.h`

ファイルのフルパスがわかっている場合は、たとえば / bin / lsと言います。 、次のコマンドを使用して、所属するパッケージを検索できます。

$ dpkg -S /bin/ls
coreutils: /bin/ls

SUSE / openSUSE:

SUSEおよびopenSUSEで、次のコマンドを実行して、特定のファイルが属するパッケージを確認します。

$ zypper wp alisp.h

または、

$ zypper se --provides --match-exact alisp.h

推奨される読み物:

  • Linuxで特定のリポジトリからインストールされたパッケージを一覧表示する方法
  • CentOSで特定のパッケージの依存関係を見つける方法

そして、それがすべてです。お役に立てれば。特定のファイルを含むパッケージを見つけるための他の方法を知っている場合は、以下のコメントセクションでお気軽にお知らせください。それに応じてガイドを確認して更新します。


Linux
  1. Linuxでファイルを見つける方法

  2. RHEL / CentOS で特定のファイルまたはライブラリを提供する rpm パッケージを見つける方法

  3. デフォルトのファイルマネージャを見つける方法は?

  1. LinuxでTarコマンドを使用する方法

  2. Linuxでパッケージバージョンを見つける方法

  3. ファイルを見つけて、Linux でそのディレクトリに cd します

  1. Linux 端末から特定のファイルを見つけるにはどうすればよいですか?

  2. Linux で「find」の結果を mv にパイプする方法

  3. Linux に .dsc ファイルをインストールする方法