V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
AllOfMe
V2EX  ›  Linux

如何在不重启的状态下进行修复 glibc2.12 呢?

  •  
  •   AllOfMe · 2018-06-15 14:15:25 +08:00 · 4460 次点击
    这是一个创建于 2354 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,之前不小心删除了 glibc,通过救援模式进行了 so 的恢复(cp /lib64/* /mnt/sysimage/lib64)。首先很感谢各位的帮助,谢谢!这件事让我也得到了深刻的教训!
    但是现在在调试剩下的功能,发现重启之后命令是正常的,但是好像感觉一些命令不太正常,比如说:

    yum 
    There was a problem importing one of the Python modules
    required to run yum. The error leading to this problem was:
    
       /usr/lib64/libnssutil3.so: undefined symbol: PR_GetEnvSecure
    
    Please install a package which provides this module, or
    verify that the module is installed correctly.
    
    It's possible that the above module doesn't match the
    current version of Python, which is:
    2.6.6 (r266:84292, Nov 22 2013, 12:16:22) 
    [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)]
    
    If you cannot solve this problem yourself, please go to 
    the yum faq at:
      http://yum.baseurl.org/wiki/Faq
    
    
    rpm -> 
    
    Segmentation fault (core dumped)
    
    

    glibc 的版本是 2.12 ,如何在不重启的情况对其进行修复呢?目前 SSH 以及 SFTP 等都运作良好

    19 条回复    2018-06-20 09:52:49 +08:00
    doubleflower
        1
    doubleflower  
       2018-06-15 16:10:30 +08:00
    话说你是怎么搞得系统乱套的,按理说用系统的包管理是不可能发生版本不一致的问题啊?还是强制安装了外来的包来替换了已有包?
    326029212
        2
    326029212  
       2018-06-15 16:15:53 +08:00
    1. 备份全部.数据.并制作好相应系统镜像.以保证可以进行二次恢复
    2. 删除当前主机系统.并重做系统.
    3. 恢复之前的数据.即可
    hyq
        3
    hyq  
       2018-06-15 16:28:56 +08:00
    应该是救援系统里面的库版本比较低,替换了系统里面高版本的库,如果你还能正常用 yum,可以用 yum 查询下出问题的 so 属于哪个软件包(或者在其他机器上执行这个操作也行),然后用 yum 强制重新安装这些包(或者手动下载包,用 rpm 安装)
    q397064399
        4
    q397064399  
       2018-06-15 16:32:17 +08:00   ❤️ 1
    建议不要轻易动 glibc 血泪的教训
    yanaraika
        5
    yanaraika  
       2018-06-15 16:34:21 +08:00
    cp lib64 会把依赖彻底搞乱吧,建议重装
    zynlp
        6
    zynlp  
       2018-06-15 16:36:38 +08:00 via iPhone
    我说这事咋这么眼熟,原来是昨天升级 glibc 的那位兄弟
    artandlol
        7
    artandlol  
       2018-06-15 16:37:48 +08:00
    还是那个 生产环境都是这么处理的
    用 rpm 包装一遍 glibc2.14 ,下载这个,执行 install.sh
    https://send.firefox.com/download/78affa9729/#a2JH06MWT4_9oqNawzmqvw
    artandlol
        8
    artandlol  
       2018-06-15 16:41:55 +08:00
    你这个:
    [root@localhost .ansible]# rpm -qf /usr/lib64/libnssutil3.so
    nss-util-3.21.0-2.el6.x86_64
    nss 故障
    执行
    yum -y install nscd pcre pcre-* nss-*
    liuxu
        9
    liuxu  
       2018-06-15 17:12:54 +08:00
    #7 可行,glibc 虽然是核心依赖,如果能自己手动补齐也没什么,和普通文件一样,再不行用 U 盘装一个一样版本的系统,照着 U 盘目录文件拷贝过去
    AllOfMe
        10
    AllOfMe  
    OP
       2018-06-15 17:33:12 +08:00 via Android
    @artandlol 谢谢!
    AllOfMe
        11
    AllOfMe  
    OP
       2018-06-15 17:33:32 +08:00 via Android
    @liuxu 嗯,谢谢
    ful1v1dcker
        12
    ful1v1dcker  
       2018-06-15 17:34:45 +08:00
    修复它不如重做,glibc 谁碰谁死
    AllOfMe
        13
    AllOfMe  
    OP
       2018-06-15 18:33:58 +08:00
    想问下前辈,glibc 补齐 的范围是只有 /lib 和 /lib64 是吗?
    msg7086
        14
    msg7086  
       2018-06-16 01:47:22 +08:00
    话说 Yum 没有重装软件包功能吗……
    msg7086
        15
    msg7086  
       2018-06-16 01:48:34 +08:00
    等等……
    cp /lib64/* /mnt/sysimage/lib64 ???

    凉了,重装吧,没的救了。这种破坏性操作也敢用。
    henglinli
        16
    henglinli  
       2018-06-18 03:28:26 +08:00 via iPhone
    带 yum 的现在默认安装还不是 btrfs ?
    AllOfMe
        17
    AllOfMe  
    OP
       2018-06-19 18:37:40 +08:00
    @artandlol 谢谢您的回复!我想问一下这个
    ```
    yum -y install nscd pcre pcre-* nss-*
    ```
    能否在不使用 Yum 的情况进行安装呢?因为我的 yum 好像也用不了。谢谢!
    artandlol
        18
    artandlol  
       2018-06-19 18:57:41 +08:00 via iPhone
    @AllOfMe 只能自行编译了
    AllOfMe
        19
    AllOfMe  
    OP
       2018-06-20 09:52:49 +08:00
    @artandlol 好的,谢谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3206 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:15 · PVG 08:15 · LAX 16:15 · JFK 19:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.