2009-07-22 19:06:32 +0000 2009-07-22 19:06:32 +0000
310
310

Ubuntu/Debianでファイルがどのパッケージに属しているかを見つけるには?

私はUbuntu 8.04のシステムで作業をしているときに、プログラム、マンページ、または他のファイルが見つからないことがよくあります。与えられたファイルが含まれているパッケージを検索する簡単な方法はありますか(それがすでにインストールされているかどうか)?多分、aptやdpkgのためのいくつかの不明瞭なオプション?

回答 (8)

416
416
416
2009-07-22 19:13:44 +0000

(Debian/Ubuntu) ファイルがどのパッケージに属しているかを調べる .

dpkg -S /usr/bin/ls

‘dpkg -S’ は与えられた文字列にマッチするだけなので、引数に ‘ls’ を使うだけで、ファイル名のどこかに ‘ls’ があるパッケージのファイルにマッチします。ですから、通常は絶対パスを使うのが良いでしょう。2 番目の例では、dpkg が知っている 12,000 個のファイルがむき出しの文字列 ‘ls’ にマッチしていることがわかります。

255
255
255
2009-07-22 19:08:44 +0000
apt-file search filename

または

apt-file search /path/to/file

apt-file をインストールするには、次のようにしてください。

sudo apt-get install apt-file

使用する前にデータベースを更新する必要があります。

20
20
20
2009-07-22 20:07:17 +0000

packages.debian.org は、このタスクを達成するためにいつも使っているものです。apt-file よりも優れているのは、ファイル名の一部を見つけることができるからです。また、メインのパッケージリストにリンクされていて、説明やバグなどが一覧表示されます。全体としては良いサイトです。コマンドラインからはそれほど便利ではありませんが、それでもかなり便利です。

速さのためにURLをブックマークしました。

http://packages.debian.org/search?searchon=contents&keywords=%s&mode=filename&suite=unstable&arch=any

をFirefoxでブックマークして、キーワードとしてdebfindを追加した(ブックマークマネージャーで “more "をクリックしてhilightした状態で)ので、"debfind "と入力するだけで動くようになった。他のバージョンのディストリビューションでは、不安定版から安定版、テスト版に変更することができます。

11
11
11
2011-08-08 19:30:27 +0000

dlocateを使うこともできます。マニュアルページより;

$ dlocate [PATTERN]
List all records where either the package name or the filename matches PATTERN.
4
4
4
2013-01-14 02:40:06 +0000

Wajigを見つけました。

wajig whichpackage /path/to/file
wajig whichpackage /etc/apt/sources.list

Wajigは、apt-getやdpkgの良さをすべて包み込んでくれる便利なコマンドラインやコンソールツールです。.

wajigをインストールするには、次のようにしてください。

apt-get install wajig

このコマンド「whichpackage」自体はapt-fileに依存しています

使用する前にデータベースを更新する必要があります: - wajig update whixhがapt-getアップデートを行う際にファイルキャッシュも更新するかどうかはまだわかりませんが、そうなるかもしれないと期待しています。

sudo wajig update

sudo apt-file update

( そしてスーパーカウ、イースターのegss ? ! )

2
2
2
2013-10-28 10:40:51 +0000

Debian の jamuraa さんの回答と同様に、Ubuntu の場合は http://packages.ubuntu.com/ に行くこともできます。ファイルのパスを入力できる “Search the contents of packages” 検索ボックスを見つけるには、少し下にスクロールする必要があります。

0
0
0
2014-11-24 09:59:47 +0000

command-not-found パッケージは、潜在的なコマンドと debian パッケージの名前についてのヒントを提供します。bash シェルでコマンドを入力し、その出力を見ることで動作します。

zer@ivy:~ 10:45 $ zsh5
The program 'zsh5' is currently not installed. To run 'zsh5' please ask
your administrator to install the package 'zsh'
zsh5: command not found

例えば、コマンド名がわかっている場合は

zer@ivy:~ 09:46 $ zsh
No command 'zsh' found, did you mean:
 Command 'lsh' from package 'lsh-client' (main)
 Command 'osh' from package 'omake' (main)
 Command 'ysh' from package 'libyaml-shell-perl' (main)
 Command 'ssh' from package 'openssh-client' (main)
 Command 'vsh' from package 'crystalspace' (main)
 Command 'dsh' from package 'dsh' (main)
 Command 'ash' from package 'ash' (main)
 Command 'msh' from package 'nmh' (main)
 Command 'zssh' from package 'zssh' (main)
 Command 'qsh' from package 'gridengine-client' (main)
 Command 'sh' from package 'dash' (main)
 Command 'bsh' from package 'bsh' (main)
zsh: command not found

となり、コマンドがわからない場合は、いくつかの推測が適用されます。

0x1&

0
0
0
2012-12-20 00:33:23 +0000

http://www.kodkast.com/applications/find-which-package-file-belongs-to ](http://www.kodkast.com/applications/find-which-package-file-belongs-to)

これは、異なる rpms/linux パッケージに含まれているファイルを検索するアプリケーションで、 マシンに rpm がインストールされていない場合に非常に便利です。