¿Cómo instalo un archivo .deb a través de la línea de comando?

Respuestas:

1243

Los paquetes se instalan manualmente mediante el dpkgcomando (Sistema de gestión de paquetes de Debian). dpkges el backend para comandos como apt-gety aptitude, que a su vez son el backend para aplicaciones de instalación de GUI como Software Center y Synaptic.

Algo en la línea de:

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

Pero, por supuesto, las formas más fáciles de instalar un paquete serían, en primer lugar, las aplicaciones GUI (Synaptic, Software Center, etc.), seguidas de los comandos del terminal apt-gety aptitudeque agregan un enfoque muy agradable y fácil de usar al dpkg del backend, que incluye pero no se limita a dependencias empaquetadas, control sobre lo que está instalado, necesita actualización, no está instalado, paquetes rotos, etc. Por último, el dpkgcomando que es la base de todos ellos.

Dado que dpkg es la base, puede usarlo para instalar paquetes directamente desde la línea de comandos.

Instalar un paquete

sudo dpkg -i DEB_PACKAGE

Por ejemplo, si se llama al archivo del paquete, askubuntu_2.0.debentonces debería hacerlo sudo dpkg -i askubuntu_2.0.deb. Si dpkginforma un error debido a problemas de dependencia, puede ejecutar sudo apt-get install -fpara descargar las dependencias que faltan y configurar todo. Si eso informa un error, tendrá que resolver las dependencias usted mismo siguiendo, por ejemplo, ¿Cómo resuelvo las dependencias insatisfechas después de agregar un PPA? .

Eliminar un paquete

sudo dpkg -r PACKAGE_NAME

Por ejemplo, si se llama al paquete, askubuntuentonces debería hacerlo sudo dpkg -r askubuntu.

Reconfigurar un paquete existente

sudo dpkg-reconfigure PACKAGE_NAME

Esto es útil cuando necesita reconfigurar algo relacionado con dicho paquete. Algunos ejemplos útiles son keyboard-configurationcuando desea habilitar el Ctrl+ Alt+ Backspacepara restablecer el servidor X, por lo que haría lo siguiente:

sudo dpkg-reconfigure keyboard-configuration

Otra excelente es cuando necesita configurar la zona horaria para un servidor o su computadora de prueba local, por lo que puede usar el tzdatapaquete:

sudo dpkg-reconfigure tzdata
Luis Alvarado
fuente
44
Gran información, tuve que encontrar alguna forma de instalar Traceroute para ayudar a depurar por qué mi máquina no se conecta a Internet :)
Jason
23
También es útil tener en cuenta que, una vez instalados, los programas generalmente se encuentran en / usr / bin, que llevan el nombre de lo que fue desempaquetado.
Chris Moschini
Si ejecuto sudo apt-get install texlive-latex-base, ha fallado durante meses con "Hash Sum discordancia". Puedo descargar el archivo .deb de http://gb.archive.ubuntu.com/ubuntu/pool/main/t/texlive-base/texlive-latex-base-doc_2015.20150625-1ubuntu1_all.deb. Si lo instalo usando dpkg, ¿sería posteriormente reconocido (y actualizado) por apt-get.
user643722
1
amigo eres asombroso tan infrecuentemente veo respuestas de Linux que son tan detalladas ... cuando se trata de preguntas para novatos, ¡es importante! gracias
Elad Katz
1
Si es más fácil y mejor instalar a través de aptitudeo apt-get(o simplemente apt), ¿por qué no se dan ejemplos de estos comandos aquí?
intuido
161

Los paquetes Debian (.deb) son los paquetes que se usan en Ubuntu. Puede instalar cualquier paquete .deb en su sistema. Los archivos .deb generalmente se pueden instalar desde su administrador de archivos (Nautilus) simplemente haciendo clic en ellos, ya que las asociaciones de archivos con el instalador predeterminado ya están configuradas en Ubuntu. Estas instrucciones son para aquellos que desean instalar paquetes desde la terminal de línea de comandos (Terminal).

Para instalar un paquete descargado de Debian ( Ubuntu ) (.deb): Abra la Terminal y escriba

sudo dpkg -i packagename.deb

Para eliminar un paquete Debian (Ubuntu) (.deb):

sudo dpkg -r packagename

Para reconfigurar / reparar un paquete Debian (Ubuntu) instalado (.deb):

sudo dpkg-reconfigure packagename
Atul Makwana
fuente
105

Mi favorito es GDebi, disponible desde terminal / shell o escritorio gráfico.

captura de pantalla

Usualmente asocio .debarchivos con GDebi ya que es rápido y eficiente, especialmente en comparación con Ubuntu Software Center. Una de las principales características de GDebi es que resuelve dependencias y las instala.

Para ejecutar la línea de comandos sudo gdebi <package.deb>para instalar un único archivo deb.

dsto
fuente
55
comprueba las dependencias antes de instalar, ¡gracias!
Acuario Power
¿Puede gdebi incluso descargar las dependencias o tenemos que descargarlas manualmente? @Pandya
Jasser
Probablemente mejor para las personas que se mudan del entorno no Linux.
Nisheet
+1 para "resuelve dependencias y las instala", que es clave.
Revetahw
85

¿Estás buscando todos los comandos dpkg ? Haga clic en este enlace para leer.

15 comandos dpkg para administrar servidores Linux basados ​​en Debian

Comandos DPKG

Hay dos acciones, son dpkg-queryy dpkg-deb.

Instalar un paquete

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

Eliminar un paquete

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

Eliminar un paquete y sus archivos de configuración

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

Lista todos los paquetes instalados.

Puede canalizar el comando a less(un localizador) para que pueda desplazarse más fácilmente por el contenido:

# dpkg -l | less

Compruebe si el paquete está instalado o no

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

Compruebe si el paquete está instalado o no, y si lo está, inícielo:

# dpkg -l | vlc

Ver si un paquete está instalado o no

Y esto mostrará la ubicación donde se instalará el paquete. Aquí -S(capital S) para buscar si el paquete se instaló o no.

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

Instalar un paquete * .deb desde una ubicación especificada

Aquí -Res recursivo. (Maneja recursivamente todos los archivos regulares que coinciden con el patrón *.debencontrado en los directorios especificados y todos sus subdirectorios).

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

Mostrar detalles del paquete

Aquí -p(en minúsculas p) se mostrará la información del paquete:

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

Ver el contenido de un paquete

Use -c(minúsculas c) para mostrar el contenido:

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

Extrae el *.debarchivo del paquete

Use -x(minúsculas x) para extraer:

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

Extraiga y muestre los nombres de archivo contenidos en un paquete

Use -X(mayúsculas X) para mostrar el contenido con extracción.

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

Mostrar información sobre un paquete

Aquí se -Iencuentra la información:

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

Reconfigurar un paquete ya instalado

dpkg-reconfigurereconfigura los paquetes después de que ya se han instalado. Páselo el nombre (s) de un paquete o paquetes para reconfigurar. Hará preguntas de configuración, como cuando se instaló el paquete por primera vez.

# dpkg-reconfigure postfix

Esto se reconfigurará de postfixla misma manera que cuando lo instaló por primera vez.

¿Necesita saber más sobre los dpkgcomandos? Echa un vistazo a la página del manual:

# man dpkg
Babin Lonston
fuente
55
" Compruebe si el paquete está instalado o no, y si lo está, inícielo:# dpkg -l | vlc " - esto solo canalizaría una lista de paquetes a vlc, con resultados impredecibles si estuviera instalado; y nada mejor que simplemente escribirvlc
Xen2050
51

Si bien, de dpkg -ihecho, instala el paquete, no hace ninguna resolución de dependencia automática, mientras que hay otras dos alternativas, usando gdebi o la herramienta apt-get. Para usar el posterior solo use:

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

Incluso si está en el directorio con el paquete, debe proporcionar una ruta usando ./al inicio:

sudo apt-get install ./package.deb
Braiam
fuente
13
Esta es probablemente la mejor respuesta. aptevitará que rompa su sistema si no tiene las dependencias correctas.
mlainz
Este comando parece seleccionar todos los paquetes existentes.
Hibou57
@ Hibou57 no puede haber ningún espacio en el nombre del paquete.
Braiam
26

Un consejo útil al instalar un programa como Libreoffice que tiene múltiples archivos .deb en una carpeta es usar.

sudo dpkg -i *.deb
tadcan
fuente
2
Nunca uses este comando. Debe eliminar manualmente todas las deudas si desea eliminar ese paquete. sudo apt remove example, sudo apt autoremoveY sudo dpkg -r *.debno funciona.
nadie
12

La gdebisolución de línea de comando

Aquí está la mejor manera de instalar un archivo .deb en Ubuntu en la línea de comandos:

sudo gdebi skype.deb

Si aún no lo ha gdebiinstalado, instálelo usando sudo apt install gdebi-core.

¿Por qué gdebi?

gdebibuscará todas las dependencias del .debarchivo y las instalará antes de intentar instalar el .debarchivo. Esto me parece mucho mejor que sudo dpkg -i skype.deb && sudo apt install -f. Este último está demasiado ansioso por eliminar dependencias en ciertas situaciones. Por ejemplo, cuando intenté instalar Skype, intentó eliminar 96 (!) Paquetes, incluidos paquetes como compizy unity! gdebidio un mensaje de error mucho más claro:

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

(Aquí está la solución a ese problema en particular , por cierto).

Flimm
fuente
askubuntu.com/a/170557/158442 dice que gdebise puede usar desde la línea de comandos
muru
@muru Sí, pero es fácil perderse debido a la captura de pantalla. Además, no explica los problemas condpkg -i skype.deb
Flimm
11

Cree su propio instalador de scripts de debInstallerla siguiente manera:

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

Hacer el script ejecutable con

chmod +x debInstaller

Luego muévalo a algunos directorios en su RUTA o agregue el directorio actual a su RUTA.

Voy a moverlo a / usr / bin

sudo cp debInstaller /usr/bin

Ahora puede instalar cualquier .debpaquete usando el comando:

sudo debInstaller some-package.deb

El valor añadido de este método es la solución del problema de las dependencias, ya que en su mayoría que se enfrentará algunos problemas al instalar una .deb con dpkg -idebido a un error de dependencias, así que hay que utilizar apt-get install -fpara resolverlo, este script va a hacer el trabajo para usted, pero Aquí solía apt-get --yes --fix-broken installresolver automáticamente estos errores sin intervención del usuario.

Maythux
fuente
10

Para instalar archivos deb, abra Terminal y escriba:

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

La segunda línea es arreglar los paquetes rotos si la instalación falla, luego, vuelva a instalar para completar la instalación.

Otro enfoque es usar la gdebiherramienta para instalar archivos deb.

Benny
fuente
0

Hay muchas herramientas para instalar un paquete de Deb. Yo personalmente uso el instalador de paquetes incorporado dpkg

Si está conectado como root, cambie el directorio a la ubicación del paquete deb

dpkg -i package_name.deb

si no estás registrado como root

sudo dpkg -i package_name.deb

Para asegurarse de que el paquete se instaló correctamente y no tenía dependencias rotas

sudo apt-get check

Si hay dependencias rotas

sudo apt-get -f install
maestro de piano
fuente