web-dev-qa-db-ja.com

apt-cache検索を使用する

私はaptの使い方を学んでいます。 apt-cache search gitを実行してgitに一致するすべてのパッケージを表示すると、その説明がgitとは関係のないパッケージが多数表示されます。なぜこれがそうで、どうすれば修正できますか? (Ubuntu 12.04.2 LTS)。

また、名前に「cache」を含むコマンドで検索機能が見つかるのはなぜですか?検索機能はキャッシュと何の関係がありますか?

ありがとう。

10
Jason Posit

名前でのみ検索する場合は、--names-only引数を使用します。詳細については、man apt-cacheをお読みください。役に立つでしょう。

12
ssoto

apt-cache search <package name>コマンドを実行すると、使用可能なパッケージについてローカルマシンに保存されている情報に対してクエリを実行しています。これは、「購読済み」リポジトリのキャッシュです。つまり、コマンドは、USC(Ubuntu Software Center)またはSynapticで設定したリポジトリに対してクエリを実行しています。

apt-cacheのマニュアルページによると、/etc/apt/sources.listはクエリ内の情報を取得する場所です。他の種類のパッケージ情報のための追加の場所がいくつかあります。詳細については、man apt-cacheを参照してください。

基本的に、apt-cache search gitを実行すると、パッケージ名とパッケージの説明にWordシーケンス「git」を含む使用可能なパッケージのすべてのインスタンスが返されます。

たとえば、これは、単語「di」のような、単語シーケンス「git」を含む可能性のあるパッケージを意味しますgitまた、その説明では結果として返されます。前の文の太字に注意してください。

ソース管理マネージャーであるgitに特に関係するパッケージのみに関心がある場合、検索結果をより制限するために、クエリを正規表現の使用に制限する必要があります。

例えば:

Sudo apt-cache search ^git$

パッケージ名に「git」というフレーズのみを明示的に含む結果を返します。

例えば:

Sudo apt-cache search ^git$
git - fast, scalable, distributed revision control system

コマンド:Sudo apt-cache search ^git

「git」というフレーズで始まるパッケージの結果を返します。

例えば:

Sudo apt-cache search ^git
git - fast, scalable, distributed revision control system
git-core - fast, scalable, distributed revision control system (obsolete)
git-doc - fast, scalable, distributed revision control system (documentation)
git-man - fast, scalable, distributed revision control system (manual pages)
gitk - fast, scalable, distributed revision control system (revision tree visualizer)
easygit - git for mere mortals
gforge-plugin-scmgit - Git plugin for FusionForge (transitional package)
git-all - fast, scalable, distributed revision control system (all subpackages)
git-annex - manage files with git, without checking their contents into git
git-Arch - fast, scalable, distributed revision control system (Arch interoperability)
...

とはいえ、パッケージキャッシュのクエリを調整して、興味にさらに具体化する必要があります。お役に立てれば。

6
Kevin Bowen

これはあなたの質問に対する間接的な答えですが、パッケージ管理に関するものであるため、依然として関連しています。私は個人的にapt-getではなくaptitudeを使用しています。 aptitudeは、ターミナルと同等の synaptic です。

検索する、

Sudo aptitude search $keyword

その他のコマンド

Sudo aptitude install
Sudo aptitude update
Sudo aptitude upgrade

Aptitudeをインストールするには、

Sudo apt-get install aptitude
0
llt

検索時にapt-xapian-indexをインストールし、apt--cacheの代わりにaxi-cache検索を使用します。より良い結果が得られます

0
zaonline