Linux重要文件被删恢复问题

由于linux不是很熟悉,使用过程中犯了一些错误,这里记录一下,为自己提供警醒。

1、修改~/.bashrc环境变量

  • 问题
    有些时候需要配置环境变量,但不小心输入错误内容,造成ls vim ...等大量常用命令不能使用
  • 解决办法
    先在命令行手动导入以下目录,然后重新修改~/.bashrc文件
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

2、更新glibc(切记:除非必要,不要更新)

  • 问题
    在发布过程中,遇到不同的平台(Ubuntu18.04-->Centos7),在Ubuntu上打包好后拿到centos7上运行,发现少了glibc-2.18,机器上最高只到glibc-2.17,然后查找glibc-2.18安装方法,安装成功后可以运行,但后面其他同事使用的时候报以下错误.
Inconsistency detected by ld.so: dl-close.c: 771: _dl_close: Assertion `map->l_init_called' failed!
  • 解决办法
    更改/usr/lib64下面一些库的软链接,重新链接回2.17版本,如果还不行就重装吧。图中圈出来得两个最后再更改,改动过程中遇到命令不可用时,参照下面的办法。

  • 重链接ld-linux-x86-64.so.2后有些命令不能用,可以采用以下方式恢复

/lib64/ld-2.18.so /usr/bin/ln -sf /lib64/ld-2.17.so /lib64/ld-linux-x86-64.so.2
  • 重链接libc.so.6后命令不能用,采用以下方式恢复
LD_PRELOAD=/lib64/libc-2.18.so ln -s /lib64/libc-2.17.so /lib64/libc.so.6
posted @   半夜打老虎  阅读(1683)  评论(2编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示