Digamos, tengo foo-1.2.3.deb
que depende perl
y python
, sin embargo, ejecutar el comando:
dpkg -i ./foo-1.2.3.deb
no instalará estas dependencias. Entonces debo hacerlo apt-get install perl python
a mano.
¿Cómo hacer que dpkg -i
instalar estas dependencias para mí automáticamente?
Respuestas:
Después de usar
dpkg
, ejecutar el siguiente comando me ayudó a instalar las dependencias requeridas:En general, su terminal debería verse así:
Observe la línea sobre
Setting up package_with_unsatisfied_dependencies
. Esto corrige (y completa) la instalación depackage_with_unsatisfied_dependencies.deb
.fuente
sudo dpkg -i mypackage.deb
nuevo?sudo apt-get -f install
mi paquete y sus dependencias, todas fueron instaladas. La ejecuciónsudo dpkg -i my_package.deb
es innecesaria y solo instalará el paquete nuevamente.sudo dpkg -i package.deb; sudo apt-get -f install; sudo dpkg -i package.deb
. La primeradpkg -i
ejecución marca las dependencias,apt-get -f install
instala las dependencias requeridas y la segundadpkg -i
instala con éxito el paquete. Tenga en cuenta queapt-get install -f
es un comando totalmente diferente.dpkg -i --force
; eso obligará a instalar un paquete roto! Ejecutardpkg
/ sin /--force
hará la entrada necesaria en la base de datos del paquete para queapt-get -f install
haga lo correcto.Puede instalar
gdebi-core
, que es la versión de línea de comandos del instalador del paquete GDebi de 10.04 y anteriores. En las versiones más nuevas de Ubuntu, el Centro de software se utiliza para instalar debs, que no tiene una línea de comandos equivalente.Para instalar un paquete deb usando gdebi, simplemente ejecute:
fuente
comenzando con apt 1.1 (disponible en Xenial (16.04), stretch)
apt install
también permite archivos locales:Mucho más simple y limpio.
Ver el anuncio de lanzamiento
fuente
apt ./install foo-1.2.3.deb
funcionó../
o la rutaGdebi
gdebi
instala un paquete deb y sus dependencias. Para usarlo ejecuta:En las versiones más recientes de Ubuntu, esto no está instalado de manera predeterminada, por lo que deberá instalarlo desde los repositorios.
Consulte
man gdebi
para obtener una lista completa de opciones.gdebi
es la línea de comando equivalente a la herramienta gráfica del mismo nombre que solía incluirse por defecto en Ubuntu. El comando para la herramienta gráfica esgdebi-gtk
y tiene una funcionalidad similar:fuente
dpkg-repack
en base a dicha lista de detalles :)corriendo
después de instalar el paquete con dpkg puede resolver dependencias rotas (al menos man apt-get lo dice ...). Actualizaré cuando lo comprobaré.
fuente
sudo dpkg -i mypackage.deb
nuevo?apt-get -f install
funciona, peroapt-get install -f
no es lo mismo.dpkg no tiene soporte de dependencia. Hay una forma de evitarlo, pero eso requeriría que creara una base de datos local (y, por lo tanto, ya sabría las dependencias) y se considera obsoleto (...).
¿Tiene que ser la línea de comando? (¿instalación del servidor?) Si es así, también eche un vistazo,
apt-get -f
pero tenga cuidado: resolver dependencias después de la instalación podría hacer que termine con un sistema roto.gdebi (interfaz gráfica de usuario ) solía poder hacer esto, pero fue reemplazado por USC.
¿Cómo descargaste el .deb? Algunas de las nuevas características de 11.04 son el manejo de .deb descargado de un sitio web: se abre en USC, por lo que el instalador resolverá las dependencias.
EDITAR basado en el comentario de Andrew: ¡
sudo gdebi foo-1.2.3.deb
Haría el truco!fuente
Como alternativa
gdebi-gtk
, puede usar Ubuntu Software Center.Haga doble clic en el paquete y un botón de instalación debería estar disponible.
fuente
Puede crear un archivo
dpkg-dep-inst
con el siguiente contenido.Supongo que creó el archivo en su carpeta de inicio. Hazlo ejecutable con
chmod +x dpkg-dep-inst
y muévelo a/usr/local/bin
consudo cp dpkg-dep-inst /usr/local/bin
.Ahora puede instalar el paquete debian con dependencias automáticamente con:
fuente
apt-get --yes --fix-broken install
y hacer la fijación automática.Acabo de encontrarme con este problema.
apt-get install -f
Sin embargo, llamar no instalará las dependencias recomendadas . La única solución para esto sería crear un repositorio local y agregarlo/etc/apt/sources.list
, es decir:fuente
En realidad, la respuesta es que el
dpkg
administrador de paquetes no puede instalar dependencias fuera de la caja. Te levantasteman dpkg
y descubriste eso. Así que hay que utilizar herramientas comoapt
,apt-get
,aptitude
, ..., basado endpkg
.Yo diría que el mismo caso es para el
rpm
administrador de paquetes en el otro hemisferio de Linux.rmp
no está destinado a realizar instalaciones basadas en dependencias. Se puede instalar paquetes individuales, y para la instalación de las dependencias que utilizayum
,urpmi
,up2date
éstos están todas basadas en RPM.Como se señaló, existe un pequeño peligro al instalar paquetes
dpkg
directamente, porque la resolución posterior de la resolución de dependencias puede terminar con un sistema roto como se describe en @Rinzwind.fuente