Apport
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 22.04 Jammy Jellyfish
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:
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:
systemctl start apport.service
Dienst stoppen:
systemctl 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:
systemctl disable whoopsie.path
Laufende Überwachung beenden:
systemctl stop whoopsie.path
Überwachung wieder starten:
systemctl start whoopsie.path
Automatischen Start der Überwachung wieder aktivieren:
systemctl 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. |
Links¶
Apport 🇬🇧 - im Ubuntu-Wiki
Apport 🇬🇧 in Launchpad
Whoopsie 🇬🇧 - Ausführliche Beschreibung
Ubuntu error tracker client (whoopsie) 🇬🇧 in Launchpad
Error Reports 🇬🇧 - Statistiken über häufige Fehler und ggf. Links zu Launchpad-Fehlerberichten
Fehler melden - allgemeine Beschreibung, wie man unter Ubuntu Fehler melden kann