Por referência e completude, um comando que seria capaz de alcançar o que inicialmente pediu seria algo assim (rapidamente manipulado, 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
Será executada uma verificação completa em todos os pacotes atualmente instalados / listados no banco de dados rpm. Ele também irá redirecionar stderr para stdout, pois aqui na minha caixa alguns erros que são causados pelo prelink sendo ativado são reportados 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 a exibição de linhas vazias e os erros de pré-ligamento (exemplo de tal erro: prelink: /tmp/#prelink#.B14JBi: Recorded 10 dependencies, now seeing -1
)
sed 's|.* /|/|')
filtrará a saída rpm -Va
para mostrar apenas os nomes dos arquivos
rpm -qf $()
consultará todos os nomes de arquivos obtidos em que o pacote está contido e exibirá o nome e a versão do pacote
| sort -u
suprimirá combinações duplicadas de nome / versão de 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 podem precisar ser suprimidos adicionando --nodeps
.