Introdução
Todo e qualquer projeto possui um estágio de evolução, e é baseado neste processo que funcionam os controladores de pacotes como apt, aptitude, yum e os demais utilizados por distribuições linux.
A evolução do Debian segue a trajetória da tabela abaixo (atualizada periódicamente em versoes e codnomes do debian):
Do Debian-4.0.0 (etch) para o Debian-8.0.0(jessie), houve 4 pontos de mudança e suas releases: lenny(5.0.0), squeeze(6.0.0), wheezy(7.0.0) e jessie(8.0.0).
codiname Debian version jessie 8.0 wheezy 7.0 squeeze 6.0 lenny 5.0 etch 4.0 sarge 3.1 woody 3.0 potato 2.2 slink 2.1 hamm 2.0 bo 1.3 rex 1.2 buzz 1.1
Procedimentos
Não há garantia total de sucesso para versões muito antigas como a deste artigo, então não se esqueça de realizar Backup, para que não hava inconvenientes.Os procedimentos apresentados são os mesmos para atualização de apenas uma versão.
Se houverem aplicativos ou programas distintos poderá apresentar incompatibilidade no processo apresentado. ;)
De agora em diante o arquivo /etc/apt/sources.list será o pivo para todos os procedimentos a seguir.
deb http://ftp.br.debian.org/debian/ etch main deb-src http://ftp.br.debian.org/debian/ etch main deb http://security.debian.org/ etch/updates main deb-src http://security.debian.org/ etch/updates main # etch-updates, previously known as 'volatile' deb http://ftp.br.debian.org/debian/ etch-updates main contrib non-free deb-src http://ftp.br.debian.org/debian/ etch-updates main contrib non-free
- Renomeie o arquivo /etc/apt/source.list
mv -v /etc/apt/sources.list /etc/apt/sources.list0
- Crie o arquivo '/etc/apt/sources.list.d/archive_etch.list'
# archive debian deb http://archive.debian.org/debian/ etch contrib main non-free deb-src http://archive.debian.org/debian/ etch contrib main non-free
- Criar arquivo de listagem dos pacotes para cada release do Debian
Este comando abaixo, tem que ser executado para cada versão entre a etch e jessie, e para simplificar criei o script abaixo:
order=0; for i in $(echo lenny squeeze); do let order+=1; sed "s/etch/$i/g;" /etc/apt/sources.list.d/archive_etch.list > ~/archive_`echo $order`$i.list; done
Isto irá criar um arquivo para cada versão do Debian com as respectivas configurações/~ |-- archive_1lenny.list |-- archive_2squeeze.list
- Atualize a distro
aptitude update && aptitude upgrade
- Carregar repositório para Debian-5.0 (lenny)
mv ~/archive_1lenny.list /etc/apt/sources.list.d/ mv /etc/apt/sources.list.d/archive_etch.list /etc/apt/sources.list.d/archive_etch.list0
- Atualize a base de instalação do apt
aptitude update
- Verificação de pacotes pendentes
Não poderá prosseguir se houver pacotes em estado pendente.
dpkg --audit dpkg --get-selections | grep hold
- Atualize o Debian com os novos pacotes disponibilizados
aptitude upgrade
- Atualize a distro para a nova versão
aptitude dist-upgrade
ouaptitude full-upgrade
Em alguns casos talvez seja necessário reiniciar o Sistema Operacional Debian
shutdown -r now;
- Teste
Se tudo ocorreu com sucesso, execute o comando:cat /etc/issue
Deverá exibir: Debian GNU/Linux 5 \n \l - Carregar repositório para Debian-6.0 (squeeze)
mv /etc/apt/sources.list.d/archive_1lenny.list /etc/apt/sources.list.d/archive_1lenny.list0 mv ~/archive_2squeeze.list /etc/apt/sources.list.d/
Repetir passos 7 a 10.
/etc/issue: Debian GNU/Linux 6 \n \l - Providenciar a listagem de pacotes para o Debian wheezy
sed 's/etch/wheezy/g; s/main/main contrib non-free/' /etc/apt/sources.list0 > ~/wheezy.list
- Carregar repositório para Debian-7.0 (wheezy)
mv /etc/apt/sources.list.d/archive_2squeeze.list /etc/apt/sources.list.d/archive_2squeeze.list0 mv ~/wheezy.list /etc/apt/sources.list.d/
Repetir passos 7 a 10.
/etc/issue: Debian GNU/Linux 7 \n \l - Providenciar a listagem de pacotes para o Debian Jessie
sed 's/etch/jessie/g; s/main/main contrib non-free/' /etc/apt/sources.list0 > ~/jessie.list
- Carregar repositório para Debian-8.0 (jessie)
mv /etc/apt/sources.list.d/wheezy.list /etc/apt/sources.list.d/wheezy.list0 mv ~/jessie.list /etc/apt/sources.list.d/
Repetir passos 7 a 10.
/etc/issue: Debian GNU/Linux 8 \n \l
Comentários