我正在使用软件中心的 API,在看到askubuntu 上的这篇文章。
我的问题是:如何获取所有 Ubuntu 软件中心应用程序的列表?
从另一个问题中我得到了这个用于检索所有应用程序的端点:http://software-center.ubuntu.com/api/2.0/applications/any/ubuntu/any/any/
但问题是它看起来仅返回 580 个应用程序。
但在 appnr.com 上,Ubuntu 软件中心似乎还有更多应用程序?比如 30204 个软件包?
那么我如何才能获取所有 Ubuntu 软件中心的应用程序?
答案1
在本地系统上
使用本地包管理缓存一些 shell 脚本的简单使用:
apt-cache dumpavail | grep ^Package | cut -d " " -f 2 | sort | uniq
这仅列出软件包名称,因此它与使用软件中心 API 不同,但它将列出您稍后可用于查询 API 的所有软件包名称,我猜。这列出了我系统上的 38820 个软件包。请注意,它可能包含非 Ubuntu 存储库支持的软件包,因此并非所有软件包都可在 SC 中使用。
注意:在amd64
启用了 Multiarch 的系统上将apt-cache
列出许多重复的,所以这就是uniq
使用该工具的原因。
在线的
去packages.ubuntu.com
请参阅浏览软件包列表:,按照发行版(版本)的链接,然后点击页面底部的链接(所有套餐),例如packages.ubuntu.com/quantal/allpackages
。