¿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?
Respuestas
¿Demasiados anuncios?Usted puede cambiar las dependencias de un paquete deb como este:
- Desembale deb:
ar x golden-linux.deb
(es decir, crear tres archivos: debian-binary control.tar.gz data.tar.gz) - Desembale el control de archivo:
tar xzf control.tar.gz
(creará: postinst postrm preinst prerm sumas de control md5 de control) - Revisión de las dependencias en
control
(utilice un editor de texto) - Repack control.tar.gz:
tar c {post,pre}{inst,rm} md5sums control | gzip -c > control.tar.gz
- 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!
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
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.