"Doidosfera" do Viva o
Linux, aqui começa mais uma dica do Dino, trazendo pra vocês informações da época que Ada Lovelace começou a programar.
Hoje, vim para derrubar um mito: que é impossível fazer downgrades de versão em distros
Debian-like.
Muita gente acha que o
apt-get não instala versões mais antigas dos pacotes dos repositórios, e ele realmente não instala. Porém, você pode fazer downgrades de versão, o que já ajuda, e muito, a situação.
Por exemplo, você está atualizou seu
Precise Pangolin para o
Saucy Salamander e se arrependeu, ou se você estava no
Debian Jessie mas precisa voltar pro
Debian Wheezy.
Aviso: downgrade de versão nunca é um processo 100% garantido, mas, pelo menos, você não vai precisar formatar e reinstalar tudo.
Procedimentos
Vamos aos trabalhos:
1. Preparando um
apt-pinning:
O grosso do trabalho envolve
apt-pinning, uma técnica que permite usar repositórios de versões diferentes para instalar pacotes diferentes no sistema.
Por exemplo, eu uso
apt-pinning para não ter dor de cabeça com o
Steam no
Debian Wheezy (o Steam é do Jessie) e conseguir instalá-lo com um
apt-get install steam no Wheezy.
Eu não vou explicar sobre o
apt-pinning nesta dica, quem sabe um dia eu faça um artigo sobre essa "Técnica Milenar", sobre como salvar o sistema em Debian-likes, quando o downgrade de versão se faz necessário.
Para "pinnar" a versão para a qual será feito o downgrade, crie o arquivo
/etc/apt/preferences e cole o conteúdo a seguir nele:
Package: *
Pin: release n=precise
Pin-Priority: 1500
No lugar de
precise, escreva o codinome da versão de sua distro para a qual o sistema será revertido. Por exemplo, se você quer reverter do Debian Jessie pro Wheezy, troque
precise por
wheezy.
2. Modificando o
sources.list:
Altere o
sources.list de seu computador para um compatível com a versão para a qual o downgrade será feito. Voltando ao exemplo, troque o
sources.list do Debian Jessie por um do Wheezy.
3. Fazendo o "Vodu" funcionar:
Agora, manda "brasa" no comando:
# for i in clean autoclean update dist-upgrade update upgrade autoremove ; do apt-get "$i" ; done
O sistema vai limpar o cache do
sources.list antigo, ler o novo e fazer o downgrade do sistema automaticamente.
Conclusão
Questionamento: "Mas Luís, o
apt-get não faz downgrade de versão?"
Resposta: "Claro que faz!"
Se você tivesse lido a manpage
apt_preference, saberia que um
apt-pinning com
Pin-Priority > 1000 força o sistema a instalar o pacote do repositório, mesmo se a versão dele for inferior à atual.
Você não consegue fazer downgrade de um pacote dentro da mesma versão, mas você pode fazer downgrade de versões assim.
* Aviso: O procedimento acima é considerado avançado e, portanto, está sujeito a alguns problemas. Se acontecer algo, não se preocupe, o downgrade terá sido feito e bastará consertar os problemas pontuais que aparecerem. Em todo caso, eu não me responsabilizo por eventuais problemas, caso você faça diferente do proposto na dica.
Isso tudo posto, eu me despeço de todos vocês.
Encerro essa dica em homenagem ao Barão Samedi (não o do James Bond) e desejo a todos um ótimo Samhaim!