Pregunta Cómo instalar paquetes locales .deb con apt-get


¿Hay alguna manera de instalar paquetes de almacenamiento en su HD con apt-get, como apt-get install ./package.deb?

Si no, ¿cómo manejar las dependencias de una manera muy fácil?


128


origen




Respuestas:


generalmente lo hago dpkg -i <deb file>, fallará diciendo que necesita dependencias. Después de eso cuando haces una apt-get update Al final, dirá algo así como "las dependencias están listas para instalar". Creo que luego aconseja usar apt-get install -f.

Una vez hecho esto, uso dpkg -i de nuevo.

Me funcionó bien en los últimos años.

editar: mirando un poco más, aparentemente una herramienta llamada gdebi puede hacer esto como gdebi [deb file].


109



Gracias hice lo mismo por "error" dpkg luego apt-get install -f y funcionó. - Louis
gdebi está trabajado para mí, y lo más simple que he visto hasta ahora. - ctrl-alt-delor


Sirex lo tiene más o menos correcto, pero su respuesta no está clara. Acabo de resolver esto, así que esto es lo que hice:

sudo dpkg -i /path/to/filename.deb

Si esto falla con un mensaje sobre el paquete que depende de algo que no está instalado, probablemente pueda solucionarlo si ejecuta

sudo apt-get -f install

Esto instalará las dependencias (suponiendo que estén disponibles en los repos que tu sistema conoce) Y el paquete que originalmente estabas solicitando instalar ('f' es la opción 'arreglar' e 'y' es 'asumir sí a las peticiones' o la opción 'no me preguntes si está bien, simplemente instálalo ya', muy útil para instalaciones silenciosas con guiones). En el sistema en el que estaba, no había necesidad de ejecutar dpkg nuevamente (Ubuntu lúcido 10.04).

Me pareció interesante que si dejas el -f cuando corres sudo apt-get install, mostrará su paquete como no configurado debido a una dependencia no resuelta, y sugerirá amablemente: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Editar:

Si desea instalar sin tener que responder 'y' a todas las preguntas, puede agregar el y modificador como originalmente lo incluí: sudo apt-get -fy install. Sin embargo, un comentarista señaló que apt a veces sugerirá que desinstale todo su entorno de escritorio. Estaba haciendo este trabajo en una máquina virtual y no tenía esa preocupación, pero esta publicación se ha actualizado para reflejar ser un poco más cuidadoso.


54



Si ya tengo todos los archivos del paquete en un directorio, ¿hay alguna manera de decirle a apt que este es un nuevo repositorio, así que no tendré que forzarlo a instalar nada sin dependencias? - Berry Tsakala
Lo siento, pero no sé. Sugeriría que lo hicieras como otra pregunta de nivel superior. - Akrikos
Loco extraño que esto sea requerido. En raspian, esto requerirá sudo (para dpkg y apt-get): sudo dpkg -i mypackages.deb, etc. - Brent Faust
El acceso raíz de @Rubistro es obligatorio en todos los sistemas. Supongo que las respuestas suponían que los comandos se ejecutan por root (por ejemplo, desde un shell raíz interactivo o un script que se ejecuta como root). - Amos Shapira
Por tu propio bien, haz no añade el -y opción. Es bastante común que pueda sugerir, por ejemplo, la desinstalación de su entorno de escritorio completo si prueba esto con el paquete equivocado en el momento equivocado (al menos en Debian). - oseiskar


También puede instalar el archivo .deb usando gdebi. Ejecute los siguientes comandos para instalar gdebi,

sudo apt-get install gdebi-core

Instalar paquetes .deb con gdebi,

sudo gdebi /path/to/filename.deb

También arregla dependencias.


46



Tenga en cuenta que gdebi solo toma un solo argumento y silenciosamente deja caer el resto en el piso. Esto significa que si está instalando múltiples Debs al mismo tiempo (tal vez porque dependen el uno del otro) necesitará crear cuidadosamente gdebi comandos que les permiten instalar. esta mitad derrota el propósito de gdebi, pero aún puede ser útil para un solo archivo - Anthony Sottile
@Anthony entonces find -name *.deb -exec gdebi {} \; - jjmontes
@jjmontes que solo funcionará si las interdependencias están en orden alfabético, lo que apostaría es bastante raro - Anthony Sottile
Seguí esto freesoftwaremagazine.com/articles/... (¡Error! El repositorio local tenía que estar en / var / www / html / debs) y Synaptic seguía intentando descargar desde un lugar remoto, incluso sin Internet, así que gdebi funcionó muy bien con el repositorio local. también, los archivos .deb tenían que ser chmod +r *.deb - Aquarius Power


Sí, el comando que propuso es correcto.

sudo apt-get install ./package.deb

Instalará el paquete que obtuvo de otra fuente que no sea APT y al mismo tiempo usará las capacidades de APT para resolver sus dependencias automáticamente. Lamentablemente, esto apt-get característica no está documentada en el página man.

Ver https://askubuntu.com/a/769542/250300 para detalles.


14



Esta debería haber sido la respuesta aceptada. - Peter