笔者近日配置openresty时误删了pcre库(/lib64/libpcre*),导致很多系统很多指令无法使用(如grep,vi,yum,sz,rz等),因此常规的安装没有办法修复(如yum install pcre)。上网查阅了不少资料,有光盘启动Troubleshooting的,也有推荐跑路的。特此记录一下不用跑路的方法。
把yum wget等指令找回来
此时我们无法正常使用yum(不信可以自己检查一下)[root@centos6102 ~]# yum -v # 检查yum是否可以使用
-bash: yum: command not found
需要知道的是,我们只是误删了libpcre*,并没有破坏yum等其他指令。因此,我们可以使用绝对地址来调用指令。[root@centos6102 ~]# /usr/bin/yum -v
Loading "fastestmirror" plugin
Config time: 0.008
Yum Version: 3.2.29
You need to give some command
Usage: yum [options] COMMAND
因此如果是在/usr/bin下的指令我们可以使用/usr/bin/[command]来调用,在/bin下的指令可以用/bin/[command]调用,其他类推。如果不想每次都多打一次路径,可以直接修改/etc/profile。找到下面的语句,加入我们的路径,修复好pcre后再删除。# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
else
pathmunge /usr/local/sbin after
pathmunge /usr/sbin after
pathmunge /sbin after
# 这里增加如下字段,修复好pcre后再删除
# fixed the libpcre problem, temporarily
pathmunge /usr/bin
pathmunge /usr/local/bin
pathmunge /usr/share
fi
下载&安装pcre
1.卸载pcre/bin/rpm -e --nodeps pcre
2.下载pcre包(不同系统替换成相应的源)/usr/bin/wget http://mirrors.163.com/centos/6/os/x86_64/Packages/pcre-7.8-7.el6.x86_64.rpm
3.安装pcre/bin/rpm -ivh pcre-7.8-7.el6.x86_64.rpm # 使用rpm安装
/usr/bin/yum localinstall pcre-7.8-7.el6.x86_64.rpm # 或者使用yum
到这里,我们就完成了修复。