Como uso o apt *sem* corrigir dependências não atendidas em pacotes não relacionados?

Como uso o apt *sem* corrigir dependências não atendidas em pacotes não relacionados?

Eu tenho a keybaseCLI instalada, mas keybaseinfelizmente o pacote também contém um cliente GUI que requer libadwaita, GTK e um monte de outras coisas enormes da GUI - o que aumentaria enormemente o número de pacotes que instalei e a quantidade de espaço em disco que o WSL usa. Por causa disso, instalei manualmente keybasepara dpkg -ievitar trazer todas as dependências da GUI, permitindo-me usar a CLI sem nenhum inchaço.

No entanto, isso fez com aptque parasse de funcionar. Quando tento instalar qualquer outro pacote, mesmo algo completamente não relacionado ao keybase, recebo esta mensagem de erro:

Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 keybase : Depends: libappindicator1 but it is not going to be installed or
                    libayatana-appindicator1 but it is not going to be installed
           Depends: libgconf-2-4 but it is not going to be installed
           Depends: libgtk-3-0 but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

A única solução que encontrei foi remover temporariamente keybaseo dpkg, executar meu aptcomando e reinstalar keybasenovamente. Mas não gosto desta solução - quero continuar keybaseno meu sistema. Existe uma maneira de aptignorar essas dependências não atendidas? Alternativamente, existe uma maneira de ter dependências não atendidas no sistema sem quebrar apt?

Responder1

O Apt não pode ser usado para atualizar ou instalar software quando há dependências não atendidas no sistema.

  • "Não pode ser usado para atualizar"inclui atualizações de pacotes de segurança. Sistemas com dependências não atendidasnãoreceber atualizações de segurança. Portanto, não é aconselhável que a maioria dos usuários deixe um sistema nesta condição.

Para a maioria dos usuários do Ubuntu,dependências não atendidasocorrem quando eles instalam software que não é do Ubuntu ou de versão errada. O problema é resolvido quando eles desinstalam os pacotes que não são do Ubuntu ou da versão errada.

Para usuários avançados intrépidos, Apt e dpkg têm --force(consulte Recursos man dpkg) opções que permitem substituições limitadas. Esses são legados da era pré-Ubuntu e raramente são usados ​​hoje... mas podem ser o que você procura. Por exemplo, --force-depends-version:

depende-version: Não se preocupe com versões ao verificar dependências. Isso afeta os campos Pré-Dependências e Dependências.

Aviso: Force deve ser usado com muito cuidado e apenas temporariamente até que uma versão upstream resolva o problema de dependência. Apt e dpkg podem continuar reclamando vigorosamente (e corretamente!) sobre pacotes com versões erradas. Outros efeitos colaterais podem ocorrer.

  • NÃO use pacotes forçados como solução permanente. Isso terminará em lágrimas e em um sistema quebrado. Se você precisar de uma solução permanente de pacote não-deb, procure construir a partir do código-fonte, aplicativos alternativos e/ou métodos de empacotamento alternativos. NÃO atualize um sistema com pacotes forçados instalados, pois esses pacotes podem fazer com que a atualização falhe espetacularmente.

informação relacionada