Pure-ftpd-mysql no funciona justo después de un upgrade de MariadB:
Actualizando MariadB a 10.5.4 , en nuestro caso para poder instalar un sitio web con Moodle en la última versión, vemos que deja de funcionar el servicio ftp. Pure-ftpd-mysql no se inicia indicando el siguiente error en el log de sistema:
pure-ftpd-mysql[6304]: /usr/sbin/pure-ftpd-mysql-virtualchroot: relocation error: /usr/sbin/pure-ftpd-mysql-virtualchroot: symbol my_make_scrambled_password, version libmariadbclient_18 not defined in file libmariadbclient.so.18 with link time reference
pure-ftpd-mysql.service: Control process exited, code=exited status=127
Failed to start pure-ftpd-mysql.service.
pure-ftpd-mysql.service: Unit entered failed state.
pure-ftpd-mysql.service: Failed with result ‘exit-code’.
Solución:
Para solucionar el problema, tenemos que recompilar pure-ftpd-mysql para que sea compatible con las nuevas librerias de MariaDB:
Instalamos devscripts (para poder crear paquetes debian):
apt-get install devscripts
Creamos un directorio para realizar todas las tareas de recompilación de pureftpd-mysql:
mkdir /usr/src/pure-ftpd
cd /usr/src/pure-ftpd
Descargamos las fuentes de pure-ftpd:
apt-get source pure-ftpd
Descargamos las dependencias de pure-ftpd:
apt-get build-dep pure-ftpd
Creamos el paquete nuevo con las nuevas dependencias de pure-ftpd para MariaDB:
cd pure-ftpd-1.0.43/
dpkg-buildpackage -uc -b
cd ..
dpkg -i pure-ftpd-common_1.0.43-3_all.deb
dpkg -i pure-ftpd-mysql_1.0.43-3_amd64.deb
Reiniciamos pure-ftpd-mysql y a funcionar:
service pure-ftpd-mysql restart