在Synaptic中,可以按节列出包。例如,在下面的图片中,列出了“业余无线电(宇宙)”部分的所有软件包。
如何在命令行获得这样的列表(编辑:使用包描述)?
我需要一个原始列表;像aptitude这样的终端应用程序是不行的。

发布于 2014-05-28 15:31:51
嗯,虽然你说你不想因为输出而使用天赋,但是你需要知道你可以修改它来得到你喜欢的东西:
aptitude -F'|%p|%d|' search '?section(hamradio)'诀窍在于修改输出格式的-F开关。%p的意思是包。当包具有不同的体系结构(即amd64和i386),以及输出描述的%d时,这也会输出。您可以更多地个性化搜索模式,例如,没有安装包:
aptitude -F'|%p|%d|' search '?section(hamradio) !~i'其中~i的意思是已安装,而!是not,因此它读为"not (!) installed (~i)",或者如果您只想要那些对您的体系结构可用的:
aptitude -F'|%p|%d|' search '?section(hamradio) ~r native'~r是?architecture(),它与包的体系结构相匹配,native只列出与系统具有相同体系结构的结构,相当于dpkg --print-architecture。
因此,可以将前一行写得更简洁,如:
aptitude -F'|%p|%d|' search '~s hamradio ~r native'发布于 2014-05-20 15:26:17
确保dctrl-工具
已安装软件包。它为搜索apt和dpkg包列表提供了有用的命令。若要从可用apt安装的特定部分获得所有包的完整描述,请运行
grep-aptavail -F Section hamradio这将显示hamradio部分中每个包的完整包元数据。如果您只想看到包名,请运行
grep-aptavail -n -F Section -s Package hamradio如果您的系统是为多重架构设置的,如果该包是为一个以上的体系结构构建的,那么这个包可能会在这个清单中显示不止一次。因此,要进一步完善这一点,请使用
grep-aptavail -n -F Section -s Package hamradio | sort | uniq或
grep-aptavail -n -F Section -s Package hamradio | sort -u若要对包列表进行排序并删除具有相同名称的重复包,请执行以下操作。
请注意,您必须使用该部分的实际名称,这与Synaptic在GUI中显示的“人类可读的”名称不同。例如,上面的搜索使用节名hamradio而不是Synaptic中显示的字符串“业余无线电”。
有关所有选项和一些示例的完整说明,请参见grep-aptavail手册页。
发布于 2014-05-21 00:12:28
下面一行将打印存储库部分的所有唯一包名,以及它们的描述,每一行都在一行上。所有字段都由管道字符分隔,即准备转换为减价管台。结果表可以在我的网站上找到。
grep-aptavail -n -s Package,Description -F Section hamradio |paste -sd '||\n' |sed 's:^:|:' |sort -uhttps://askubuntu.com/questions/469612
复制相似问题