[[Vorlage(Getestet, jammy)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:mit Root-Rechten arbeiten:] }}} [[Inhaltsverzeichnis()]] [[Bild(Fehler_melden/bug_logo.png, 48, align=left)]] [#Links Apport] ist ein von [canonical::Canonical] {en}, 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 [#Links Whoopsie] zusammen, der für das automatische Versenden von Absturzberichten verantwortlich ist. {{{#!vorlage 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: {{{#!vorlage Paketinstallation apport, Automatisches Erstellen von Absturzberichten zur Fehlersuche, main }}} Für das optionale automatische Versenden zusätzlich: {{{#!vorlage Paketinstallation whoopsie, Ubuntu error tracker submission, main whoopsie-preferences, System preferences for error reporting, main }}} Je nach Desktop optionale GUIs: * Entweder für GNOME, Xfce, MATE, LXDE: [[Vorlage(Paketinstallation, "apport-gtk, GTK+ Frontend für das apport Absturzberichtssystem, main" ) ]] * oder für KDE: [[Vorlage(Paketinstallation, "apport-kde, KDE-Frontend für das apport-Absturzberichtssystem, universe" ) ]] == 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 [:Dienste: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 [:systemd/systemctl:systemctl] manuell starten und stoppen: * Manueller Start: [[Vorlage(Befehl, "systemctl start apport.service" ) ]] * Dienst stoppen: [[Vorlage(Befehl, "systemctl stop apport.service" ) ]] Den automatischen Start des Dienstes verhindern bzw. reaktivieren kann man beispielsweise mit diesen Befehlen: * Automatischen Start deaktivieren: [[Vorlage(Befehl, "echo enabled=0 | sudo tee /etc/default/apport" ) ]] * Automatischen Start reaktivieren: [[Vorlage(Befehl, "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: [[Vorlage(Befehl, "systemctl mask apport.service" ) ]] * Automatischen Start reaktivieren: [[Vorlage(Befehl, "systemctl unmask apport.service" ) ]] Die Datei '''/var/lib/apport/autoreport''', welche [#Konfiguration 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 [:Dienste: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: [[Vorlage(Befehl, "systemctl disable whoopsie.path" ) ]] * Laufende Überwachung beenden: [[Vorlage(Befehl, "systemctl stop whoopsie.path" ) ]] * Überwachung wieder starten: [[Vorlage(Befehl, "systemctl start whoopsie.path" ) ]] * Automatischen Start der Überwachung wieder aktivieren: [[Vorlage(Befehl, "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 [:Long_Term_Support: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 [:Was_ist_Linux#Was-sind-die-offiziellen-Ubuntu-Varianten:offiziellen Derivaten] wird hingegen beim Senden [:Launchpad:] geöffnet, wo man mit einem eigenen Konto den Versand abschließen muss. {{{#!vorlage Experten 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 [:Dienste: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 [wikipedia:Code-Faltung:Code-Faltung], mittels: [[Vorlage(Befehl, "sudo -H /usr/share/apport/apport-gtk /var/crash/DATEINAME.crash" ) ]] }}} == Fehlermeldung manuell senden == Man kann mit Apport auch [:Fehler_melden#Bugs-direkt-ueber-das-Terminal-melden: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. {{{#!vorlage Warnung 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: {{{#!vorlage Tabelle <-2 tableclass="zebra_start3" rowclass="titel" :>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'''. [[BR]]Das System löst selber auch ggf. zeitverzögert um eine Minute diesen Wechsel aus, wenn es nichts zu berichten gibt. }}} = Links = * [ubuntu:Apport:] {en} - im Ubuntu-Wiki * [launchpad:apport:Apport] {en} in Launchpad * [ubuntu:ErrorTracker:Whoopsie] {en} - Ausführliche Beschreibung * [launchpad:whoopsie:Ubuntu error tracker client (whoopsie)] {en} in Launchpad * [https://errors.ubuntu.com/ Error Reports] {en} - Statistiken über häufige Fehler und ggf. Links zu [:Launchpad:]-Fehlerberichten * [:Fehler melden:] - allgemeine Beschreibung, wie man unter Ubuntu Fehler melden kann #tag: System, Ubuntu