Question

I seem to have broken my update system on OpenSuSe 12.3. Whenever I try to update I get this message:

( 1/23) Installing: libsolv-tools-0.3.2-2.14.1 .....................................[error]
Installation of libsolv-tools-0.3.2-2.14.1 failed:
(with --nodeps --force) Error: Subprocess failed. Error: RPM failed: error: unpacking of archive failed on file /usr/bin/dumpsolv: cpio: rename failed - Input/output error
error: libsolv-tools-0.3.2-2.14.1.x86_64: install failed
error: libsolv-tools-0.3.2-2.10.1.x86_64: erase skipped


Abort, retry, ignore? [a/r/i] (a):

When looking at for program dumpsolv in /usr/bin, I get this:

# ls | grep "dumpsolv"
dumpsolv
dumpsolv;528134c9
dumpsolv;528134d2
dumpsolv;528134da
dumpsolv;528134ec
dumpsolv;5281350e
dumpsolv;52813523
dumpsolv;52828c89
dumpsolv;52880d1a
dumpsolv;52880d44...

followed by many more lines like this. One for every failed installation of libsolv-tools-0.3.2-2.14.1

When looking at dumpsolv I get these errors:

# stat /usr/bin/dumpsolv
stat: cannot stat ‘/usr/bin/dumpsolv’: Input/output error

and (of cause)

# lsattr /usr/bin/dumpsolv
lsattr: Input/output error while trying to stat /usr/bin/dumpsolv

I already tried out the following commands:

zypper ve
rpm --rebuilddb

And this: https://joshua.hoblitt.com/rtfm/2013/05/dealing_with_rpm_cpio_rename_package_installupdate_errors/

Here is the tool that is causing the update issue: http://rpmfind.net//linux/RPM/opensuse/updates/12.3/x86_64/libsolv-tools-0.3.2-2.14.1.x86_64.html

And my uname

# uname -a
Linux linux-3hbw.site 3.7.10-1.16-desktop #1 SMP PREEMPT Fri May 31 20:21:23 UTC 2013 (97c14ba) x86_64 x86_64 x86_64 GNU/Linux

I am really at a loss here. I already posted in there forums, but without any luck, they seem to be as puzzled as I am:

Also, I cannot reinstall the currently installed libsolv-tools, as I get the same error that I get when trying to upgrade.

Was it helpful?

Solution

Ok, I fixed it, It was a problem with my file-system. Here is what I did:

First I saw that stat returned an input/output error. That seemed strange to me, so I checked the whole directory:

# stat /usr/bin/* | grep "Input/output error"

And got a whole list of errors. Thus I knew that it was not a problem with dumpsolv, but rather something with a bit more impact. This lead me to search the web and I found out that it could in fact be an error in the file-system. To repair the root file-system in OpenSuse they offer some really great advice: http://www.novell.com/documentation/suse91/suselinux-adminguide/html/ch12s05.html

Thus I booted up the installation-DVD, canceled the installation to get my command-prompt as root and used e2fsck on my root partition, which is /dev/sdb1 like so:

# e2fsck /dev/sdb1

After this I got a really long list of different inode errors, which I read carefully and fixed whatever could be fixed (which was everything, I guess). After this I rebooted my system from harddrive and the problem was solved. I can install my updates and everything is running fine now.

But if you try this: be extremely careful! You are messing with your root partition here and you should read everything it tells you and verify it. Best have a second computer running to check in case you are not sure about something. If you get a bad superblock (which I did not have) you can use dumpe2fs <partition> in order to see which block it is and then use e2fsck -b <block> <partition> to restore the file-system from backup.

Everything is explained well in the link I posted above plus there are a lot of websites on the internet containing information about the use of e2fsck and dumpe2fs, you should consult these first if you have any doubts.

I do hope that this can help someone else.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top