Como eu mantenho uma versão no CentOS 7 via yum update?

2

Sempre que faço yum update , sou automaticamente atualizado para a versão mais recente. Eu preciso ficar com uma versão do CentOS (ou seja, 7.3).

Também testei em yum --releasever=7.3 update e estou ficando abaixo do erro, mas consegui fazer yum update .

[root@myvm ~]# yum --releasever=7.3 update

Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager

 One of the configured repositories failed (Unknown),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Run the command with the repository temporarily disabled
            yum --disablerepo=<repoid> ...

     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>
        or
            subscription-manager repos --disable=<repoid>

     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

Cannot find a valid baseurl for repo: base/7.3/x86_64
    
por siranjeevi 17.10.2017 / 14:25

2 respostas

3

Edite o /etc/yum.repos.d/CentOS-Base.repo para apontar para vault.centos.org .

Em cada seção de repositório ativada, altere o baseurl , por exemplo para:

baseurl=http://vault.centos.org/7.3.1611/os/$basearch 

baseurl=http://vault.centos.org/7.3.1611/updates/$basearch

e comentam, ou simplesmente removem, a diretiva mirrorlist em cada estância na qual você altera o baseurl .

Isso funciona de forma semelhante para os repositórios extras , centosplus e fasttrack .

    
por 17.10.2017 / 14:53
1

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:

  1. Remova as linhas mirrorlist= .
  2. Remova o comentário das linhas baseurl= .
  3. 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.

    
por 17.05.2018 / 13:22

Tags