COREDUMP.CONF(5)

BEZEICHNUNG
coredump.conf, coredump.conf.d - Konfigurationsdateien für die Speicherung von Speicherauszügen

ÜBERSICHT

    /etc/systemd/coredump.conf
    /run/systemd/coredump.conf
    /usr/local/lib/systemd/coredump.conf
    /usr/lib/systemd/coredump.conf
    /etc/systemd/coredump.conf.d/*.conf
    /run/systemd/coredump.conf.d/*.conf
    /usr/local/lib/systemd/coredump.conf.d/*.conf
    /usr/lib/systemd/coredump.conf.d/*.conf

BESCHREIBUNG

Diese Dateien konfigurieren das Verhalten von systemd-coredump(8), ein vom Kernel aufgerufenes Steuerungsprogramm für Speicherauszüge. Ob systemd-coredump verwandt wird, hängt von der Einstellung kernel.core_pattern sysctl(8) des Kernels ab. Siehe die Seiten systemd-coredump(8) und core(5) für die Details.

KONFIGURATIONSVERZEICHNISSE UND RANGFOLGE

Die Standardkonfiguration wird während der Kompilierung gesetzt. Daher wird eine Konfiguration nur benötigt, wenn von diesen Vorgaben abgewichen werden muss. Die Hauptkonfigurationsdatei wird aus einem der aufgeführten Verzeichnisse in der Prioritätsreihenfolge geladen; nur die zuerst gefundene Datei wird verwandt: /etc/systemd/, /run/systemd/, /usr/local/lib/systemd/ [1], /usr/lib/systemd/. Die Lieferantenversion der Datei enthält die Vorgaben als auskommentierte Hinweise für den Administrator. Lokal können diese Einstellungen durch die Erstellung von Ergänzungen, wie nachfolgend beschrieben, außer Kraft gesetzt werden. Zu diesem Zweck kann die Hauptkonfigurationsdatei (oder eine Kopie in /etc/, falls sie in /usr/ ausgeliefert wird) auch bearbeitet werden, allerdings wird empfohlen, Ergänzungen für die lokale Konfiguration zu verwenden, statt die Hauptkonfigurationsdatei zu verändern.

Zusätzlich zu der Hauptkonfigurationsdatei werden Ergänzungs-Konfigurationsschnipsel aus /usr/lib/systemd/*.conf.d/, /usr/local/lib/systemd/*.conf.d/ und /etc/systemd/*.conf.d/ gelesen. Diese Ergänzungen haben Vorrang vor der Hauptkonfigurationsdatei und setzen diese außer Kraft. Dateien in den Konfigurationsunterverzeichnissen *.conf.d/ werden in lexikographischer Reihenfolge nach ihrem Dateinamen sortiert, unabhängig davon, in welchem Unterverzeichnis sie sich befinden. Bei Optionen, die nur einen einzelnen Wert akzeptieren, hat der Eintrag in der Datei, die als letztes in der Sortierung folgt, Vorrang, falls mehrere Dateien die gleiche Option angeben. Bei Optionen, die eine Liste von Werten akzeptieren, werden Einträge gesammelt, wie sie in den sortierten Dateien auftauchen.

Wenn Pakete die Konfiguration anpassen müssen, können sie Ergänzungen unter /usr/ installieren. Dateien in /etc/ sind für den lokalen Administrator reserviert, der diese Logik verwenden kann, um die durch die Lieferantenpakete bereitgestellten Konfigurationsdateien außer Kraft zu setzen. Um Ergänzungen der Pakete außer Kraft zu setzen, müssen Ergänzungen verwandt werden, da die Hauptkonfigurationsdatei die niedrigste Priorität hat. Es wird empfohlen, allen Dateinamen in diesen Unterverzeichnissen eine zweistellige Zahl und einen Bindestrich voranzustellen, um die Sortierung zu vereinfachen. Dies definiert auch ein Konzept von Ergänzungsprioritäten, um es Betriebssystemlieferanten zu ermöglichen, Ergänzungen in einem bestimmten Bereich auszuliefern, der unterhalb des von Benutzern verwandten Bereichs liegt. Dies sollte das Risiko reduzieren, dass eine Paketergänzung versehentlich durch Benutzer definierte Ergänzungen außer Kraft setzt. Es wird empfohlen, den Bereich 10-40 für Ergänzungen in /usr/ und den Bereich 60-90 für Ergänzungen in /etc/ und /run/ zu verwenden um sicherzustellen, dass lokale und flüchtige Ergänzungen Priorität gegenüber Ergänzungen haben, die vom Betriebssystemlieferanten geliefert werden.

Um eine vom Lieferanten bereitgestellte Konfigurationsdatei zu deaktivieren, wird empfohlen, einen Symlink nach /dev/null in dem Konfigurationsverzeichnis in /etc/ mit dem gleichen Dateinamen wie die Konfigurationsdatei des Lieferanten abzulegen.

OPTIONEN

Alle Optionen werden im Abschnitt »[Coredump]« konfiguriert:

Storage=
    Steuert, wo die Speicherauszüge gespeichert werden. Entweder »none«, »external« oder »journal«. Wenn »none«, können die Speicherauszüge protokolliert werden (einschließlich der Ablaufverfolgung (Backtrace) falls möglich), allerdings erfolgt keine dauerhafte Speicherung. Bei (der Vorgabe) »external« werden die Speicherauszüge in /var/lib/systemd/coredump/ gespeichert. Bei »journal« werden die Speicherauszüge im Journal gespeichert und diese werden gemäß den normalen Journal-Rotationsmustern rotiert.

    Wenn die Speicherauszüge im Journal gespeichert werden, können sie gemäß der Journal-Kompressionseinstellungen komprimiert werden, siehe journald.conf(5). Wenn Speicherauszüge extern gespeichert werden, werden sie standardmßig komprimiert, siehe unten.

    Beachten Sie, dass zur Verarbeitung eines Speicherauszuges (d.h. zur Entnahme eines Stacktraces) der Speicherauszug zuerst auf die Platte geschrieben werden muss. Außer wenn ProcessSizeMax= auf 0 gesetzt ist (siehe unten) wird daher der Speicherauszug auf jeden Fall nach /var/lib/systemd/coredump/ geschrieben (unter einem temporären Dateinamen oder sogar in einer nicht verlinkten Datei). Damit steuert Storage= nur, ob sie dort verbleibt, nachdem sie verarbeitet wurde.

    Hinzugefügt in Version 215.

Compress=
    Steuert die Komprimierung für externe Speicherung. Akzeptiert ein logisches Argument, standardmäßig »yes«.

    Hinzugefügt in Version 215.

ProcessSizeMax=
    Die maximale Größe in Byte von Speicherauszügen, die verarbeitet werden. Speicherauszüge, die diese Größe überschreiten, können gespeichert werden, aber Stacktraces werden nicht erzeugt. Wie bei anderen Größen in der gleichen Konfigurationsdatei sind die gewöhnlichen Endungen zur Basis 1024 erlaubt (B, K, M, G, T, P und E). Standardmäßig 1 G auf 32-bit-Systemen und 32 G auf 64-bit-Systemen.

    Durch Setzen von Storage=none und ProcessSizeMax=0 wird sämtliche Handhabung von Speicherauszügen außer dem Protokolleintrag deaktiviert.

    Hinzugefügt in Version 215.

EnterNamespace=
    Steuert für Prozesse, die zu einem PID-Namensraum gehören, ob systemd-coredump(8) versuchen soll, Speicherauszüge auf dem Hauptrechner unter Verwendung von Fehlersuchinformationen aus der Dateisystemhierarchie (d.h. dem Einhängenamensraum) des abgestürzten Prozesses zu verarbeiten. Der Zugriff auf die Dateisystemhierarchie des Prozesses kann notwendig sein, um einen Backtrace mit vollständigen Symbolen zu erstellen. Falls auf »yes« gesetzt, wird systemd-coredump(8) den Baum an Einhängungen aus dem Namensraum des abstürzenden Prozesses erlangen und versuchen, den Stacktrace im Kontext des Hauptsystems unter Verwendung der Fehlersuchinformationen von Programmen und Bibliotheken, die in der Hierarchie des abstürzenden Prozesses enthalten sind, zu erstellen. Standardmäßig »no«, d.h. es wird nicht versucht, externe Fehlersuchinformationen aus dem Einhängenamensraum des Prozesses zu erlangen, um die Sicherheit zu maximieren. Diese Option hat für Prozesse, die Teil des PID-Namensraums des Hauptsystems sind, keine Auswirkungen.

    Beachten Sie, dass der Speicherauszug des Prozesses aus dem Namensraum weiterhin in /var/lib/systemd/coredump/ auf dem Hauptsystem gespeichert wird, selbst wenn EnterNamespace= auf »no« gesetzt ist (in Abhängigkeit von Storage=).

    Beachten Sie, dass EnterNamespace= nur wirksam wird, falls ein Speicherauszug durch einen Container erstellt wird, dessen Unit nicht CoredumpReceive= aktiviert hat.

    Beachten Sie, dass typischerweise empfohlen wird, dass aus Sicherheitsgründen Container und andere Namensraum-basierte Sandboxes ihre eigenen Speicherauszuge falls möglich selbst verarbeiten. Dies kann auf der Unit des Containers mittels der Einstellung CoredumpReceive= aktiviert werden, siehe systemd.resource-control(5) zu Details.

    Hinzugefügt in Version 257.

ExternalSizeMax=, JournalSizeMax=
    Die maximale (komprimierte oder unkomprimierte) Größe eines in separaten Dateien auf Platte (Vorgabe: 1 G auf 32-bit-Systemen, 32 G auf 64-bit-Systemen) oder im Journal (Vorgabe: 10 M) zu speichernden Speicherauszugs in Byte. Beachten Sie, dass das Journal eine harte Beschränkung der Journalprotokolldatensätze auf 767 M durchsetzt und größere eingereichte Protokolldatensätze ignoriert. Daher kann JournalSizeMax= zum Absenken, aber nicht zum Erhöhen relativ zur Vorgabe verwandt werden. Wie in ProcessSizeMax= sind Einheitengrößen erlaubt.

    ExternalSizeMax=infinity setzt die Größe von Speicherauszügen auf unbegrenzt.

    Hinzugefügt in Version 215.

MaxUse=, KeepFree=
    Erzwingt Plattenplatz-Beschränkungen für extern gespeicherte Speicherauszüge, gemessen in Byte. Wie in ProcessSizeMax= sind Einheiten-Endungen erlaubt. MaxUse= stellt sicher, dass alte Speicherauszüge entfernt werden, sobald der von Speicherauszügen belegte Gesamtplattenplatz über diese Beschränkung wächst (standardmäßig 10% des Gesamtplattenplatzes, begrenzt auf 4 GiB, mindestens 1 MiB). KeepFree= steuert, wieviel Plattenplatz mindestens freigehalten werden muss (standardmäßig 15% der Gesamtplattengröße, begrenzt auf maximal 4 GiB). Beachten Sie, dass der von Speicherauszügen verwandte Plattenplatz vorübergehend diese Beschränkung überschreiten kann, während die Speicherauszüge verarbeitet werden. MaxUse= hat Vorrang. Beachten Sie, dass alte Speicherauszüge auch mittels systemd-tmpfiles(8) zeitbasiert entfernt werden. Setzen Sie einen der Werte auf 0, um größenbasierte Bereinigung zu deaktivieren.

    Hinzugefügt in Version 215.

Verwenden Sie

    systemd-analyze cat-config systemd/coredump.conf

um die vollständige Konfiguration anzuzeigen.

SIEHE AUCH

systemd-journald.service(8), coredumpctl(1), systemd-tmpfiles(8)

ANMERKUNGEN

1.  💣💥🧨💥💥💣 Bitte beachten Sie, dass diese Konfigurationsdateien zu allen Zeiten verfügbar sein müssen. Falls /usr/local/ eine separate Partition ist, könnte diese während des frühen Systemstarts nicht verfügbar sein und darf dann nicht für Konfiguration verwandt werden.

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer (debian-l10n-german@lists.debian.org).