Pular para o conteúdo

Prevenindo atualização de pacotes no APT-GET

Um problema que muitos administradores têm, é manter pacotes sempre atualizados com a última versão e com os patches de atualização. Mas um problema surge, que é a incompatibilidade de alguns programas com as versões mais novas de alguma linguagem ou mesmo com a incompatibilidade de configuração. Este artigo busca solucionar isso.
Perfil removido removido
Hits: 12.695 Categoria: Linux Subcategoria: Software
  • Indicar
  • Impressora
  • Denunciar

Parte 2: Levantamento de pacotes / Ocultando pacotes

Levantamento de pacotes

Primeiramente, levante quais os pacotes que você precisa que não sejam atualizados.

Faça o seguinte:

# dpkg -l | grep pacote

Vou utilizar como exemplo, os pacotes do PHP5, mas poderá ser qualquer pacote que você deseja que não seja atualizado.

# dpkg -l | grep php
 libapache2-mod-php5
 php5-common
 php5-curl
 php5-gd
 php5-mysql
 etc....


Nesta fase, tente não esquecer de nenhum pacote que não quer que seja atualizado.

Ocultando pacotes da atualização, usando dpkg

Agora, vamos ocultar os pacotes da atualização. Existem várias formas de fazer isso, vou apresentar todas aqui:

Primeira forma- Ocultando o pacote da atualização:

# echo "nome_do_pacote hold" | sudo dpkg --set-selections

Exibir o pacote para atualização:

# echo "nome_do_pacote install" | sudo dpkg --set-selections

Exibindo o status dos pacotes:

# dpkg --get-selections

Exibindo o status de um pacote:

# dpkg --get-selections | grep "nome_do_pacote"

Ocultando pacotes da atualização, usando apt

Segunda forma- Ocultando pacotes da atualização:

# apt-mark hold nome_do_pacote

Exemplo:

# apt-mark hold libapache2-mod-php5 php5-common php5-curl php5-gd php5-mysql

Exibindo pacote para atualização:

# sudo apt-mark unhold nome_do_pacote

Exemplo:

# apt-mark unhold libapache2-mod-php5 php5-common php5-curl php5-gd php5-mysql

Ocultando pacotes da atualização, usando aptitude

Terceira forma- Ocultando pacotes da atualização:

# aptitude hold nome_do_pacote

Exemplo:

# aptitude hold libapache2-mod-php5 php5-common php5-curl php5-gd php5-mysql

Exibindo pacote para atualização:

# aptitude unhold nome_do_pacote

Exemplo:

# aptitude unhold libapache2-mod-php5 php5-common php5-curl php5-gd php5-mysql

Conclusão

Espero que este artigo possa ajudar a manter seu servidor sempre atualizado e sem problemas de incompatibilidade.

Grato.

   1. Problemas de compatibilidade na atualização
   2. Levantamento de pacotes / Ocultando pacotes

Pebrot, MSN messenger no terminal

PostgreSQL 9.4 - O conceito de Role

Instalando o Slackware sem sofrimento (parte 2)

Ubuntu 14.04 no AD com CiD

Network Mapper - Nmap

2FA-Auth - Gerando Códigos de Autenticação 2FA no seu Terminal

Nota Fiscal Eletrônica 2.0 em linha de comando (parte 1)

Efeito metálico no GIMP

Fedora Core analisado por um usuário básico

Bugzilla (Bug Tracking System)

#1 Comentário enviado por removido em 09/07/2014 - 00:21h
Parabéns!

Muito útil seu artigo.
#2 Comentário enviado por rcjeferson em 09/07/2014 - 10:30h
Parabéns! Muito bom!

Realmente muito interessante e útil saber disso!
#3 Comentário enviado por removido em 09/07/2014 - 19:36h
Excelente dica, valeu!!!!
#4 Comentário enviado por mcnd2 em 10/07/2014 - 23:28h
Boa.

Favoritado.
#5 Comentário enviado por lcavalheiro em 15/07/2014 - 10:45h
Por apt-pinning não seria mais fácil não?
#6 Comentário enviado por removido em 15/07/2014 - 10:54h
Luís,

O que seria esse "apt-pinning "?
****

Andas sumido ultimamente, meu caro.
Espero que não estejas sendo assediado pela M$. :)
#7 Comentário enviado por lcavalheiro em 15/07/2014 - 13:54h

[6] Comentário enviado por izaias em 15/07/2014 - 10:54h:

Luís,

O que seria esse "apt-pinning "?
****

Andas sumido ultimamente, meu caro.
Espero que não estejas sendo assediado pela M$. :)


Na verdade estou sendo assediado pelo meu mestrado mesmo, mas acontece...

O apt-pinning é uma técnica das Debian-like que usa as próprias configurações do apt-get para uma série de coisas, como por exemplo, travar a versão de um pacote, impedindo sua atualização, ou mesmo realizar donwgrades no sistema. Eu falei um pouco sobre isso em http://www.vivaolinux.com.br/dica/apt-pinning-Forcando-downgrades-em-Debian-likes/

A vantagem do apt-pinning é que ele afeta também as dependências do pacote travado, coisa que o dpkg --set-selections não faz
#8 Comentário enviado por removido em 15/07/2014 - 16:15h
As distribuições têm muitas ferramentas.

Mas convenhamos, usuário "normal" não conhece tudo isso (mas também não vai atrás).
Geralmente reinstala-se mesmo. :)


Thanks, Luís.

Contribuir com comentário

Entre na sua conta para comentar.