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:
- Desempaquetar deb:
ar x golden-linux.deb
(creará, por ejemplo, tres archivos: debian-binary control.tar.gz data.tar.gz) - Desempaquetar el archivo de control:
tar xzf control.tar.gz
(creará: postinst postrm preinst prerm md5sums control) - Corregir dependencias en
control
(usa un editor de texto) - Vuelva a empaquetar control.tar.gz:
tar --ignore-failed-read -cvzf control.tar.gz {post,pre}{inst,rm} md5sums control
- 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