如何从命令行搜索可用的包?

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

要按名称或描述搜索特定包:

从命令行,使用:

apt-cache search keyword 

其中search关键字可以是包名称的全部或一部分,也可以是其描述中使用的任何单词。

例如, apt-cache search proxy包括这两个包:

 tiny proxy - 轻量级,非缓存,可选的匿名HTTP代理
 tircd  - 对twitter API的ircd 代理

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

获取所有包的列表

 apt-cache search . 

如果您启用了X-forwarding或在桌面上,请使用Synaptic

Synaptic通常是一种更方便的方法,但至少需要一台X服务器(除非您运行的是桌面环境)。 如有必要,使用sudo apt-get install synaptic

  • 通过X转发在ssh’d服务器上的突触:

    在此处输入图像描述

  • 在Ubuntu桌面上本地运行的Synaptic:

    在此处输入图像描述

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

 apt search package-name 

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

 aptitude search xxxxxx 

apt-cache命令行工具用于搜索apt软件包缓存。 简而言之,此工具用于搜索软件包,收集软件包的信息,还用于搜索可在Debian或基于Ubuntu的系统上安装的可用软件包。

要在安装之前找出软件包名称及其说明,请使用“搜索”标志。 对apt-cache使用“search”将显示具有简短描述的匹配包列表。 假设您想找出包’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 

假设您要从终端执行所有这些操作,请使用以下命令:

首先,我建议您更新软件包索引文件,以便您要创建的存储库中的所有文件的列表是最新的

 sudo apt-get update 

然后在apt-cache中使用“ 搜索正则表达式”函数,其中“正则表达式”代表正则表达式,并且是用于搜索的模式。 有关搜索模式的更多信息,您可以通过命令man 7 regex或英语查找手动正则表达式(7)。 正则表达式变量等于 就足够了。

 apt-cache search . 

以上将为您提供所有结果,但它不是任何特别有助于浏览的顺序。

所以最后我们可以使用sort -d按字典顺序sort -d并且一次只显示一个页面使用less

 apt-cache search . |sort -d |less