Eu encontrei um problema relacionado quando a imagem do Docker para o CentOS 7.4.1708 começou a pegar os novos pacotes do CentOS 7.5.1804, e não consegui mais encontrar as atualizações lançadas anteriormente para o 7.4. Eu resolvi isso ajustando a configuração do repositório com sed
:
sed -e '/mirrorlist=.*/d' \
-e 's/#baseurl=/baseurl=/' \
-e "s/\$releasever/7.4.1708/g" \
-e "s/mirror.centos.org\/centos/vault.centos.org/g" \
-i /etc/yum.repos.d/CentOS-Base.repo
Isso é baseado na resposta da JRFerguson, embora com um URL de base diferente:
- Remova as linhas
mirrorlist=
.
- Remova o comentário das linhas
baseurl=
.
- Coloque explicitamente a versão desejada no URL base (e no nome do repositório).
Por exemplo, essa configuração padrão:
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
torna-se:
[base]
name=CentOS-7.4.1708 - Base
baseurl=http://vault.centos.org/7.4.1708/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Esta é apenas uma solução temporária, porque os pacotes antigos são removidos dos espelhos algumas semanas depois que uma nova versão é lançada. Aqueles para o 7,4 foram removidos antes de uma nova imagem de base do Docker ser publicada.