不久前我将这个问题发布到 StackOverflow,但刚刚发现这个社区,并且觉得这至少是一个同样适合这个问题的网站:
我已经明白,如果 abrt-ccpp.service 安装在 Linux PC 上,它会取代/覆盖(我都读过,不确定哪个是真的)文件/proc/sys/kernel/core_pattern,否则指定位置和文件名模式核心文件。
问题:
当我执行时systemctl,为什么 abrt-ccpp.serviceexited在SUB列下报告?我不明白的组合active和exited:是服务“活着” /活动/运行或不?
> systemctl
UNIT LOAD ACTIVE SUB
abrt-ccpp.service loaded active exited ...
Run Code Online (Sandbox Code Playgroud)
问题:
核心文件在哪里生成?我编写了这个程序来生成一个SIGSEGV:
#include <iostream>
int main(int argc, char* argv[], char* envz[])
{
int* pInt = NULL;
std::cout << *pInt << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
编译执行如下:
> g++ main.cpp
> ./a.out
Segmentation fault (core dumped)
Run Code Online (Sandbox Code Playgroud)
但是我找不到生成核心文件的位置。
我尝试过的:
main.cpp. 核心文件不存在。 …我刚刚在笔记本电脑上安装了 Fedora 28。在启动时,我得到一个我非常想报告的内核 oops。然而,ABRT 将内核识别为带有标志污染,GW因此拒绝报告它。如果我看一下abrt 文档,它的W意思是“内核先前已发出警告”。而G告诉我只加载了 GPL 兼容的模块(正如预期的那样,我自己没有安装任何内核模块)。
但这究竟是什么意思?内核是否已向 bugzilla 发出警告?这条消息真的无法帮助我理解为什么新安装的 Linux 会给我一个我无法报告的错误......
cat /proc/sys/kernel/tainted也只给出值 512,即根据sysctl 文档只有内核警告。
那么我怎样才能知道到底发生了什么,为什么我不能用 ABRT 报告呢?
编辑:根据2012年对 RedHat Bugzilla 的评论
'w' 表示警告已经发生。我们只关心第一个,abrt 应该已经提交了。
因此,我在受污染的报告中寻找任何内容,以找出 ABRT 报告“第一个”的位置,并在 FAF 上找到了这份报告——但是,内核也被标记为“受污染”,因此报告可能不会考虑修复,我仍然不知道,为什么。
我们希望自动化从/var/spool/abrt/.
我们有 RHEL 机器 - 版本 7.x。
已知的方法是执行以下操作
# systemctl stop abrtd
# systemctl stop abrt-oops
Run Code Online (Sandbox Code Playgroud)
我们可以使用以下 rm 命令删除所有这些目录和文件:
# abrt-cli rm /var/spool/abrt/*
Run Code Online (Sandbox Code Playgroud)
然后启动服务
# systemctl start abrtd
# systemctl start abrt-oops
Run Code Online (Sandbox Code Playgroud)
我们希望将删除过程简化如下——它将删除超过 10 天的目录 /var/spool/abrt/
find /var/spool/abrt/ -type d -ctime +10 -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)
清除/var/spool/abrt/目录是一个不错的选择吗?
我们有 672 台 linux redhat 机器
由于我们的尺寸很小/var,有时/var/spool会占用空间,所以我们想禁用该abrtd服务
禁用该服务有哪些风险abrtd?
如下:
systemctl stop abrtd
systemctl stop abrt-oops
Run Code Online (Sandbox Code Playgroud)
和
systemctl disable abrtd
systemctl disable abrt-oops
Run Code Online (Sandbox Code Playgroud) abrt ×4
linux ×2
rhel ×2
core-dump ×1
directory ×1
fedora ×1
find ×1
linux-kernel ×1
rm ×1
shell-script ×1