Questão Como faço para instalar um arquivo .deb via linha de comando?


Como faço para instalar um .deb arquivo através da linha de comando?


1012
2018-05-06 17:40


origem


Encontre melhor: steptoinstall.com/… - KarSho
@thexed gratz em chegar a 1k: D - Rinzwind


Respostas:


Pacotes são manualmente instalado via dpkg comando (Sistema de Gerenciamento de Pacotes Debian). dpkg é o backend para comandos como apt-get e aptitude, que por sua vez são o back-end para aplicativos de instalação da GUI, como o Centro de Software e o Synaptic.

Algo ao longo das linhas de:

dpkg -> apt-get, aptitude -> Synaptic, Centro de Software

Mas é claro que as maneiras mais fáceis de instalar um pacote seriam, primeiro, os aplicativos GUI (Synaptic, Software Center, etc.), seguidos pelos comandos do terminal. apt-get e aptitude que adicionam uma ótima abordagem amigável ao dpkg de backend, incluindo mas não limitado a dependências empacotadas, controle sobre o que está instalado, precisa de atualização, não instalado, pacotes quebrados, etc. dpkg comando que é a base para todos eles.

Como o dpkg é a base, você pode usá-lo para instalar pacotes diretamente a partir da linha de comando.

Instalar um pacote

sudo dpkg -i DEB_PACKAGE

Por exemplo, se o arquivo de pacote é chamado askubuntu_2.0.deb então você deve fazer sudo dpkg -i askubuntu_2.0.deb. E se dpkg relata um erro devido a problemas de dependência, você pode executar sudo apt-get install -f para baixar as dependências ausentes e configurar tudo. Se isso informar um erro, você terá que resolver as dependências por meio de, por exemplo, Como resolvo dependências não satisfeitas depois de adicionar um PPA?.

Remover um pacote

sudo dpkg -r PACKAGE_NAME

Por exemplo, se o pacote é chamado askubuntu então você deve fazer sudo dpkg -r askubuntu.

Reconfigurar um pacote existente

sudo dpkg-reconfigure PACKAGE_NAME

Isso é útil quando você precisa reconfigurar algo relacionado ao pacote. Alguns exemplos úteis são os keyboard-configuration quando você deseja ativar o Ctrl+Alt+Backspace a fim de redefinir o servidor X, assim você faria o seguinte:

sudo dpkg-reconfigure keyboard-configuration

Outra ótima é quando você precisa definir o fuso horário para um servidor ou seu computador de teste local, então use o tzdata pacote:

sudo dpkg-reconfigure tzdata

1129
2018-05-06 17:43



Ótima informação, tive que encontrar uma maneira de instalar o traceroute para ajudar a depurar porque minha máquina não vai se conectar à internet :) - Jason
Também é útil notar que os programas instalados geralmente são encontrados em / usr / bin, nomeados após o que foi despachado. - Chris Moschini
Se eu corro sudo apt-get install texlive-latex-base, falhou por meses com "incompatibilidade de hash sum". Eu posso baixar o arquivo .deb de http://gb.archive.ubuntu.com/ubuntu/pool/main/t/texlive-base/texlive-latex-base-doc_2015.20150625-1ubuntu1_all.deb. Se eu instalá-lo usando o dpkg, ele seria subsequentemente reconhecido (e atualizado) pelo apt-get. - user643722
Oi @ user643722 Eu ia recomendar a exclusão da versão em cache desse pacote, mas aqui você tem uma resposta para o problema askubuntu.com/questions/41605/… - Luis Alvarado♦
cara você é demais. tão raramente vejo respostas do linux que são tão detalhadas ... quando se trata de perguntas para iniciantes, é importante !! obrigado - Elad Katz


Pacotes Debian (.deb) são os pacotes que são usados ​​no Ubuntu. Você pode instalar qualquer pacote .deb no seu sistema. Arquivos .deb geralmente podem ser instalados a partir do gerenciador de arquivos (Nautilus) simplesmente clicando neles, já que as associações de arquivos com o instalador padrão já estão definidas no Ubuntu. Estas instruções são para aqueles que desejam instalar pacotes a partir do terminal de linha de comando (Terminal).

Para instalar um Debian baixado (Ubuntu) package (.deb): Abra o Terminal e digite

sudo dpkg -i packagename.deb

Para remover um pacote Debian (Ubuntu) (.deb):

sudo dpkg -r packagename

Para reconfigurar / reparar um pacote Debian (Ubuntu) instalado (.deb):

sudo dpkg-reconfigure packagename

146
2017-12-05 06:04





Meu favorito é o GDebi, disponível tanto em terminal / shell quanto em desktop gráfico.

screen-shot

Costumo associar .deb arquivos com GDebi, pois é rápido e eficiente - especialmente em comparação com o Ubuntu Software Center. Uma das principais características do GDebi é resolver dependências e instalá-las. 

Para execução da linha de comando sudo gdebi <package.deb> para instalar um único arquivo deb.


98
2017-07-31 20:11



verifica as dependências antes de instalar, thx !! - Aquarius Power
O gdebi pode até baixar as dependências ou temos que baixá-las manualmente ?? @Pandya - Jasser
Provavelmente melhor para as pessoas que se mudam do ambiente não-Linux. - Nisheet
+1 para "resolve dependências e instala-as", o que é fundamental. - Revetahw


Comandos DPKG

Existem duas ações, elas são dpkg-query e dpkg-deb.

Instalar um pacote

# sudo dpkg -i {package_name}    
# sudo dpkg -i skype-ubuntu-precise_4.2.0.11-1_i386.deb

Remover um pacote

# sudo dpkg -r {package_name}
# sudo dpkg -r vlc

Remover um pacote e seus arquivos de configuração

# sudo dpkg -P {package_name}
# sudo dpkg -P vlc

Listar todos os pacotes instalados.

Você pode canalizar o comando para less (um pager) para que você possa rolar mais facilmente o conteúdo:

# dpkg -l | less

Verifique se o pacote está instalado ou não

# dpkg -l {package_name}
# dpkg -l vlc

Verifique se o pacote está instalado ou não e, se estiver, inicie-o:

# dpkg -l | vlc

Veja se um pacote está instalado ou não

E isso mostrará o local onde o pacote será instalado. Aqui -S (capital S) para procurar se o pacote foi instalado ou não.

# sudo dpkg -S {package_name}
# sudo dpkg -S skype

Instalar um pacote * .deb de um local especificado

Aqui -R é recursivo. (Recursivamente lidar com todos os arquivos regulares que correspondem ao padrão *.deb encontrado em diretórios especificados e em todos os seus subdiretórios).

# sudo dpkg -R --install {package_location}
# sudo dpkg -R --install /home/sysadmin/soft

Mostrar detalhes do pacote

Aqui -p (minúsculas p) mostrará as informações do pacote:

# dpkg -p {package_name}
# dpkg -p apache2

Ver o conteúdo de um pacote

Usar -c (minúsculas c) para mostrar o conteúdo:

# sudo dpkg -c {package_name}
# sudo dpkg -c skype-ubuntu-precise_4.2.0.11-1_i386.deb

Extraia o *.deb arquivo de pacote

Usar -x (minúsculas x) extrair:

# dpkg -x {package_name} {location_were_to_extract}
# dpkg -x libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/

Extraia e exiba os nomes de arquivos contidos em um pacote

Usar -X (maiúsculas X) para exibir o conteúdo com extração.

# dpkg -X {package_name} {location_were_to_extract}
# dpkg -X libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/

Exibir informações sobre um pacote

Aqui -I significa informação:

# dpkg -I {package_name}
# dpkg -I libqt4-phonon_4.6.3-4+squeeze1_i386.deb

Reconfigurar um pacote já instalado

dpkg-reconfigure reconfigura pacotes depois de já terem sido instalados. Passe os nomes de um pacote ou pacotes para reconfigurar. Ele fará perguntas de configuração, da mesma forma que o pacote foi instalado pela primeira vez.

# dpkg-reconfigure postfix

Isso irá reconfigurar postfix da mesma forma como quando você instalou pela primeira vez.

Precisa saber mais sobre dpkg comandos? Dê uma olhada na página de manual:

# man dpkg

79
2018-02-20 07:29



"Verifique se o pacote está instalado ou não e, se estiver, inicie-o: # dpkg -l | vlc"- isso apenas canalizaria uma lista de pacotes para vlc, com resultados imprevisíveis se fosse instalado; e nada melhor do que apenas digitar vlc - Xen2050


Enquanto dpkg -i de fato instala o pacote, ele não faz nenhuma resolução automática de dependência, enquanto isso existem duas outras alternativas, usando o gdebi, ou a ferramenta apt-get. Para usar o posterior basta usar:

sudo apt-get install /path/to/package.deb

Mesmo se você estiver no diretório com o pacote, você precisa dar um caminho usando ./ no começo:

sudo apt-get install ./package.deb

42
2018-05-08 23:48



Esta é provavelmente a melhor resposta. apt impedirá que você quebre seu sistema se você não tiver as dependências corretas. - mlainz
Este comando parece selecionar todos os pacotes existentes. - Hibou57
@ Hibou57 não pode haver espaço no nome do pacote. - Braiam


Uma dica útil ao instalar um programa como o Libreoffice, que tem vários arquivos .deb em uma pasta, é usar.

sudo dpkg -i *.deb

24
2017-12-22 21:46



Nunca use este comando. Você tem que remover manualmente todos os debs se quiser remover esse pacote. sudo apt remove example ,sudo apt autoremove e sudo dpkg -r *.deb não funciona. - noone


Crie seu próprio instalador de scripts debInstaller como o seguinte:

#!/bin/bash
dpkg -i "$@"
apt-get --yes --fix-broken install

Torne o script executável com

chmod +x debInstaller

Em seguida, mova-o para alguns dirs no seu PATH ou adicione o diretório atual ao seu PATH.

Vou movê-lo para / usr / bin

sudo cp debInstaller /usr/bin

Agora você pode instalar qualquer .deb pacote usando o comando:

sudo debInstaller some-package.deb

O valor agregado desse método é a solução do problema de dependências, já que você enfrentará alguns problemas quando instalar um .deb  com dpkg -i devido a erro de dependências, então você tem que usar apt-get install -f para resolvê-lo, esse script fará o trabalho para você, mas aqui eu usei apt-get --yes --fix-broken install para resolver automaticamente esses erros sem intervenção do usuário.


10
2018-05-29 17:15





o gdebi solução de linha de comando

Aqui está a melhor maneira de instalar um arquivo .deb no Ubuntu na linha de comando:

sudo gdebi skype.deb

Se você não tem gdebi instalado já, instale-o usando sudo apt install gdebi-core.

Por que gdebi?

gdebi vai procurar por todas as dependências do .deb arquivo, e irá instalá-los antes de tentar instalar o .deb Arquivo. Eu acho isso muito mais preferível do que sudo dpkg -i skype.deb && sudo apt install -f. Este último está muito ansioso para remover dependências em determinadas situações. Por exemplo, quando tentei instalar o Skype, ele tentou remover 96 (!) Pacotes, incluindo pacotes como compiz e unity! gdebi deu uma mensagem de erro muito mais clara:

$ sudo gdebi skype.deb
Cannot install 'libqtgui:i386'

(Aqui está a solução para esse problema específico, a propósito.)


8
2017-12-27 09:19



askubuntu.com/a/170557/158442 diz gdebi pode ser usado a partir da linha de comando - muru
@muru Sim, mas é fácil errar por causa da captura de tela. Além disso, não explica os problemas com dpkg -i skype.deb - Flimm