Chcete-li nastavit umístění výpisů jádra v CentOS 6, můžete upravit /etc/sysctl.conf
. Například pokud chcete výpisy jádra v /var/crash
:
kernel.core_pattern = /var/crash/core-%e-%s-%u-%g-%p-%t
Kde jsou proměnné:
%e je název souboru
%g je gid, pod kterým proces běžel
%p je pid procesu
%s je signál, který způsobil výpis
%t je čas, kdy došlo k výpisu
%u je uid, pod kterým proces běžel
Také musíte přidat /etc/sysconfig/init
DAEMON_COREFILE_LIMIT='unlimited'
Nyní použijte nové změny:
$ sysctl -p
Ale je tu jedno upozornění. Pokud je parametr jádra kernel.core_pattern vždy resetován a přepsán při restartu na následující konfiguraci, i když je hodnota ručně zadána v /etc/sysctl.conf
:
|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e
Zkrátka když abrtd.service
začíná kernel.core_pattern
je automaticky přepsán systémem nainstalovaným abrt-addon-ccpp
. Existují dva způsoby, jak to vyřešit:
-
Nastavení
DumpLocation
možnost v/etc/abrt/abrt.conf
konfigurační soubor. Cílový adresář lze určit nastavením DumpLocation =/var/crash
v/etc/abrt/abrt.conf
konfigurační soubor asysctl kernel.core_pattern
zobrazená hodnota je stejná, ale ve skutečnosti bude základní soubor vytvořen do adresáře pod/var/crash
.Také pokud máte povolen SELinux, musíte spustit:
$ semanage fcontext -a -t public_content_rw_t "/var/crash(/.*)?" $ setsebool -P abrt_anon_write 1
A nakonec restartujte
abrtd.service
:$ service abrtd.service restart
-
Zastavte službu abrtd.
kernel.core_pattern
nebudou přepsány. - (Nikdy jsem netestoval).