【原创】大叔经验分享(27)linux服务器升级glibc故障恢复
redhat6系统默认安装的glibc-2.12,有的软件依赖的是glibc-2.14,这时需要升级glibc,下载安装 http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
# ./configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
# make
# make install
结果make install报错,同时除了cd外各种命令都用不了,会报各种shared libraries: *: cannot open shared object file: No such file or directory
ls: error while loading shared libraries: libselinux.so.1: cannot open shared object file: No such file or directory
这些shared libraries都位于/lib64/下,而且此时机器无法远程登录,
现在只有一个终端root账号登录在服务器上,除了能执行cd之外什么都做不了,omg
各种google都无法解决,自己努力
1 首先尝试从其他服务器远程传输/lib64/下的所有文件和link到本机,但是各种传输命令都不能用,比如nc、scp等
2 其次怀疑有可能是link损坏,尝试手工重建报错的link
# ln -s libtinfo.so.5.7 libtinfo.so.5
ln: creating symbolic link `libtinfo.so.5': File exists
虽然ls不能用,但是看起来/lib64/下各种文件和link都还在,那为什么会报No such file or directory?
3 再次通过export查看一下当前的环境变量(export还能用):
# export
declare -x LD_LIBRARY_PATH="/usr/local/lib"
尝试修改LD_LIBRARY_PATH,增加/lib64:
export LD_LIBRARY_PATH=/lib64:$LD_LIBRARY_PATH
很多命令居然可以用了,这次glibc升级的过程是这样的,以其中一个library为例:
安装之前:
-rwxr-xr-x 1 root root 161776 Jun 19 2018 ld-2.12.so
lrwxrwxrwx 1 root root 10 Jun 19 2018 ld-linux-x86-64.so.2 -> ld-2.12.so
安装之后:
-rwxr-xr-x 1 root root 161776 Jun 19 2018 ld-2.12.so
-rwxr-xr-x 1 root root 838308 Jan 24 15:41 ld-2.14.so
lrwxrwxrwx 1 root root 10 Jan 24 16:28 ld-linux-x86-64.so.2 -> ld-2.14.so
将这次安装的改动回滚,即将所有的link都改为指回2.12版本
# ls -l /lib64|grep 2.14|grep lrw|awk '{print "ln -snf "$11" "$9}'|sed 's/2.14/2.12/g'
ln -snf ld-2.12.so ld-linux-x86-64.so.2
ln -snf libBrokenLocale-2.12.so libBrokenLocale.so.1
ln -snf libanl-2.12.so libanl.so.1
ln -snf libc-2.12.so libc.so.6
ln -snf libcidn-2.12.so libcidn.so.1
ln -snf libcrypt-2.12.so libcrypt.so.1
ln -snf libdl-2.12.so libdl.so.2
ln -snf libm-2.12.so libm.so.6
ln -snf libnsl-2.12.so libnsl.so.1
ln -snf libnss_compat-2.12.so libnss_compat.so.2
ln -snf libnss_dns-2.12.so libnss_dns.so.2
ln -snf libnss_files-2.12.so libnss_files.so.2
ln -snf libnss_hesiod-2.12.so libnss_hesiod.so.2
ln -snf libnss_nis-2.12.so libnss_nis.so.2
ln -snf libnss_nisplus-2.12.so libnss_nisplus.so.2
ln -snf libpthread-2.12.so libpthread.so.0
ln -snf libresolv-2.12.so libresolv.so.2
ln -snf librt-2.12.so librt.so.1
ln -snf libutil-2.12.so libutil.so.1
全部执行一遍,故障恢复,各种命令都可以使用,机器也恢复远程登录。
【原创】大叔经验分享(27)linux服务器升级glibc故障恢复的更多相关文章
- linux服务器升级python版本(python2与python3共存)
linux服务器升级python版本 ######################################## 第一步先安装sqlite-devel,因为python2也有这个,python3 ...
- 【原创】经验分享:一个小小emoji尽然牵扯出来这么多东西?
前言 之前也分享过很多工作中踩坑的经验: 一个线上问题的思考:Eureka注册中心集群如何实现客户端请求负载及故障转移? [原创]经验分享:一个Content-Length引发的血案(almost.. ...
- Linux CentOS6升级glibc库过程
CentOS6升级glibc库过程 hadoop无法加载native库,可能原因是 glibc库版本过低,需要升级. 第一:安装以下软件 yum -y install zlib zlib-devel ...
- 【原创】大叔经验分享(90)linux服务器iowait和负载很高
# top top - 21:21:51 up 207 days, 1:30, 5 users, load average: 0.90, 0.79, 1.62 Tasks: 249 total, 1 ...
- 【原创】大叔经验分享(18)hive2.0以后通过beeline执行sql没有进度信息
一 问题 在hive1.2中使用hive或者beeline执行sql都有进度信息,但是升级到hive2.0以后,只有hive执行sql还有进度信息,beeline执行sql完全silence,在等待结 ...
- 【原创】大叔经验分享(26)hive通过外部表读写elasticsearch数据
hive通过外部表读写elasticsearch数据,和读写hbase数据差不多,差别是需要下载elasticsearch-hadoop-hive-6.6.2.jar,然后使用其中的EsStorage ...
- 【原创】大叔经验分享(7)创建hive表时格式如何选择
常用格式 textfile 需要定义分隔符,占用空间大,读写效率最低,非常容易发生冲突(分隔符)的一种格式,基本上只有需要导入数据的时候才会使用,比如导入csv文件: ROW FORMAT DELIM ...
- 【原创】大叔经验分享(43)logstash设置jdbc_default_timezone后报错
logstash6.6.0-6.6.2版本使用jdbc input plugin时如果设置了jdbc_default_timezone,会报错: { 2012 rufus-scheduler inte ...
- 【原创】大叔经验分享(36)CM部署kafka
1 下载kafka parcel http://archive.cloudera.com/kafka/parcels/latest/KAFKA-3.1.1-1.3.1.1.p0.2-el7.parce ...
随机推荐
- 分享Winform datagridview 动态生成中文HeaderText
缘起 很久以前给datagridview绑定列的时候都是手动的,记得以前用Display自定义属性来动态给datagridview绑定列.后来发现不行,于是还在博问发了问题: 后来热心网友帮我回答了这 ...
- 使用VMware安装Ubuntu虚拟机,创建后开启显示黑屏的解决方法
将使用的VMware-workstation-full-14.0.0.24051卸载改为使用VMware-workstation_full_12.1.1.6932. 安装VMware成功后,创建新的虚 ...
- setData优化过程
https://blog.csdn.net/rolan1993/article/details/88106343 在做一个小球跟随手指移动的效果时候,由于在touchmove事件中频繁调用setDat ...
- Shell命令-系统信息及显示之uname、hostname
文件及内容处理 - uname.hostname 1. uname:显示系统信息 uname命令的功能说明 uname 命令用于显示系统信息.uname 可显示电脑以及操作系统的相关信息 uname命 ...
- T66597 小xzy的任务 题解
T66597 小xzy的任务 题目背景 今天,小xzy的班主任交给他一个严肃的任务,匹配羽毛球运动员! ! ! 题目描述 羽毛球队有男女运动员各n人.给定2个n×n矩阵P和Q.Pij是男运动员i和女 ...
- nginx(三)反向代理和负载均衡
nginx(三)反向代理和负载均衡 正向代理概念:比如在学校要上网,在学校内网是一个内网ip,需要连上公网就需要一个正向代理服务器. 反向代理概念: 看下图(Nginx只做请求的转发,后台有多个htt ...
- FFT什么的
目录 多项式 多项式加法 多项式乘法 多项式的表示 系数表达 点值表达 系数形式表示的多项式的快速乘法 DFT&FFT&IDFT 单位复数根 DFT FFT IDFT 多项式乘法 蝶形 ...
- [WC2007]剪刀石头布(最大流)
洛古 一句话题意:给定一张图,每两点之间有一条有向边或无向边,把所有无向边定向,使图中三元环个数尽量多 因为原图是一个完全图,假设图中任意三点都能构成三元环,那么途中三元环的个数为:\(\binom{ ...
- 导出python的环境
1.导出 pip freeze > packegas.txt 2.在其他环境安装 pip install -r packages.txt
- Pandas系列(九)-分组聚合详解
目录 1. 将对象分割成组 1.1 关闭排序 1.2 选择列 1.3 遍历分组 1.4 选择一个组 2. 聚合 2.1 一次应用多个聚合操作 2.2 对DataFrame列应用不同的聚合操作 3. t ...