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

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

[ Hits: 1.327 ]

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

Ouvindo rádios online com o mpg123

Primeira Conferencia Hacker no Brasil

Uma breve análise dos principais editores HTML

Comando find: expressões regulares e exclusão de diretórios

Conectando Linux com celulares através de Bluetooth

Leitura recomendada

Como criar um pendrive UEFI no Ubuntu

Fixar processo em um núcleo de processador

Wireless no Slack com placa Samsung 11Mbps Wlan PCI

Bug: qBittorrent movendo downloads concluídos para baixando (Debian) [RESOLVIDO]

Instalando o Internet Explorer for Linux (ies4linux) via proxy

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts