+ -
当前位置:首页 → 问答吧 → e2fsprogs 文件不小心 被emerge -C 了还有没有补救的方法

e2fsprogs 文件不小心 被emerge -C 了还有没有补救的方法

时间:2009-10-06

来源:互联网

有那位大侠能帮助小弟。

这个文件。被我删了。装kde 的时候。删了就不能下东西了。
开机也开不起了。

作者: l_s   发布时间: 2009-10-06

用其他任何东西引导进个linux系统,然后chroot后再emerge安装一个?

作者: hpo3   发布时间: 2009-10-06

自己從MinimalCD中拷一份吧……

作者: 亞利艾爾   发布时间: 2009-10-06

这种情况,可以试试借助livecd或别的可启动的linux系统启动电脑,然后chroot到你的系统下进行修复安装,

作者: 32idea   发布时间: 2009-10-06

引用:
作者: hpo3
用其他任何东西引导进个linux系统,然后chroot后再emerge安装一个?

用什么引导进呀。。
未做过。还请,详细指点

作者: l_s   发布时间: 2009-10-06

Ubuntu的安裝盤不就行嘛!什麽都行的……只要你見過的Linux LiveCD都成……

作者: 亞利艾爾   发布时间: 2009-10-06

引用:
作者: 亞利艾爾
Ubuntu的安裝盤不就行嘛!什麽都行的……只要你見過的Linux LiveCD都成……

完了,完了。我连一张盘就没有,怎么搞。。

有一个镜像在C盘的。应该可以进livecd 。

进去了。下一步怎么安装呀。
怎么安到里面去。才是最关心的。。。(对我来说有点难度。)

亞利艾爾,还请你指点。

作者: l_s   发布时间: 2009-10-06

先挂载你的分区和特殊系统

mkdir /mnt/gentoo

mount /dev/sdaX /mnt/gentoo

mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev

然后chroot并安装

chroot /mnt/gentoo /bin/bash
/usr/sbin/env-update
source /etc/profile

emerge e2fsprogs

修复系统的基本功

作者: hubert_star   发布时间: 2009-10-06

引用:
作者: hubert_star
先挂载你的分区和特殊系统

mkdir /mnt/gentoo

mount /dev/sdaX /mnt/gentoo

mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev

然后chroot并安装

chroot /mnt/gentoo /bin/bash
/usr/sbin/env-update
source /etc/profile

emerge e2fsprogs

修复系统的基本功
mount /dev/sdaX /mnt/gentoo <---根目录.还是..
试试..

作者: l_s   发布时间: 2009-10-06

没有成功,引导进行了.但是.还是安不起那个文件.下载不了

作者: l_s   发布时间: 2009-10-06

你先不要急,你有沒有試過emerge -1 e2fsprogs?可能你在/usr/portage/distfiles里有可以安裝的文件。

作者: 亞利艾爾   发布时间: 2009-10-06

引用:
作者: 亞利艾爾
你先不要急,你有沒有試過emerge -1 e2fsprogs?可能你在/usr/portage/distfiles里有可以安裝的文件。


有道理。我去试试。。

作者: l_s   发布时间: 2009-10-06

如果再不行的話,就把你那個livecd的ISO掛載到一個地方。比如/mnt/temp(自己創建一個)。然後你就不斷的wget http://www.baidu.com看錯誤提示

作者: 亞利艾爾   发布时间: 2009-10-06

缺什么so,去别的地方拷贝一个过去就行了,然后接着emerge

作者: druggo   发布时间: 2009-10-06

引用:
作者: druggo
缺什么so,去别的地方拷贝一个过去就行了,然后接着emerge

你说得没有错。不如那位大哥原意emerge -C e2fsprogs .研究一下补救的方法。


我的招可是用完了。

今天的时间全花在这个上了。待高手解答

作者: l_s   发布时间: 2009-10-06

e2fsprogs 不是系统运行时依赖,只有可执行程序,不提供库,您应该可以正常登录系统才对。
不能登录的话,可能是启动脚本有调用 e2fsprogs 提供的程序。

添加内核启动参数 init=/bin/sh rw 什么的直接进入系统,试试看能不能用前面提到的方法手动修复。

作者: 聚焦深空   发布时间: 2009-10-06

有两种方法供lz参考.

一是chroot, 前面兄弟们已有详述.

二是用stage3, 具体就是建一个临时目录然后解压stage3至此目录. chroot过去, 然后执行

# quickpkg e2fsprogs

这样在<临时目录>/usr/portage/packages/sys-fs/ 下会有一个 e2fsprogs的tbz2压缩文件, 把它解压到你的gentoo根目录就行了.

最后, 就是无论是哪个装了gentoo的兄弟, 执行quickpkg后打的包都可以挽救lz.

作者: cliffordli   发布时间: 2009-10-07

引用:
作者: cliffordli

二是用stage3, 具体就是建一个临时目录然后解压stage3至此目录. chroot过去, 然后执行

# quickpkg e2fsprogs
哥哥呀。。我没用CD

哪有 sstage3

作者: l_s   发布时间: 2009-10-07

引用:
作者: l_s
哥哥呀。。我没用CD

哪有 sstage3
你的gentoo怎么当初装上的? 找回这个stage3吧.

作者: cliffordli   发布时间: 2009-10-07

引用:
作者: 聚焦深空
e2fsprogs 不是系统运行时依赖,只有可执行程序,不提供库,您应该可以正常登录系统才对。
不能登录的话,可能是启动脚本有调用 e2fsprogs 提供的程序。

添加内核启动参数 init=/bin/sh rw 什么的直接进入系统,试试看能不能用前面提到的方法手动修复。
暈呀,新版的e2fsprogs把e2fsprogs-libs給整合了,沒有了后者,wget都用不了……他是能登陸,可是什麽都下載不了,emerge等於廢了一半了。

作者: 亞利艾爾   发布时间: 2009-10-07

引用:
作者: cliffordli
你的gentoo怎么当初装上的? 找回这个stage3吧.
很難……因為手冊安裝gentoo最後一步就是刪除stage3……

作者: 亞利艾爾   发布时间: 2009-10-07

引用:
作者: l_s
你说得没有错。不如那位大哥原意emerge -C ewfsprogs .研究一下补救的方法。


我的招可是用完了。

今天的时间全花在这个上了。待高手解答
暈,你不是有livecd的iso嗎?就從那個拷貝就是了。

作者: 亞利艾爾   发布时间: 2009-10-07

引用:
作者: 亞利艾爾
很難……因為手冊安裝gentoo最後一步就是刪除stage3……
晕, 从gentoo的livecd里提个也不是很难吧, 说stage3只是一个比方而已.

记得当初装gentoo都要emerge -C e2fsprogs一下因为block的原因. 装一半有事关机之后也不能启动, 于是用puppy 启动, chroot一下完事. 不知lz的系统怎么了, 连chroot都不行.

作者: cliffordli   发布时间: 2009-10-07

引用:
作者: 亞利艾爾
暈呀,新版的e2fsprogs把e2fsprogs-libs給整合了,沒有了后者,wget都用不了……他是能登陸,可是什麽都下載不了,emerge等於廢了一半了。
http://gentoo-portage.com/AJAX/Ebuild/95956/View
wget 冇依赖 e2fsprogs-libs,也没必要依赖,只在 ext? 文件系统工作? 请给出您的 ldd wget 参考下。
请给列 e2fsprogs-libs 安装的文件参考下。

不能下载,也有可能是网络就没激活。

/ 也可以是其它文件系统,比如 xfs,此时 e2fsprogs 更不需要。

作者: 聚焦深空   发布时间: 2009-10-07

引用:
作者: cliffordli
晕, 从gentoo的livecd里提个也不是很难吧, 说stage3只是一个比方而已.

记得当初装gentoo都要emerge -C e2fsprogs一下因为block的原因. 装一半有事关机之后也不能启动, 于是用puppy 启动, chroot一下完事. 不知lz的系统怎么了, 连chroot都不行.


就因为冲突。。我上了当。。

装kde 时 要升级 e2fsprogs 发生了冲突,害得我把它emerge -C 了。

最后发现。不能安装了。下载什么也下载不了。。

我想重启,系统自动修复。那知道。启不了机了。。
你们教 我用chroot 后,启了机。可还是不能安装和下载。。。

待高手。解决。。。
谢谢

作者: l_s   发布时间: 2009-10-07

你其他的liveCD可以通过网络下载stage3吗?

作者: zrael   发布时间: 2009-10-07

引用:
作者: l_s
你们教 我用chroot 后,启了机。可还是不能安装和下载。。。
请问你是用什么盘启动机器chroot的? 如果不chroot, 这个盘上的系统上网下个stage3都不行? 如果是Gentoo的livecd, 直接quickpkg就把这个包搞定了。

作者: cliffordli   发布时间: 2009-10-07

引用:
作者: 聚焦深空
http://gentoo-portage.com/AJAX/Ebuild/95956/View
wget 冇依赖 e2fsprogs-libs,也没必要依赖,只在 ext? 文件系统工作? 请给出您的 ldd wget 参考下。
请给列 e2fsprogs-libs 安装的文件参考下。

不能下载,也有可能是网络就没激活。

/ 也可以是其它文件系统,比如 xfs,此时 e2fsprogs 更不需要。
因為e2fsprogs-lib是system庫中的東西,所以一般不列舉。這點Flameeyes正在在博客上抱怨,但是沒有得到QA組的一致支持。

至於沒有e2fsprogs-libs就不能下載,這個之前有過類似的Bug,就是那個時候e2fsprogs-libs被分成com_err和ss兩個包的時候出過這個問題。一更新,如果沒有用parallel-fetch就再也下載不了軟體包了。這個問題你可以參考早期的IRC標題(如果還有)。

最後,e2fsprogs提供的可不只一些ext2的東西,有很多你想像不到的包都依賴這個包。比如所有要UUID的包。你可以去gentoo-portage.com看reverse deps就知道了。

作者: 亞利艾爾   发布时间: 2009-10-07

引用:
作者: 聚焦深空
http://gentoo-portage.com/AJAX/Ebuild/95956/View
wget 冇依赖 e2fsprogs-libs,也没必要依赖,只在 ext? 文件系统工作? 请给出您的 ldd wget 参考下。
请给列 e2fsprogs-libs 安装的文件参考下。

不能下载,也有可能是网络就没激活。

/ 也可以是其它文件系统,比如 xfs,此时 e2fsprogs 更不需要。
之前的bug在這:http://www.nabble.com/e2fsprogs-and-...d19018070.html

引用:
Be *very* careful about doing that. wget (amongst other packages) uses
libcom_err, so you will not be able to fetch any packages (including
e2fsprogs-lib) if you follow the above instructions. See bug
https://bugs.gentoo.org/show_bug.cgi?id=234907 for details and for a
safer workaround.

作者: 亞利艾爾   发布时间: 2009-10-07

引用:
作者: l_s
就因为冲突。。我上了当。。

装kde 时 要升级 e2fsprogs 发生了冲突,害得我把它emerge -C 了。

最后发现。不能安装了。下载什么也下载不了。。

我想重启,系统自动修复。那知道。启不了机了。。
你们教 我用chroot 后,启了机。可还是不能安装和下载。。。

待高手。解决。。。
谢谢
暈死,你完全不管我的回覆嗎……

  你之前說過你有個盤里有LiveCD的ISO。把那個ISO掛載了,從裏面拷wget出錯提示的庫文件。

作者: 亞利艾爾   发布时间: 2009-10-07

e2fsprogs-libs被分成com_err和ss兩個包
就是这个

你说那个东东.呀.我的确没有注意到 我下班回去看

作者: l_s   发布时间: 2009-10-07

仔细查了下:
e2fsprogs 是提供有 libuuid.so.x.x 等几个库文件,前面说法有点错误;
util-linux 提供的 mount umount 依赖 libuuid。

亞利艾爾 您的说法也并非全部正确,wget 和 uuid 一类东西没直接关系。

楼主的问题很有可能是这样:
mount 失效,无法正确挂载 /etc/fstab 中的文件系统,/ 被内核默认挂载为只读模式;
udev 受牵连没有启动起来,还有其它一堆东西可能受到牵连;
网络部分如果正确设置,应能访问网络;
wget 无法在只读文件系统上保留文件。

作者: 聚焦深空   发布时间: 2009-10-07

我不知道樓上是怎麼看我的話的……我有說過wget和uuid有關嗎?
引用:
最後,e2fsprogs提供的可不只一些ext2的東西,有很多你想像不到的包都依賴這個包。比如所有要UUID的包。你可以去gentoo-portage.com看reverse deps就知道了。
這段里半個wget都沒有。
引用:
Be *very* careful about doing that. wget (amongst other packages) uses
libcom_err, so you will not be able to fetch any packages (including
e2fsprogs-lib) if you follow the above instructions. See bug
https://bugs.gentoo.org/show_bug.cgi?id=234907 for details and for a
safer workaround.
wget用的是libcom_err。我都說過了……libcom_err是e2fsprogs-libs的

然後再請你看一下樓主的問題是删了e2fsprogs就不能下东西了。e2fsprogs-libs被刪當然不能用wget下東西……問題就是這麼簡單,沒有什麽只讀文件系統的問題。如果你就是不想信e2fsprogs-libs導致wget卸載不了,你可以自己試驗一下,先quickpkg做個備份,再卸載掉e2fsprogs-libs(最新的又合併為e2fsprogs),然後wget一下就知道了。之前大家都有過共識了,這個問題只要e2fsprogs再安裝回來就沒有那么麻煩。

作者: 亞利艾爾   发布时间: 2009-10-07

别急,偶只是想把问题搞清楚些。请看偶 ldd wget 的结果
引用:
$ ldd /usr/bin/wget
linux-gate.so.1 => (0xffffe000)
libdl.so.2 => /lib/libdl.so.2 (0xb80d2000)
librt.so.1 => /lib/librt.so.1 (0xb80c9000)
libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0xb8087000)
libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0xb7f3e000)
libc.so.6 => /lib/libc.so.6 (0xb7e01000)
/lib/ld-linux.so.2 (0xb80e2000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7de9000)
不依赖什么 libcom_err 的。

也许是 gentoo 特殊些吧。

作者: 聚焦深空   发布时间: 2009-10-07

http://bugs.gentoo.org/show_bug.cgi?id=244790
引用:
wget can depend on openssl (USE=ssl) which in turn can depend on kerberos
(USE=kerberos) which depends on com_err or e2fsprogs-libs.
這個是官方bug的解釋。你可以參考。也就是說libssl.so.0.9.8是要的。所以只看ldd只能看到1層。我急只是因為我總有些話被無視,無論libcom_err還是之前說讓樓主找livecd的iso也是。

對頭,才注意到wget的ssl的USE。樓主先把ssl這個USE關了,重新編譯一個wget,再安裝e2fsprogs不就成了……

作者: 亞利艾爾   发布时间: 2009-10-07

误解,ldd 默认列出所有依赖的库,包括库依赖的库,偶一直想找到只列出直接依赖的方法无果。
俺这里没有 kerberos ;-)

作者: 聚焦深空   发布时间: 2009-10-07

lddtree.sh

作者: zhllg   发布时间: 2009-10-07

lddtree.sh 很实用,多谢。
存档备用:
http://www.gentoo.org/proj/en/hardened/pax-utils.xml
http://dev.gentoo.org/~vapier/dist/p...0.1.19.tar.bz2

作者: 聚焦深空   发布时间: 2009-10-07

引用:
作者: zhllg
lddtree.sh


是什么东东。。老大,只说一半。。。有什么作用(ldd 加强版)。。。全是英文。。。有没有中文的呀。。。看到中文亲切些。。

作者: l_s   发布时间: 2009-10-07

樓上先不要忙lddtree的事了,先忙你的e2fsprogs吧。那個和你問題修復沒有直接關係……

你試過沒有?從livecd的iso里拷so文件,或者去掉ssl再編譯一次wget后安裝e2fsprogs?

引用:
作者: 聚焦深空
误解,ldd 默认列出所有依赖的库,包括库依赖的库,偶一直想找到只列出直接依赖的方法无果。
俺这里没有 kerberos ;-)
這個……那個……是不是說反了……不好意思……沒有看明白……

作者: 亞利艾爾   发布时间: 2009-10-07

引用:
作者: 亞利艾爾
樓上先不要忙lddtree的事了,先忙你的e2fsprogs吧。那個和你問題修復沒有直接關係……

你試過沒有?從livecd的iso里拷so文件,或者去掉ssl再編譯一次wget后安裝e2fsprogs?
谢谢大家的热情帮忙。

兄弟呀。。。还没有下班。。回去试了来。

作者: l_s   发布时间: 2009-10-07

回来试了。。我从另一个地方拷了个。可是mount 不起。差文件 libblkid.so.1 找不这个文件目录
wget 差个 libcom_err.so.2 和前者一样。差。。

USE里没有 ssl 还有我的distfile里 也没有wget 的包

作者: l_s   发布时间: 2009-10-08

引用:
作者: 亞利艾爾
這個……那個……是不是說反了……不好意思……沒有看明白……
不好意思,偶语文全还回去啦!
是您反了。

重新断句:
(您)误解(了);
(实际情况是)ldd 默认列出所有依赖的库,包括库依赖的库;
偶一直想找到只列出直接依赖的方法,无果(现在有更好的东东用啦)。

作者: 聚焦深空   发布时间: 2009-10-08

楼主最不济,您可以先在其它系统中静态编译 mount wget,覆盖损坏系统对应程序,先正常启动系统,再修复好啦。

作者: 聚焦深空   发布时间: 2009-10-08

引用:
作者: 聚焦深空
不好意思,偶语文全还回去啦!
是您反了。

重新断句:
(您)误解(了);
(实际情况是)ldd 默认列出所有依赖的库,包括库依赖的库;
偶一直想找到只列出直接依赖的方法,无果(现在有更好的东东用啦)。
沒有看到ldd能列出庫依賴的庫呀?相反到是lddtree做了這個事情……

@樓主:至於你連mount都不行的話……嗯,自己搞個盤子是比較實際的……還有,上網不一定要用wget的吧?不知道你有沒有安裝curl,我不知道curl能不能用,你試試吧。

curl -O http://ftp.kaist.ac.kr/gentoo/distfi...-1.41.9.tar.gz

作者: 亞利艾爾   发布时间: 2009-10-08