Downgrade: reverter para uma versão anterior de um pacote de software

Pacote de downgrade no Linux

O normal é que sempre atualize pacotes de software para obter versões mais atualizadas deles. Normalmente, os desenvolvedores se esforçam para que, com a chegada de novas versões, elas fiquem cada vez melhores. Mas isso nem sempre é o caso. Às vezes, as versões anteriores de um pacote podem ser mais estáveis, funcionar melhor por algum motivo, ou mesmo que o usuário goste mais da versão antes da atualização porque ela tem algo que o novo não implementa mais.

Se for esse o seu caso, neste tutorial, vamos mostrar como você pode fazer o downgrade de qualquer pacote, ou seja, reverta uma atualização e obtenha a versão anterior instalada em seu sistema. Dessa forma, você não terá problemas se as novas versões o deixarem na mão. Bem, vamos lá!

Como não há um método comum para todas as distros, vou mostrar como isso pode ser feito com o gerenciadores de pacotes mais populares. A propósito, se você usar outros métodos como YaST, Synaptic, etc., os procedimentos também são possíveis, mas de forma gráfica e muito mais intuitiva. Aqui vou explicar os métodos através do console, que são os que mais geram confusão ...

apt-get: Debian / Ubuntu e derivados

Para todos os distribuições baseadas em pacotes DEB e com o gerenciador de pacotes apt-get, você pode facilmente fazer a mudança de uma versão mais moderna para uma mais antiga. Por exemplo, vamos tomar o pacote do firefox como referência, imaginando que queremos voltar de uma versão atual para uma anterior. Nesse caso, você pode executar os seguintes comandos:

  • Você pode obter informação do pacote firefox (ou o que você precisar, você só precisa mudar o nome para o apropriado no seu caso), como as versões anteriores instaladas, etc., você pode usar o seguinte comando:
sudo apt-cache showpkg firefox

  • Depois de conhecer bem a versão anterior que você deseja instalar, você pode usar o seguinte comando para instalar o pacote desejado. Em nosso caso, no comando anterior, obtivemos um pacote chamado firefox = 57.3-build1-0ubuntu1 que é o que queremos instalar:
sudo apt-get install firefox=57.3-build1-0ubuntu1

  • Depois de fazer isso, você já terá a versão anterior deste programa instalada. Voce sabe o que se nao especifique a versão Com o APT, você instala a versão mais recente disponível no repositório desse pacote. Neste caso, indicamos a versão específica.

Lembre-se de que é possível que dois pacotes de versões diferentes coexistem no GNU / Linux sem problemas. Então, se você quiser ter duas versões diferentes do mesmo pacote, pode fazê-lo ...

pacman: Arch Linux e derivados

No caso de você ter Arch Linux, então você terá que lidar com o pacman como um gerenciador de pacotes. Essa ferramenta também permite que você volte para uma versão anterior, se desejar. A maneira de fazer isso é um pouco diferente, mas tão simples:

  • Para pesquisar eno cache do pacote as versões disponíveis, você pode verificar o registro. Para filtrar os resultados apenas para pacotes firefox em nosso caso (mas você já sabe que pode substituir o nome do pacote pelo que deseja ...), você pode usar:
ls /var/cache/pacman/pkg/ | grep firefox

  • Agora, depois de saber a versão desejada, você pode usar o seguinte comando para instalar:
sudo pacman -U /var/cache/pacman/pkg/firefox-57.3.pkg.tar.xz

zypper: SUSE / openSUSE e derivados

No mundo SUSE, você pode usar o gerenciador de pacotes zypper. Também é uma maneira fácil de obter o pacote em uma versão anterior. No nosso caso, com o Mozilla Firefox, seria assim:

  • A primeira coisa é consultar o cache do pacote de forma semelhante a como fizemos para o Arch, com o seguinte comando para saber o versões anteriores do pacote acessível:
cat /var/log/zypp/history | grep firefox

  • Assim que a versão anterior for localizada, você pode instale essa versão usando o zypper assim:
sudo zypper -in -f firefox_57.3

dnf: Red Hat / CentOS / Fedora e derivados

Por último, em distribuições baseadas no Fedora yum ou dnf será usado. Para reverter uma atualização de pacote e voltar para uma versão anterior com seu downgrade, você pode usar os seguintes comandos:

  • Neste caso, a primeira coisa será ver Versões prévias do pacote que você está tentando instalar nos repositórios DNF. Para nosso exemplo, você pode usar este comando para obter a lista:
sudo dnf --showduplicates list firefox

  • Agora, depois de dar uma boa olhada no nome de a versão que você deseja instalar, você apenas tem que copiá-lo dos dados lançados na saída do comando anterior e colá-lo no próximo. Por exemplo:
<pre>sudo dnf install firefox-57.3.fc28</pre>

Você também pode usar instantâneos ou instantâneos para voltar às versões anteriores. Para isso, pode-se utilizar os seguintes comandos, que farão, respectivamente, obter o histórico, depois obter informações sobre uma transação do histórico com seu ID (o que você quiser no seu caso), e então reverter para o status dessa transação indicando o ID (em nosso exemplo 32):

sudo dnf history

sudo dnf history info 32

sudo dnf history undo 32

Espero que este tutorial tenha ajudado a resolver os problemas que uma nova versão de um pacote de software estava causando em sua distro favorita. Você já sabe que pode deixar o seu comentários com perguntas ou sugestões...


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   anônimo dito

    No gentoo, a versão do pacote que não é mais desejada é mascarada, nova colocando-a explicitamente no arquivo /etc/portage/package.mask/package.mask.
    Por exemplo, se não quisermos o Firefox mais recente, que é 69.0.1, diremos assim:

    = www-client / firefox-69.0.1
    ou se não quisermos nenhuma versão superior em futuras atualizações
    > = www-client / firefox-69.0.1

    Então, fazer o downgrade seria assim:
    # emerge -av1 firefox
    Estes são os pacotes que seriam mesclados, em ordem:
    Calculando dependências ... pronto!
    [ebuild UD] www-client / firefox-68.1.0
    Você gostaria de mesclar esses pacotes? [Sim / Não] e

    UD indica atualização de downgrade

    1.    Isaac dito

      Olá, muito obrigado por esta contribuição. Decidi colocar essas distros porque são as mais usadas, mas obviamente há ótimas distros como Slackware, Gentoo e outras das quais não falei. Às vezes fica difícil escolher um ou outro, e você sempre tem que escolher e deixar alguns de fora ...
      Uma saudação!

  2.   Alex dito

    Existe uma maneira de fazer isso com muitos pacotes de uma só vez?