遇到问题
开启虚拟机准备做实验的时候,收到一个提示:
ABRT已经检测到一个问题:ABRT has detected 1 problem(s). For more info run: abrt-cli list--since 1673100767
如下图
解决方案
后面有提示,让执行命令,根据提示执行命令查看详细信息
[root@mufenggrow ~]# abrt-cli list --since 1673100767
id 901b9c001951f5d221faf7b8aa9e299eacb7be10
reason: vmtoolsd killed by SIGTRAP
time: 2023年01月07日 星期六 22时19分26秒
cmdline: /usr/bin/vmtoolsd -n vmusr
package: open-vm-tools-10.2.5-3.el7
uid: 0 (root)
count: 1
Directory: /var/spool/abrt/ccpp-2023-01-07-22:19:26-88204
已禁用自动报告功能。请考虑启用该功能,方法是
作为有 root 特权的用户使用命令 'abrt-auto-reporting enabled'
[root@mufenggrow ~]#
按照在上面提示的最下面的提示来操作,启动自动报告功能:
abrt-auto-reporting enabled
设置完后需要重启操作系统
总结
既然遇到了ABRT命令,我们就一起看看这个abrt-cli命令是干嘛的
root@mufenggrow ~]# abrt-cli --help
用法:abrt-cli [--authenticate] [--version] COMMAND [DIR]...
list, ls 列出 [in DIRs] 的问题
remove, rm 删除问题目录 DIR
report, e 分析并报告 DIR 中的问题数据
info, i 输出有关 DIR 的信息
status, st 显示最近的崩溃计数
process, p 处理多个问题
查询了相关的资料,发现这个ABRT工具,是一个自动汇报错误分析工具:
有三个作用:
- 简化用户汇报软件问题的程序
- 在提交给开发者的报告中提供全面的信息
- 提供重要的故障数据以便排列优先次序及安排支持
ABRT工具的工作流程:
在最常用的编程环境下挂入专用的故障处置器
- 为 C/C++ 应用程序注册故障时用的 core dump 程序
- 为漏网的 Python 异常注册处置器
- 为漏网的 Ruby 异常注册处置器
- 提供 JNI 代理器检测漏网的 Java 异常
在系统日志内寻找可疑的符串
- 检测内核 oops
- 检测 Machine-check 异常
- 在 Xorg 的日志内检测 Xorg 故障
检查描述问题的文件是否存在
- 检测及检阅 kdump 创建的内核转储档
- 提供命令行及图像界面工具(abrt-cli 及 gnome-abrt)发送报告及检阅已发报告
- 在 ABRT 的故障数据服务器上收集数据。ABRT 服务器的主要用途是协助维护者安排工作的优先次序,及就已知或已修正的问题向用户提供指引。
关于ABRT如何运作的知识,可以参考: https://abrt.readthedocs.io/en/latest/