quarta-feira, 27 de janeiro de 2016

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):

codiname Debianversion
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
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).

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
  1. Renomeie o arquivo /etc/apt/source.list
    mv -v /etc/apt/sources.list /etc/apt/sources.list0
    
  2. 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
    
  3. 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
    
    
  4. Atualize a distro
    aptitude update && aptitude upgrade
    
  5. 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
    
  6. Atualize a base de instalação do apt
    aptitude update
    
  7. Verificação de pacotes pendentes
    Não poderá prosseguir se houver pacotes em estado pendente.
    dpkg --audit
    dpkg --get-selections | grep hold
    
  8. Atualize o Debian com os novos pacotes disponibilizados
    aptitude upgrade
    
  9. Atualize a distro para a nova versão
    aptitude dist-upgrade
    
    ou
    aptitude full-upgrade
    
    Em alguns casos talvez seja necessário reiniciar o Sistema Operacional Debian
    shutdown -r now;
    
  10. Teste
    Se tudo ocorreu com sucesso, execute o comando:
    cat /etc/issue
    
    Deverá exibir: Debian GNU/Linux 5 \n \l
  11. 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
  12. 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
    
  13. 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
  14. 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
    
  15. 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

Referências

https://www.howtoforge.com/how-to-upgrade-debian-squeeze-to-wheezy

0 comentários: