Como forçar o APT a ignorar determinada dependência

Publicado por Fábio Berbert de Paula em 28/01/2016

[ Hits: 1.967 ]

Blog: https://www.facebook.com/jedi.fabio

 


Como forçar o APT a ignorar determinada dependência



Tive um problema com o APT ao tentar instalar o Skype no meu Debian 64 bits seguindo a seguinte dica:
Mesmo após adicionar a arquitetura, instalar as dependências, ainda encontrava um erro com relação ao pacote libssl11.0.0.

# dpkg -i skype-install.deb
(Reading database ... 172609 files and directories currently installed.)
Preparing to unpack skype-install.deb ...
Unpacking skype:i386 (4.3.0.37-1) over (4.3.0.37-1) ...
dpkg: dependency problems prevent configuration of skype:i386:
skype:i386 depends on libssl1.0.0.

dpkg: error processing package skype:i386 (--install):
dependency problems - leaving unconfigured


O skype na verdade havia sido instalado, mas toda vez que eu tentava executar alguma operação com o APT ele me retornava a mensagem abaixo:

You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
skype:i386 : Depends: libssl1.0.0:i386 but it is not installable
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).


Para fazer com que o APT passe a ignorar determinada dependência na "unha", edite o arquivo:

# vim /var/lib/dpkg/status

E procure pelo trecho referente ao pacote desejado.

No meu caso fiz a seguinte busca (sintaxe do vim):

/^Package: skype

Pule para a linha que começa com "Depends:", identifique e apague a dependência:

Depends: libc6 (>= 2.3.6-6~), libc6 (>= 2.7), libgcc1 (>= 1:4.1.1), libqt4-dbus (>= 4:4.5.3), libqt4-network (>= 4:4.8.0), libqt4-xml (>= 4:4.5.3), libqtcore4 (>= 4:4.7.0~beta1), libqtgui4 (>= 4:4.8.0), libssl1.0.0, libqtwebkit4 (>= 2.1.0~2011week13), libstdc++6 (>= 4.2.1), libx11-6, libxext6, libxss1, libxv1, libpulse0, libasound2-plugins

E pronto! Vamos verificar?

# apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.


Resumo: editar o arquivo /var/lib/dpkg/status, identificar a linha "Depends" do pacote desejado e remover a dependência manualmente.

O exemplo da dica pode ser seguido para qualquer pacote com dependência quebrada. Obviamente só vai servir para dependências que estão satisfeitas. Se você remover dependências necessárias, o pacote vai instalar mas não vai funcionar.

Outras dicas deste autor

Como evitar execução de backdoors em diretórios de upload do teu site

Solução para tamanho da fonte das legendas no Totem

Trophy, um jogo de corrida de carros muito legal

Novo portal Linux: Open SCRIPT

Os comandos apropos, makewhatis e whatis

Leitura recomendada

OpenVZ Web Panel

Firewall e roteamento avançado no Linux

Imprimindo em uma HP Laserjet 3030 conectada a um Jetdirect através linha de comando

Executando vários X-Windows ao mesmo tempo

Desafio Linux Hacker

  

Comentários
[1] Comentário enviado por Patterson em 02/02/2017 - 13:20h

Cara... salvou minha vida, eu nunca conseguiria instalar o skype sem essa dica!

Vou até adicionar aos favoritos para não esquecer.

Ahh... funcionou no Parrot Security OS que é baseado em Debian!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
{BANNER_MODEL3}

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts