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.

[ Hits: 11.603 ]

Por: Perfil removido em 09/07/2014


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.

Página anterior    

Páginas do artigo
   1. Problemas de compatibilidade na atualização
   2. Levantamento de pacotes / Ocultando pacotes
Outros artigos deste autor

Trabalhando com subredes

Usando o gerenciador de arquivos XFE para administrar as tarefas no Linux

IDS com Debian 4, Snort 2.8.3.1 e BASE 1.4.1

Um tour pelos players de áudio para Linux

Aprendendo a modelar forms no Kylix

Leitura recomendada

Uma breve introdução ao Audacity

LinuxKidX

VirtualBox com PHPvirtualbox em Servidor Ubuntu 14.04

Apresentando a programação orientada a objetos

Inkscape - Introdução (parte 2)

  
Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts