Re: yum and crash recovery

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2007/3/2, seth vidal <skvidal@xxxxxxxxxxxxxx>:
On Fri, 2007-03-02 at 12:35 -0500, Michel Salim wrote:
> 2007/3/2, Fajar A. Nugraha <fajar@xxxxxxxxx>:
> > Michel Salim wrote:
> > > I have an unreliable system that is prone to overheating (at which
> > > point the kill switch would mercifully save the CPU from a flaming
> > > death, but at the expense of whatever is going on at the moment) --
> > > and doing a large yum transaction is quite reliable at causing a
> > > lock-up (I'm making sure I set the CPU speed to minimum before
> > > updating now).
> > >
> > I may be saying the obvious here, but you should find out how to cool
> > down that server, or throw it away. Unless it's NOT a server :-P
>
> That's the scary thing. It's a laptop (Turion 64)! And it's a good
> suggestion -- I'm waiting for the next iteration of the Macbook.
> Hopefully Linux has full support for it by then (apart from EFI)
>
> > > Anyway, the question is, if you're partway into the transaction, and
> > > some packages have been installed (but the old ones not removed yet),
> > > is there a way to tell yum to clean up the mess? There must be some
> > > transaction logs somewhere that can be used to automate the process.
> > >
> > IMHO the best way is to recover rpmdb from backup, and restart the yum
> > process.
> > SUSE has /etc/cron.daily/suse.de-backup-rpmdb. I don't think Redhat has
> > it by default.
> >
> Hmm .. the thing is, some RPMs have already been installed (e.g. if
> foo-x.y is updated to foo-y.z, the system has both installed). If I
> roll back the rpmdb, it will actually be inconsistent with what's on
> the disk, right?
>
> What I want is a way for yum to say "oh, I detect an incomplete
> transaction -- let me just continue it and make sure the old RPMs get
> properly removed"
>

so there's no way for yum to know based on what information is in the
rpmdb what has happened on the system. The mechanism we've been using
thus far is to:

1. look for dupes in the rpmdb
2. remove the older version
you can try running:
http://linux.duke.edu/~skvidal/useful-scripts/dupes-cli.py
to accomplish those two.

3. run rpm -Va and see what's broken
4. re-run the update command to see if it can fix the broken.



it's worth a shot. not ideal.

Thanks! The script works fine for removing older packages -- the
problem is with RPM being hard-wired to ignore /usr/share and so files
owned by >1 packages there get removed.

If yum has an option to reinstall packages that are broken (as if they
were older) then the script would be a one-stop solution.

Thanks,


--
Michel Salim
http://hircus.wordpress.com/

My theology, briefly, is that the universe was dictated but not signed.
               -- Christopher Morley
_______________________________________________
Yum mailing list
Yum@xxxxxxxxxxxxxxxxxxxx
https://lists.dulug.duke.edu/mailman/listinfo/yum

[Index of Archives]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux