Downgrading packages (Português)

From ArchWiki
Status de tradução: Esse artigo é uma tradução de Downgrading packages. Data da última tradução: 2023-02-27. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

Antes de fazer o downgrade de um ou mais pacotes, considere o porquê de você desejar fazê-lo. Se é por causa de um erro, pesquise no rastreador de erros por tarefas existentes. Se não houver, adicione uma nova tarefa; é melhor corrigir erros, ou pelo menos avisar outros usuários sobre possíveis problemas.

Atenção:
  • Fazer downgrade de um pacote pode exigir que se faça downgrade de suas dependências também. Quando o número dos pacotes para se fazer downgrade é grande demais, considere usar um snapshot. Veja Arch Linux Archive (Português)#Como restaurar todos os pacotes para uma data específica.
  • Tenha cuidado com alterações a arquivos de configuração e scritps. Por agora, pacman pode tratar disso, desde que nós não ignoremos as travas de segurança.
  • Se fazer um downgrade involve uma alteração de soname, todas as dependências podem precisar de downgrade ou recompilação também.

Retorne para uma versão anterior do pacote

Usando o cache do pacman

Se um pacote foi instalado em um estágio anterior, e o cache do pacman não foi limpado, instale uma versão anterior do /var/cache/pacman/pkg/.

Esse processo vai remover o pacote atual e instalar a versão anterior. Alteração nas dependências será tratada, mas o pacman não tratará de conflitos de versão. Se uma biblioteca ou outro pacote precisar de um downgrade com os pacotes, por favor esteja ciente de que você mesmo terá que fazer downgrade deste pacote também.

# pacman -U file:///var/cache/pacman/pkg/pacote-versão_antiga.pkg.tar.tipo

Observe que tipo será xz para compilações de pacotes antigas e zst para aquelas seguindo a alteração de 2020.

Uma vez o pacote seja revertido, adicione-o temporariamente para a seção IgnorePkg do pacman.conf, até a dificuldade com o pacote atualizado ser resolvida.

Fazendo downgrade do kernel

Em caso de problema com um novo kernel, é possível fazer downgrade dos pacotes de Linux para as últimas que estejam funcionando #Usando o cache do pacman. Vá para o diretório /var/cache/pacman/pkg e faça downgrade de pelo menos linux, linux-headers e qualquer módulo do kernel. Por exemplo:

# pacman -U file://linux-4.15.8-1-x86_64.pkg.tar.xz file://linux-headers-4.15.8-1-x86_64.pkg.tar.xz file://virtualbox-host-modules-arch-5.2.8-4-x86_64.pkg.tar.xz
Dica: Se você não conseguir inicializar após uma atualização do kernel, você pode fazer downgrade do kernel com um chroot para o sistema. Inicialize usando uma mídia de instalação em flash USB com Arch Linux e monte a partição onde seu sistema está instalado para /mnt. Se você tiver /boot ou /var em partições separadas, monte-as também em /mnt (por exemplo, mount /dev/sdc3 /mnt/boot). Então, faça um chroot no sistema usando:
# arch-chroot /mnt
Agora você pode entrar no diretório de cache pacman e fazer o downgrade dos pacotes do Linux usando o comando indicado acima. Uma vez feito isso, saia do chroot (com exit) e reinicie.

Arch Linux Archive

O Arch Linux Archive é um snapshot diário dos repositórios oficiais. Ele pode ser usado para instalar uma versão anterior de um pacote ou restaurar o sistema para uma data anterior.

Recompilar o pacote

Se o pacote está indisponível, localize o PKGBUILD correto e recompile-o com makepkg.

Para pacotes dos repositórios oficiais, obtenha o PKGBUILD com ABS e altere a versão do software. Alternativamente, localize o pacote no site de pacotes, clique "View Changes" e navegue na versão desejada. Os arquivos necessários pode ser baixados do diretório de forma que o pacote pode ser recompilado.

Veja também Arch build system (Português)#Usando a ferramenta pkgctl.

Pacotes antigos do AUR podem ser compilados fazendo checkout de um commit antigo no repositório Git do pacote do AUR. Para PKGBUILDs do AUR pré-2015, veja Arch User Repository (Português)#Repositórios Git para pacotes AUR3.

Automação

  • downgrade — Um script Bash para fazer downgrade de um ou vários pacotes, usando o cache do pacman ou o Arch Rollback Machine. Veja downgrade(8) para detalhes.
https://github.com/pbrisbin/downgrade || downgradeAUR

Retornar do [testing]

Veja Repositórios oficiais#Desabilitando repositórios de teste.