NAME¶
apt-listchanges - zeigt neue Changelog-Einträge von
Debian-Paketarchiven.
ÜBERSICHT¶
apt-listchanges [[Optionen...]] {[--apt] |
[Paket.deb...]}
BESCHREIBUNG¶
apt-listchanges ist ein Werkzeug, das zeigt, was in einer
neuen Version eines Debian-Pakets verglichen mit der derzeit auf dem System
installierten Version geändert wurde.
Es tut dies, indem es die relevanten Einträge aus den
beiden Dateien NEWS.Debian und changelog[.Debian] extrahiert. Sie sind
normalerweise in den Debian-Paketarchiven in /usr/share/doc/Paket zu
finden.
Bitte beachten Sie, dass in der Standardinstallation, falls
apt-listchanges während Upgrades als APT-Erweiterung
ausgeführt wird, es nur NEWS.Debian-Einträge anzeigt. Dies
kann mit der Option --which geändert werden.
Falls Changelog-Einträge angezeigt werden und das
Paket keine changelog[.Debian]-Datei enthält, ruft
apt-listchanges den Befehl apt-get changelog auf, um das
Changelog aus dem Netzwerk herunterzuladen. Dieses Verhalten kann mit der
Option --no-network deaktiviert werden.
Mit einer angegebenen Zusammenstellung von Dateinamen als Argument
(oder von APT mittels --apt gelesen) wird Apt-listchanges die Dateien
(unter der Annahme, dass es sich um Debian-Paketarchive handelt) nach den
maßgeblichen Changelog-Einträgen durchsuchen und sie alle in
einer nach Quellpaketen gruppierten Zusammenstellung anzeigen. Die Gruppen
werden nach der maximalen Dringlichkeit und dann nach dem Paketnamen
sortiert. Änderungen innerhalb jeder Paketgruppe werden in der
Reihenfolge ihres Erscheinens in den changelog-Dateien angezeigt, d.h.
beginnend mit dem Neusten bis zum Ältesten. Die Option
--reverse kann zum Ändern dieser Reihenfolge benutzt
werden.
OPTIONEN¶
apt-listchanges stellt die folgenden Optionen zur Steuerung
seines Verhaltens bereit. Die meisten davon haben Entsprechungen in der
Konfigurationsdatei, Einzelheiten finden Sie unter
»KONFIGURATIONSDATEI« weiter unten.
--apt
liest Dateinamen von einer besonders formatierten (von
APT bereitgestellten) Pipeline, anstatt aus Befehlszeilenargumenten und
berücksichtigt bestimmte APT-spezifische Optionen in der
Konfigurationsdatei. Diese Pipeline muss im »Version 2«-Format
in der APT-Konfiguration angegeben werden.
-v, --verbose
zeigt zusätzliche (üblicherweise
unerwünschte) Informationen. Es wird zum Beispiel eine Nachricht
ausgegeben, wenn ein Paket derselben oder einer älteren Version
installiert werden soll oder wenn ein Paket neu installiert werden soll.
-f, --frontend
wählt aus, welche Oberfläche für die
Ausgabe von Informationen an den Benutzer verwendet werden soll. Zu den
aktuellen Oberflächen gehören:
pager
benutzt den Befehl
sensible-pager(1), um die
Ausgabe anzuzeigen. Der Befehl verwendet die Umgebungsvariable PAGER zur
Auswahl ihres Lieblingsseitenanzeigeprogramms. Die Option
»pager« kann in der Konfigurationsdatei angegeben werden, um ein
spezielles Seitenanzeigeprogramm auszuwählen, der mit Apt-listchanges
benutzt wird.
browser
zeigt mit dem Befehl
sensible-browser(1) ein
Changelog im HTML-Format mit Querverweisen für Fehler und
E-Mail-Adressen, der Ihren Lieblings-Browser anhand der Umgebungsvariable
BROWSER auswählt. Die Option »browser« kann in der
Konfigurationsdatei angegeben werden, um einen speziellen Browser
auszuwählen, der mit Apt-listchanges benutzt wird.
xterm-pager
verwendet Ihr bevorzugtes Seitenanzeigeprogramm, um die
Ausgabe anzuzeigen, tut dies jedoch in einem Xterm (mittels der Alternative
»x-terminal-emulator«) im Hintergrund. Dies ermöglicht
Ihnen, falls Sie dies wollen, mit dem Upgrade fortzufahren und das
Durchstöbern der Changelogs fortzusetzen. Sie können die
Verwendung des Terminal-Emulators mit der Konfigurationsoption
»xterm« außer Kraft setzen.
xterm-browser
die logische Kombination von Xterm-Pager und Browser. Nur
geeignet für Textmodus-Browser.
text
gibt ohne Pausen auf die Standardausgabe aus.
syslog
gibt die Ausgabe in das Systemprotokoll aus. Es wird
empfohlen, die Option »titled« zu deaktivieren.
log
hängt die Ausgabe an eine Protokolldatei an, mit
einem optionalen Filterprozess. Es wird empfohlen, die Option
»titled« zu deaktivieren.
mail
sendet eine E-Mail an die mit --email-address angegebene
Adresse und zeigt keine Changelogs an.
gtk
öffnet ein GTK-Fenster zum Anzeigen der
Changelogs. Erfordert, dass »phyton3-gi« installiert ist.
none
tut nichts. Kann benutzt werden, um zu verhindern, dass
Apt-listchanges ausgeführt wird, wenn automatische Ausführung
von APT eingerichtet ist.
Bitte beachten Sie, dass Apt-listchanges versuchen wird, zu einem
nicht privilegierten Benutzer zu wechseln, bevor die Befehle in den
Oberflächen »browser«, »xterm-browser«
und »xterm-pager« geöffnet werden. Dies wird derzeit
jedoch nicht für die Oberfläche »pager« getan.
Siehe auch »UMGEBUNGSVARIABLEN« unten.
--hide
Für Oberflächen, die das
unterstützen (derzeit nur gtk), wird das Fenster
standardmäßig versteckt.
--email-address=Adresse
Zusätzlich zur Anzeige wird eine Kopie der
Changelog-Daten an die angegebene Adresse geschickt. Um die
Changelog-Einträge nur per E-Mail zu versenden, benutzen Sie diese
Option mit der speziellen Oberfläche »mail«.
--email-format={text|html}
Falls das Versenden von E-Mail-Kopien aktiviert ist
(siehe --email-address oben), wählt diese Option aus, ob die
E-Mail als gute alte Klartextdaten oder als HTML-Daten mit anklickbaren
Verweisen, die möglicherweise für Leute mit grafischen
E-Mail-Clients geeigneter sind, gesendet werden soll.
-c, --confirm
Sobald Changelogs angezeigt wurden, wird der Anwender
gefragt, ob er fortfahren möchte oder nicht. Falls er sich entscheidet,
nicht fortzufahren, wird ein Rückgabewert ungleich null
zurückgegeben und APT wird abgebrochen.
-a, --show-all
versucht, statt Changelog-Einträgen, die neuer als
die derzeit installierte Version des Pakets sind, einfach alle
Changelog-Einträge für alle Pakete anzuzeigen. Dies ist
nützlich, um das ganze Changelog eines .debs anzuzeigen, bevor es
entpackt wird.
-n, --no-network
In seltenen Fällen, wenn ein Binärpaket
(oder genauer: keines der Binärpakete, die aus demselben Quellpaket
gebaut wurden, die zusammen als Gruppe verarbeitet werden) keine
Changelog-Datei enthält, führt apt-listchanges
standardmäßig apt-get changelog aus, um die Changelogs
von den Netzwerkservern herunterzuladen. Sie werden üblicherweise von
der Distribution Ihres Betriebssystems bereitgestellt. Diese Option wird
dieses Verhalten deaktivieren, was zum Beispiel für Systeme hinter
einer Firewall nützlich sein kann.
--save-seen=Datei
Diese Option wird Apt-listchanges veranlassen, die letzte
Version eines Pakets zu verfolgen, für das Changelogs angezeigt wurden,
um zu vermeiden, dass dieselben Changelogs bei einem zukünftigen Aufruf
erneut angezeigt werden. Die Datenbank wird in der genannten Datei
gespeichert. Geben Sie »none« an, um diese Funktionalität
zu deaktivieren.
--dump-seen
zeigt den Inhalt der Datenbank mit dem Gesehenen auf der
Standardausgabe als Liste. In den Zeilen stehen durch Leerzeichen getrennt
Quellpaketnamen und die zuletzt gesehene Version. Diese Option benötigt
den Pfad zur Datenbank mit dem Gesehenen: Bitte geben Sie ihn mittels der
Option --save-seen an oder übergeben Sie die Option
--profile=apt, damit er aus der Konfigurationsdatei gelesen wird.
--since=Version
Diese Option wird Apt-listchanges veranlassen, die
Einträge anzuzeigen, die neuer als die angegebene Version sind. Das
einzige andere Argument, das Sie mit dieser Option übergeben
können, ist der Pfad zu einer .deb-Datei.
--latest=N
Diese Option wird Apt-listchanges veranlassen, nur die
letzten N Einträge anzuzeigen.
--which={news|changelogs|both}
Diese Option wählt aus, ob Neuigkeiten (von
NEWS.Debian und anderen), Changelogs (von changelog.Debian und anderen) oder
beide angezeigt werden soll. Standardmäßig werden beim Betrieb
als APT-Erweiterung nur Neuigkeiten angezeigt, ansonsten beide.
--help
zeigt Syntaxinformationen.
-h, --headers
Diese Optionen werden Apt-listchanges veranlassen, eine
Kopfzeile vor jedem Paket-Changelog einzufügen, der den Namen des
Pakets und die Namen der Binärpakete anzeigt, von denen ein Upgrade
durchgeführt wird (falls es mehr als eines gibt oder der Name sich von
dem des Quellpakets unterscheidet).
--debug
zeigt einige Informationen zur Fehlersuche.
--profile=Name
wählt ein Optionsprofil aus. Name
entspricht einem Abschnitt in /etc/apt/listchanges.conf. Voreinstellung beim
Aufruf von APT ist »apt«, ansonsten
»cmdline«.
--log=Datei
wählt die Datei aus, die von dem
Protokollierungsprogramm angehängt werden soll. Die Vorgabe ist
/var/log/apt/listchanges.log. Die Filter-Befehl-Option kann zur
Veränderung der Ausgabe, bevor diese an die Protokolldatei
angehängt wird, verwandt werden. Bitte stellten Sie sicher, dass eine
Protokollrotation für diese Datei einrichten.
--filter=Befehl
wählt den Befehl aus, der zum Filtern der Ausgabe
verwandt werden soll, bevor dieser durch das Protokollierungsprogramm an die
Protokolldatei gehängt wird. Stdin wird die Ausgabe von
apt-listchanges empfangen und Stdout wird an die Protokolldatei
angehängt werden. Trennen Sie Argumente durch Leerzeichen und
schließen Sie Argumente mit Leerzeichen in englische
Anführungszeichen ein. Der Befehl wird nur dann mittels der Shell
ausgeführt, wenn die Shell Teil des Befehlsnamens ist: sh -c 'date ;
cat'
--reverse
zeigt die Changelog-Einträge in umgekehrter
Reihenfolge.
--ignore-apt-assume, --ignore-debian-frontend
deaktiviert, dass eine nicht interaktive
Oberfläche in einigen im Abschnitt »AUTOMATISCHES
AUßERKRAFTSETZEN VON OBERFLÄCHEN« beschriebenen
Fällen, erzwungen wird.
--titled, --untitled
aktiviert oder deaktiviert den Titel am Anfang der
Ausgabe.
--select-frontend
wählt die Oberfläche interaktiv aus. Diese
Option dient hauptsächlich Testzwecken, bitte verwenden Sie sie
nicht.
AUTOMATISCHES AUßERKRAFTSETZEN VON OBERFLÄCHEN¶
Für eine bessere Eingliederung in bestehende
Paketverwaltungswerkzeuge versucht apt-listchanges festzustellen, ob
Paket-Upgrades auf eine nicht interaktive Art durchgeführt wurden und
ändert seine Oberfläche automatisch zu »text«,
wenn irgendeine der nachfolgenden Bedingungen erfüllt ist:
•Die Standardausgabe ist nicht mit einem Terminal
verbunden.
•Die Option
--quiet (
-q) wurde an
apt-get(8) (oder
aptitude(8)) übergeben. Beachten Sie
jedoch, dass Apt-listchanges die Oberfläche in »mail«
ändert, wenn die Option mehrfach übergeben wurde.
•Die Option
--assume-yes (
-y) wurde
an
apt-get(8) übergeben.
•Die Umgebungsvariable DEBIAN_FRONTEND ist
auf »noninteractive« und APT_LISTCHANGES_FRONTEND nicht
gesetzt.
Aus Gründen der
Rückwärtskompatibilität können die beiden
letzten Prüfungen oberhalb entweder mit den
Konfigurationsdateieinträgen »ignore_apt_assume=true«
oder »ignore_debian_frontend=true« deaktiviert werden (siehe
»KONFIGURATIONSDATEI« weiter unten) oder mittels der
Befehlszeilenoptionen: --ignore-apt-assume oder
--ignore-debian-frontend.
Bitte beachten Sie, dass die Oberfläche
»mail« bereits nichtinteraktiv ist, weswegen sie nie zur
Oberfläche »text« umgeschaltet wird.
Zusätzlich überschreibt apt-listchanges
X11-basierte Oberflächen (»gtk«,
»xterm-pager«, »xterm-browser«) mit
»pager« (oder »browser« im Fall von
»xterm-browser«), wenn die Umgebungsvariable DISPLAY
nicht gesetzt ist.
Bitte beachten Sie, dass diese stillen Oberflächen nicht
folgenden Außerkraftsetzungen unterliegen: syslog, log.
KONFIGURATIONSDATEI¶
apt-listchanges liest seine Konfiguration aus
/etc/apt/listchanges.conf. Die Datei besteht aus Abschnitten mit in
quadratische Klammern eingeschlossenen Namen. Jeder Abschnitt sollte Zeilen
im Format Schlüssel=Wert enthalten. Zeilen, die mit dem
Zeichen »#« beginnen, werden als Kommentar angesehen und
ignoriert. Dateien mit Namen Name.conf in dem Verzeichnis
/etc/apt/listchanges.conf.d werden auch auf die gleiche Art gelesen und
setzen Werte, die in der Hauptkonfigurationsdatei gesetzt sind, außer
Kraft.
Abschnitt ist ein Profilname, der als Parameter für
die Option --profile benutzt werden kann.
Die Konfiguration des Abschnitts »apt« kann durch
debconf(7) verwaltet werden. Dort können auch die meisten
Einstellungen miitels des Befehls dpkg-reconfigure apt-listchanges
geändert werden.
Schlüssel ist ein Name einer Befehlszeilenoption
(außer für --apt, --profile und --help)
bei der die führenden Bindestriche entfernt und die verbleibenden
Bindestriche in Unterstriche umgewandelt werden, zum Beispiel:
»email_format« oder »save_seen«.
Wert steht für den Wert der entsprechenden Option.
Für Befehlszeilenoptionen, die kein Argument entgegennehmen, wie
»confirm« oder »headers«, sollte der Wert
entweder zum Aktivieren auf »1«, »yes«,
»true« und »on« oder zum Deaktivieren auf
»0«, »no«, »false« und
»off« gesetzt werden.
Zusätzlich kann Schlüssel eines der folgenden
Schlüsselwörter sein: »browser«,
»pager« oder »xterm«. Der Wert eines
derartigen Konfigurationseintrags sollte der Name eines zugehörigen
Befehls, eventuell von seinen Argumenten gefolgt, sein zum Beispiel:
»pager=less -R«.
Beispiel 1. Beispielkonfigurationsdatei
[cmdline]
frontend=pager
[apt]
frontend=xterm-pager
email_address=root
confirm=1
[custom]
frontend=browser
browser=mozilla
Obige Konfigurationsdatei gibt an, dass die
Standardoberfläche im Befehlzeilenmodus »pager« sein
soll. Im APT-Modus ist die Xterm-Pager-Oberfläche voreingestellt,
eine Kopie der Changelogs sollte (falls vorhanden) per E-Mail an Root
geschickt werden und Apt-listchanges sollte um Bestätigung ersuchen.
Falls Apt-listchanges mit --profile=custom aufgerufen wird, soll die
Browser-Oberfläche benutzt und Mozilla aufgerufen werden.
UMGEBUNG¶
APT_LISTCHANGES_FRONTEND
Oberfläche, die benutzt werden soll
APT_LISTCHANGES_USER, SUDO_USER, USERNAME
Der Wert der ersten der obigen Variablen wird als Name
des Benutzers verwendet, zu dem gewechselt wird, wenn Befehle
ausgeführt werden, die durch die Oberflächen
»browser«, »xterm-browser« und
»xterm-pager« hervorgebracht wurden, falls
apt-listchanges durch einen privilegierten Benutzer gestartet
wurde.
DEBIAN_FRONTEND
Falls es auf »noninteractive« gesetzt ist,
kann es erzwingen, dass apt-listchanges eine nicht interaktive
Oberfläche benutzt. Einzelheiten finden Sie im Abschnitt
»AUTOMATISCHES AUßERKRAFTSETZEN VON
OBERFLÄCHEN«.
BROWSER
wird von der Browser-Oberfläche benutzt, sollte
auf einen Befehl gesetzt sein, der eine Datei erwartet: URL für eine
HTML-Datei, die angezeigt werden soll.
PAGER
von der Seitenanzeigeprogrammoberfläche (Pager)
benutzt
APT_HOOK_INFO_FD
Dateideskriptor, um Paketnamen im Modus --apt
daraus einzulesen. (Es wird erwartet, dass APT diese Variable auf eine
korrekte Dateideskriptornummer setzt.)
GESEHEN-DATENBANK-INITIALISIERUNG¶
Wird apt-listchanges erstmalig installiert oder von einer
älteren Version aktualisiert, die nicht das aktuelle Format der
Gesehen-Datenbank verwandte, wird ein systemd-Timer
apt-listchanges.timer aktiviert, der stündlich versucht,
apt-listchanges.service zu aktivieren, der die changelog- und
NEWS-Dateien aller installierten Pakete durchsucht und ihre Inhalte dazu
verwendet, die Gesehen-Datenbank zu befüllen.
Durch die Vorbefüllung der Datenbank auf diese Art wird
apt-listchanges beschleunigt, da es dann nicht die changelog- und
NEWS-Dateien der aktuell installierten Pakete während der
Aktualisierungen auswerten muss, um zu bestimmen, welche neuen
Einträge anzuzeigen sind.
Die Vorbefüllung der Datenbank sollte auf jedem Rechner nur
einmalig erfolgen, da von diesem Zeitpunkt an apt-listchanges die
Datenbank während Upgrades automatisch aktualisiert. Daher wird der
Timer automatisch deaktiviert, nachdem der Dienst erfolgreich abgeschlossen
wurde.
Falls Sie aus irgendeinem Grund annehmen, dass die
Gesehen-Datenbank von apt-listchanges unvollständig oder
ungenau ist, können Sie sie durch Entfernen von
/var/lib/apt/listchanges und darauffolgenden Ausführen von
systemctl start apt-listchanges.service neu bauen. Beachten Sie, dass
diese Ausführung komplett im Vordergrund erfolgt.
DATEIEN¶
/etc/apt/listchanges.conf
Konfigurationsdatei
/etc/apt/listchanges.conf.d/*.conf
Dateien, zum Außerkraftsetzen von
Konfigurationsdatei
/etc/apt/apt.conf.d/20listchanges
Datei, die zum Registrieren von Apt-listchanges im
APT-System benutzt wird
/var/lib/apt/listchanges
Datenbank, die für Save-seen benutzt wird
AUTOR¶
Apt-listchanges wurde von Matt Zimmerman <mdz@debian.org>
geschrieben.
Der derzeitige Betreuer ist Jonathan Kamens
<jik@kamens.us>.
ÜBERSETZUNG¶
Chris Leick <c.leick@vollbio.de>; Helge Kreutzmann
<debian@helgefjell.de>