apt-cache検索の使用


10

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

また、名前に「キャッシュ」が含まれるコマンドに検索機能があるのはなぜですか。検索機能はキャッシュとどのように関係していますか?

ありがとう。

回答:


12

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


6

apt-cache search <package name>コマンドを実行すると、ローカルマシンに格納されている利用可能なパッケージの情報に対してクエリが実行されます。これは、「サブスクライブされた」リポジトリからのキャッシュです。つまり、コマンドはUSC(Ubuntu Software Center)またはSynapticで設定したリポジトリに対してクエリを実行しています。

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

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

たとえば、これは、その説明に「di git al」という単語のような「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)
...

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


" apt-cache search ^git$は、パッケージ名に" git "を含む結果のみを返します。たとえば、git-man(あなたが投稿した2番目の出力から)も含まれてgitいるため、これは理解できません。キャレットと$記号の意味を説明できますか?キャレットが「で始まる」を意味することは知っていますが、投稿した2番目の出力(=を^git返すため)と矛盾しますeasygit
Alaa Ali 2013

ああ。^手段パッケージと説明を始めますgit。さて、2番目の出力は理解されました。それで何が^git$戻るのですか?gitand ... で始まるパッケージ
Alaa Ali 2013

@Alaa文字「^」と「$」をクエリのアンカーとして考えてください。apt-cache search ^git$具体的には、gitパッケージを返します。apt-cache search ^git「git」という語句で始まり、それほど限定的ではないパッケージを返します。
Kevin Bowen

クエリapt-cache search ^ git? `を実行することで、より一般的な検索結果を得ることができます
Kevin Bowen

よりカラフルな出力を得るには、コマンドを次のように拡張できますapt-cache search ^git | grep --color git
georg

0

これはあなたの質問への間接的な回答ですが、パッケージ管理に関するものであるため、依然として関連しています。個人的にはapt-getではなくaptitudeを使用しています。aptitudeは、端末と同等のシナプスです。

検索する、

sudo aptitude search $keyword

その他のコマンド

sudo aptitude install
sudo aptitude update
sudo aptitude upgrade

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

sudo apt-get install aptitude

マルチアーキテクチャシステムではaptitudeが依然として問題となる可能性があることに注意してください。クエリ/検索にはaptitudeを使用しても問題ありませんが、パッケージのインストール/削除には使用できません。
guntbert 2013年

help.ubuntu.com/community/MultiArchは、aparchをマルチアーチの問題に使用する方法を説明しています
2013年

そのページではaptitude why、「クエリに使用する」と言ったように、ページがかなり古いだけです(2012年2月8日編集)。そのため、私の警告はまだ残っています。
guntbert 2013年

そうですか。私はaptitudeユーザーですので、マルチアーチシステムで問題があると言っている記事を教えていただけますか?その場合、apt-getに戻す必要があるかもしれません。
2013年

bugs.launchpad.net/ubuntu/+source/aptitude/+bug/831768、最近修正されたようです。私はまだ警戒しています。Debianはapt-get(wheezyのドキュメント)も推奨しています
2013年

0

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

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