ファイルが属する(インストールされていない)Debianパッケージを見つける方法は?


41

Debianシステム(および派生物):

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

つまり、ファイル/bin/lsはという名前のDebianパッケージに属しますcoreutils

ただし、これはパッケージがインストールされている場合にのみ機能します。そうでない場合はどうなりますか?

回答:


58

apt-file

apt-fileバイナリ(DebianUbuntuなど)を提供するパッケージを検索する機能を提供します。デフォルトではインストールされませんが、リポジトリにインストールされます。

apt-file search <path-to-file>

検索する前に一度更新したい場合があります...

apt-file update 

たとえば、インストールされていないバイナリを検索してみましょうmysqldump

$ apt-file search /usr/bin/mysqldump

mysql-client-5.1: /usr/bin/mysqldump
mysql-client-5.1: /usr/bin/mysqldumpslow
mysql-cluster-client-5.1: /usr/bin/mysqldump
mysql-cluster-client-5.1: /usr/bin/mysqldumpslow

(インストールされていない)パッケージの内容をリストすることも可能です:

$ apt-file list mysql-client-5.1

mysql-client-5.1: /usr/bin/innochecksum
mysql-client-5.1: /usr/bin/innotop
mysql-client-5.1: /usr/bin/myisam_ftdump
mysql-client-5.1: /usr/bin/mysql_client_test
...

ヤム

yumコマンドwhatprovides(またはprovides)を受け入れて、インストール済みまたは未インストールのバイナリを検索します。

yum whatprovides <path-to-file>

繰り返しますが、インストールされていませんmysqldump

$ yum whatprovides /usr/bin/mysqldump

mysql-5.1.51-2.fc14.i686 : MySQL client programs and shared libraries
Repo        : fedora
Matched from: 
Filename    : /usr/bin/mysqldump

mysql-5.1.51-1.fc14.i686 : MySQL client programs and shared libraries
Repo        : fedora
Matched from: 
Filename    : /usr/bin/mysqldump

ジッパー

zyppersearchコマンドを-fオプションとともに使用すると、ファイルリストを確認できます。

zypper se -f /bin/mksh
Loading repository data...
Reading installed packages...

S | Name | Summary           | Type   
--+------+-------------------+--------
  | mksh | MirBSD Korn Shell | package

WebpinWebベースのソリューションを提供します。コマンドライン用のスクリプトもあります

pkgfile

利用できるpkgtoolsためのpacmanベースのシステム。上記の他の機能と同様の検索機能を提供します。

$ pkgfile -si /usr/bin/mysqldump

Name      : mysql-clients
Version   : 5.1.54-1
Url       : http://www.mysql.com/
License   : GPL
Depends   : libmysqlclient
...

apt-file search protocたとえば、6000以上の結果が得られます。ただし、結果はファイル名で終わるため、grepを使用すると、探しているファイル名を実際に見つけることができますapt-file search protoc | grep 'protoc$'。「protoc」で終わるものをすべて除外するため、機能します。もちろん、「protoc」を探しているものに置き換えてください。
リュック

5

このための標準ツールはapt-fileです。実行apt-file updateしてインデックスファイルをダウンロードします。出力は次のとおりです。

Downloading complete file ftp://ftp.is.co.za/debian/dists/squeeze/Contents-i386.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 16.6M  100 16.6M    0     0  33191      0  0:08:47  0:08:47 --:--:-- 38951

その後、を実行しapt-file search search_termます。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.