+ -
当前位置:首页 → 问答吧 → emerge -u world 出来的问题、解决及分析

emerge -u world 出来的问题、解决及分析

时间:2005-04-12

来源:互联网

个把月没有emerge --sync了,昨天做了一下,并且emerge -u world。
一切都很顺利,不得不佩服gentoo越来越完美了 。

可是reboot了后吓了我一跳 ,我的root是reiser4,提示说 fsck.reiser4需要libreiser4-1.0.so.3
然后就停下来了。
还好可以进单用户,发现/lib下只有libreiser4-1.0.so.4,没有办法只好
ln -s /lib/libreiser4-1.0.so.4.0.0 /lib/libreiser4-1.0.so.3
(需要先mount -o remount,rw /,因为root只读)

再reboot,居然就OK了。
当然,这次删掉了/lib/libreiser4-1.0.so.3 emerge reiser4progs 了一下。
总算是完工了。

可能的原因[原创,加精

emerge -pv reiser4progs
可以看出, -static,也就是说要用动态库。
在编译 fsck.reiser4的时候,因为1.0.3还在,所以就指向了1.0.3的库文件。
但是1.0.4编译好以后就把1.0.3的库文件给删掉了 :(

所以为了保证这么重要的程序的安全,还是让它static好了,
在 /etc/portage/package.use里加一行
sys-fs/reiser4progs static

下一次就高枕无忧了

作者: Glue   发布时间: 2005-04-12

不错,给大伙提了个醒

作者: zhllg   发布时间: 2005-04-12

升级完后,应该执行revdep-rebuild就应该没这问题

作者: hyc1980   发布时间: 2005-04-12

我也碰到过,revdep-rebuild会重建动态库。作为事后的补救,楼主的方法值得推荐。

作者: midx   发布时间: 2005-04-12

用-u是不安全的,最安全的办法是用-uD。 当然,你可以用-uDp看看有哪些是要up的,可以用-uDa在每个emerge之前ask

作者: Steve3d   发布时间: 2005-04-13