Product SiteDocumentation Site

6.7. Mantendo um Sistema Atualizado

A distribuição Debian é dinâmica e muda continuamente. A maioria das mudanças ficam nas versões Testing e Unstable, mas mesmo a Stable é atualizada de tempos em tempos, geralmente por algo relativo a segurança. Qualquer que seja a versão do Debian que o sistema rodar, é geralmente uma boa ideia mantê-la atualizada, de forma que você possa se beneficiar das recentes evoluções e consertos de bug.
Mesmo que seja obviamente possível executar periodicamente uma ferramenta para verificar por atualizações disponíveis e executar as atualizações, tal tarefa repetitiva é tediosa, especialmente quando for feita em várias máquinas. Felizmente, assim como muitas tarefas repetitivas, ela pode ser parcialmente automatizada, e um conjunto de ferramentas já foi desenvolvido para isto.
A primeira destas ferramentas é a apticron, no pacote de mesmo nome. Seu principal efeito é executar um script diariamente (via cron). O script atualiza a lista de pacotes disponíveis, e, se alguns pacotes instalados não estão na versão mais recente, ele envia um email com uma lista destes pacotes e com as mudanças que foram feitas nas novas versões. Obviamente, este pacote foca principalmente em usuários do Debian Stable, já que os emails diários podem ser muito longos para versões de ritmo mais rápido do Debian. Quando atualizações são disponibilizadas, o apticron automaticamente baixa elas. Mas não as instala — o administrador ainda tem que fazer isto — mas ter os pacotes já baixados e disponíveis localmente (no cache do APT) torna o serviço mais rápido.
Administradores responsáveis por vários computadores com certeza vão apreciar ser informados de atualizações pendentes, mas as atualizações em si são tediosas como sempre, o que torna o script /etc/cron.daily/apt (no pacote apt) útil. Este script também é executado diariamente (e não-interativamente) pelo cron. Para controlar seu comportamento, use variáveis de configuração do APT (que devem ser postas num arquivo em /etc/apt/apt.conf.d/). As principais variáveis são:
APT::Periodic::Update-Package-Lists
Esta opção especifica a frequência (em dias) na qual a lista de pacotes é atualizada. Usuários do apticron podem seguir sem esta variável, já que o apticron já faz esta tarefa.
APT::Periodic::Download-Upgradeable-Packages
De novo, esta opção indica uma frequência (em dias), agora para o download dos pacotes em si. Novamente, os usuários do apticron não precisam disto.
APT::Periodic::AutocleanInterval
Esta opção cobre uma funcionalidade que o apticron não tem. Ela controla quão frequentemente pacotes obsoletos (aqueles não referenciados por mais nenhuma distribuição) são removidos do cache do APT. Isto mantém o cache do APT num tamanho razoável e evita que você tenha que se preocupar com esta tarefa.
APT::Periodic::Unattended-Upgrade
Quando esta opção está ativada, o script será executado diariamente unattended-upgrade (do pacote unattended-upgrades) que - como o próprio nome sugere - pode automatizar o processo de atualização de alguns pacotes (por padrão, ele só cuida de atualizações de segurança, mas isso pode ser personalizado em /etc/apt/apt.conf.d/50unattended-upgrades). Observe que esta opção pode ser definida com a ajuda de debconf executando dpkg-reconfigure -plow unattended-upgrades.
Outras opções podem deixar você controlar o comportamento de limpeza de cache com mais presicão. Elas não são listadas aqui, mas são descritas no script /etc/cron.daily/apt.
Estas ferramentas funcionam muito bem em servidores, mas usuários de desktop normalmente preferem um sistema mais interativo. É por isto que a tarefa “Debian desktop environment” ("ambiente de área de trabalho Debian") instala o gnome-packagekit (pelo menos quando você seleciona GNOME como ambiente de área de trabalho). Ele fornece um ícone na área de notificação de ambientes de trabalho quando houver atualizações disponíveis; clicar neste ícone, então, executa gpk-update-viewer, uma interface simplificada para realizar atualizações. Você pode navegar através das atualizações disponíveis, ler a breve descrição dos pacotes relevantes e as correspondentes entradas changelog, e optar por aplicar a atualização ou não numa base caso a caso.
Atualizando com gpk-update-viewer

Figura 6.3. Atualizando com gpk-update-viewer