Eu tenho a keybase
CLI instalada, mas keybase
infelizmente 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 keybase
para dpkg -i
evitar trazer todas as dependências da GUI, permitindo-me usar a CLI sem nenhum inchaço.
No entanto, isso fez com apt
que 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 keybase
o dpkg
, executar meu apt
comando e reinstalar keybase
novamente. Mas não gosto desta solução - quero continuar keybase
no meu sistema. Existe uma maneira de apt
ignorar 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.