- 论坛徽章:
- 0
|
本帖最后由 qiuzugen 于 2014-05-13 23:22 编辑
今天搞了个挫事:有2台机器准备混跑nginx代理,nginx启动报错:/usr/local/nginx/sbin/nginx: /lib64/libc.so.6: version `GLIBC_2.10'not found (required by /usr/local/nginx/sbin/nginx)Message reporter v1.0 对比原来的机器,怀疑libc.so.6版本过低:
好使的是:,于是把版本高的libc.so.6 r过去,结果ls,mv,cp,rsync,sz…一大帮命令不好使了,查了下,libc.so.6是几乎所有linux命令的动态链接库,其中有标准c的各种函数,不能轻易动,网上的办法是通过光盘启动进入linux rescue模式修复。看来只能重转系统了。。。。这下闯了大祸了,心有不甘,想从别的机器rsync过去这个文件,但是不行,rsync报错:
/bin/bash: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: remote command not found (code 127) at io.c(600) [sender=3.0.6]
scp也不行,报错:
/bin/bash: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
lost connection
突发奇想,想试试从这台机器scp别的机器的libc.so.6到本机,一敲scp发现这个命令还活着,看来救命的稻草来了,结果真的可以,scp root@X.X.X.X :/lib64/libc.so.6 ,就奇迹般的好了:
。这是为啥呢?莫非scp没有用到libc.so.6的这个库,但不对啊,从别的机器往这台上scp的时候明明是不行啊。。。
然后又追踪了下过程,又有奇特的事情发生:
10.xxx.241.51是低版本的系统:
10.xxx.241.52是高版本的系统:
1.从52上:rsync -azvP /lib64/libc.so.6root@10.xxx.xxx.51:/lib64/51上之后:
此时51上没有/lib64/libc-2.12.so(因为我scp libc-然后敲tab键时只自动补齐了libc-2.4.so,并没有出现libc-2.12.so让我选),但是有libc.so.6,但就是不知道他是不是软链接,因为ls无法使用。
2.在51上:scp root@10.xx.xx.78:/lib64/libc.so.6 /lib64/ (从另外一台和51同样低版本的机器拷贝libc.so.6):结果就奇怪了:
我从来没有向51传过libc-2.12.so啊,什么时候出现的:(肯定是第一次传libc.so.6的时候把实体文件一同传过去了(但为什么我scp libc-然后敲tab键时只自动补齐了libc-2.4.so,并没有出现libc-2.12.so让我选呢?)):
但是,不解的是这个时间为什么在/libc.so.6 之前呢?一个是22:16,一个是22:15,看来是先建立源文件,再传软连接啊:
红色部分是希望大牛们帮忙解答的问题。 |
|