Para fins de referência e integridade, um comando que seria capaz de alcançar o que inicialmente era pedido seria algo assim (rapidamente mexido juntos, mas está funcionando)
rpm -qf $(rpm -Va 2>&1 | grep -vE '^$|prelink:' | sed 's|.* /|/|') | sort -u
Aqui está uma breve explicação das várias partes:
rpm -Va 2>&1
Irá executar uma verificação completa em todos os pacotes atualmente instalados / listados no banco de dados rpm. Ele também redirecionará o stderr para o stdout, pois aqui na minha caixa alguns erros causados pela ativação do pré-link são relatados como erros, mas nós os queremos no stdout.
Atenção: Precisa ser executado como root para poder verificar todos os arquivos, permissões e proprietário / grupo.
grep -vE '^$|prelink:'
suprime exibir de linhas emtpy e tais dos erros prelink (exemplo de tal erro:
prelink: /tmp/#prelink#.B14JBi: Recorded 10 dependencies, now seeing -1
)
sed 's|.* /|/|')
filtrará a rpm -Va
saída para mostrar apenas os nomes de arquivos
rpm -qf $()
consultará todos os nomes de arquivos obtidos nos quais os pacotes estão contidos e exibirá o nome e a versão do pacote
| sort -u
suprimirá combinações duplicadas de nome / versão do pacote.
Ao todo, você receberá uma lista de pacotes que falharam na verificação.
rpm -Va
ainda pode mostrar alguns problemas não relacionados, pois também verifica as dependências entre os pacotes, que talvez precisem ser suprimidos com a adição --nodeps
.
yum reinstall $(rpm -qa --qf="%{N}-%{V}\n" | sort)