[arch-general] broken system after today upgrade

Dennis Herbrich dennis at archlinux.org
Thu Jan 24 05:32:43 EST 2013


On Thu, Jan 24, 2013 at 10:21:12AM +0100, arnaud gaboury wrote:
> I was thereafter happy to log into my system, with no kernel panic !
> I decided to reinstall all packages from the "broken" upgrade.
> 
> Nevertheless, everything is not fine. Somme apps are broken, and do not
> know why. I guess it is because of the /usr/lib64 issue.
> For example, offlineimap and log are broken with no reasons, as they used
> to work perfectly.

Hello Arnaud.

When you system is thought to be inconsistent, the recommended course of action
is to bring it back into a well-known state. Yeah, I know, stating the obvious.

A consistent state can be reached by reinstalling, of course, but we do not
want to take this option. ;)

Alternatively, consistency really boils down to "1) all files that are supposed to
be installed must be installed, and 2) nothing should be installed that is not
either part of one of the installed packages, or willfully and correctly
installed manually by the admin."

To check both, some pacman and scripting magic makes life easier:

1)
pacman -Qk should have checked that already. A "historic" alternative was to
simply explicitly reinstall all currently installed packages. Get a list of all
packages with pacman -Q, munge the output, and use pacman -S to install each
package again, with it's version explicitly given as "<pkgname>=<pkgver>" to
pacman.

2)
All files that SHOULD be installed (through package management) can be listed
by pacman -Ql|cut -d' ' -f2. Pipe this (sorted) to a file, and you've got your
list to check against. Then run find on /, excluding directories like /home,
/dev, /proc and /sys, and diff/comm both results to get an idea if there may be
extra files on your disk where they shouldn't be. Honorable mention goes to
rogue or missing libraries in /usr/lib, which may cause all kinds of annoying
failures. The 'comm' tool is especially useful here.

At the very least you should recursively check /bin, /boot, /opt, /sbin, /usr
and /var for stray files, with /etc coming next. Be aware that /opt and /etc
may very well include "stray files" that are supposed to be there. That's
really something you must know and decide for yourself, though.

Did I mention that pacman is awesome? Combined with the Arch Rollback Machine,
it's insanely powerful and flexible. :)

Good luck!
  Dennis
-- 
"Den Rechtsstaat macht aus, dass Unschuldige wieder frei kommen."
  Dr. Wolfgang Schäuble, Bundesinnenminister (14.10.08, TAZ-Interview)

0D21BE6C - F3DC D064 BB88 5162 56BE  730F 5471 3881 0D21 BE6C


More information about the arch-general mailing list