GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So aktivieren Sie Core-Dump für Anwendungen auf CentOS/RHEL

1. In CentOS/RHEL ist die Erstellung von Kerndateien standardmäßig deaktiviert. Um es zu aktivieren, führen Sie den folgenden Befehl aus:

# ulimit -S -c unlimited > /dev/null 2>&1

Führen Sie dann das Programm in derselben Shell-Umgebung aus.

2. Um es dauerhaft zu aktivieren, führen Sie bitte die folgenden Schritte aus:

– Bearbeiten Sie /etc/security/limits.conf .

# vi /etc/security/limits.conf
* soft core unlimited

Das „* ‘ wird verwendet, um die Coredump-Größe für alle Benutzer auf unbegrenzt zu setzen.

– Bearbeiten Sie /etc/sysctl.conf um den Pfad des Core-Dumps und das Dateiformat der Core-Datei hinzuzufügen. Standardmäßig wird die Kerndatei im Arbeitsverzeichnis des laufenden Prozesses generiert.

# vi /etc/sysctl.conf
kernel.core_pattern = /var/crash/core.%e.%p.%h.%t

Hier
/var/crash ist der Pfad und core.%e.%p.%h.%t ist das Dateiformat, wobei:
%e – Name der ausführbaren Datei.
%p – PID des gedumpten Prozesses.
%t – Zeitpunkt des Dumps (Sekunden seit 0:00 Uhr, 1. Januar 1970).
%h – Hostname (dasselbe wie ’Knotenname’, der von uname(2) zurückgegeben wird).

Stellen Sie sicher, dass Prozesse die richtige Berechtigung für das konfigurierte Verzeichnis haben (z. B. /var/carsh/).

– Setzen Sie fs.suid_dumpable für setuid oder anderweitig geschützte/befleckte Binärdateien.

# vi /etc/sysctl.conf
fs.suid_dumpable = 2

Im Folgenden ist die Bedeutung der einzelnen vordefinierten Werte aufgeführt:

  • 0 – (Standard) :traditionelles Verhalten. Jeder Prozess, der die Berechtigungsstufen geändert hat oder nur ausgeführt wird, wird nicht ausgegeben.
  • 1 – (Fehlerbehebung) :Alle Prozesse entleeren den Kern, wenn möglich. Der Core-Dump gehört dem aktuellen Benutzer und es wird keine Sicherheit angewendet. Dies ist nur für System-Debugging-Situationen gedacht.
  • 2 – (suidsafe) :Jede Binärdatei, die normalerweise nicht ausgegeben wird, ist nur für Root lesbar. Dadurch kann der Endbenutzer einen solchen Dump entfernen, aber nicht direkt darauf zugreifen. Aus Sicherheitsgründen überschreiben Core-Dumps in diesem Modus weder einander noch andere Dateien. Dieser Modus ist geeignet, wenn Administratoren versuchen, Probleme in einer normalen Umgebung zu debuggen.

– Laden Sie die Einstellungen mit dem folgenden sysctl-Befehl, nachdem Sie /etc/sysctl.conf unten geändert haben:

# sysctl -p

Um Core-Dumps von unsignierten Paketen zu sammeln, setzen Sie OpenGPGCheck =no in /etc/abrt/abrt-action-save-package-data.conf . Um Core-Dumps von unverpackter Software zu sammeln, setzen Sie ProcessUnpackaged =yes in /etc/abrt/abrt-action-save-package-data.conf

– Starten Sie den abrtd-Daemon neu – als root – damit die neuen Einstellungen wirksam werden.

# service abrtd restart
# service abrt-ccpp restart

In CentOS/RHEL 7:

# systemctl start abrtd.service
# systemctl start abrt-ccpp.service

Jetzt ist CentOS/RHEL bereit, Core-Dump-Dateien zu generieren, wenn Prozesse mit Segfault abgebrochen werden.

Hinweis :Die vom Red Hat Automatic Bug Reporting Tool (ABRT) bereitgestellten Daemons und Funktionen werden von CentOS/RHEL nicht unterstützt. ABRT-Pakete und zugehörige Dateien wie libreport sind in der Distribution enthalten, um Paketabhängigkeiten zu erfüllen, aber die Funktionen in diesen Paketen werden nicht unterstützt.


Cent OS
  1. CentOS / RHEL 7 :So aktivieren Sie Telnet für eine Gruppe von Benutzern

  2. So aktivieren Sie IPv6 auf CentOS / RHEL 7

  3. CentOS / RHEL:So aktivieren Sie SSL für Apache

  4. So aktivieren Sie IPv6 auf CentOS / RHEL 6

  5. So aktivieren Sie FTP in CentOS/RHEL 5 und 6

So aktivieren Sie Kdump auf RHEL 7 und CentOS 7

So aktivieren Sie die Proxy-Einstellungen für den Yum-Befehl auf RHEL-/CentOS-Servern

So aktivieren Sie das EPEL-Repository auf CentOS 8 und RHEL 8 Server

So installieren und konfigurieren Sie Nagios Core unter CentOS 8 / RHEL 8

So aktivieren Sie das EPEL-Repository unter CentOS 7 / RHEL 7

So installieren Sie Zenoss Core für die Überwachung unter Linux CentOS / RHEL