Aviso de actualizaciones en Debian por e-mail

Para disponer de un sistema estable y seguro es aconsejable mantenerlo siempre actualizado, pues van surgiendo actualizaciones de seguridad que arreglan algunos bug o exploits, mientras otras añaden mejoras.
Una buena manera de mantener el sistema actualizado, es comprobar los nuevos paquetes de forma periódica, aunque esto a veces se nos olvida cuando hablamos de entornos domésticos.
Es por ello que la mejor manera de solucionar el tema de las actualizaciones para gente despistada como yo, es crear un script que compruebe si disponemos de nuevas actualizaciones, y en caso afirmativo nos mande un correo a nuestra dirección e-mail. Yo por el momento con que me mande un e-mail tengo bastante, aunque el script es realmente simple como ya sabéis está publicado bajo una licencia Creative Commons así que le podéis añadir toda y cuanta funcionalidad deseéis, e incluso recordar que disponéis de herramientas para añadir un aviso por SMS si así lo queréis.
Para el envío de correo necesitamos disponer de un MTA que al menos nos permita mensajes salientes por SMTP a otros dominios, para ello usaremos exim4, que viene por defecto en Debian. Si no lo tenemos instalado:
sudo dpkg-reconfigure exim4-config
En caso contrario:
sudo apt-get install exim4
Nos aparecerá el configurador de Debian y pulsamos Aceptar:
Paso 1
Le indicamos que vamos a enviar el correo directamente usando SMTP:
Paso 2
Nos pedirá el nombre del sistema de correo, podemos utilizar el hostname y el domino que teníamos configurado por defecto:
Paso 3
Como en principio no vamos a utilizar el servidor de correo más que para que la propia máquina nos envíe los avisos tan solo aceptaremos conexiones SMTP de nuestra propia máquina, así evitamos que se utilice para el envío de spam, por tanto escucharemos solo en localhost dirección ip 127.0.0.1:
Paso 4
En otros destinos, podemos dejar el propio host (tal y como viene por defecto), aunque como localhost ya esta en la lista podemos dejarlo en blanco si así lo deseamos:
Paso 5
No utilizaremos dominios para reenviar correo, sino que lo enviaremos directamente, por tanto lo dejamos en blanco:
Paso 6
El sistema puede actuar como smarthost para otras máquinas, aunque en nuestro caso no va a actuar como tal por tanto lo dejamos en blanco:
Paso 7
Para equipos con conexión dialup podemos limitar el número de consultas DNS, aunque lo más probable es que nuestro equipo este permanentemente conectado a internet, por tanto si este es el caso le decimos que NO queremos limitar el número de consultas DNS:
Paso 8
Podemos guardar el correo en un solo fichero (mbox) o en varios (uno por cada correo, con Maildir) os lo dejo a vuestra discreción yo he elegido mbox:
Paso 9
Podemos dividir la configuración en pequeños ficheros, aunque si vamos a realizar modificaciones constantemente (como suele pasar con la gente que nos gusta trastear) es mejor tenerlo todo en un sólo fichero, esto como no también lo dejo al gusto de cada uno:
Paso 10
Y aquí por fin sin más preámbulos el script: Wink
#!/bin/sh
###################################
# Jose Antonio Torres             #
# Aviso actualizaciones Debian    # 
# v 0.1                           #
# http://bytecoders.net #
###################################
 
###### Dirección de correo para el aviso:
mailto="usuario@dominio.com"
#########################################
 
# Comprobar nuevos paquetes
apt-get update
apt-get upgrade -V -s > /tmp/new_updates
numlin=`wc -l /tmp/new_updates | cut -d' ' -f1`
if [ $numlin == "3" ] 
  then
    echo "No hay actualizaciones" >> /tmp/new_updates
else
    echo "" >> /tmp/new_updates
    hostname >> /tmp/new_updates
    echo "Nuevas actualizaciones disponibles">> /tmp/new_updates
    echo "a fecha $(date +%d-%m-%Y/%r)" >> /tmp/new_updates
    mail -s "Nuevas actualizaciones disponibles" $mailto < /tmp/new_updates
fi
Si queremos añadir el aviso por SMS recordad configurar la herramienta de envío SMS usando la Google API de Ivan López. Y añadimos la siguiente línea al final del script:
# Esta es la línea que se ha añadido
    sh /ruta/al/ficherodeenvio/EnviaSMS.sh $mailto passwd "Hay nuevas actualizaciones disponibles"
fi
Tan solo creáis el fichero le dais permisos de ejecución, creáis la correspondiente entrada en el cron y a funcionar. No dudéis en comentar cualquier duda, consejo, mejora, fallo o si os ha resultado útil.

Fuente:
http://bytecoders.net/content/aviso-de-actualizaciones-en-debian-por-email.html

Comentarios

Entradas populares