刚刚打开程序的错误报告时,coredumpctl
请求了来自的核心转储。运行该命令时出现一条消息,提示该命令不可用,但可以通过安装来使用systemd-coredump
。
当我安装时systemd-coredump
,我发现安装它会删除软件包apport
和apport-kde
。(我正在使用 Kubuntu 18.04。)
coredumpctl
我使用按照要求提供的核心转储完成了该错误报告的提交。
现在,有什么理由更喜欢coredumpctl
?apport
我从软件包描述中看到它apport-kde
是 GUI;可能这就是我在程序崩溃后看到的弹出窗口。但它似乎没有在弹出的 UI 中提供“获取核心转储”按钮,只有“重新启动”或“保持关闭”选项。systemd-coredump
有类似的 UI 工具吗?
也许更重要的是,有没有办法提供apport
与我提供的相同的核心转储coredumpctl
(或者更好的是从 GUI 提供apport-kde
),或者结果在质量上是否不同?
我真正想确定的是,我是否应该保留systemd-coredump
安装,还是通过重新安装将其删除apport-kde
,只是为了让我的系统更接近 Kubuntu 18.04 的“正常”设置。我想了解这个决定的含义。
答案1
为了能够回答您的问题,我需要解释一下这一切是如何运作的。
包裹
systemd-coredump
和coredumpctl
程序安装此
systemd-coredump
软件包后,它将配置您的系统以使用 systemd 进行 coredump 文件管理。默认情况下,它将- 将 coredump 文件保存到某个中心位置
- 在几天后或当它们开始占用过多磁盘空间时自动删除它们
- 允许您使用实用程序从命令行浏览它们(并使用它们执行其他一些操作)
coredumpctl
。
我喜欢在我的服务器上运行这个软件包。当发生非常糟糕的事情时,这个软件包记录的 coredump 文件可供我随时分析。其余时间,这些文件会自动轮换,我无需担心它们。
和包
apport
apport-kde
这些软件包的功能与 类似
systemd-coredump
,但还包含一些额外的 (K)Ubuntu 内容。它将:- 将 coredump 文件保存到某个中心位置
- 当不再需要它们时,请小心删除它们
- 显示某个程序刚刚崩溃的 GUI 通知,询问用户是否要将崩溃报告发送到 (K)Ubuntu 服务器
- 将崩溃报告上传至(K)Ubuntu 服务器(如果用户允许)。
我通常会在我的 Kubuntu 笔记本电脑上保留其默认设置,但我会在“设置”->“应用程序”->“诊断”中禁用崩溃报告上传。
现在,回答你的问题:
有什么理由选择 coredumpctl 而不是 apport 吗?
apport
将使用您最喜欢的 GUI 通知您有关崩溃的信息,并允许您选择是否要将崩溃报告上传到 Ubuntu 错误跟踪服务器。它coredumpctl
不会执行上述任何操作,它只会记录核心转储文件。
systemd-coredump 有类似的 UI 工具吗?
据我所知,不是。但coredumpctl
在我看来,这确实是一个很酷的命令行实用程序。
或许更重要的是,有没有办法从 apport 提供与我从 coredumpctl 提供的相同的核心转储(或者更好的是从 apport-kde GUI 提供它)
生成的核心转储文件应该完全相同:核心转储数据实际上是在程序崩溃时由内核提供的,这里讨论的两个实用程序都采用内核提供的内容并将其转储到磁盘上。
据我所知,没有通过 GUI 方式导出这些文件。
我真正想确定的是,我是否应该保留 systemd-coredump 的安装,或者通过重新安装 apport-kde 将其删除,以使我的系统更接近 Kubuntu 18.04 的“正常”设置。我想了解这个决定的含义。
如果您想要“更接近原版”,请安装apport-kde
。选择一个而不是另一个的最明显含义:
- 您可能会或可能不会看到程序崩溃通知
- coredump 文件可能会或可能不会上传到 Ubuntu 错误服务器
注意Ubuntu 维基百科-Apport表示apport
由于各种原因,默认情况下禁用该功能,这意味着您可能不会在系统上看到任何差异。