Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1324510
  • 博文数量: 334
  • 博客积分: 10302
  • 博客等级: 上将
  • 技术积分: 2986
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-12 10:17
文章分类

全部博文(334)

文章存档

2013年(1)

2012年(9)

2011年(4)

2010年(10)

2009年(24)

2008年(64)

2007年(72)

2006年(150)

我的朋友

分类: LINUX

2008-08-19 18:46:05

手动修复已经损坏的portage安装文件

关键字: gentoo
目的

当你执行 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。

替换已经安装的portage版本
# cd /root
# mkdir portage-recover
# cd portage-recover
# tar xfj /usr/portage/distfiles/portage-2.1.1.tar.bz2
当你执行完上面的指令, portage已经解压完成,现在要做的是,替换python及一些相关 bash 脚本:
# 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
如果这篇文档无法解决你遇到的问题,你还可以求助于  和  。
阅读(970) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~