Red Hat Enterprise Linux 6 で、起動時に kernel.core_pattern パラメーターが上書きされます
Environment
- Red Hat Enterprise Linux (RHEL) 6
- abrt
- abrt-addon-ccpp
Issue
起動時に kernel.core_pattern
が以下の設定に上書きされます。
# sysctl kernel.core_pattern
kernel.core_pattern = |/usr/libexec/abrt-hook-ccpp /var/spool/abrt %s %c %p %u %g %t %h %e 636f726500
手動で /etc/sysctl.conf
に値を指定しても上書きされます。/etc/sysctl.conf
構文が正しいことを確認する sysctl -p
コマンドを使用して値を手動でリセットしても、値は、再起動ごとにリセットされます。
Resolution
abrtd サービスを開始すると、abrt-addon-ccpp がインストールされたシステムでは、kernel.core_pattern が自動的に上書きされます。
この問題を解決するには、以下の 2 つの方法がございます。
-
/etc/abrt/abrt.conf
設定ファイルのDumpLocation = /some/dir
を設定すると、宛先ディレクトリを指定することができます。システムが selinux を使用している場合は、以下のコマンドを実行してください。
この方法を実施しても "sysctl kernel.core_pattern" は表示されますが、出力される core の名前は設定したとおりになります。# semanage fcontext -a -t public_content_rw_t "/some/dir(/.*)?" # setsebool -P abrt_anon_write 1 # service abrtd restart
-
abrtd サービスを起動させない
Root Cause
この動作は、Automatic Bug Reporting Tool (ABRT) が原因で発生します。
ABRT デーモンを実行していると、core ファイルの宛先を /var/spool/abrt/
に動的に上書きします。
coredump ハンドラー abrt-addon-ccpp
プラグインをインストールすると、core_pattern の値は以下のようになります。
kernel.core_pattern = |/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e
アプリケーション core ファイルのこの結果が、/var/spool/abrt/
に入力されます。/etc/abrt/abrt.conf
設定ファイルの DumpLocation = /some/dir
を設定すると、宛先ディレクトリを指定することができます。
参照先:
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments