Tente isto:
rpm -qa | grep php | xargs rpm -e
Eu preciso atualizar o php de 5.3 para 5.4. Eu instalei com rpm. Eu quero instalação limpa: exclua todos os pacotes 5.3 e instale todos os necessários 5.4. Aqui está o comando para ver todos os pacotes instalados:
rpm -qa |grep php
Ele imprime uma lista de pacotes e eu quero removê-los com:
rpm -e *pakage.name*
Posso iterar todas as correspondências nos resultados do grep e usar cada correspondência em:
rpm -e *grep.match*
Você geralmente não deseja remover pacotes como este em partes, pois geralmente há dependências que você está pulando. É melhor fazer essa remoção de uma só vez assim:
$ rpm -e $(rpm -aq | grep php)
Melhor ainda, sugiro que você use yum
para fazer isso vs. RPM.
$ yum remove $(rpm -aq | grep php)
Ainda melhor do que isso seria descobrir um padrão que corresponda a todos os pacotes do PHP e dizer ao YUM para remover com base no padrão. Sim, o YUM está ciente das expressões regulares.
$ yum remove 'php*'
Você precisará garantir que toda a sua lista de pacotes caiba na linha de comando, mas fazer isso usando xargs
ou individualmente é feito com problemas, se você disser rpm
para remover 1/2 do PHP pacotes relacionados em um comando, seguido por outro comando rpm
com o restante.
Experimente este script:
for p in $(rpm -qa |grep php) ; do rpm -e ${p} ; done
( IFS='
' ; printf 'rpm -e "%s"\n' $(rpm -qa |grep php) |
. /dev/stdin )
Lá vai você.