寻找我的微聚官网号码我不小心把它卸载了!能恢复吗?

linux中不小心将rpm命令卸载了,怎么恢复? - 丰泽园的天空 - 博客园
随笔 - 42, 文章 - 6, 评论 - 23, 引用 - 0
  今天在搭建mysql的集群服务时,安装mysql集群服务前,先卸载原来mysql的软件包,不小心将rpm的命令也给卸载掉了,这下惨了,什么也做不了了。在google了翻了好多个页面,甚至官网也看了,没能解决我的问题,根据本人多年linux的经验以及linux系统的rpm软件包安装特点的敏感,本人想出了以下的方法,请注意:独创!为做集群,这里用到了两台机器,下面是拓扑图:
   & & xiaolyu77(192.168.31.77rpm命令被卸载的机器) & -----------& 参照 & xiaolyu76(192.168.31.76 正常机器) 。
1. 问题出现:
[root@xiaolyu77&~]#&rpm&-e&--nodeps&rpm&-e&mysql-libs-5.1.73-7.el6.x86_64[root@xiaolyu77&~]#&rpm&-ivh&MySQL-Cluster-server-gpl-7.3.7-1.el6.x86_64.rpm&-bash:&/bin/rpm:&No&such&file&or&directory&
就是一不小心将rpm的命令用rpm强制给卸载了。可以看到已经不存在rpm命令了。
2. 检查rpm命令安装在哪里:
&1.故障机器查看rpm命令
[root@xiaolyu77 ~]# whereis rpmrpm: /etc/rpm /usr/lib/rpm
&2. 正常机器查看rpm命令
[root@xiaolyu76 ~]# whereis rpmrpm: /bin/rpm /etc/rpm /usr/lib/rpm /usr/share/man/man8/rpm.8.gz[root@xiaolyu76 ~]#
3. 解决方案
从2.中可以看到77机器上rpm命令被卸载的,连man手册也没有了,bin下面更是没有。
思路:想到编译安装的软件的卸载方法是直接将安装路径下的文件直接删掉即可,那么我们可不可以缺什么补什么呢?显然可以啊。反过来不是一样么。
1. 补全whereis缺少的文件
[root@xiaolyu76 ~]# scp /bin/rpm &root@xiaolyu77:/bin/
[root@xiaolyu76 ~]# scp /usr/share/man/man8/rpm.8.gz &root@xiaolyu77:/usr/share/man/man8/
2. 补全安装目录下缺少的文件
通过whereis命令我们看到/ur/lib/rpm这个文件或者文件夹,实际上这个就是rpm命令的安装路径。现在比较两台机器下该目录的文件是否一致:
正常机器/usr/lib/rpm目录下的文件情况:
&77机器rpm被卸载的机器:
显然通过对比发现有一些文件77机器上是没有的,尤其是9个软连接文件:
1.首先在77机器上创建这些软连接文件
[root@xiaolyu77 rpm]# ln -s ../../bin/db_deadlock rpmdb_deadlock[root@xiaolyu77 rpm]# ln -s
../../bin/db_archive
rpmdb_archive[root@xiaolyu77 rpm]# ln -s ../../bin/db_load
rpmdb_load[root@xiaolyu77 rpm]# ln -s
../../bin/db_dump
rpmdb_dump [root@xiaolyu77 rpm]# ln -s
../../bin/db_upgrade
rpmdb_upgrade[root@xiaolyu77 rpm]# ln -s ../../bin/db_stat
rpmdb_stat[root@xiaolyu77 rpm]# ln -s ../../bin/db_recover
rpmdb_recover[root@xiaolyu77 rpm]# ln -s ../../bin/db_printlog
rpmdb_printlog[root@xiaolyu77 rpm]# ln -s ../../bin/db_verify
rpmdb_verify
验证一下:
[root@xiaolyu77 rpm]# rpm
2.将rpmrc文件从76环境复制过来:
[root@xiaolyu76 rpm]# scp rpmrc &root@xiaolyu77:/usr/lib/rpm/
再次检验:发现貌似成功了:
[root@xiaolyu77 rpm]# rpm
[root@xiaolyu77 ~]# rpm -qaerror: no dbpath has been seterror: cannot open Packages database in /%{_dbpath}error: no dbpath has been seterror: cannot open Packages database in /%{_dbpath}
3.出现这个问题:我们可以将macros 复制过去:
[root@xiaolyu76 rpm]# scp &macros &root@xiaolyu77:/usr/lib/rpm/
4. 执行一下updatedb命令
[root@xiaolyu77 ~]# updatedb
5. reboot重启一下:ok!来检验一下:
[root@xiaolyu77 rpm]# rpm -qa | grep rpm
完美的解决了问题,是为记录一下!
&本文为作者原创博客,转载请务必注明本博客地址:有问题 @ 爱问Powered
举报原因(必选):
广告或垃圾信息
不雅词句或人身攻击
激进时政或意识形态话题
侵犯他人隐私
其它违法和不良信息}

我要回帖

更多关于 微聚商 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信