我似乎无法找到一种方法来配置我的abrt事件以将coredump复制到自定义位置。我想这样做的原因是为了防止abrt在崩溃目录超过MaxCrashReportsSize
时修剪我的coredump。前提条件是我无法控制如何配置abrt我想在创建后立即将coredump导出到支持目录。
EVENT=post-create pkg_name=raptorio analyzer=CCpp
test -f coredump && { mkdir -p /opt/raptorio/cores; cp -f coredump /opt/raptorio/cores/$(basename `cat executable`).core; }
此事件将为我的raptorio RPM包中的每个C / C ++二进制文件保存一个coredump。当我的程序崩溃时,abrt会在syslog中输出以下错误:
Aug 30 08:28:41 abrtd: mkdir: cannot create directory `/opt/raptorio/cores': Permission denied
Aug 30 08:28:41 abrtd: cp: cannot create regular file `/opt/raptorio/cores/raptord.core': No such file or directory
Aug 30 08:28:41 abrtd: 'post-create' on '/var/spool/abrt/ccpp-2016-08-30-08:28:10-31213' exited with 1
我看到abrt事件以root:root
运行但是它被判入狱,可能是由于SELinux?我在centos 6上使用abrt 2.0.8。
答案 0 :(得分:0)
/ opt不是保存瞬态文件的正确位置。核心应该放在/ var / raptorio / cores中。请参阅Filesystem Hierarchy Standard
假设您的程序以用户“无人”的形式运行,请确保“没有人”#39;对该目录具有写权限,您应该全部设置。