Resumo rápido
Para instalar um pacote .deb baixado manualmente, baixe e instale automaticamente os pacotes dos quais ele depende dos repositórios configurados:
- Você pode executar
sudo apt-get -f install
após instalar seu .deb comdpkg -i
. -
Ou use
gdebi
para instalar um pacote .deb e resolver automaticamente suas dependências (apt-get
não fará isso, masgdebi
e suas interfaces gráficas irão).
Veja abaixo os detalhes.
Por que apt-get
não fará isso
apt-get
verifica suas fontes de software configuradas (repositórios) e automaticamente baixa e instala pacotes. Exceto no caso em que um repositório configurado está inacessível, isso não permite que um comando apt-get install
seja bem-sucedido, caso contrário não seria bem-sucedido. Se o pacote não estiver em um de seus repositórios, apt-get
não saberá instalá-lo mesmo que o arquivo .deb esteja em /var/cache/apt/archives
.
Assim:
-
Se você já tiver um pacote baixado e ele for o mesmo pacote
apt-get
será automaticamente baixado e instalado, então você pode colocar/var/cache/apt/archives
eapt-get
não tem que baixá-lo. -
Se você já tiver um pacote baixado que não o mesmo pacote
apt-get
escolheria automaticamente, mas que está disponível em um repositório configurado, então você pode coloque-o em/var/cache/apt/archives
e forceapt-get
para tentar instalá-lo em vez do pacote que preferir. Por exemplo:sudo apt-get install abiword=3.0.1-1
-
Nenhuma dessas situações se aplica ao seu caso. A versão específica do pacote não é fornecida por nenhum dos repositórios configurados, porque é uma versão de teste alfa do
página de download . Como você não possui um repositório que forneça essa versão de esse pacote , não é possível instalar o arquivo .deb transferido manualmente com apt-get
.
Caminho 1: instale com dpkg
e resolva dependências com apt-get
Felizmente, não parece que você precise instalar este pacote com apt-get
. Parece que seu objetivo real é
- para instalar o pacote .deb transferido manualmente, que não é fornecido pelos seus repositórios (que
dpkg
pode fazer, masapt-get
não pode) e também - para instalar suas dependências que são fornecidas por seus repositórios (o que
dpkg
não pode fazer, masapt-get
pode).
Você pode fazer isso em duas etapas separadas:
-
Instale o pacote com
dpkg
.sudo dpkg -i wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
-
Isso criou dependências ausentes.
apt-get
pode corrigir dependências ausentes automaticamente.sudo apt-get -f install
Isso também deve terminar automaticamente a configuração do pacote original. (Então você provavelmente não precisará executar
sudo dpkg --configure -a
).
Caminho 2: use gdebi
para instalar e resolver dependências
Enquanto apt-get
não tenta instalar automaticamente um arquivo .deb arbitrário e suas dependências, existe uma ferramenta feita para este propósito: gdebi . De man gdebi
:
Para usar o gdebi em um terminal, execute gdebi package.deb
como root, por exemplo:
sudo gdebi wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
O gdebi também possui front ends gráficos. Você provavelmente vai querer usar gdebi-gtk
, o frontend do GTK + :
gksudo gdebi-gtk wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
Mas se você estiver executando o Kubuntu (ou usando o KDE), você pode preferir gdebi-kde
, o frontend do KDE (fornecido pelo gdebi-kde pacote):
kdesudogdebi-kdewkhtmltox-0.12.2.1_linux-trusty-amd64.deb
Asfrontendsgráficastambémpodemserchamadassemargumentos(porexemplo,gksudogdebi-gtk
),casoemquevocêpodeclicaremArquivo>Abraparaprocurareselecionaroarquivo.debdentrodaGUI.