yum ignorando diretiva de exclusão no yum.conf

1

Eu preciso impedir que mysql seja atualizado em yum update . Eu adicionei exclude=mysql* a /etc/yum.conf como abaixo:

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
exclude=mysql*

Quando emito novamente yum update , o yum ainda está tentando atualizar mysql

--> Running transaction check
---> Package mysql-libs.x86_64 0:5.5.46-1.el6.remi will be obsoleted
--> Processing Dependency: real-mysql-libs(x86-64) = 5.5.46-1.el6.remi for package: mysql-5.5.46-1.el6.remi.x86_64
--> Processing Dependency: real-mysql-libs(x86-64) = 5.5.46-1.el6.remi for package: mysql-server-5.5.46-1.el6.remi.x86_64
--> Finished Dependency Resolution
Error: Package: mysql-5.5.46-1.el6.remi.x86_64 (@remi)
           Requires: real-mysql-libs(x86-64) = 5.5.46-1.el6.remi
           Removing: mysql-libs-5.5.46-1.el6.remi.x86_64 (@remi)
               real-mysql-libs(x86-64) = 5.5.46-1.el6.remi
           Obsoleted By: Percona-Server-shared-51-5.1.73-rel14.12.625.rhel6.x86_64 (percona-release-x86_64)
               Not found
Error: Package: mysql-server-5.5.46-1.el6.remi.x86_64 (@remi)
           Requires: real-mysql-libs(x86-64) = 5.5.46-1.el6.remi
           Removing: mysql-libs-5.5.46-1.el6.remi.x86_64 (@remi)
               real-mysql-libs(x86-64) = 5.5.46-1.el6.remi
           Obsoleted By: Percona-Server-shared-51-5.1.73-rel14.12.625.rhel6.x86_64 (percona-release-x86_64)
               Not found
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Por que você está ignorando a diretiva de exclusão?

    
por a coder 27.10.2015 / 17:05

3 respostas

0

Se você excluir, use sempre *name* . Com mysql* , você excluiu apenas todos os pacotes cujo nome começa com mysql. No seu exemplo, ele também mostra real-mysql-libs , que não teria sido excluído, portanto, tentaria resolver suas dependências, mas excluía as mysql* .

Melhor uso de *mysql* .

Por que vale a pena, o mesmo se aplica aos repositórios. Por exemplo. o que muitas pessoas não sabem, yum clean all somente limpará os metadados dos repositórios ativados no momento.
Use yum clean all --enablerepo="*" e também limpará todos os metadados e pacotes em cache, e assim por diante, para os repositórios desativados.

    
por 29.10.2015 / 09:56
0

excluir apenas funciona na correspondência de nome curinga de pacotes disponíveis, por exemplo, não os instalados. Então, entre outras coisas, não segue obsoletos. O erro diz que o mysql está sendo obsoleto pelo Percona-Server-shared.

Você pode excluir Percona-Server-shared ou, em vez disso, instalar o plugin versionlock; diga para seguir obsoletos; e versionlock mysql.

    
por 30.10.2015 / 02:20
-1

Experimente yum clean all antes de yum update

    
por 27.10.2015 / 17:22