yum roll back option?

Jerry Williams jwilliam at xmission.com
Sun Jan 14 00:11:00 UTC 2007


> -----Original Message-----
> From: fedora-devel-list-bounces at redhat.com [mailto:fedora-devel-list-
> bounces at redhat.com] On Behalf Of Panu Matilainen
> Sent: Saturday, January 13, 2007 2:30 AM
> To: Development discussions related to Fedora Core
> Subject: Re: yum roll back option?
> 
> On Fri, 12 Jan 2007, Jeff Spaleta wrote:
> >
> > yum has a caching option, which you are free to enable.
> > man yum.conf, look for keepcache
> >
> > Taken together with the available rpmpkg log, you can reinstall older
> > versions of a package.
> > I believe there is a yum plugin that you will find useful, if you
> > don't want to resort to rpm -Uvh --oldpackage, to do the dirty work.
> > yum info yum-allowdowngrade
> > "This plugin adds a --allow-downgrade flag to yum to make it possible to
> > manually downgrade packages to specific versions."
> 
> Or you can enable rpm rollbacks. You can't use yum to do the actual
> rollback but you can use rpm cli for that, yum (or actually rpmlib) will
> create the rollback packages on erasures and upgrades.
> 
> See for example http://www.linuxjournal.com/article/7034 and
> http://www.oreillynet.com/onlamp/blog/2006/01/rpm_rollback_in_fedora_core_
> 45.html
> forsome further info on the topic.
> 
>  	- Panu -
> 
I went and looked at the example and created the /etc/rpm/macros and put
%_repackage_all_erasures 1 in it.
Then I ran the rpm -Uvh --oldpackage on about 10 packages.
I shutdown the machine and put the old network card back in and it worked
fine.
I also changed keepcache=1 in /etc/yum.conf.
Then I ran yum update for a few packages at a time and left glibc last.
I installed all of the updates that I had put back and it still works fine.
So then I tried to power of the box and unplug it and it still works.
So I don't know what to say about the error.  But it has been a very good
learning experience for me.

I again have learned some new things and I want to thank everyone for their
comments and help.

I have thought about the different things people have said and this doesn't
seem to be an easy problem.  It turns out that some of the packages haven't
been changed from the original release, this was their first time.
I also noticed in that Jan 07 10:50:15 Updated: tar.i386 2:1.15.1-23.fc6 is
in the yum.log, but that it never shows up in any of my rpmpkgs logs.

# grep tar.i386 yum.log
Nov 30 01:00:18 Updated: tar.i386 2:1.15.1-21.fc6
Dec 12 23:19:46 Updated: tar.i386 2:1.15.1-22.fc6
Jan 07 10:50:15 Updated: tar.i386 2:1.15.1-23.fc6
Jan 12 19:59:10 Updated: tar.i386 2:1.15.1-24.fc6

# grep ^tar rpmpkgs*
rpmpkgs:tar-1.15.1-24.fc6.i386.rpm
rpmpkgs.1:tar-1.15.1-22.fc6.i386.rpm
rpmpkgs.2:tar-1.15.1-22.fc6.i386.rpm
rpmpkgs.3:tar-1.15.1-22.fc6.i386.rpm
rpmpkgs.4:tar-1.15.1-22.fc6.i386.rpm

Also the man page for yum doesn't match the default in the yum.conf file:
yum clean packages
        Eliminate  any cached packages from the system.  Note that pack-
        ages are not automatically deleted after they are downloaded.

I think that default in the yum.conf should be changed to keep the files, or
at least the config and man page should agree.

I think that I would be happy to just be able to go back to the previous
version.  In most cases I would have the original media and could put the
original files back.  I like the idea of the %_repackage_all_erasures but I
think that I would feel better with the original rpm file.  Which makes me
think of another idea.  

Some thing like yum clean packages keep=2 or change the option in yum.conf
keepcache=2 where it would keep 2 versions of a package. Or maybe it would
be another option.  Or arguments like none, no, all, or a number for how
many versions you would like to keep.

I also noticed that yum didn't use the /etc/rpm/macros file, but someone did
mention an option for yum.conf.  But like I said I prefer to use the
original rpm file and not spend the time doing the repackage.

I was wondering why yum.log uses the format it does to do the logging?
And what is the 2: for in like: Jan 12 19:59:10 Updated: tar.i386
2:1.15.1-24.fc6?
I was just thinking it might be easier to pull into a script if it looked
like:
Jan 12 19:59:10 Updated: tar-1.15.1-23.fc6.i386.rpm
tar-1.15.1-24.fc6.i386.rpm

Date updated: old package name new package name






More information about the fedora-devel-list mailing list