ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

Apport

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Fehler_melden/bug_logo.png Apport ist ein von Canonical 🇬🇧, der Firma hinter Ubuntu, entwickeltes Programm. Es fängt System- und Programmabstürze ab, sammelt Informationen über den Absturz und die Betriebssystemumgebung zur Fehlerbehebung und kann diese in einer standardisierten Form an das Fehlerverfolgungssystem von Ubuntu senden.

Es bietet dem Nutzer außerdem die Möglichkeit einen Fehler in einem Paket zu melden, wozu es wiederum so viele Informationen wie möglich darüber sammelt.

Apport arbeitet mit dem Hintergrunddienst Whoopsie zusammen, der für das automatische Versenden von Absturzberichten verantwortlich ist.

Hinweis:

Canonical verspricht in den Absturzberichten alle persönlichen Daten zu entfernen. Man sollte vor dem Versand immer überprüfen, ob diese Automatik gemäß den eigenen Vorstellungen richtig gearbeitet hat.

Installation

Apport und Whoopsie sind in allen Desktop-Varianten von Ubuntu bereits vorinstalliert[1].

Zur Funktion benötigt wird:

  • apport (Automatisches Erstellen von Absturzberichten zur Fehlersuche, main)

Befehl zum Installieren der Pakete:

sudo apt-get install apport 

Oder mit apturl installieren, Link: apt://apport

Für das optionale automatische Versenden zusätzlich:

  • whoopsie (Ubuntu error tracker submission, main)

  • whoopsie-preferences (System preferences for error reporting, main)

Befehl zum Installieren der Pakete:

sudo apt-get install whoopsie whoopsie-preferences 

Oder mit apturl installieren, Link: apt://whoopsie,whoopsie-preferences

Je nach Desktop optionale GUIs:

  • Entweder für GNOME, Xfce, MATE, LXDE:

    • apport-gtk (GTK+ Frontend für das apport Absturzberichtssystem, main)

    Befehl zum Installieren der Pakete:

    sudo apt-get install apport-gtk 

    Oder mit apturl installieren, Link: apt://apport-gtk

  • oder für KDE:

    • apport-kde (KDE-Frontend für das apport-Absturzberichtssystem, universe)

    Befehl zum Installieren der Pakete:

    sudo apt-get install apport-kde 

    Oder mit apturl installieren, Link: apt://apport-kde

Debug-Pakete

Wenn ein bestimmtes Programm hartnäckig Fehler produziert, kann man optional die Debug-Symbole des betroffenen Programms mit PAKETNAME-dbg installieren. Beim nächsten Fehler kann Apport so aussagekräftigere Informationen sammeln.

Benutzung

Steuerung der Dienste

Normalerweise startet der Dienst Apport automatisch beim Booten des Systems. Dies beruht auf dem Umstand, dass Systemd für Apport automatisch eine Systemd-Unit apport.service aus dem SystemV-Init-Skript /etc/init.d/apport generiert und diese startet. Die Systemd-Unit apport.service ruft dann wiederum das Skript auf und dieses prüft anhand der Datei /etc/default/apport, ob es Apport überhaupt starten soll. Apport wird nur gestartet, wenn diese Datei nicht existiert oder die Shell-Variable enable=1 nicht auf etwas anderes setzt. Wegen dieses Mechanismus ist es unsinnig, die Systemd-Unit apport.service per disable/enable für den automatischen Start zu konfigurieren. Man kann den Dienst aber mit Root-Rechten[3] über systemctl manuell starten und stoppen:

  • Manueller Start:

    systemd start apport.service 
  • Dienst stoppen:

    systemd stop apport.service 

Den automatischen Start des Dienstes verhindern bzw. reaktivieren kann man beispielsweise mit diesen Befehlen:

  • Automatischen Start deaktivieren:

    echo enabled=0 | sudo tee /etc/default/apport 
  • Automatischen Start reaktivieren:

    sudo rm -f /etc/default/apport 

Alternativ, aber nicht mischbar mit vorgenannten Befehlen, funktioniert auch eine Maskierung der Unit über Systemd. Man kann dann aber den Dienst nicht manuell starten:

  • Automatischen Start deaktivieren:

    systemctl mask apport.service 
  • Automatischen Start reaktivieren:

    systemctl unmask apport.service 

Die Datei /var/lib/apport/autoreport, welche in der GUI konfigurierbar ist, bestimmt ob ein tatsächlich generierter Absturzbericht automatisch versendet wird. Die Systemd-Unit apport-autoreport.path prüft die Existenz dieser Datei und wenn sie existiert, wird die Systemd-Unit apport-autoreport.service gestartet, diese weckt den Dienst Whoopsie.

Für den Dienst Whoopsie wird normalerweise von Systemd eine Überwachung des Ordners für die Fehlerberichte gestartet. Sobald hier Apport einen neuen Bericht ablegt, startet das Initsystem den Dienst Whoopsie. Dies kann man ändern:

  • Kein automatischer Start der Überwachung:

    systemd disable whoopsie.path 
  • Laufende Überwachung beenden:

    systemd stop whoopsie.path 
  • Überwachung wieder starten:

    systemd start whoopsie.path 
  • Automatischen Start der Überwachung wieder aktivieren:

    systemd enable whoopsie.path 

Bedienung bei automatischer Versendung

Wenn Apport läuft, meldet es sich bei einem Programmabsturz automatisch. In einem Fenster kann das Senden des Fehlerberichts bestätigt oder abgebrochen bzw. Details angezeigt werden. In den LTS-Versionen von Ubuntu werden automatisch erstellte Berichte im Hintergrund auf einen eigenen Server hochgeladen. Ist gerade keine Internetverbindung vorhanden, wird der Bericht hochgeladen, wenn der Benutzer das nächste Mal bei bestehender Internetverbindung dem Senden eines Berichtes zustimmt.

Bei den Nicht-LTS-Versionen und den offiziellen Derivaten wird hingegen beim Senden Launchpad geöffnet, wo man mit einem eigenen Konto den Versand abschließen muss.

Experten-Info:

Apport speichert die Fehlerberichte in Dateien mit der Endung .crash im Verzeichnis /var/crash/. Durch eine weitere Datei mit der Endung .upload teilt es dem Dienst whoopsie mit, dass der Bericht über eine verschlüsselte Verbindung (HTTPS) auf den Server daisy.ubuntu.com hochgeladen werden soll.

Um einen Fehlerbericht nachträglich nochmals zu Betrachten, öffnet man ihn entweder mit einem Editor[3], oder aber, grafisch aufbereitet mit Code-Faltung, mittels:

sudo -H /usr/share/apport/apport-gtk /var/crash/DATEINAME.crash 

Fehlermeldung manuell senden

Man kann mit Apport auch Fehler über das Terminal melden. Allerdings wird hierfür ein bereits bestehendes Launchpad-Konto benötigt.

Konfiguration

In Ubuntu kann man in der GUI unter

  • "Einstellungen → Datenschutz → Fehlerdiagnose → Problemberichtserstattung" (Ubuntu 22.04)

vorgeben, ob Fehlerberichte nie, manuell, oder automatisch gesendet werden sollen. Obwohl dies in den benutzerspezifischen Einstellungen eingeordnet ist, handelt es sich um eine Systemeinstellung. Benutzer, die den Status Administrator haben, können diese Einstellung ändern; andere Benutzer dürfen es versuchen, werden dann aber zur Eingabe des Passwortes eines Administrators aufgefordert. Umgekehrt verstellt auch das System diese Einstellung.

Achtung!

Diese Einstellung ist missverständlich: Eine Einstellung auf den Wert nie verhindert unter Umständen nicht das automatische Versenden von Absturzberichten.

Mit dieser Einstellung in der GUI kann man die Datei /var/lib/apport/autoreport anlegen oder löschen. Entscheidend dafür sind aber Zustandswechsel:

Zustandswechsel von Problemberichtserstattung
Bedienung Wirkungen
nie / automatisch -> manuell Die Datei /var/lib/apport/autoreport wird entfernt.
nie / manuell -> automatisch Eine leere Datei /var/lib/apport/autoreport wird angelegt.
manuell / automatisch -> nie Es geschieht nichts mit einer Datei /var/lib/apport/autoreport.
Das System löst selber auch ggf. zeitverzögert um eine Minute diesen Wechsel aus, wenn es nichts zu berichten gibt.

Diese Revision wurde am 25. März 2023 17:27 von itu erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: System, Ubuntu