Como desativar as atualizações do pacote usando Yum/DNF no Rhel Linux

Como desativar as atualizações do pacote usando Yum/DNF no Rhel Linux

O DNF (dinificado Yum) é a versão de próxima geração do Yum (YellowDog Updater, modificada), é um gerente de pacotes padrão de código aberto para distribuições de Linux baseadas em Red Hat, que é usada para obter, instalar, atualizar, remover, remover, e consultar pacotes dos repositórios oficiais de software e repositórios de terceiros.

Ao atualizar o sistema, às vezes, não atualizamos determinados pacotes como Servidor Apache (Http), Mysql, Php, ou qualquer outro aplicativo importante, porque a atualização desse software pode quebrar atualmente a execução de aplicativos da Web em um servidor e causar grandes problemas. Recomenda -se interromper as atualizações para esse software até que o aplicativo seja corrigido com novas atualizações.

Neste artigo, mostraremos como podemos excluir (desativar) determinadas atualizações de pacotes usando o Yum e DNF gerente de pacotes em distribuições baseadas em RPM, como RHEL, CENTOS, Fedora, Rocky Linux, e Almalinux. Também podemos excluir ou desativar certas atualizações de pacotes de qualquer repositórios de terceiros.

A sintaxe exclui seria a seguinte.

exclude = pacote package1 pacotes* 

O de cima excluir A diretiva é definida em /etc/yum.conf ou /etc/dnf/dnf.conf arquivo de configuração com a lista de pacotes para excluir de atualizações ou instalações.

A sintaxe acima excluirá “pacote“,“pacote1“E lista de“pacote”Atualizações ou instalações. Cada palavra -chave deve ser separada com espaço para exclusão de pacotes.

Como excluir pacotes em yum ou dnf

Para excluir (desativar) atualizações específicas do pacote, abra o arquivo chamado /etc/yum.conf ou /etc/dnf/dnf.conf Com sua escolha de editor.

# vi /etc /yum.conf ou # vi/etc/dnf/dnf.conf

Adicione a seguinte linha na parte inferior do arquivo com excluir palavra -chave como mostrado 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 = 16 & ref = http: // bugs.CENTOS.org/bug_report_page.php?categoria = yum distroverpkg = centos-lançamento # Este é o padrão, se você aumentar esse yum maior não verá se o metadado # é mais recente no controle remoto e, portanto, você "ganhará" a largura de banda de não ter que fazer o download do Novos metadados e "Pay" por isso por yum não ter informações corretas #. # É esp. importante, ter metadados corretos, para distribuições como # fedora, que não mantêm pacotes antigos ao redor. Se você não gostar desta verificação # interrompendo o uso da linha de comando, é muito melhor ter algo # verificar manualmente os metadados uma vez por hora (o yum updatesd fará isso). # metadata_expire = 90m # Coloque seus repositórios aqui ou em arquivos separados nomeados.repo # in /etc /yum.Repos.d ## exclua as atualizações seguintes de pacotes ## exclude = httpd php mysql

No exemplo acima, a linha excluir Desativará as atualizações para “httpd”“php" e "mysql”Pacotes. Vamos tentar instalar ou atualizar um deles usando o Yum comando como mostrado abaixo.

# yum atualizar httpd ou # dnf update httpd 
Saída de amostra
Plugins carregados: Velocidades de espelho de carregamento mais rápido do Mirror do arquivo host em cache * Base: CentOS.01link.HK * Extras: Centos.01link.HK * Atualizações: Espelhos.hns.líquido.na base | 3.7 kb 00:00 extras | 3.0 KB 00:00 Atualizações | 3.5 kb 00:00 Atualizações/primário_db | 2.7 MB 00:16 Configuração do processo de atualização Nenhum pacotes marcados para atualização

Como excluir pacotes do EPEL Repo

Para excluir pacotes instalações ou atualizações de EPEL repositório e depois abra o arquivo chamado /etc/yum.Repos.D/EPEL.repo.

# vi /etc /yum.Repos.D/EPEL.repo

Adicione a linha de exclusão especificando pacotes para serem excluídos das atualizações.

[EPEL] Nome = Pacotes extras para Enterprise Linux 6 - $ Basearch #Baseurl = http: // Download.FedoraProject.org/pub/epel/6/$ Basearch Mirrorlist = https: // espelhos.FedoraProject.org/metalink?repo = epel-6 & arch = $ Basearch FailoverMethod = prioridade habilitado = 1 gpgCheck = 1 gpgKey = arquivo: /// etc/pki/rpm-gpg/rpm-gpg-key -epel-6 ## exclua as atualizações seguintes de pacotes ## exclude = perl php python

Agora tente atualizar os arquivos acima especificados do EPEL repositório usando o yum/dnf comando como mostrado.

# dnf update perl php python ou # yum atualização perl php python
Saída de amostra
Última expiração de metadados verificação: 0:00:37 atrás na quarta -feira, 17 de novembro de 2021 03:41:28. Pacote perl disponível, mas não instalado. Sem correspondência para argumentos: Perl sem correspondência para argumento: php sem correspondência para argumento: python Erro: nenhum pacotes marcados para atualização. 

Você também pode usar o yum/dnf Opção de linha de comando para excluir pacotes sem adicioná-los aos arquivos do repositório.

# yum --exclude = httpd update ou # dnf --exclude = httpd atualização 

Para excluir uma lista de pacotes, use o comando da seguinte maneira.

# yum --exclude = mysql \* --exclude = httpd \* update ou # dnf --exclude = mysql \* --exclude = httpd \* atualização 

Dessa forma, você pode excluir atualizações para os pacotes que desejar. Existem muitas outras maneiras de fazer isso, por exemplo, recentemente compilamos um artigo sobre 4 maneiras úteis de bloquear/desativar ou bloquear determinados pacotes usando o comando yum em Linux.