--exclude
excluirá um pacote dos repositórios, já que ele não estava disponível para instalação, mas não funciona nos pacotes instalados.
Uma forma de realmente proteger seu pacote da desinstalação é colocar seu nome em protected_packages
em /etc/yum.conf
, mas yum
não processaria um curinga que também corresponda a esse pacote.
Uma solução:
Com o seu exemplo específico php-common
, isso não funcionará realmente porque o resolvedor de dependências irá interferir, mas se as dependências não forem um problema, você pode tentar o seguinte:
yum erase 'yum list installed | cut -d " " -f 1 | grep php | grep -v php-common '
O subcomando irá gerar uma lista de pacotes instalados, cortá-lo para a primeira coluna, reduzi-lo a pacotes contendo php
no nome e, em seguida, elimina php-common
da lista.