LinuxSir.cn,穿越时空的Linuxsir!

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

干了一件很愚蠢的事情 我把coreutils 给 emerge -C 了,怎么办啊

[复制链接]
发表于 2008-4-13 10:20:34 | 显示全部楼层 |阅读模式
起因是这个

[ebuild     U ] sys-apps/coreutils-6.10-r1 [6.9-r1] USE="acl nls (-selinux) -static -xattr" 3,670 kB
[blocks B     ] sys-apps/mktemp (is blocking sys-apps/coreutils-6.10-r1)
[blocks B     ] >=sys-apps/coreutils-6.10 (is blocking sys-apps/mktemp-1.5)

我稀里糊涂的 输入成了 emerge -C coreutils

怎么办?
发表于 2008-4-13 10:43:34 | 显示全部楼层
我也一样,刚想发个贴问问,楼主领先了,呵呵。
在线等待。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-13 10:48:07 | 显示全部楼层
版主回复一下吧 呵呵

我修复想法 是用 livecd 启动 然后 切换环境 在emerge -c coreutils

这样做对吗?

我马上试一试去
回复 支持 反对

使用道具 举报

发表于 2008-4-13 10:49:48 | 显示全部楼层
不应该 emerge -C coreutils,而应该 emerge -C mktemp。

好像从 6.10-r1 开始 coreutils 已经不再需要 mktemp 的支持了。

如果已经 emerge -C coreutils 的,可以在 emerge -C mktemp 之后,再 emerge coreutils
回复 支持 反对

使用道具 举报

发表于 2008-4-13 10:58:20 | 显示全部楼层
Post by LiYanrui;1837698
不应该 emerge -C coreutils,而应该 emerge -C mktemp。

好像从 6.10-r1 开始 coreutils 已经不再需要 mktemp 的支持了。

如果已经 emerge -C coreutils 的,可以在 emerge -C mktemp 之后,再 emerge coreutils


`emerge --unmerge coreutils` 之后,连基本的shell命令都没有了,还怎么 emerge coreutils 啊? 呵呵。
回复 支持 反对

使用道具 举报

发表于 2008-4-13 11:12:54 | 显示全部楼层
>robinswan:  `emerge --unmerge coreutils` 之后,连基本的shell命令都没有了,还怎么 emerge coreutils 啊? 呵呵。

呃,没考虑这个,不好意思 ,除了再装一次 stage 3 ,也没什么好方法了吧。
回复 支持 反对

使用道具 举报

发表于 2008-4-13 11:43:28 | 显示全部楼层
我也遇到这个问题了,最后这么解决:

我有另一个硬盘B也装有gentoo,我先启动之后chroot到硬盘B,
然后mount原来的硬盘A,然后ROOT=/mnt/gentoo PORTAGE_CONFIGROOT=/mnt/gentoo emerge -av coreutils
回复 支持 反对

使用道具 举报

发表于 2008-4-13 11:51:21 | 显示全部楼层
原来很多人今天遇到相同的问题了。
我是这样解决的。到另一台gentoo上quickpkg了一个coreutils,拷贝到损坏的系统中,解压,把bin,usr/bin中的文件复制回去,再emerge coreutils
回复 支持 反对

使用道具 举报

发表于 2008-4-13 13:16:52 | 显示全部楼层

完整解决方案

不需要依赖其他Gentoo机器的办法。

(1)先下载 stage3
  1. $ wget -c http://mirrors.64hosting.com/pub/mirrors/gentoo/releases/x86/2008.0_beta1/stage3-i686-2008.0_beta1.tar.bz2
复制代码
(2)这个时候连`cp`命令都没有了,幸好 tar 命令还在,呵呵
  1. $ tar -jxvf stage3-i686-2008.0_beta1.tar.bz2
复制代码
(3)现在可以用解压出来的 `cp` 命令将解压出了的shell 命令复制到系统的Path目录了
  1. sudo ./bin/cp -av ./usr/bin/* /usr/bin/
  2. sudo ./bin/cp -av ./bin/* /bin/
复制代码
(4)重新安装 coreutils
  1. sudo emerge coreutils
复制代码
回复 支持 反对

使用道具 举报

发表于 2008-4-13 13:43:54 | 显示全部楼层
说明Gentoo包机制还不够完善,应该默认指定某些包不允许被移除,比如:portage、coreutils等
回复 支持 反对

使用道具 举报

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

本版积分规则

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