使用 apt-cache 搜索

Jas*_*sit 13 package-management apt apt-cache

我正在学习如何使用apt。当我apt-cache search git 查看所有与 git 匹配的包时,我看到一堆描述与 git 无关的包。为什么会这样,我该如何解决?(Ubuntu 12.04.2 LTS)。

另外,为什么在名称中包含“缓存”的命令中可以找到搜索功能?搜索功能与缓存有什么关系?

谢谢。

sso*_*oto 15

如果您只想按名称搜索,请使用--names-only参数。有关更多信息,请阅读man apt-cache,它会很有用。


Kev*_*wen 6

执行apt-cache search <package name>命令时,您正在对本地计算机上存储的可用包信息执行查询。这是您“订阅的”存储库中的缓存。也就是说,该命令正在对您在 USC(Ubuntu 软件中心)或 Synaptic 中设置的存储库执行查询。

根据apt-cache手册页,/etc/apt/sources.list是从查询中获取信息的位置。其他类型的包裹信息还有几个附加位置。有关man apt-cache更多详细信息,请参阅。

本质上,运行apt-cache search git将返回包名称以及包描述中包含单词序列“git”的所有可用包实例。

例如,这意味着在其描述中可能包含单词序列“git”的任何包,如单词“di git al”,也将作为结果返回。请注意上一句中的粗体。

如果您只对与 git(源代码控制管理器)特别相关的包感兴趣,则需要将查询限制为使用正则表达式,以使搜索结果更具限制性。

例如:

sudo apt-cache search ^git$

将返回在包名称中仅明确包含短语“git”的结果。

例如:

sudo apt-cache search ^git$
git - fast, scalable, distributed revision control system
Run Code Online (Sandbox Code Playgroud)

命令: 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)
...
Run Code Online (Sandbox Code Playgroud)

也就是说,您需要调整对包缓存的查询,使其更符合您的兴趣。希望这可以帮助。