我需要将 php 从 5.3 升级到 5.4。我已经用 rpm 安装了它。我想要全新安装:删除所有 5.3 包,并安装所有必需的 5.4。这是查看所有已安装软件包的命令:
rpm -qa |grep php
Run Code Online (Sandbox Code Playgroud)
它打印出一个包列表,我想删除所有它们:
rpm -e *pakage.name*
Run Code Online (Sandbox Code Playgroud)
我可以遍历 grep 结果中的所有匹配项并在以下位置使用每个匹配项:
rpm -e *grep.match*
Run Code Online (Sandbox Code Playgroud)
您通常不想删除这样的包,因为通常会跳过一些依赖项。最好像这样一次性全部删除:
$ rpm -e $(rpm -aq | grep php)
Run Code Online (Sandbox Code Playgroud)
更好的是,我会鼓励您使用yumRPM 来执行此操作。
$ yum remove $(rpm -aq | grep php)
Run Code Online (Sandbox Code Playgroud)
更好的是找出匹配所有 PHP 包的模式并告诉 YUM 基于该模式删除。是的,YUM 知道正则表达式。
$ yum remove 'php*'
Run Code Online (Sandbox Code Playgroud)
您需要确保您的整个软件包列表都适合命令行,但是xargs如果您告诉rpm在一个命令中删除 1/2 的 PHP 相关软件包,然后再删除另一个,则使用或单独执行此操作会出现问题rpm其余的命令。