当我事先知道这些软件包可用时,我已经使用命令行“ sudo apt-get install packagename”成功安装了一些软件包。但是,如何搜索或获取存储库中可用资源的列表?

#1 楼

要通过名称或描述搜索特定的软件包:
在命令行中,使用:
apt-cache search keyword

其中搜索关键字可以是软件包名称的全部或一部分,也可以是
例如,apt-cache search proxy包括这两个软件包:
tinyproxy - A lightweight, non-caching, optionally anonymizing HTTP proxy
tircd - ircd proxy to the twitter API


注意:该列表可能很长,因此您可以将输出传递给less以使其可滚动一次一行或一个屏幕,即apt-cache search something | less

要获取所有软件包的列表,请使用Synaptic如果您启用了X转发或在台式机上
,Synaptic通常是一种更方便的方法,但是至少需要使用X服务器(除非您正在运行台式机环境)。如果需要,请使用sudo apt-get install synaptic安装。


通过X转发在ssh'd服务器上安装Synaptic:



Synaptic在Ubuntu本地运行台式机:




评论


@MarkThomas也尝试apt-cache策略,它为您提供了有关源的更多信息。

– yclian
2015年3月21日在2:44

像apt-get一样,您可以运行不带任何参数的apt-cache并获得简短的帮助/备忘单信息。您可以随时阅读其手册页以获取更多帮助。 (即man apt-cache)

– pd12
15年10月28日在1:08

假设我很愚蠢,想要将结果保存到apt安装中,是否有聪明的方法来做到这一点?该函数的输出是混乱的。可以使用每一行的第一个单词,但是应该有一种更简单的方法。

– CoderGuy123
16年11月4日在7:41

您也可以在线搜索。 packages.ubuntu.com

–activedecay
17年9月8日在5:18



如果只需要所有可用软件包的名称,请执行apt-cache pkgnames

– flz14
18年2月15日在11:15

#2 楼

使用aptitudeapt-cacheapt都以不同的方式格式化输出。 (在搜索软件包时,这些都不要求使用sudo。)我更喜欢使用apt来提高可读性。它突出显示了软件包名称,并在不同的软件包之间放置了一个空格。它还已经在每个已安装的软件包旁边列出[installed]。用法:

apt search package-name


评论


如果我运行说'$ apt search firefox',它会产生大量的输出结果:(

–user3804598
18年1月2日在17:45



您可以使用类似以下方法来缩小搜索范围:apt search firefox | grep -A 3 Firefox

– jbrock
18年4月16日在16:01

缩小搜索范围的另一种选择:apt搜索^ firefox或apt搜索^ firefox $

– jbrock
19年7月26日在8:24

@jbrock如果您的输出不是tty而是类似apt search firefox中的管道| grep -A 3 firefox,那么您应该改用apt-cache搜索。 apt工具的输出仅供人类使用,如有更改,恕不另行通知。 apt-get和apt-cache工具具有稳定的输出,可在像您这样的脚本和管道中使用。

– josch
5月25日10:53

#3 楼

您还可以从命令行使用aptitude:

aptitude search xxxxxx


评论


关于这一点的恼人之处在于,Ubuntu在默认情况下似乎并未将其提供给您。在我了解apt-cache之前,我一直在对我安装的每个新盒子进行apt-get install aptitude。但是,由于我找不到获取apt-cache的方法来向我展示是否已安装,因此我想我必须继续这样做:-)

–user9184
16年5月5日在6:39

@paxdiablo只需创建两行shell脚本(第二行,例如dpkg --list | grep“ $ 1”),或将shell函数添加到您的.bash_login ...:-中即可。

– FooF
16年8月12日在3:43

#4 楼


apt-cache命令行工具用于搜索apt软件。
程序包缓存。简而言之,该工具用于搜索软件包,收集软件包信息,还用于搜索哪​​些可用软件包已准备好在基于Debian或Ubuntu的系统上安装。
br />

要在安装前查明软件包名称及其说明,请使用“搜索”标志。将“搜索”与apt-cache一起使用将显示简短说明的匹配软件包列表。假设您想查找软件包“ vsftpd”的描述,然后输入命令。


语法:

apt-cache search SearchTerm



$ apt-cache search vsftpd



可能的输出为:


vsftpd - lightweight, efficient FTP server written for security
ccze - A robust, modular log coloriser
ftpd - File Transfer Protocol (FTP) server
yasat - simple stupid audit tool



至找到并列出所有以'vsftpd'开头的软件包,您
可以使用以下命令。


$ apt-cache pkgnames vsftpd



您可能还想通过更多甚至grep来运行结果。
例如:


apt-cache search firefox | grep plugin


#5 楼

假设要从终端执行所有操作,请使用以下命令:
首先,我建议您更新软件包索引文件,以便要创建的存储库中所有文件的列表都是最新的
sudo apt-get update

,然后在apt-cache中使用“搜索正则表达式”功能,其中“正则表达式”代表正则表达式,是提供给搜索的模式。有关搜索模式的更多信息,您可以通过命令q4​​312079q或英文查找手册regex(7)。等于的正则表达式变量。足够了。
apt-cache search .

上面的内容可以为您提供所有结果,但它的浏览顺序并不是特别有用。
最后,我们可以使用man 7 regex按字典顺序进行排序并显示使用sort -d一次仅一页。
apt-cache search . |sort -d |less


#6 楼

不幸的是,我没有足够的代表在主要答案上添加此注释。
但是我试图找到与g++-相似的apt-cache search软件包。重要的是要知道在这种情况下keyword是一个正则表达式,因此apt-cache search g++-不会有帮助。
apt-cache search "g[+][+][-]"是可行的方式