Translated message

A translation of this page exists in English.

Warning message

This translation is outdated. For the most up-to-date information, please refer to the English version.

Red Hat Enterprise Linux 6 で、起動時に kernel.core_pattern パラメーターが上書きされます

Solution Verified - Updated -

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