JP Vossen on 25 Oct 2009 13:28:27 -0700


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

[PLUG] aptitude/apt-get DB issue (fixed, fyi)


On the ongoing saga with the Jaunty to Karmic upgrade, I ran into an 
aptitude/apt-get DB issue.  I'm posting this here for Google, in case 
anyone else runs into something similar, since Google didn't really help 
me out.

My symptoms were errors like these:

# aptitude full-upgrade
Reading package lists... Done
[...]
(Reading database ... 90%dpkg: unrecoverable fatal error, aborting:
  failed in buffer_read(fd): files list for package `update-manager': 
Input/output error
E: Sub-process /usr/bin/dpkg returned an error code (2)
[...]

# dpkg -r xserver-xorg-input-all
(Reading database ... 90%dpkg: unrecoverable fatal error, aborting:
  failed in buffer_read(fd): files list for package `update-manager': 
Input/output error

That's annoying, the message is not only not clear, it needs a 
line-break to look like this (I'll file a bug):
(Reading database ... 90%
dpkg: unrecoverable fatal error, aborting:
  failed in buffer_read(fd): files list for package `update-manager': 
Input/output error

After a lot of unhelpful Googling, I finally found that that 
/var/lib/dpkg/info/update-manager.list was indeed unreadable (maybe 
related to the ATA errors in my previous post?).  I removed the file, 
and then started getting errors like:

dpkg: warning: files list file for package `update-manager' missing, 
assuming package has no files currently installed.


To make a long story shorter, all kinds of aptitude, apt-get and dpkg 
remove, install, and reinstall commands failed to clean up the mess and 
kept telling me "Package is in a very bad inconsistent state - you 
should reinstall it before attempting a removal."  No?  Ya think?!?

The following seems to have fixed my problems:

# dpkg --no-debsig --no-triggers --force-all -r update-manager
# dpkg --no-debsig --no-triggers --force-all -i 
/var/cache/apt/archives/update-manager_1%3a0.126.6_all.deb
# aptitude reinstall update-manager

The latter aptitude command may seem redundant, since the dpkg -i 
already did the work, but the aptitude command did finish up some other 
aptitude stuff, so it was useful.


I also goofed around with 'dpkg --clear-avail' and also manually removed 
/var/lib/dpkg/available* which caused a bunch of other errors.  But it 
seems that those files are recreated during normal operations and 
messing with them didn't help anyway.  I can't find reference to those 
files at all in my session log now, so I don't know why I was messing 
there, I think they were a red-herring I got sidetracked on from a (bad) 
Google hit.  I note it here to point out that it *is* a red-herring in 
this case.


Later,
JP
----------------------------|:::======|-------------------------------
JP Vossen, CISSP            |:::======|      http://bashcookbook.com/
My Account, My Opinions     |=========|      http://www.jpsdomain.org/
----------------------------|=========|-------------------------------
"Microsoft Tax" = the additional hardware & yearly fees for the add-on
software required to protect Windows from its own poorly designed and
implemented self, while the overhead incidentally flattens Moore's Law.
___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug