恢复误删除的rpm包

1、报错信息

# 执行rpm命令检查
rpm
# 多种报错情况
-bash:/bin/rpm: No such file or directory
-bash:/usr/bin/rpm: No such file or directory

2、检查rpm命令安装目录

2.1、故障机器查看rpm命令
# 查看rpm命令安装目录
whereis rpm
rpm: /etc/rpm
2.2、正常机器查看rpm命令
# 查看rpm命令安装目录
whereis rpm
rpm: /bin/rpm /etc/rpm /usr/lib/rpm /usr/share/man/man8/rpm.8.gz

3、解决方案

前提:正常机器和故障机器系统要保持一致

将正常机器下rpm命令安装目录拷贝到故障机器的目录下

3.1、补全whereis缺少的文件
# scp命令传输文件: scp [参数] [原路径] [目标路径]
scp /bin/rpm  用户@ip:/bin/
scp /usr/share/man/man8/rpm.8.gz  用户@ip:/usr/share/man/man8/
# rsync命令传输文件夹: rsync [参数] [原路径] [目标路径]
rsync -r /usr/lib/rpm 用户@ip:/usr/lib

会跳过软链接文件,显示信息如下图:

软链接不同步传输文件.png

3.2、补全/usr/lib/rpm安装目录下缺少的文件
# 在故障机器上执行命令
cd /usr/lib/rpm
ln -s ../../bin/db_deadlock rpmdb_deadlock
ln -s ../../bin/db_archive  rpmdb_archive
ln -s ../../bin/db_load rpmdb_load
ln -s ../../bin/db_dump rpmdb_dump 
ln -s ../../bin/db_upgrade rpmdb_upgrade
ln -s ../../bin/db_stat rpmdb_stat
ln -s ../../bin/db_recover rpmdb_recover
ln -s ../../bin/db_printlog  rpmdb_printlog
ln -s ../../bin/db_verify rpmdb_verify

4、解决-bash:/usr/bin/rpm: No such file or directory报错

# 拷贝 /bin/rpm 到 /usr/bin/文件夹下
cp /bin/rpm /usr/bin/

5、检验一下

# 在故障机器上执行命令,显示rpm版本号即可
rpm
posted on 2022-04-08 11:35  cxbks  阅读(400)  评论(0)    收藏  举报