Los paquetes RPM de MongoDB (proporcionados por el repositorio oficial repo.mongodb.org, a partir de la versión 3.4.1) reinician el servidor de forma automática e incondicional en la actualización del paquete. Este comportamiento está codificado en el controlador de postun:
if test $1 -ge 1 then /usr/bin/systemctl restart mongod >/dev/null 2>&1 || : fiEste es un comportamiento inconveniente y peligroso, especialmente cuando usa herramientas de administración de configuración para configurar sus servidores. Por ejemplo, primero me gustaría ejecutar un libro de jugadas completo de Ansible para configurar mis servidores y luego reiniciar MongoDB manualmente uno por uno para tener control total de la situación.
¿Hay alguna forma de modificar o deshabilitar esto? ¿Paquetes alternativos de MongoDB, tal vez? ¿O alguna oscura opción de comando yum/rpm para deshabilitar los scriptlets?
Soy consciente de que puedo cambiar a la instalación simple de .tar.gz, pero este es el último recurso.
Si primero descarga el rpm y lo instala manualmente usando rpm ; puede usar la opción --nopostun :
rpm -Uvh mongodb***rpm --nopostunde la página de manual de rpm:
--noscripts --nopre --nopost --nopreun --nopostun --nopretrans --noposttrans Don't execute the scriptlet of the same name. The --noscripts option is equivalent to --nopre --nopost --nopreun --nopostun --nopretrans --oposttrans and turns off the execution of the corresponding %pre, %post, %preun, %postun %pretrans, and %posttrans scriptlet(s).
afaik yum no puede manejar --nopostun y otras banderas.