Como instalo um arquivo .deb através da linha de comando?

Respostas:

1243

Os pacotes são instalados manualmente através do dpkgcomando (Sistema de Gerenciamento de Pacotes Debian). dpkgé o back-end para comandos como apt-gete aptitude, que por sua vez são o back-end para aplicativos de instalação da GUI, como o Software Center 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 da GUI (Synaptic, Software Center etc.), seguidos pelos comandos do terminal apt-gete aptitudeque adicionam uma abordagem muito agradável ao dpkg de back-end, incluindo mas não limitado a dependências empacotadas, controle sobre o que está instalado, precisa de atualização, não está instalado, pacotes quebrados, etc. Por fim, o dpkgcomando que é a base para todos eles.

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

Instale um pacote

sudo dpkg -i DEB_PACKAGE

Por exemplo, se o arquivo do pacote for chamado askubuntu_2.0.deb, você deve fazer sudo dpkg -i askubuntu_2.0.deb. Se dpkgrelatar um erro devido a problemas de dependência, você poderá executar o sudo apt-get install -fdownload das dependências ausentes e configurar tudo. Se isso relatar um erro, você mesmo precisará resolver as dependências, seguindo, por exemplo, Como resolver dependências não atendidas após adicionar um PPA? .

Remover um pacote

sudo dpkg -r PACKAGE_NAME

Por exemplo, se o pacote for chamado askubuntu, 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 referido pacote. Alguns exemplos úteis são keyboard-configurationquando você deseja ativar o Ctrl+ Alt+ Backspacepara redefinir o servidor X, portanto, faça 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, para usar o tzdatapacote:

sudo dpkg-reconfigure tzdata
Luis Alvarado
fonte
4
Grande informação, tinha que encontrar alguma maneira de instalar traceroute para ajudar a depurar por que minha máquina não irá se conectar à internet :)
Jason
23
Também é útil observar que os programas instalados são geralmente encontrados em / usr / bin, com o nome do que foi empacotado.
Chris Moschini 31/03
Se eu executar sudo apt-get install texlive-latex-base, ele falhou há meses com a "incompatibilidade de soma de hash". Eu posso baixar o arquivo .deb em 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, seria posteriormente reconhecido (e atualizado) pelo apt-get.
user643722
1
cara, você é demais. tão raramente vejo respostas linux que são tão detalhadas .. quando se trata de perguntas para iniciantes, é importante! obrigado
Elad Katz
1
Se é mais fácil e melhor instalar via aptitudeou apt-get(ou simplesmente apt), por que os exemplos desses comandos não são fornecidos aqui?
intuited
161

Pacotes Debian (.deb) são os pacotes usados ​​no Ubuntu. Você pode instalar qualquer pacote .deb no seu sistema. Os arquivos .deb geralmente podem ser instalados a partir do seu gerenciador de arquivos (Nautilus) apenas clicando neles, pois 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 da linha de comandos (Terminal).

Para instalar um pacote baixado do Debian ( Ubuntu ) (.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
Atul Makwana
fonte
105

O meu favorito é o GDebi, disponível no terminal / shell ou na área de trabalho gráfica.

captura de tela

Normalmente, associo .debarquivos ao GDebi, pois é rápido e eficiente - especialmente se comparado ao Ubuntu Software Center. Uma das principais características do GDebi é que ele resolve dependências e as instala.

Para a linha de comando, execute sudo gdebi <package.deb>a instalação de um único arquivo deb.

dsto
fonte
5
ele verifica dependências antes de instalar, thx !!
Poder de Aquário
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 27/12
+1 em "resolve dependências e as instala", o que é essencial.
Revetahw
85

Você está procurando todos os comandos do dpkg ? clique neste link para ler.

15 comandos dpkg para gerenciar servidores Linux baseados no Debian

Comandos DPKG

Existem duas ações, são dpkg-querye dpkg-deb.

Instale 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

Remova 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 poder 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 em que 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

Instale um pacote * .deb a partir de um local especificado

Aqui -Ré recursivo. (Manuseie recursivamente todos os arquivos regulares que correspondem ao padrão *.debencontrado nos 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(em minúsculas p) mostrará as informações do pacote:

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

Ver o conteúdo de um pacote

Use -c(minúscula 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 *.debarquivo do pacote

Use -x(em minúscula x) para 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

Use -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 -Isignifica informações:

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

Reconfigurar um pacote já instalado

dpkg-reconfigurereconfigura os pacotes depois que eles já foram instalados. Passe o (s) nome (s) de um pacote ou pacotes para reconfigurar. Ele fará perguntas de configuração, como quando o pacote foi instalado pela primeira vez.

# dpkg-reconfigure postfix

Isso será reconfigurado postfixda mesma maneira que quando você o instalou pela primeira vez.

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

# man dpkg
Babin Lonston
fonte
5
" Verifique se o pacote está instalado ou não e, se estiver, inicie-o:# dpkg -l | vlc " - isso apenas encaminha uma lista de pacotes para o vlc, com resultados imprevisíveis se ele estiver instalado; e não há melhor do que apenas digitandovlc
Xen2050
51

Embora de dpkg -ifato instale o pacote, ele não faz nenhuma resolução automática de dependência, enquanto existem outras duas alternativas, usando gdebi, ou a ferramenta apt-get. Para usar o mais tarde, basta usar:

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

Mesmo se você estiver no diretório com o pacote, precisará fornecer um caminho usando ./no início:

sudo apt-get install ./package.deb
Braiam
fonte
13
Esta é provavelmente a melhor resposta. aptimpedirá que você quebre seu sistema se você não tiver as dependências corretas.
Mlainz
Este comando parece selecionar todos os pacotes existentes.
precisa saber é o seguinte
@ Hibou57 não pode haver espaço no nome do pacote.
Braiam 5/0318
26

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

sudo dpkg -i *.deb
tadcan
fonte
2
Nunca use este comando. Você precisa remover manualmente todas as debs se quiser remover esse pacote. sudo apt remove example, sudo apt autoremoveE sudo dpkg -r *.debnão funciona.
ninguém
12

A gdebisoluçã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ê ainda não tiver gdebiinstalado, instale-o usando sudo apt install gdebi-core.

Por que gdebi?

gdebiprocurará todas as dependências do .debarquivo e as instalará antes de tentar instalar o .debarquivo. Acho isso muito preferível do que sudo dpkg -i skype.deb && sudo apt install -f. O ú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 compize unity! gdebideu 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.)

Flimm
fonte
askubuntu.com/a/170557/158442 diz gdebipode ser usado a partir da linha de comando
Muru
@uru Sim, mas é fácil perder por causa da captura de tela. Além disso, ele não explica os problemas comdpkg -i skype.deb
Flimm
11

Crie seu próprio instalador de scripts debInstallerda seguinte maneira:

#!/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 diretórios 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 .debpacote usando o comando:

sudo debInstaller some-package.deb

O valor agregado desse método é a solução do problema de dependências, já que na maioria das vezes você enfrenta alguns problemas ao instalar um .deb com dpkg -ierro devido a dependências, portanto, é necessário usá apt-get install -f-lo para resolvê-lo. Esse script fará o trabalho por você, mas aqui eu costumava apt-get --yes --fix-broken installresolver automaticamente esses erros sem a intervenção do usuário.

Maythux
fonte
10

Para instalar arquivos deb, abra o Terminal e digite:

sudo dpkg -i file.deb
sudo apt-get install -f
sudo dpkg -i file.deb   

A segunda linha é corrigir os pacotes quebrados se a instalação falhar e, em seguida, instale novamente para concluir a instalação.

Outra abordagem é usar a gdebiferramenta para instalar arquivos deb.

Benny
fonte
0

Existem muitas ferramentas para instalar um pacote deb. Eu pessoalmente uso o instalador de pacotes embutido dpkg

Se você estiver logado como root, altere o diretório para o local do pacote deb

dpkg -i package_name.deb

se você não estiver logado como root

sudo dpkg -i package_name.deb

Para garantir que o pacote seja instalado corretamente e não tenha dependências quebradas

sudo apt-get check

Se houver alguma dependência quebrada

sudo apt-get -f install
masterpianist
fonte