【问题标题】:How ubuntu software center make "search" operation? [closed]ubuntu软件中心如何进行“搜索”操作? [关闭]
【发布时间】:2015-05-13 06:38:12
【问题描述】:

我想在 Ubuntu 中开发一个软件中心。在 ubuntu 软件中心,当我们输入关键字并按回车键时,它会向我们显示相关结果。例如,当我搜索“eclipse”关键字时,ubuntu 软件中心列出了 5 个结果。

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

我尝试通过使用 bash 命令(apt search package_name)在 apt 包管理器中进行搜索来解决这个问题,但结果是所有包,大约 100 多个包。

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

编辑

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

提前致谢。

【问题讨论】:

    标签: python linux ubuntu package-managers


    【解决方案1】:

    它是开源的,甚至可以使用 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 数据库等。

    【讨论】:

    • 我不明白您所说的“要找出安装软件中心的软件包:”是什么意思。我安装了apt文件。然后我找到了文件 /usr/bin/software-center 。我打开了这个文件,但我不明白这个文件的用途。这个文件的目的是什么?此文件中发生了什么?
    • @metis:这个文件的目的是给你包的名字。回答第二个问题:这里需要包名的唯一原因是为了找到它的源代码。如果您已有“软件中心”的源代码;忽略那部分答案。
    • 我分析了你提到的文件,我分析了所有的源代码。这些代码包含太多技术,很难理解。为了理解这些代码,我必须学习很多技术,可能至少需要一个月,也许这个时间可能还不够。我花了那么多时间学习这些技术,如果这些技术不能解决我的问题怎么办?我只知道python,我不熟悉os库等,而且我的时间有限,请指导我。我需要建立一个简单的软件中心,而不是一个复杂的。非常感谢您的帮助。
    • @metis: “如果这些技术不能解决我的问题怎么办?” --- 用于实现一个软件中心(ubuntu)的库可以用来实现另一个(你的),如果你想复制它的功能。显然,您可以使用完全不同的库。无论如何,要实现一个应用程序,您要么需要学习如何使用它可能包含的现有软件,要么自己实现这些部分。如果您没有时间学习如何使用现有工具;您不太可能有时间自己实施它们。缩小您的要求。
    猜你喜欢
    • 1970-01-01
    • 2014-03-10
    • 2016-11-15
    • 2014-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多