Saltar al contenido

¿Cómo hago para que apt-get ignore algunas dependencias?

Solución:

Solución 1:

Solución sencilla y sencilla: simplemente especifique los paquetes no deseados con un extra - después de cada uno de ellos.

Ejemplo sin el - cambiar:

[email protected]:~# apt-get install bsd-mailx 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  exim4-base exim4-config exim4-daemon-light liblockfile-bin liblockfile1
[...]

Ejemplo usando el cambio a evitar instalar exim4-base. Observe la - al final:

[email protected]:~# apt-get install bsd-mailx exim4-base-
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'exim4-base' is not installed, so not removed
The following extra packages will be installed:
  liblockfile-bin liblockfile1 ssmtp
[...]

Como se puede ver, apt-get ya no intenta instalar el exim4-base paquete, y no intenta instalar sus diversas dependencias (exim4-config etc).

Y si te equivocaste y lo necesitaras exim4-base dependencia después de todo, puedes simplemente apt-get install ¡eso mas tarde!

Solucion 2:

Puede cambiar las dependencias de un paquete deb como este:

  1. Desempaquetar deb: ar x golden-linux.deb (creará, por ejemplo, tres archivos: debian-binary control.tar.gz data.tar.gz)
  2. Desempaquetar el archivo de control: tar xzf control.tar.gz (creará: postinst postrm preinst prerm md5sums control)
  3. Corregir dependencias en control (usa un editor de texto)
  4. Vuelva a empaquetar control.tar.gz: tar --ignore-failed-read -cvzf control.tar.gz {post,pre}{inst,rm} md5sums control
  5. Reempaquetar deb: ar rcs newpackage.deb debian-binary control.tar.gz data.tar.gz (orden importante! Ver [Note] )

[Note]: ¡dpkg no podría leer los metadatos de un paquete rápidamente si tuviera que buscar dónde terminaba la sección de datos!


Solución 3:

Después de instalar el paquete con el --ignore-depends opción, vaya y edite la /var/lib/dpkg/status file y elimine cualquier dependencia que crea que no es necesaria. Ten mucho cuidado. En orden un dep. sea ​​necesario, es más que probable que SER requerido


Solución 4:

Puedes probar el --nodeps bandera con apt-get.
O descargue el paquete e instálelo usando dpkg con la opcion --ignore-depends.

Por ejemplo, si desea instalar el paquete foo sin dependencia bar:

dpkg --ignore-depends=bar -i foo_1.2.3_amd64.deb

Solución 5:

Dado que instaló postfix desde la fuente, necesita instalar un paquete “ficticio” que satisfará la dependencia de mail-transport-agent de mailx (o bsd-mailx). El paquete “equivs” en debian existe para crear un paquete ficticio que puede instalar para decirle a dpkg “esta dependencia está satisfecha”

La razón por la que decirle a dpkg que simplemente ignore las dependencias no es una buena solución, es que solo le está diciendo a dpkg / apt que lo ignore para una sola transacción, no puede decirle que ignore las dependencias para siempre. Cada vez que usa apt, verifica las dependencias en todos paquetes

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *