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.