Archlinux – 安装 testing/glibc 2.16.0-2 时出现 “/lib exists in filesystem” 的一种处理方法

首先感谢falconindy提供的几个note, 这是我的解决思路的基础:

我遇到了和litemotiv一样的问题:
清理过/lib, 保证里面的文件都属于 glibc 后再次尝试升级:

我的问题的特殊点是: 我没有打开一个root权限的命令行, root密码登陆被禁用(所以我无法使用su root), 而且我无法使用上面说的ld-2.16.so去加载sudo(由于sudo本身的安全规则).

于是我琢磨出了下面的方法去修复这个已经挂掉的系统, 希望能帮到遇到类似问题的盆友:

  1. 重启, 编辑grub里linux(或kernel)开头的那行, 在尾部添加:
  2. remount文件系统使其可写:
  3. 移除空的(上面的错误会使它是空的) /lib 目录:
  4. 手动修复链接:
  5. 按 ctrl-alt-del 重启电脑, 然后用pacman重新安装一次glibc

然后各种东西都恢复正常了, 不需要使用恢复光盘之类的东西 🙂

参考: https://bbs.archlinux.org/viewtopic.php?pid=1126667#p1126667

10 thoughts on “Archlinux – 安装 testing/glibc 2.16.0-2 时出现 “/lib exists in filesystem” 的一种处理方法”

  1. 赞,这个已经被官方wiki推荐了。话说我是先看到DevoloperWiki里面链接的帖子后看到这里的。。。
    虽然我解决的时候没用这个办法,不过还是很厉害的样子。

      1. 哦,自从我上次因为开testing而吃尽了libpng的苦头之后就没有再开testing了。
        现在我的core/glib版本是2.16.0-1

          1. 我突然发现电脑不出声了……alsamixer识别声卡,但是gnome-sound-applet不认……
            不知道怎么回事,打算重启……

                1. 我是把 timidity -iA 写在 /etc/rc.local 里面,这样每一次启动MIDI软件的时候就不会忘记启动timidity++,昨天升级timidity++之后发现其他程序就不能发声了。
                  但是又不是权限问题(虽然是root启动),因为kill掉timidity之后再用root启动也很好……
                  纠结,现在不能让timidity自动启动了……

Leave a Reply

Your email address will not be published.