systemadmin.es > Correo > Evitar que se instale automáticamente exim con yum

Evitar que se instale automáticamente exim con yum

Instalando qmail como MTA nos encontramos que, si no lo hacemos mediante paquetes RPM, algunos programas tienen como dependencia disponer una MTA instalada en el sistema pero si no esta instalada como un RPM, evidentemente, no la detecta.

Al realizar cualquier actualización en el sistema, yum si no encuentra ningún paquete que provea al sistema de un smtpdaemon, instala exim. Al borrarlo podemos apreciar la dependencia de algunos paquetes de un smtpdaemon:

# rpm -e exim
error: Failed dependencies:
	smtpdaemon is needed by (installed) mutt-1.4.2.2-3.0.2.el5.x86_64
	smtpdaemon is needed by (installed) fetchmail-6.3.6-1.1.el5_3.1.x86_64
	smtpdaemon is needed by (installed) mdadm-2.6.9-3.el5.x86_64

Para eliminar esta dependencia, al ya tener una MTA instalada aunque no sea de paquetes, podemos generar un paquete RPM falso que indique que él ya esta proveyendo al sistema del smtpdaemon:

cd /usr/local/src
cat <<EOF > fuck-exim.spec
Name: fuck-exim
Version: 1.0
Release: 1
Summary: Fuck exim
License: GPL
Group: System Environment/Daemons
BuildArch: noarch
Provides: smtpdaemon, /usr/sbin/sendmail
URL: http://systemadmin.es
Packager: William Adama <wadama@systemadmin.es>

%description

Fake RPM to prevent yum to install exim

%prep

%build

%install

%files

%changelog
EOF

A continuación generamos el RPM con rpmbuild:

# rpmbuild -bb fuck-exim.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.91751
+ umask 022
+ cd /usr/src/redhat/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.91751
+ umask 022
+ cd /usr/src/redhat/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.91751
+ umask 022
+ cd /usr/src/redhat/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
+ /usr/lib/rpm/brp-python-bytecompile
+ /usr/lib/rpm/redhat/brp-java-repack-jars
Processing files: fuck-exim-1.0-1
Checking for unpackaged file(s): /usr/lib/rpm/check-files %{buildroot}
Wrote: /usr/src/redhat/RPMS/noarch/fuck-exim-1.0-1.noarch.rpm

En la última linea nos indica dónde ha dejado el RPM:

/usr/src/redhat/RPMS/noarch/fuck-exim-1.0-1.noarch.rpm

A continuación podemos eliminar exim:

# rpm -e exim --nodeps

A continuación deberemos volver a dejar el sendmail de qmail, ya que al borrar el paquete lo habrá eliminado:

# ln -s /var/qmail/bin/sendmail /usr/lib
# ln -s /var/qmail/bin/sendmail /usr/sbin

Finalmente podremos instalar el paquete fuck-exim para que yum no vuelva a instalar una MTA teniendo ya qmail instalado en el sistema:

# rpm -Uvh /usr/src/redhat/RPMS/noarch/fuck-exim-1.0-1.noarch.rpm
Preparing...                ########################################### [100%]
   1:fuck-exim              ########################################### [100%]

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>