Ubuntu 16.04 找回libc.so.6

之前在虚(Ubuntu 18.04 64位)中搭好了HBase环境,并能用C++正常读写数据。本机开了虚拟机之后,机器很卡,CPU一直保持在90%以上,就想把这套环境在物理机(Ubuntu 16.04 64位)器上搭建好。为了能快速搭建环境,也为了在生产环境搭建做下准备,就把几个库(hadoop,zookerper,hbase,libboost,thrift)原样的拷备过去。

环境配置好,hadoop、hbase正常启动。在编译c++代码的时候,由于libssl.so的版本问题报错,就把虚拟机中的libssl也拷了过来。代码编译成功,运行时报错了,是由于libc库的版本过低。升级libc时,系统提示mysql依赖现在的libc版本。当时的想法是把虚拟机中的libc-2.27.so拷过来,将软连接libc.so.6重指向libc-2.27.so,结果导致系统出问题。

解决方法是制作U盘启动,用U盘进入系统。

U盘系统启动成功后,进入的是U盘中的系统,需要挂载之前的系统盘。

  1. 在根目录下新建文件夹hda1

     mkdir /hda1
    
  2. 挂载之前的系统盘

     mount /dev/hda1 /hda1
    
  3. 进入原系统libc-2.23.so所在的目录

     cd /hda1/usr/lib/x86_64-linux-gnu/
    
  4. 新建软连接

     ln -s libc-2.23.so libc.so.6
    
  5. 重启系统,问题解决

发布了3 篇原创文章 · 获赞 0 · 访问量 47

猜你喜欢

转载自blog.csdn.net/weixin_46381158/article/details/104661376