Tengo un paquete deb para la instalación.
¿Debo instalar por dpkg -i my.deb
o por apt?
¿Ambos manejarán bien el problema de dependencia del software?
Si es por apt, ¿cómo puedo instalar desde deb por apt?
Tengo un paquete deb para la instalación.
¿Debo instalar por dpkg -i my.deb
o por apt?
¿Ambos manejarán bien el problema de dependencia del software?
Si es por apt, ¿cómo puedo instalar desde deb por apt?
aptitude
que también elimina paquetes innecesarios.dpkg
. En el caso de deb único, vaya con gdebi y en caso de múltiples debs, vaya al repositorio local APT .dpkg
no resuelve dependencias.Respuestas:
Cuando usas
apt
para instalar un paquete, debajo del capó que usadpkg
. Cuando instala un paquete usando apt, primero crea una lista de todas las dependencias y lo descarga del repositorio.Una vez que finaliza la descarga, llama
dpkg
para instalar todos esos archivos, satisfaciendo todas las dependencias.Entonces, si tienes un
.deb
archivo:Puedes instalarlo usando:
Puede instalarlo usando
sudo apt install ./name.deb
(osudo apt install /path/to/package/name.deb
).Con
apt-get
versiones anteriores, primero debe mover su archivo deb al/var/cache/apt/archives/
directorio. Para ambos, después de ejecutar este comando, descargará automáticamente sus dependencias.Instale
gdebi
y abra su archivo .deb usándolo ( haga clic con el botón derecho -> Abrir con ). Instalará su paquete .deb con todas sus dependencias.( Nota : APT mantiene el índice de paquete que es una base de datos de paquetes disponibles disponibles en repositorio definido en el
/etc/apt/sources.list
archivo y en el/etc/apt/sources.list.d
directorio. Todos estos métodos no satisfarán la dependencia del software si las dependencias requeridas por el deb no están presentes en el índice del paquete .)¿Por qué usar
sudo apt-get install -f
despuéssudo dpkg -i /path/to/deb/file
(mencionado en el primer método)?De
man apt-get
:Cuando
dpkg
instala un paquete y no se satisface una dependencia del paquete, deja el paquete en un estado "no configurado" y ese paquete se considera roto.sudo apt-get install -f
El comando intenta reparar este paquete roto instalando la dependencia que falta.fuente
apt-cache search <package name>
. También puede usarapt-cache policy <package name>
, lo que también le dará información adicional.apt-get install /path/to/package/name.deb
. Sería genial si el autor de esta respuesta decidiera integrar eso. Si no, agregaré esa respuesta en algún momento cuando tenga suficiente representante aquíInstala tu
foo.deb
archivo condpkg -i foo.deb
. Si hay algunos errores con dependencias no resueltas, ejecuteapt-get install -f
después.fuente
Unable to locate package
intenté de esta manera y me quedé perplejo. Utilicé como en Windows solo el nombre del paquete después de cambiar a la carpeta de archivo. Debería ser./<file name>
para Unix si está en la carpeta actual o en la ruta completa. Eso es sideb
no está en la carpeta presente enPATH
.Aquí está la mejor manera de instalar un
.deb
archivo en Ubuntu en la línea de comandos:Si aún no lo ha
gdebi
instalado, instálelo usandosudo apt install gdebi-core
.¿Por qué gdebi?
gdebi
buscará todas las dependencias del.deb
archivo y las instalará antes de intentar instalar el.deb
archivo. Esto me parece mucho mejor quesudo 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 comocompiz
yunity
!gdebi
dio un mensaje de error mucho más claro:(Aquí está la solución a ese problema en particular , por cierto).
fuente
Puede instalar un paquete .deb local de la siguiente manera:
Asegúrese de especificar una ruta local relativa o absoluta (
./
si está en el directorio actual), de lo contrario, buscaráfoo.deb
en los repositorios remotos y fallará.fuente
./
antes deldeb
archivo.Verifique las dependencias con
dpkg -I my.deb
yapt-get install
las dependencias antesdpkg -i my.deb
.Puede ser que usted puede copiar elNo funciona,my.deb
en/var/cache/apt/archives
e instalarlo directamente conapt-get
pero nunca lo intentó.apt-get
ydpkg
está buscando paquetes listados en archivos.fuente
apt-get install my.deb
conapt-get install
? ¿Es para instalar desde el archivo deb? ¿Por qué necesitamosdpkg -i my.deb
después de eso?.deb
s locales condpkg -i
, entiendo queapt
no tiene una opción para instalarlos, aparte del directorio en el/var/cache/...
que se descargan (puedo estar equivocado)apt-get install ./my.deb
hará algo, porque genera muchas cosas. ¿Qué hace?-f
La respuesta más simple sería usar dpkg ejecutando
dpkg -i packagename.deb
. Luego puede desinstalarlo ejecutandodpkg -r packagename.deb
.apt-get
es un instalador de nivel superior basado en dpkg, y como tal podría hacerloapt-get install packagename.deb
.Sería beneficioso agregarlo a su directorio de archivos apt-get (
/var/cache/apt/archives
) para que pueda hacer referencia a él como un paquete con dependencias y no como un archivo .deb independiente.Además, al agregarlo a su directorio de archivos apt-get, tiene la oportunidad de usar dependencias con
apt-get install packagename
. Esto le permitiría instalarlo con cualquier dependencia agregada manualmente en lugar del sistema independiente basado en archivo de dpkg.fuente
Modern apt-get se puede usar para instalar un paquete simplemente con
apt-get install /path/to/package/name.deb
.(debe hacerse como editar a la respuesta principal pero fue rechazado; consulte https://unix.stackexchange.com/posts/159114/edit )
fuente
apt 1.0.9.8.4 for amd64 compiled on Dec 11 2016 09:48:19
Es muy simple si quiero instalar Chrome.
Instala tu archivo de Chrome como:
A veces existe la posibilidad de obtener algunos errores de dependencia como los siguientes:
Entonces, para resolver los problemas anteriores, debe agregar dependencias; dar el siguiente comando:
Después de dar el comando anterior, se agregarán dependencias a su máquina y
.deb
se instalará su archivo de paquete Debian ( ).fuente