1. V CentOS/RHEL je vytváření souborů jádra ve výchozím nastavení zakázáno. Chcete-li jej povolit, spusťte níže uvedený příkaz:
# ulimit -S -c unlimited > /dev/null 2>&1
pak spusťte program ve stejném prostředí shellu.
2. Chcete-li jej povolit trvale, postupujte podle následujících kroků:
– Upravte /etc/security/limits.conf .
# vi /etc/security/limits.conf * soft core unlimited
„* ‘ se používá k umožnění neomezené velikosti Coredump pro všechny uživatele.
– Upravte /etc/sysctl.conf přidejte cestu výpisu jádra a formát souboru jádra. Ve výchozím nastavení bude soubor jádra generován v pracovním adresáři běžícího procesu.
# vi /etc/sysctl.conf kernel.core_pattern = /var/crash/core.%e.%p.%h.%t
Zde
/var/crash je cesta a jádro.%e.%p.%h.%t je formát souboru, kde:
%e – spustitelný název souboru.
%p – PID dumpingového procesu.
%t – čas výpisu (sekundy od 0:00 h, 1. ledna 1970).
%h – název hostitele (stejný jako „název uzlu“ vrácený funkcí uname(2)).
Ujistěte se, že procesy mají správná oprávnění pro nakonfigurovaný adresář (např. /var/carsh/).
– Nastavte fs.suid_dumpable pro setuid nebo jinak chráněné/zkažené binární soubory.
# vi /etc/sysctl.conf fs.suid_dumpable = 2
Níže je uveden význam každé předdefinované hodnoty:
- 0 – (výchozí) :tradiční chování. Žádný proces, který změnil úrovně oprávnění nebo je pouze spuštěn, nebude vypsán.
- 1 – (ladění) :Pokud je to možné, všechny procesy vyprázdní jádro. Výpis jádra je vlastněn aktuálním uživatelem a není použito žádné zabezpečení. Toto je určeno pouze pro situace ladění systému.
- 2 – (suidsafe) :všechny binární soubory, které se normálně nevypisují, jsou vypsány a mohou je číst pouze root. To umožňuje koncovému uživateli odstranit takový výpis, ale nemá k němu přímý přístup. Z bezpečnostních důvodů nebudou výpisy jádra v tomto režimu přepisovat navzájem ani jiné soubory. Tento režim je vhodný, když se správci pokoušejí ladit problémy v normálním prostředí.
– Načtěte nastavení pomocí příkazu sysctl níže po úpravě /etc/sysctl.conf níže:
# sysctl -p
Chcete-li shromažďovat výpisy jádra z nepodepsaných balíčků, nastavte OpenGPGCheck =no v /etc/abrt/abrt-action-save-package-data.conf . Chcete-li shromažďovat výpisy paměti z nezabaleného softwaru, nastavte ProcessUnpackaged =yes v /etc/abrt/abrt-action-save-package-data.conf
– Restartujte démona abrtd – jako root – aby se nová nastavení projevila.
# service abrtd restart # service abrt-ccpp restart
V CentOS/RHEL 7:
# systemctl start abrtd.service # systemctl start abrt-ccpp.service
Nyní je CentOS/RHEL připraven generovat soubory výpisu jádra, když jsou procesy ukončeny pomocí segfault.
Poznámka :Démoni a funkce poskytované nástrojem Red Hat Automatic Bug Reporting Tool (ABRT) nejsou podporovány s CentOS/RHEL. Balíčky ABRT a přidružené soubory, jako je libreport, jsou součástí distribuce, aby vyhovovaly závislostem balíčků, ale funkce v těchto balíčcích nejsou podporovány.