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