You need to enable JavaScript to run this app. 如何快速获取Debian及衍生发行版所有可用源码包列表
优惠活动
大模型
产品
解决方案
定价
更多

如何快速获取Debian及衍生发行版所有可用源码包列表

Debian系系统查询所有可用源码包的高效方法

问题说明

我们都知道Debian以及衍生发行版里,用下面的命令可以列出所有配置在/etc/apt/sources.list和/etc/apt/sources.list.d/*里的源提供的二进制软件包:

apt-cache search .

要是想拿到所有可用的源码包列表,挨个遍历二进制包查对应源码包的方法实在太慢,有没有更快的办法?

解决方法

你原来的遍历方案慢,核心是要对每个二进制包单独跑一次查询,几万条包记录跑下来自然慢。其实你只要跑过apt update,所有可用源码包的索引已经缓存到本地了,直接读索引就能拿到结果,速度快得多。

方法1:不需要额外装包,速度最快

直接读本地缓存的源码索引文件提取包名,几乎瞬间出结果:

awk '/^Package: / {print $2}' /var/lib/apt/lists/*_Sources | sort -u

提示:如果跑出来是空的,说明你还没配置源码源,也没更新索引。先去/etc/apt/sources.list里,在每一行deb源的下面加一行地址完全一样的deb-src源,再跑sudo apt update更新完索引再执行上面的命令就行。

方法2:用apt官方接口查询,兼容性更强

如果不想直接操作缓存文件,可以用apt-cache自带的源码查询功能,配合字段提取工具拿结果:

# 先安装字段查询工具,没装过的话执行一次就行
sudo apt install dctrl-tools
# 提取所有源码包名
apt-cache showsrc '.*' | grep-dctrl -n -s Package '' | sort -u

两种方法都比原来的遍历方案效率高太多,哪怕是源配置得再多,最多几秒就能出全量结果。

内容的提问来源于stack exchange,提问作者SamTheEagle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 19:45:03