rpm 安装 忽略依赖_rpm卸载软件忽略循环依赖

今天由于某些原因需要卸载掉服务器上的php软件,然后我使用下面命令显示出本机安装的所有和php相关的软件,如下: iteblog$ rpm -qa | grep php

php-mysqlnd-5.6.25-0.1.RC1.el6.remi.x86_64

php-fpm-5.6.25-0.1.RC1.el6.remi.x86_64

php-pecl-jsonc-1.3.10-1.el6.remi.5.6.x86_64

php-pecl-memcache-3.0.8-3.el6.remi.5.6.x86_64

php-pdo-5.6.25-0.1.RC1.el6.remi.x86_64

php-mbstring-5.6.25-0.1.RC1.el6.remi.x86_64

php-pear-1.9.4-4.el6.noarch

php-cli-5.6.25-0.1.RC1.el6.remi.x86_64

php-gd-5.6.25-0.1.RC1.el6.remi.x86_64

php-pecl-zip-1.13.4-1.el6.remi.5.6.x86_64

php-pecl-apcu-4.0.11-2.el6.remi.5.6.x86_64

php-common-5.6.25-0.1.RC1.el6.remi.x86_64

php-5.6.25-0.1.RC1.el6.remi.x86_64

php-mcrypt-5.6.25-0.1.RC1.el6.remi.x86_64

然后我一一把它们卸载掉,如下: iteblog$ rpm -e php-mysqlnd-5.6.25-0.1.RC1.el6.remi.x86_64

一切都很正常,但是当卸载到php-pecl-jsonc-1.3.10-1.el6.remi.5.6.x86_64和php-pecl-zip-1.13.4-1.el6.remi.5.6.x86_64的时候出现以下的错误: [iteblog@iteblog.com ~] $ rpm -e php-pecl-jsonc-1.3.10-1.el6.remi.5.6.x86_64

error: Failed dependencies:

php-pecl-jsonc(x86-64) is needed by (installed) php-common-5.6.25-0.1.RC1.el6.remi.x86_64

[iteblog@iteblog.com ~] $ rpm -e php-pecl-zip-1.13.4-1.el6.remi.5.6.x86_64

error: Failed dependencies:

php-pecl-zip(x86-64) is needed by (installed) php-common-5.6.25-0.1.RC1.el6.remi.x86_64

很容易就可以看出php-pecl-jsonc和php-pecl-zip都被php-common-5.6.25-0.1.RC1.el6.remi.x86_64依赖,所有理所当然的想到先卸载php-common-5.6.25-0.1.RC1.el6.remi.x86_64,如下: [root@iteblog.com ~] $ rpm -e php-common-5.6.25-0.1.RC1.el6.remi.x86_64

error: Failed dependencies:

php(api) = 20131106-64 is needed by (installed) php-pecl-jsonc-1.3.10-1.el6.remi.5.6.x86_64

php(api) = 20131106-64 is needed by (installed) php-pecl-zip-1.13.4-1.el6.remi.5.6.x86_64

php(zend-abi) = 20131226-64 is needed by (installed) php-pecl-jsonc-1.3.10-1.el6.remi.5.6.x86_64

php(zend-abi) = 20131226-64 is needed by (installed) php-pecl-zip-1.13.4-1.el6.remi.5.6.x86_64

当看到上面的错误信息的时候我只想说fuck!php-common居然又被php-pecl-jsonc和php-pecl-zip依赖,这岂不是变成了循环依赖了吗?这时候我想到了man命令,看到了rmp命令还有个--nodeps参数: [root@iteblog.com ~] $ man rpm

........................这里省略了很多输出.....................

--nodeps

Don’t do a dependency check before installing or upgrading a package.

........................这里省略了很多输出.....................

这不就是卸载的时候忽略依赖检测吗?然后我使用下面命令顺利地卸载了上面三个软件包: [root@iteblog.com ~] $ rpm --nodeps -e php-common-5.6.25-0.1.RC1.el6.remi.x86_64

[root@iteblog.com ~] $ rpm --nodeps -e php-pecl-zip-1.13.4-1.el6.remi.5.6.x86_64

[root@iteblog.com ~] $ rpm --nodeps -e php-pecl-jsonc-1.3.10-1.el6.remi.5.6.x86_64

[root@iteblog.com ~] $ rpm -qa|grep php

终于卸载干净了!有困难找man啊。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值