Verwenden Sie dpkg, um das Änderungsprotokoll anzuzeigen

9

Gibt es eine Möglichkeit, mit dpkg ein Änderungsprotokoll zwischen verschiedenen Versionen eines Pakets anzuzeigen?

Wenn ich zB wissen wollte, warum 'passwd' in einem kürzlich durchgeführten Update aktualisiert wurde, gibt es eine Möglichkeit, mit dpkg zu sehen, was sich geändert hat?

$ dpkg -l passwd
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  passwd         1:4.2-3.1    amd64        change and administer password an

Es wird auf 1: 4.2-3.3 aktualisiert ...

Ich weiß, dass ich mit Debian die Paketnotizen und von dort aus das verknüpfte Debian-Änderungsprotokoll einsehen kann .

Dies gilt jedoch nicht für alle deb-basierten Distributionen, und es ist umständlich, einen kurzen Blick auf die neuen Funktionen zu werfen.

mgjk
quelle

Antworten:

14

dpkg bietet keine Möglichkeit, das Änderungsprotokoll eines Pakets zu lesen. Sie sollten das Paket extrahieren und das Änderungsprotokoll lesen

dpkg -X <package.deb> <folder>

Anschließend können Sie das Änderungsprotokoll mit dem Dienstprogramm dpkg-parsechangelog lesen

dpkg-parsechangelog -l <folder>/usr/share/doc/<package>/changelog.Debian.gz

Da dies ein echtes Problem ist, können Sie es verwenden, wenn Ihre Distribution apt-get verwendet

apt-get changelog <packagename>

oder

apt changelog <packagename>
Diego Roccia
quelle
Beachten Sie, dass zumindest in Ubuntu apt-get changelognicht dasselbe ist wie das Lesen des lokalen Änderungsprotokolls im Paket unter <folder>/usr/share/doc/<package>/changelog.Debian.gz. apt-getRuft das Änderungsprotokoll vom Canonical-Server ab. Bei einigen Paketen sind die Änderungsprotokolle im Paket an ihrem Ende abgeschnitten, und es gibt tatsächlich einen Kommentar, den Sie apt-get changelogzum weiteren Lesen verwenden können.
Uwe Geuder
6

Wenn das Paket installiert ist, gehen Sie einfach zu /usr/share/doc/<package_name>/und dort finden Sie das Upstream- ChangeLogund das Debian-Änderungsprotokoll (Paket).

Möglicherweise werden die Dateien komprimiert. In diesem Fall können Sie zlesssie anzeigen.

Giacomo Catenazzi
quelle
1

Wenn ich zB wissen wollte, warum 'passwd' in einem kürzlich durchgeführten Update aktualisiert wurde, gibt es eine Möglichkeit, mit dpkg zu sehen, was sich geändert hat?

apt-listchanges deckt diesen speziellen Anwendungsfall ab. Sie können die Änderungsprotokolleinträge anzeigen, die einem Upgrade entsprechen.

Wenn Sie in Änderungsprotokollen nach Paketen suchen möchten, die nicht installiert sind, ist es wahrscheinlich am einfachsten, online zu suchen. Gehen Sie beispielsweise zu https://packages.qa.debian.org , geben Sie das gewünschte Quellpaket ein (z. B. dpkg), und Sie sehen das Änderungsprotokoll rechts unter "Links". In diesem Fall landen Sie unter http://metadata.ftp-master.debian.org/changelogs/main/d/dpkg/unstable_changelog .

Diese spezielle Site kann natürlich nur für Debian verwendet werden.

Faheem Mitha
quelle