Como buscar automaticamente as dependências ausentes ao instalar o software de .deb? [duplicado]

99
    

Esta pergunta já tem uma resposta aqui:

    

Estou tentando instalar o MySQL Workbench na minha caixa Ubuntu (11.04). O site tem um Ubuntu .deb disponível para download (para 10.10 e 10.04, então eu escolhi 10.10).

No entanto,

sudo dpkg -i mysql-workbench-gpl-5.2.34-1ubu1010-amd64.deb

rendimentos:

(Reading database ... 194069 files and directories currently installed.)
Preparing to replace mysql-workbench-gpl 5.2.34-1ubu1010 (using mysql-workbench-gpl-5.2.34-1ubu1010-amd64.deb) ...
Unpacking replacement mysql-workbench-gpl ...
dpkg: dependency problems prevent configuration of mysql-workbench-gpl:
 mysql-workbench-gpl depends on libctemplate0; however:
  Package libctemplate0 is not installed.
 mysql-workbench-gpl depends on libpython2.6 (>= 2.6); however:
  Package libpython2.6 is not installed.
 mysql-workbench-gpl depends on libzip1 (>= 0.8); however:
  Package libzip1 is not installed.
 mysql-workbench-gpl depends on python-paramiko; however:
  Package python-paramiko is not installed.
 mysql-workbench-gpl depends on python-pysqlite2; however:
  Package python-pysqlite2 is not installed.
dpkg: error processing mysql-workbench-gpl (--install):
 dependency problems - leaving unconfigured
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Processing triggers for desktop-file-utils ...
Processing triggers for python-gmenu ...
Rebuilding /usr/share/applications/desktop.en_US.utf8.cache...
Processing triggers for python-support ...
Errors were encountered while processing:
 mysql-workbench-gpl

A minha pergunta é, existe uma maneira de dizer ao dpkg para buscar automaticamente dependências ausentes , ou eu preciso manualmente apt-get install de pacotes perdidos como libctemplate0 e libpython2.6?

(Ou, como alternativa, há alguma outra maneira de executar e executar o MySQL Workbench facilmente?)

    
por Jonik 22.08.2011 / 13:34
fonte

7 respostas

105

Você pode instalar um pacote e obter dependências de repositórios com

sudo gdebi package.deb

Se você já instalou o pacote com dependências perdidas, poderá fazer o dowload e instalar as dependências automaticamente com

sudo apt-get -f install

Também está disponível uma versão gráfica gdebi-gtk , vinculada à ação de clique direito do .deb nautilus "Abrir com o instalador do pacote do GDebi".

    
por enzotib 22.08.2011 / 14:02
fonte
25

dpkg propriamente dito não é capaz de gerenciar repositórios . Uma ferramenta de nível superior, como apt-get , é necessária para buscar qualquer coisa dos repositórios. dkpg é apenas a ferramenta principal que instala / remove / configura pacotes, cuidando de dependências e outros fatores. apt-get e aptitude são ferramentas que gerenciam repositórios, baixam dados deles e usam dkpg para instalar / remover pacotes deles. Isso significa que apt-get e aptitude podem resolver dependências e obter pacotes requeridos do repositório, mas dpkg não pode, porque ele conhece nada sobre repositórios.

    
por Rafał Cieślak 22.08.2011 / 13:54
fonte
18

A partir da ramificação 1.1, apt-get suporta a instalação de pacotes locais junto com dependências no caminho de:

sudo apt-get install ./your-package.deb
    
por Braiam 26.10.2014 / 01:53
fonte
16

Você pode usar apt-get -f install para instalar todos os pacotes dpkg -i reclamações (mas, olhando para sua pergunta, você provavelmente sabia disso;)).

gdebi pode ser uma alternativa melhor.

Description: Simple tool to install deb files
gdebi lets you install local deb packages resolving and installing its 
dependencies. apt does the same, but only for remote (http, ftp) located 
packages. 

Em uma terceira nota ... gdebi foi substituído pelo Ubuntu Software Center. Se você instalar o .deb dentro do GDM (nautilus), o USC assumirá e tentará instalar o deb . E isso inclui as dependências. Isto é, se você não está vinculado à linha de comando;)

    
por Rinzwind 16.11.2011 / 08:45
fonte
6

Essa biblioteca em particular ( libctemplate0 ) eu fiz o download dela

http://packages.ubuntu.com/lucid/amd64/libctemplate0/download

O link direto http://ubuntu.wikimedia.org/ubuntu//pool/universe/c/ctemplate/libctemplate0_0.96-0ubuntu1_amd64.deb

A instalação do mySQL-workbench ocorreu sem problemas depois disso.

    
por mv288 24.11.2012 / 07:41
fonte
5

Clique com o botão direito no arquivo do pacote e selecione "abrir com o Ubuntu software center". Ele instalará tudo para você.

    
por user118263 02.01.2013 / 23:14
fonte
2

AFAIK, dpkg não fornece nenhum mecanismo para resolução de dependência. Ele verifica / avisa as dependências, mas não realiza nenhuma outra ação. Você terá que resolver os problemas por conta própria.

Como o wiki do Debian declara aqui :

  

O dpkg verifica as dependências e se recusará a instalar um pacote cujas dependências não sejam atendidas, mas não ajudará a encontrar e instalar essas dependências. Você precisa de uma ferramenta de nível superior (por exemplo, dselect ou apt-get) para isso .

Por isso, acho que você terá que usar apt-get ou aptitude para instalar o pacote em que está interessado, bem como quaisquer dependências envolvidas.

Como este pacote não está nos repositórios 11.04, apenas execute:

sudo apt-get install libctemplate0 libzip1 libpython2.6 python-pysqlite2 python-paramiko
sudo dpkg -i mysql-workbench-gpl-5.2.34-1ubu1010-amd64.deb

e você deve ficar bem.

    
por Pavlos G. 22.08.2011 / 13:40
fonte