web-dev-qa-db-ja.com

Debianでプログラムを含むパッケージを見つけるにはどうすればよいですか?

topプログラムがインストールされていない最小限のDebianシステムを使用しています。 Sudo apt-get install topを使用してtopをインストールしようとしましたが、topはパッケージ名ではありません。

topは他のパッケージの一部であるようです。それを取得するためにどのパッケージをインストールする必要があるかを知るにはどうすればよいですか?より一般的には、プログラムを含むパッケージをどのように見つけることができますか?

19
Liao Zhuodi

直接的な答えはprocpsです。これを自分で確認する方法は次のとおりです。

# Install apt-file, which allows you to search
# for the package containing a file
Sudo apt-get install apt-file

# Update the package/file mapping database
Sudo apt-file update

# Search for "top" at the end of a path
apt-file search --regexp '/top$'

最終的なコマンドの出力は次のようになります。

crossfire-maps: /usr/share/games/crossfire/maps/santo_dominion/magara/well/top
crossfire-maps-small: /usr/share/games/crossfire/maps/santo_dominion/magara/well/top
liece: /usr/share/emacs/site-LISP/liece/styles/top
lxpanel: /usr/share/lxpanel/profile/two_panels/panels/top
procps: /usr/bin/top
quilt: /usr/share/quilt/top

procpsだけが標準のPATHで実行可能ファイルを提供していることがわかります。 procpsの詳細を調べて、適切なものになっていることを確認することもできます。

$ apt-cache show procps
Package: procps
Version: 1:3.3.3-3

[...]

Description-en: /proc file system utilities
 This package provides command line and full screen utilities for browsing
 procfs, a "pseudo" file system dynamically generated by the kernel to
 provide information about the status of entries in its process table
 (such as whether the process is running, stopped, or a "zombie").
 .
 It contains free, kill, pkill, pgrep, pmap, ps, pwdx, skill, slabtop,
 snice, sysctl, tload, top, uptime, vmstat, w, and watch.
35
Chris Down

apt-cache search ...を使用して検索できますが、パッケージ名と説明が一致するだけで、十分でない場合もあります。その場合、例えば

apt-file search top

動作する可能性があります-名前にtopが含まれるファイルを持つすべてのパッケージを検索しますが、これは少しおかしいです(setopt.desktopなどが含まれます)。クリスの答えに従ってこれを洗練するには:

apt-file search --regexp 'bin/top$'

これは、ファイルパスが末尾にあるパッケージを検索します( '$'は regularexpression 終わりを示す構文)in bin/top;実行可能ファイルは常にbinまたはsbinディレクトリにあります。あなたが探しているものを見つけたら:

apt-get install whatever

この場合、whateverは明らかにprocpsです。

3
goldilocks

apt-fileは、repoがcontent-%architecture%.gzを提供する限り、/ etc/apt/sources.listおよび関連データベースにリストされているすべてのリポジトリを検索します。

対象のファイルが実行可能な名前「top」であると思われる場合は、この正規表現を使用してください。 '^ /(usr /)?s?bin/top $'

公式のdebianリポジトリには、Webインターフェース https://packages.debian.org/file:top があり、他の検索オプションがあります。