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

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

[ Hits: 1.416 ]

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 personalizar o thumbnail de seu site no Facebook

ctorrent - Cliente torrent modo texto

Monitorando tarefas com o comando watch

Jogando Gamão no GNU/Linux e no FIBS

Mais um portal para a comunidade Linux

Leitura recomendada

27 e 28/10 - III Fórum Goiano de Software Livre

Nada de sync ou BleachBit, limpe o cache do sistema de forma alternativa

Recuperação de OpenRC e SysVinit em Sabayon Linux

Yum, uma maneira de manter seu RedHat atualizado

Instalação multi-arquitetura Debian GNU/Linux

  

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