我想在Ubuntu中开发一个软件中心。在ubuntu软件中心,当我们输入关键字并点击进入按钮时,它会显示相关结果。例如,当我搜索" eclipse"关键字,5结果列在ubuntu软件中心。
我想在我的软件中心执行类似的功能。
我试图通过使用bash命令(apt search package_name)在apt包管理器中进行搜索来解决这个问题,但它提供了所有包,大约超过100个包。
ubuntu软件中心和其他软件中心如何搜索关键字?他们在哪里搜索关键字并检索结果? ubuntu软件中心的源代码非常复杂,我找不到我需要的东西。任何指南将不胜感激。
修改
我分析了ubuntu软件中心的所有源代码。这些代码包含很多技术,很难理解它。为了理解这些代码,我必须学习很多技术,可能需要至少一个月,也许这个时间可能还不够。在我花了这么多次学习这些技术之后,如果这些技术无法解决我的问题呢?我只知道python,我不熟悉os库等,我的时间有限,请指导我。我需要建立一个简单的软件中心,而不是复杂的软件中心。
提前致谢。
答案 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数据库等。