Desde que instalé logwatch en uno de mis viejos servidores Fedora Core 4 veo el siguiente error en el reporte, en la sección del kernel:
---------------------- Kernel Begin ------------------------- egrep: module: No such file or directory ---------------------- Kernel End -------------------------
Este error de logwatch provoca que el parseo de los mensajes del kernel no funcione. El problema ocurre porque el archivo de configuración del servicio "kernel" /etc/log.d/conf/services/kernel.conf
contiene la línea *Remove = locate module
. Este comando se utiliza para remover las líneas que contengan la cadena "locate module".
El script que proporciona esta funcionalidad es /etc/log.d/scripts/shared/remove
y contiene la siguiente línea:
system("/bin/egrep -vi @ARGV");
Claramente, se observa que el parámetro @ARGV
se reemplaza por "locate module", y al no estar entre comillas el comando resulta:
/bin/egrep -vi locate module
Para solucionar el problema se debe reemplazar la línea:
system("/bin/egrep -vi @ARGV");
Por:
system("/bin/egrep -vi \"@ARGV\"");
Con este parche el comando se ejecuta de forma correcta:
/bin/egrep -vi "locate module"