ubuntu软件中心如何进行“搜索”操作?

时间:2015-03-11 12:56:30

标签: python linux ubuntu package-managers

我想在Ubuntu中开发一个软件中心。在ubuntu软件中心,当我们输入关键字并点击进入按钮时,它会显示相关结果。例如,当我搜索" eclipse"关键字,5结果列在ubuntu软件中心。

我想在我的软件中心执行类似的功能。

我试图通过使用bash命令(apt search package_name)在apt包管理器中进行搜索来解决这个问题,但它提供了所有包,大约超过100个包。

ubuntu软件中心和其他软件中心如何搜索关键字?他们在哪里搜索关键字并检索结果? ubuntu软件中心的源代码非常复杂,我找不到我需要的东西。任何指南将不胜感激。

修改

我分析了ubuntu软件中心的所有源代码。这些代码包含很多技术,很难理解它。为了理解这些代码,我必须学习很多技术,可能需要至少一个月,也许这个时间可能还不够。在我花了这么多次学习这些技术之后,如果这些技术无法解决我的问题呢?我只知道python,我不熟悉os库等,我的时间有限,请指导我。我需要建立一个简单的软件中心,而不是复杂的软件中心。

提前致谢。

1 个答案:

答案 0 :(得分:2)

它是开源的,甚至可能使用Python。

要了解哪个软件包安装了软件中心:

$ apt-file find -F /usr/bin/software-center
software-center: /usr/bin/software-center

下载源代码:

$ mkdir software-center
$ cd software-center/
$ apt-get source software-center

在源代码中查找“搜索”一词。 utils/search_query.py似乎相关。看起来它使用xapian模块来完成实际工作。它查询/var/lib/apt-xapian-index/index xapian数据库等。