分类: LINUX
2008-08-19 18:46:05
当你执行 emerge sys-apps/portage 出现致命错误的时候,你可能需要手动修复整个portage。
请试着跟下面的步骤做:
取得当前版本的 portage tarball 包
首选,要取得 portage tar包。
可以通过以下两种方式,
一是运气好, emerge 没有完全损坏,还可以运行 fetchonly。这个时候,就可以通过这种方式取得 tar 包。
emerge --fetchonly sys-apps/portage二是,通过网上下载。
wget -P /usr/portage/distfiles
这里用的是 portage 2.1.1 版来演示修复 portage。# cd /root当你执行完上面的指令, portage已经解压完成,现在要做的是,替换python及一些相关 bash 脚本:
# mkdir portage-recover
# cd portage-recover
# tar xfj /usr/portage/distfiles/portage-2.1.1.tar.bz2
# cd /root/portage-recover/portage-2.1.1
# cp -R pym bin /usr/lib/portage/
如果你没有把 gentoo 跑在 freebsd 上,那么当 sed 脚本与老的 bash 脚本发生冲突时。直接删除 sed 就行了。
rm -f /usr/lib/portage/bin/sed
到这里为之,你可以重新运行 emerge sys-apps/portage 了。
如果提示 command not found,那么需要加一个符号链接:
ln -s ../lib/portage/bin/emerge /usr/bin/emerge
如果这篇文档无法解决你遇到的问题,你还可以求助于 和 。