apport 与 coredumpctl?

Wil*_*ard 2 kubuntu apport crash systemd-coredump

coredumpctl刚才打开一个程序的错误报告时,请求了核心转储。运行该命令会产生一条消息,表明该命令不可用,但可以通过安装systemd-coredump.

当我安装时systemd-coredump,我看到安装它删除了软件包apportapport-kde. (我使用的是 Kubuntu 18.04。)

我使用根据要求提供的核心转储完成了该错误报告的归档coredumpctl

现在,有理由选择coredumpctlapport?我从包描述中看到那apport-kde是GUI;可能这就是我在程序崩溃后看到的弹出窗口。但它似乎没有在弹出时在用户界面中提供“获取核心转储”按钮,只是提供“重新启动”或“保持关闭”选项。有systemd-coredump没有类似的UI工具?

也许更重要的是,有没有办法提供apport与我提供的相同的核心转储coredumpctl(或者更好地从 GUI 提供它apport-kde),或者结果在质量上有所不同?

实际上,我想要确定的是我是否应该保留systemd-coredump安装状态,或者通过重新安装来删除它,apport-kde以使我的系统更接近 Kubuntu 18.04 的“正常”设置。我想了解该决定的含义。

小智 5

为了能够回答你的问题,我需要解释一些关于这一切如何运作的背景。

  1. systemd-coredumpcoredumpctl程序

    安装该systemd-coredump软件包后,会将您的系统配置为使用 systemd 进行 coredump 文件管理。默认情况下,它将

    • 将 coredump 文件保存到某个中心位置
    • 几天后或当它们开始占用过多磁盘空间时自动删除它们
    • 允许您使用实用程序从命令行浏览它们(并用它们做一些其他事情)coredumpctl

    我喜欢在我的服务器上运行这个包。当发生非常糟糕的事情时,这个包记录的 coredump 文件可以随时供我分析。在剩下的时间里,这些文件会自动轮换,我不需要担心它们。

  2. 和包apportapport-kde

    这些软件包的功能与 类似systemd-coredump,但带有一些额外的 (K)Ubuntu 内容。它会:

    • 将 coredump 文件保存到某个中心位置
    • 当不再需要它们时请注意删除它们
    • 显示某些程序刚刚崩溃的 GUI 通知,询问用户是否要将崩溃报告发送到 (K)Ubuntu 服务器
    • 将崩溃报告上传到 (K)Ubuntu 服务器(如果用户允许)。

    我通常将其保留在我的 Kubuntu 笔记本电脑上的默认值,除了我在“设置”->“应用程序”->“诊断”中禁用崩溃报告上传。

现在,回答您的问题:

有理由选择 coredumpctl 而不是 apport 吗?

apport将使用您最喜欢的 GUI 来通知您有关崩溃的信息,并允许您选择是否要将崩溃报告上传到 Ubuntu 错误跟踪服务器。coredumpctl两者都不会做,它只会记录 coredump 文件。

systemd-coredump 有类似的 UI 工具吗?

据我所知,不。但是,coredumpctl恕我直言,命令行实用程序真的很酷吗?

也许更重要的是,有没有一种方法可以从 apport 提供与我从 coredumpctl 提供的相同的 coredump(或者更好的是从 apport-kde GUI 提供它)

生成的 coredump 文件应该完全相同:coredump 数据实际上是在程序崩溃时由内核提供的,这里讨论的两个实用程序都采用内核提供的数据并将其转储到磁盘上。

因此,据我所知:没有 GUI 方式可以导出这些文件。

实际上,我想要确定的是我是否应该保留 systemd-coredump 安装,或者通过重新安装 apport-kde 来删除它,以使我的系统更接近 Kubuntu 18.04 的“正常”设置。我想了解该决定的含义。

如果您想“更接近原始版本”,请安装apport-kde. 选择其中一种最明显的影响:

  • 您可能会或可能不会看到程序崩溃通知
  • coredump 文件可能会也可能不会上传到 Ubuntu 错误服务器

请注意,Ubuntu Wiki - Appport表示apport由于各种原因默认情况下禁用该功能,这意味着您可能在系统上看不到任何差异。