LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1026|回复: 8

完了,emerge --sync 后 emerge 烂了.......(已解决)

[复制链接]
发表于 2006-9-12 13:10:00 | 显示全部楼层 |阅读模式
刚刚emerge --sync 后,再emerge -uDNp world 时出现的:
Performing Global Updates: /usr/portage/profiles/updates/3Q-2006
(Could take a couple of minutes if you have a lot of binary packages.)
  .='update pass'  *='binary update'  @='/var/db move'
  s='/var/db SLOT move' S='binary SLOT move' p='update /etc/portage/package.*'
......
pTraceback (most recent call last):
  File "/usr/bin/emerge", line 4049, in ?
    emerge_main()
  File "/usr/bin/emerge", line 3770, in emerge_main
    portage.global_updates(settings, trees, mtimedb["updates"])
  File "/usr/lib/portage/pym/portage.py", line 6656, in global_updates
    myupd)
  File "/usr/lib/portage/pym/portage_update.py", line 198, in update_config_files
    write_atomic(updating_file, "".join(file_contents[x]))
  File "/usr/lib/portage/pym/portage_util.py", line 728, in write_atomic
    f.close()
  File "/usr/lib/portage/pym/portage_util.py", line 696, in close
    os.rename(self.name, self._real_name)
OSError: [Errno 16] Device or resource busy

单独运行emerge也是这个样子。有没有遇到过的?:help
发表于 2006-9-12 13:27:02 | 显示全部楼层
用ebuild把portage重装一遍,不知道行不行.
回复 支持 反对

使用道具 举报

发表于 2006-9-12 15:41:35 | 显示全部楼层
你可能没注意看emerge --sync的提示
今天我emerge --sync后,系统提示我portage有更新应该emerge portage,

我是在emerge portage后再
--update --deep world没有任何问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-12 22:10:41 | 显示全部楼层
Post by 杨珂
你可能没注意看emerge --sync的提示
今天我emerge --sync后,系统提示我portage有更新应该emerge portage,

我是在emerge portage后再
--update --deep world没有任何问题

以前直接--update --deep 没问题,而且直接emerge -uDN 就自己更新portage了.
问题是现在连emerge都不行.emerge --sync/ -uDNp什么的更不行了.emerge-websync倒是可以:!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-12 22:12:56 | 显示全部楼层
Post by Yuri
用ebuild把portage重装一遍,不知道行不行.

是不是按照ebuild里的东西,手动编译portage?
一会试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-13 22:42:12 | 显示全部楼层
顶上来。
/usr/portage/profiles/update/3Q-2006是干什么用的?
把这个文移动到别处后,就能emerge了。一旦移回去,就又不行了。。。。
回复 支持 反对

使用道具 举报

发表于 2006-9-13 23:43:42 | 显示全部楼层
看样子是记录一些update过程中需要变更的信息的,大概emerge --update的时候就按里面的记录进行吧,不如把你那个文件的内容贴出来分析一下,或许是写的时候出错了,emerge运行的时候就读不明白了。我的是这样的(晚上才emerge --sync过):

move sys-apps/hwdata sys-apps/hwdata-gentoo
move x11-misc/linuxwacom x11-drivers/linuxwacom
move app-misc/enotes x11-misc/enotes
slotmove =virtual/gnat-4.1 3.4 4.1
move app-text/ipcalc net-misc/ipcalc
move www-client/kazehakase-cvs www-client/kazehakase
slotmove =dev-java/diablo-jdk-1.5* 0 1.5
slotmove =dev-java/diablo-jre-bin-1.5* 0 1.5
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-14 12:30:21 | 显示全部楼层
是这样的:
ove sys-apps/hwdata sys-apps/hwdata-gentoo
move x11-misc/linuxwacom x11-drivers/linuxwacom
move app-misc/enotes x11-misc/enotes
slotmove =virtual/gnat-4.1 3.4 4.1
move app-text/ipcalc net-misc/ipcalc
move www-client/kazehakase-cvs www-client/kazehakase
slotmove =dev-java/diablo-jdk-1.5* 0 1.5
slotmove =dev-java/diablo-jre-bin-1.5* 0 1.5
我用layman加了kde-experimental和xgl的overlay。编译了一部分kde-experimental.后来没时间直接用layman把overlay删了。是不是和这个有关?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-14 12:35:06 | 显示全部楼层
解决了。
没看清提示。我把/etc/portage的package.*都移走后,emerge进行了:
Performing Global Updates: /usr/portage/profiles/updates/3Q-2006
(Could take a couple of minutes if you have a lot of binary packages.)
  .='update pass'  *='binary update'  @='/var/db move'
  s='/var/db SLOT move' S='binary SLOT move' p='update /etc/portage/package.*'
.........

然后再把那些文件移回去,就好了...
具体什么原因还不知道.有问题再说.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表