Changelog beim Paketupdate
Wer kennt es nicht, das flaue Gefühl im Magen, wenn mal wieder jede Menge Systemupdates anstehen, oder gerade wieder vulnerability-bug Nachrichten in den einschlägigen Medien auftauchen. Ist bei dem gerade anstehenden Update ein hotfix mit dabei oder was genau wurde wurde in dem Updatepaket geändert?
Hilfreiche Informationen vermerkt ein Paketmaintainer beim Bauen eines RPMs in dessen Changelog.
$ less rpmbuild/SPECS/smf-spf-2.0.4-3.spec
... %changelog * Sun May 04 2014 Django <django@nausch.org> 2.0.4-3 - version 2.0.4-3 build with patches from Andreas Schulze: ° fixwarnings.patch ° ar-header.patch ° no_daemon.patch ° logging.patch ° insert_header.patch ° ipv6.patch Thanx to Andreas! ...
Standard Update
Bei einem Paketupdate sehen wir nur nichts von diesen Informationen.
# yum update
Loaded plugins: changelog, priorities, security 1524 packages excluded due to repository priority protections Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package mpg123.x86_64 0:1.20.0-1.el6.rf will be updated ---> Package mpg123.x86_64 0:1.20.1-1.el6.rf will be an update --> Finished Dependency Resolution Dependencies Resolved ========================================================================================================= Package Arch Version Repository Size ========================================================================================================= Updating: mpg123 x86_64 1.20.1-1.el6.rf rpmforge-LOCAL 433 k Transaction Summary ========================================================================================================= Upgrade 1 Package(s) Total download size: 433 k Is this ok [y/N]:
Installation
Damit wir bei einem Update die Changelog-Informationen sehen können, installieren wir uns das Paket yum-plugin-changelog.
# yum install yum-plugin-changelog
Was uns das Paket mitbringt zeigt uns der folgende Aufruf:
# rpm -qil yum-plugin-changelog
Name : yum-plugin-changelog Version : 1.1.31 Release : 24.el7 Architecture: noarch Install Date: Fri 11 Jul 2014 10:48:41 PM CEST Group : System Environment/Base Size : 41381 License : GPLv2+ Signature : RSA/SHA256, Fri 04 Jul 2014 07:53:12 AM CEST, Key ID 24c6a8a7f4a80eb5 Source RPM : yum-utils-1.1.31-24.el7.src.rpm Build Date : Tue 10 Jun 2014 09:49:41 AM CEST Build Host : worker1.bsys.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS URL : http://yum.baseurl.org/download/yum-utils/ Summary : Yum plugin for viewing package changelogs before/after updating Description : This plugin adds a command line option to allow viewing package changelog deltas before or after updating packages. /etc/yum/pluginconf.d/changelog.conf /usr/lib/yum-plugins/changelog.py /usr/lib/yum-plugins/changelog.pyc /usr/lib/yum-plugins/changelog.pyo /usr/share/doc/yum-plugin-changelog-1.1.31 /usr/share/doc/yum-plugin-changelog-1.1.31/COPYING /usr/share/man/man1/yum-changelog.1.gz /usr/share/man/man5/yum-changelog.conf.5.gz
man page
Weitere Informationen über das Paket yum-changelog finden wir auch in der man-Page des Paketes.
# man yum-changelog
YUM-CHANGELOG(1) User Manuals YUM-CHANGELOG(1)
NAME
yum-changelog
SYNOPSIS
The yum-changelog package
DESCRIPTION
yum-changelog(1) is a Yum plugin for viewing package changelogs before/after updating. yum
will invoke yum-changelog(1) plugin if the --changelog option or the changelog command is used
with yum.
OPTIONS
--changelog
Show changelog delta of updated packages
COMMANDS
changelog
Show changelog data of packages listed (same format as the list command). The first
argument is required and is either "all" for all the changelog entries, a date for the
changelog entries since a specified point in time or a number for a given number of
changelog entries.
FILES
/etc/yum/pluginconf.d/changelog.conf
The system wide configuration file. See yum-changelog.conf(5) for more information.
EXAMPLES
# yum changelog 2008-Jan yum\*
Listing changelogs since: 2008-01-18
yum-versionlock-1.1.11-1.fc8.noarch installed
* Wed Jan 30 17:00:00 2008 Tim Lauridsen <timlau@fedoraproject.org>
- mark as 1.1.11
changelog stats. 33 pkgs, 12 source pkgs, 1 changelog
# yum update ktechlab --changelog
Loading "changelog" plugin
Setting up Update Process
Setting up repositories
[..]
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Package ktechlab.i386 0:0.3-6 set to be updated
--> Running transaction check
Changes in packages about to be updated:
ktechlab - 0.3-6.i386
* Wed Nov 22 23:00:00 2006 Chitlesh Goorah - 0.3-6
- Rebuilt due to new gpsim-devel release
BUGS
There are of course no bugs, but should you find any, you should first consult the FAQ section
on http://yum.baseurl.org/wiki/Faq and if unsuccessful in finding a resolution contact the
mailing list: yum-devel@lists.baseurl.org. To file a bug use http://bugzilla.redhat.com for
Fedora/RHEL/Centos related bugs and http://yum.baseurl.org/report for all other bugs.
AVAILABILITY
yum-changelog is available via:
# yum install yum-changelog
AUTHORS
Chitlesh Goorah <chitlesh@fedoraproject.org>
Panu Matilainen <pmatilai@laiskiainen.org>
James Antill <james@and.org>
SEE ALSO
yum(1)
08 February 2007 YUM-CHANGELOG(1)
manueller Aufruf
Mit der Option --changelog beim Aufruf von yum update werden uns nun die Informationen aus dem RPM-Paket angezeigt.
# yum update --changelog
Loaded plugins: changelog, priorities, security 1524 packages excluded due to repository priority protections Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package mpg123.x86_64 0:1.20.0-1.el6.rf will be updated ---> Package mpg123.x86_64 0:1.20.1-1.el6.rf will be an update --> Finished Dependency Resolution Changes in packages about to be updated: ChangeLog for: mpg123-1.20.1-1.el6.rf.x86_64 * Thu Jul 10 14:00:00 2014 Dag Wieers <dag@wieers.com> - 1.20.1-1 - Updated to release 1.20.1. Dependencies Resolved ========================================================================================================= Package Arch Version Repository Size ========================================================================================================= Updating: mpg123 x86_64 1.20.1-1.el6.rf rpmforge-LOCAL 433 k Transaction Summary ========================================================================================================= Upgrade 1 Package(s) Total download size: 433 k Is this ok [y/N]:
automatischer Aufruf
Damit wir nun nicht bei jedem Update diese Option „manuell“ mit anfügen müssen, machen wir eine kleine Änderung in der Konfigurationsdatei des Plugins. Wir setzen dazu die Option always auf true.
# vim /etc/yum/pluginconf.d/changelog.conf
- /etc/yum/pluginconf.d/changelog.conf
[main] enabled=1 # Set to 'pre' or 'post' to see changes before or after transaction when=pre # Set to true, to always get the output (removes the cmd line arg) # Django : 2014-07-11 # default: always=false always=true
Nun können wir unser System wie gewohnt einfach updaten und wir erhalten die Information(en) aus dem oder den Paketen angezeigt.
# yum update
Loaded plugins: changelog, priorities, security 1524 packages excluded due to repository priority protections Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package mpg123.x86_64 0:1.20.0-1.el6.rf will be updated ---> Package mpg123.x86_64 0:1.20.1-1.el6.rf will be an update --> Finished Dependency Resolution Changes in packages about to be updated: ChangeLog for: mpg123-1.20.1-1.el6.rf.x86_64 * Thu Jul 10 14:00:00 2014 Dag Wieers <dag@wieers.com> - 1.20.1-1 - Updated to release 1.20.1. Dependencies Resolved ========================================================================================================= Package Arch Version Repository Size ========================================================================================================= Updating: mpg123 x86_64 1.20.1-1.el6.rf rpmforge-LOCAL 433 k Transaction Summary ========================================================================================================= Upgrade 1 Package(s) Total download size: 433 k Is this ok [y/N]: