【问题标题】:Update error für OpenSuse 12.3 for "libsolv-tools-0.3.2-2.14.1"为“libsolv-tools-0.3.2-2.14.1”更新 OpenSuse 12.3 的错误
【发布时间】:2013-11-20 17:44:56
【问题描述】:

我似乎破坏了我在 OpenSuSe 12.3 上的更新系统。每当我尝试更新时,我都会收到以下消息:

( 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):

/usr/bin 中查看程序 dumpsolv 时,我得到了这个:

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

后面还有更多这样的行。每次安装失败的libsolv-tools-0.3.2-2.14.1 一个

查看 dumpsolv 时出现以下错误:

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

和(原因)

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

我已经尝试过以下命令:

zypper ve
rpm --rebuilddb

还有这个: https://joshua.hoblitt.com/rtfm/2013/05/dealing_with_rpm_cpio_rename_package_installupdate_errors/

这是导致更新问题的工具: http://rpmfind.net//linux/RPM/opensuse/updates/12.3/x86_64/libsolv-tools-0.3.2-2.14.1.x86_64.html

还有我的名字

# 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

我在这里真的很茫然。我已经在那里发帖了,但运气不好,他们似乎和我一样困惑:

另外,我无法重新安装当前安装的libsolv-tools,因为我遇到了与尝试升级时相同的错误。

【问题讨论】:

    标签: linux updates opensuse zypper


    【解决方案1】:

    好的,我修好了,这是我的文件系统的问题。这是我所做的:

    首先我看到stat 返回了一个输入/输出错误。这对我来说似乎很奇怪,所以我检查了整个目录:

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

    得到了一个完整的错误列表。因此,我知道这不是 dumpsolv 的问题,而是影响更大的问题。这导致我搜索网络,我发现它实际上可能是文件系统中的错误。 为了修复 OpenSuse 中的根文件系统,他们提供了一些非常棒的建议: http://www.novell.com/documentation/suse91/suselinux-adminguide/html/ch12s05.html

    因此,我启动了安装 DVD,取消了安装以将我的命令提示符作为 root 并在我的根分区上使用 e2fsck,即 /dev/sdb1,如下所示:

    # e2fsck /dev/sdb1
    

    在这之后,我得到了一个很长的不同 inode 错误列表,我仔细阅读并修复了所有可以修复的内容(我猜这就是一切)。在此之后,我从硬盘驱动器重新启动了我的系统,问题就解决了。我可以安装我的更新,现在一切正常。

    但是如果你尝试这个:要非常小心!你在这里弄乱了你的根分区,你应该阅读它告诉你的所有内容并验证它。最好有第二台计算机运行以检查以防您不确定某事。如果你得到一个坏的超级块(我没有),你可以使用dumpe2fs <partition> 来查看它是哪个块,然后使用e2fsck -b <block> <partition> 从备份中恢复文件系统。

    我在上面发布的链接中已经对所有内容进行了很好的解释,而且互联网上还有很多网站包含有关使用e2fsckdumpe2fs的信息,如果您有任何疑问,请先查阅这些信息。

    我确实希望这可以帮助其他人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多