我正在学习如何使用apt。当我apt-cache search git
查看所有与git匹配的软件包时,会看到一堆描述与git无关的软件包。为什么会这样,我该如何解决?(Ubuntu 12.04.2 LTS)。
另外,为什么在名称中带有“ cache”的命令中找到搜索功能?搜索功能与缓存有什么关系?
谢谢。
我正在学习如何使用apt。当我apt-cache search git
查看所有与git匹配的软件包时,会看到一堆描述与git无关的软件包。为什么会这样,我该如何解决?(Ubuntu 12.04.2 LTS)。
另外,为什么在名称中带有“ cache”的命令中找到搜索功能?搜索功能与缓存有什么关系?
谢谢。
Answers:
执行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)
...
也就是说,您将需要调整对程序包缓存的查询,使其更符合您的兴趣。希望这可以帮助。
^
手段包装和说明,随着启动git
。好的,第二个输出可以理解。那么^git$
返回什么呢?以git
和开头的软件包?
apt-cache search ^git$
将具体返回git包。apt-cache search ^git
将返回以短语“ git”开头且不太明确的软件包。
apt-cache search ^git | grep --color git
这是您问题的间接答案,但仍与之相关,因为它与软件包管理有关。我个人使用aptitude而不是apt-get。aptitude是等同于终端的突触。
寻找,
sudo aptitude search $keyword
其他命令
sudo aptitude install
sudo aptitude update
sudo aptitude upgrade
要安装智能,
sudo apt-get install aptitude
aptitude why
-就像我说过的“使用它来查询”-该页面也很旧(编辑于2012-02-08)-因此我的警告仍然有效。
apt-cache search ^git$
将仅返回包名称中包含“ git”的结果”。我不明白这一点,因为例如git-man
(从您发布的第二个输出中)还包含git
。您能否解释插入符号和$符号的含义?我知道插入符号的意思是“开始于”,但是这与您发布的第二个输出(的输出^git
)矛盾,因为它返回easygit
=。