Eu nunca joguei com isso antes, mas eu sugiro que você hold
(ou lock
) a versão das dependências que causam problemas. Dessa forma, apt
tem um número mais limitado de possíveis soluções e, talvez, não fique confuso ao tentar fazer o downgrade dos outros pacotes.
Se nada mais funcionar, você poderia usar a abordagem manual sugerida nesta resposta: Como fazer downgrade de um pacote via apt-get? . Basicamente, faça o download dos pacotes .deb
necessários manualmente e, em seguida, instale-os um a um usando o nível inferior dpkg
e um dos argumentos strongs: --ignore-depends
, --force-depends
, --force-depends-version
ou mesmo --force-all
.
Com o mesmo espírito acima, você tem o argumento --force-downgrade
:
downgrade(*): Install a package, even if newer version of
it is already installed.
Warning: At present dpkg does not do any dependency
checking on downgrades and therefore will not warn you if
the downgrade breaks the dependency of some other pack‐
age. This can have serious side effects, downgrading
essential system components can even make your whole sys‐
tem unusable. Use with care.
Mas isso pressupõe que você tenha lido man dpkg
e que você entendeu o que você faz:
Warning: These options are mostly intended to be used by
experts only. Using them without fully understanding
their effects may break your whole system.
Veja Erro: o número da versão não inicia com o dígito e Como instalar uma versão mais antiga do Java e < um href="https://sobrelinux.info/questions/162393/how-to-install-a-older-version-of-package-like-liquid-2-2-2"> Como instalar uma versão mais antiga do pacote como líquido 2.2.2? para exemplos de:
sudo dpkg --force-downgrade -i your_mesa_package.deb
E veja Como posso instalar um pacote sem instalar algumas dependências? para um exemplo (junto com o aviso apropriado) de:
sudo dpkg --force-all -i your_mesa_package.deb
No entanto, outra abordagem seria criar um pacote .deb
fictício usando o pacote equivs
(e talvez um nome ligeiramente diferente). Em seguida, instalar o pacote fictício deve permitir que você remova o pacote "true" enquanto mantém as dependências relevantes e, em seguida, instale a versão mais antiga. Não sei como exatamente isso funcionaria, mas verifique este tópico relevante para obter detalhes: Como remover um deb sem remover suas dependências .