首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >非ubuntu软件包的Apport支持

非ubuntu软件包的Apport支持
EN

Ask Ubuntu用户
提问于 2013-02-27 13:02:21
回答 1查看 3.8K关注 0票数 13

到现在为止,我已经读了一个星期关于apport及其用法的文章。但无法理解下面的事情。

场景:

我开发了一个应用程序并打包了它。它的名字叫MyApp.deb。二进制包名为MyApp .The应用程序安装在路径/opt/myapplication/bin/MyApp中。

要求:

  1. 当我的应用程序崩溃时,我希望能够收集核心转储。
  2. 在随后的每一次崩溃中,它都必须创建一个新的崩溃,而不是覆盖现有的崩溃。类似于用当前时间戳自动重命名等会对我有所帮助。
  3. 当我在客户机器上安装我的应用程序时,我的安装程序不能修改他的系统宽参数。例如,我不能更改他的核心文件生成模式,因为用户/客户可能讨厌我的应用程序,因为我会在未经他同意的情况下更改他的系统参数。
  4. 我同意核心文件生成的路径。当前目录或/var/crash

到目前为止我已经探索过的

Apport是一个很好的实用程序,它支持核心文件生成。使用/proc/sys/kernel/core_pattern,我可以格式化核心文件。这提供了将核心文件重定向到预定义目录、用pid命名核心文件、附加或准备结束的文件路径模式等灵活性。对于非Ubuntu包,我必须编写挂钩来生成核心转储(报告)。在收集完报告后,将上传。

我不明白的事情:

  1. 是我一定要看的那个吗??我的意思是这够我的目的了吗?还是我应该看别的东西?
  2. 我的应用程序属于什么样的包?我该称它为非-ubuntu吗?第三部分?那是什么?我在文件里看到了不同的术语?
  3. 正如我前面提到的,MyApp是从/opt/myapplication/bin/MyApp运行的,那么在哪里生成核心文件呢?当前dir还是/var/crash?Apport是否检测到从/opt中检测到的崩溃?它会解释它吗?
  4. 重要问题:如果我已经开发了应用程序,如果Apport将报告上传到Ubuntu存储库,这是没有意义的。所以我怎么能让Apport把报告寄给我。
  5. 我得到了一个错误:executable does not belong to a package, ignoring。那我做错什么了?
  6. 为了让apport识别我的包,我需要把它变成一个源包吗?这是强制性的吗?我只想创建一个二进制包?
  7. 我还在文档中看到了相应识别的地方:。
    1. Ubuntu软件包或
    2. Launchpad应用程序,但我的应用程序两者都不是。那么,在目前的情况下,Apport如何帮助我呢?
EN

回答 1

Ask Ubuntu用户

发布于 2013-03-22 22:58:19

  1. 它看起来很近,但可能不是你所需要的。Apport自动更改/proc/sys/核/core_模式。所以如果不能改变的话,你就太倒霉了。另一方面,apport现在处于默认的Ubuntu安装中,因此几乎每个使用Ubuntu的人都已经更改了该参数。我也不知道有什么方法可以告诉apport在某个特定的应用程序中保存比最近的崩溃更多的信息,但是只要每次崩溃都被上传,这就不是问题了。
  2. 我会把它称为第三方。
  3. Apport支持安装在/opt中的可执行文件。您需要在/opt/path/to/your/app/share/apport/package-hooks.中提供一个钩子
  4. 您可以在包钩子中为您的包设置自定义崩溃数据库。但是,如果您的崩溃数据库不像debbugs或launchpad,您还需要创建一个定制的崩溃数据库连接器实现,这看起来不可能在不安装/opt之外的python文件的情况下完成。
  5. 可执行文件需要由dpkg安装,这意味着您需要将其打包到.deb文件中。
  6. 为了创建二进制包,您必须创建一个源包,因为二进制包是从源包创建的。您不需要分发源包。
  7. Apport可以处理打包为.deb文件的任何内容。
票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/261917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档