Upgrade Debian 4.0 (etch) para 5.0 (lenny) - 9 passos para um upgrade feliz

A versão 5.0 (Lenny) da distribuição Debian foi lançada em fev/09. Devido a mudanças significativas nos gerenciadores de pacotes e no próprio kernel, não basta apenas redirecionar os repositórios do APT para se fazer o upgrade da versão 4.0 (Etch) para a 5.0. Este artigo relaciona alguns cuidados a serem observados para uma atualização sem traumas.

[ Hits: 25.445 ]

Por: Cristiano Pezente Ferrari em 22/05/2009


Atualize o gerenciador de pacotes



5. Faça a atualização, utilizando preferencialmente o gerenciador aptitude, pois ele toma decisões mais seguras sobre os pacotes instalados, se comparado ao que faz o apt-get. Para isso certifique-se que suas partições estão montadas em modo read-write (escrita), especialmente as partições onde se monta / (root) e o /usr.

a. Grave a sessão

É altamente recomendável que você use o programa script (/usr/bin/script) para ter uma transcrição da sessão de atualização. Caso algum problema ocorra, você terá um log do que aconteceu. Antes de iniciar a gravação, leia o manpage do script para maiores detalhes, execute algo como:

# script -t 2>~/upgrade-lenny.time -a ~/upgrade-lenny.script

(!) Não aponte as saídas do script para os diretórios /tmp ou /var/tmp, pois o conteúdo deles é excluído ao se reiniciar a máquina.

Este procedimento é útil não apenas em caso de falha, mas também lhe permite visualizar as informações sobre o andamento da atualização que já foram atualizadas na tela. Basta logar em um segundo console (e.g. Alt+F2) e executar o comando:

# less -R ~root/upgrade-lenny.script

Se comando script for executado com a opção -t, você pode posteriormente usar o comando scriptreplay para reproduzir tudo o que foi gravado, como descrito abaixo:

# scriptreplay ~/upgrade-lenny.time ~/upgrade-lenny.script

b. Atualize a lista de pacotes

Com os repositórios apontados para a versão lenny é necessário atualizar a listagem de pacotes para a nova versão. Simplesmente execute:

# aptitude update

Note que esta atualização será um pouco mais demorada que o usual, pois baixará toda a lista de pacotes de cada repositório e não apenas as atualizações. E observe também que quanto mais repositórios existirem em seu sources.list, mais demorada será a atualização.

c. Certifique-se de ter espaço suficiente

O processo de atualização baixará um volume considerável de dados referentes aos pacotes de instalação. Depois de baixados, os arquivos serão instalados, mas os pacotes de instalação não serão removidos.

Então, se gerenciador de pacotes precisar baixar, por exemplo 300 Mb, os quais depois de descompactados, ocuparão 500 Mb, você precisará ter, ao mínimo, 800 Mb livres em seu sistema de arquivos (pressupondo que todo o sistema de arquivos esteja montado em uma única partição) para conseguir concluir a atualização.

Para saber exatamente quanto espaço livre é necessário se ter, você pode rodar o comando de atualização da distribuição, após ter ajustado os sources e atualizado a lista de pacotes, com o argumento -s, que diz ao gerenciador de pacotes para apenas simular as ações, mas não executar nada. Então, para saber o quanto espaço você precisará para concluir a atualização sem traumas, execute:

# aptitude -y -f -s --with-recommends dist-upgrade

Este comando retornará algo parecido com:

55 pacotes atualizados, 1 novos instalados, 0 a serem removidos e 0 não atualizados.
É preciso obter 59,8MB/61,1MB de arquivos. Depois do desempacotamento, 13,1MB serão usados.
Baixaria/instalaria/removeria pacotes.

Com base neste exemplo você não terá problemas de espaço se seu sistema de arquivos possuir, ao menos, 74,2 Mb para fazer a atualização.

Além do espaço disponível no próprio sistema de arquivos, também é necessário que o tamanho do cache do gerenciador de pacotes suporte as informações que você receberá dos repositórios (não dos pacotes baixados, mas as informações de conteúdo de cada repositório).

Quanto mais repositórios existirem em seu /etc/apt/sources.list, maior será o volume de dados que o gerenciador de pacotes terá que armazenar para saber onde encontrar as coisas em cada repositório. Como o tamanho do Debian Linux cresce a cada nova versão (no lenny foram acrescentados mais de 7.000 novos pacotes de software), os dados que você irá baixar para montar o índice de seus repositórios pode extrapolar o limite preestabelecido.

Caso a atualização dos repositórios falhe e lhe retorne a seguinte mensagem:

E: Dynamic MMap ran out of room

o espaço padrão que você tem em seu cache é insuficiente para armazenar todos os índices de todos os repositórios listados em seus sources.

Uma maneira de se contornar isso é aumentar o tamanho deste cache. Para isso, edite o arquivo /etc/apt/apt.conf (ou crie um, caso não exista) e inclua a seguinte linha:

APT::Cache-Limit "12500000";

Se você tiver muitos repositórios em seu sources, talvez este valor seja insuficiente. Então, se a mensagem de erro persistir, vá aumentando este limite até que ela desapareça.

d. Atualize o gerenciador de pacotes primeiro

Quem comandará toda a atualização será o gerenciador de pacotes, portanto, atualizá-lo antes de todo o resto é importante para evitar que um erro (ou problema com ele) prejudique, ou mesmo comprometa, todo o sistema.

No lenny o apt lida melhor com cadeias complexas de pacotes que requerem configuração imediata. Já o aptitude é mais eficiente para procurar e resolver dependências. Ambas as características são exigidas na atualização da distribuição, portanto, é uma excelente idéia começar por atualizar estes dois pacotes primeiro. Para isso, execute o comando:

# aptitude install apt aptitude

Este passo atualizará automaticamente também os pacotes libc6 e locales, além de oferecer suporte para as bibliotecas SELinux. Neste ponto alguns serviços serão reiniciados, incluindo os gerenciadores de login do X, portanto qualquer sessão X11 será interrompida.

Uma mudança implementada para o lenny no gerenciador apt faz com que, na primeira vez que o aptitude é executado (após o upgrade) seja construída uma lista dos pacotes que foram instalados automaticamente para resolver dependências para que o apt (que passa a suportar este recurso) possa utilizá-las. Então, é necessário que, após atualizar estes dois pacotes, se execute ao menos uma vez a interface do aptitude.

Página anterior     Próxima página

Páginas do artigo
   1. Antes de tudo, previna-se
   2. Prepare o gerenciador de pacotes
   3. Atualize o gerenciador de pacotes
   4. Atualize a distribuição
   5. Considerações finais
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Instalando Ubuntu 7.04 Feisty Fawn

Configurando o D-Link DSL-210 no Debian Etch

AIXGL + Beryl no Kubuntu 6.10 com uma Intel i810

Instalando o Beryl + Drivers NVIDIA no Ubuntu 6.10 (Edgy)

Passo a passo para aceleração 3d em placas de vídeo com chipset NVIDIA + compiz-fusion no OpenSuSE 10.3

  
Comentários
[1] Comentário enviado por brunobns em 22/05/2009 - 23:28h

Eu consegui atualizar do Etch para o Lenny apenas modificando os repositorios...o Kernel também foi atualizado, será que há risco de ocorrer algum problema? Muito bom o artigo, abraço!

[2] Comentário enviado por boxmga em 25/05/2009 - 08:47h

<quote>
Eu consegui atualizar do Etch para o Lenny apenas modificando os repositorios...o Kernel também foi atualizado, será que há risco de ocorrer algum problema? Muito bom o artigo, abraço!
</quote>

Na realidade acredito que não. Usualmente a atualização do debian requer apenas a modificação do repositório. No caso da atualização em questão, há alguns pormenores que **podem** deixar o sistema inacessível no primeiro boot, caso da incompatibilidade da libc ou mudança na nomenclatura dos dispositivos de I/O e armazenamento. Mas isto vai depender totalmente do seu hardware.

Se atualizou e deu certo, me parece que está tudo ok.

[3] Comentário enviado por landex em 17/06/2010 - 11:46h

Poxa legal, vou ver se instalo o Debian qualquer hora no meu note...


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts