我需要将 php 从 5.3 升级到 5.4。我已经用rpm安装了。我想要全新安装:删除所有 5.3 软件包,然后安装所有必需的 5.4。这是查看所有已安装软件包的命令:
rpm -qa |grep php
它打印出软件包列表,我想用以下方法删除所有软件包:
rpm -e *pakage.name*
我可以迭代 grep 结果中的所有匹配项并在以下位置使用每个匹配项:
rpm -e *grep.match*
答案1
尝试这个:
rpm -qa | grep php | xargs rpm -e
答案2
您通常不想分段删除这样的包,因为您通常会跳过一些依赖项。最好一次全部删除,如下所示:
$ rpm -e $(rpm -aq | grep php)
更好的是,我鼓励您使用yum
RPM 来执行此操作。
$ yum remove $(rpm -aq | grep php)
更好的方法是找出与所有 PHP 包匹配的模式,并告诉 YUM 根据该模式进行删除。是的,YUM 知道正则表达式。
$ yum remove 'php*'
您需要确保您的整个包列表适合命令行,但如果您告诉在一个命令中删除 1/2 的 PHP 相关包,然后再删除另一个命令,则使用xargs
或单独执行此操作会出现问题与其余人一起指挥。rpm
rpm
答案3
试试这个脚本:
for p in $(rpm -qa |grep php) ; do rpm -e ${p} ; done
答案4
( IFS='
' ; printf 'rpm -e "%s"\n' $(rpm -qa |grep php) |
. /dev/stdin )
就这样吧。