58 votos

¿Cómo puedo obtener apt-get ignorar algunas dependencias?

¿Cómo puedo hacer apt-get caso de algunas dependencias? Por ejemplo, yo quería instalar mailx así que la voy a usar para enviar correo electrónico desde cron scripts/informe de generación de herramientas. Sin embargo, la instalación de mailx también instala exim4 y un montón de dependencias (ya tengo Postfix instalado) yo realmente no necesita y que supongo que mailx también se puede vivir sin.

¿Cómo puedo ignorar algunas dependencias, pero todavía usar apt-get, ya que es una buena herramienta?

42voto

Janus Troelsen Puntos 366

Usted puede cambiar las dependencias de un paquete deb como este:

  1. Desembale deb: ar x golden-linux.deb (es decir, crear tres archivos: debian-binary control.tar.gz data.tar.gz)
  2. Desembale el control de archivo: tar xzf control.tar.gz (creará: postinst postrm preinst prerm sumas de control md5 de control)
  3. Revisión de las dependencias en control (utilice un editor de texto)
  4. Repack control.tar.gz: tar c {post,pre}{inst,rm} md5sums control | gzip -c > control.tar.gz
  5. Repack deb: ar rcs newpackage.deb debian-binary control.tar.gz data.tar.gz (fin de importante! Ver [Nota] )

[Nota]: dpkg no sería capaz de leer los metadatos de un paquete rápidamente si hubiera que buscar donde la sección de datos de composición!

28voto

Manolis Puntos 109

Después de instalar el paquete con el --ignore-depends opción, vaya y editar el /var/lib/dpkg/status archivo, y eliminar cualquier dependencia que creo que no es necesario. Acaba de ser muy cuidadoso. En fin un dep. de ser necesario, es más que probable que SEA necesario

13voto

Bart De Vos Puntos 12724

Usted puede tratar de la --nodeps bandera apt-get.
O descargar el paquete e instalarlo mediante dpkg con la opción --ignore-depends.

12voto

stew Puntos 5826

Desde que se instaló la postfix desde la fuente, es necesario instalar un "dummy" del paquete que va a satisfacer el mail-transport-agent dependencia de mailx (o bsd-mailx). El "equivs" paquete en debian existe para crear un maniquí de paquete que usted puede instalar a decir dpkg "esta dependencia está satisfecho"

La razón por la que decirle a dpkg simplemente ignorar las dependencias no es una buena solución, es que son sólo diciendo dpkg/apt ignorarlo por una sola transacción, usted no puede decir a ignorar las dependencias para siempre. Cada vez que usted use apt comprueba las dependencias en todos los paquetes

6voto

memartin Puntos 41

He estado buscando esta opción en un Ubuntu 12.04 Server ejecución de Xen. En mis dominios yo uso el virtual kernel, y apt persistentemente trató de instalar grub con cada kernel paquete de actualización. Grub sin embargo no es necesario dentro de la domU cuando se utiliza p[yv]grub.

He estado buscando el-nodeps opción de apt-get, pero no funcionó, así que terminó desinstalar/purga de grub* después de cada actualización del núcleo.

Después de todo, realmente la lectura de un hombre de la página de ayuda, que a veces resulta similar a apt-get opción en 12.04 parece ser --no-install-recomienda, que en realidad funciona en este caso, ya que grub aparece como "recomendado" en el paquete de información (supongo, así que no es "real" de la dependencia?).

Voy a agregar esto aquí porque en mi caso resuelto un problema similar, y la sugerencia para '--no-install-recomienda " no se ha mencionado todavía.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: