使用apt-cache搜索


11

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

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

谢谢。

Answers:


13

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


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

命令: 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(从您发布的第二个输出中)还包含git。您能否解释插入符号和$符号的含义?我知道插入符号的意思是“开始于”,但是这与您发布的第二个输出(的输出^git)矛盾,因为它返回easygit=。
Alaa Ali

哦 该^手段包装和说明,随着启动git。好的,第二个输出可以理解。那么^git$返回什么呢?以git和开头的软件包?
Alaa Ali

@Alaa认为字符“ ^”和“ $”是查询的锚点。apt-cache search ^git$将具体返回git包。apt-cache search ^git将返回以短语“ git”开头且不太明确的软件包。
凯文·鲍文

通过运行查询apt-cache search ^ git?`
Kevin Bowen

为了获得更丰富的输出,您可以使用apt-cache search ^git | grep --color git
georg

0

这是您问题的间接答案,但仍与之相关,因为它与软件包管理有关。我个人使用aptitude而不是apt-get。aptitude是等同于终端的突触

寻找,

sudo aptitude search $keyword

其他命令

sudo aptitude install
sudo aptitude update
sudo aptitude upgrade

要安装智能,

sudo apt-get install aptitude

请记住,在多体系结构系统上,智能仍然可能存在问题-因此可以将其用于查询/搜索,但不能用于安装/删除软件包。
贡伯特

help.ubuntu.com/community/MultiArch解释了如何将能力用于多体系结构问题
llt

该页面仅提及aptitude why-就像我说过的“使用它来查询”-该页面也很旧(编辑于2012-02-08)-因此我的警告仍然有效。
贡伯特

我懂了。我是一个有才华的用户,所以您能指出我的文章说它在多体系结构系统上有问题吗?然后,我可能需要切换回apt-get。
llt

bugs.launchpad.net/ubuntu/+source/aptitude/+bug/831768,它似乎最近已得到修复。我还是很警惕。Debian也推荐apt-get(
whieezy的

0

安装apt-xapian-index并在搜索时使用axi-cache搜索而不是apt--cache。您会得到更好的结果

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.