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]: