笔者近日配置openresty时误删了pcre库(/lib64/libpcre*),导致很多系统很多指令无法使用(如grep,vi,yumsz,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

到这里,我们就完成了修复。


许可欣
1 声望0 粉丝

ヾ(o◕∀◕)ノ