Esse script pode ajudar um pouco:
LC_ALL=C yum repolist 2>/dev/null \
| awk '/^repo id/ {A=1; next} /^[a-zA-Z0-9_-]+ / {if(A) print $1}' \
| xargs -i yum -y --disablerepo=* --enablerepo={} update
# Some packages may need packages from other repository
yum -y update
Ele funciona obtendo uma lista de repositórios com yum repolist
, selecionando nomes de repositórios da saída usando awk
e, em seguida, tentando atualizar todos eles um no momento.
Não é 100% confiável, pois depende do formato de saída do yum imutável. Além disso, se a atualização precisar instalar outro pacote de um repositório diferente e houver um repositório corrompido, ele falhará de qualquer maneira - mas suponho que não seja tão comum.