Être averti des MAJ disponibles (Jabber, mail ?)

Bonjour,

Ayant depuis pas mal de temps un serveur perso, j’ai jusqu’ici toujours vérifié à la main les mises à jour disponibles, et devenant de plus en plus fainéant, j’aimerai automatiser tout ça. Plusieurs besoins :

  • Mettre à jour automatiquement la base APT (une simple tâche cron devrait suffire ?)
  • Être averti des MAJ dispos par mail
  • Même chose mais par Jabber

Existe-t-il une solution prenant en charge ces 3 points ? Sinon, faire un petit script exécuté par cron.

Mon environnement existant :

  • FAI Free
  • J’ai un nom de domaine
  • J’héberge mon propre serveur Jabber

Je n’y connais pas grand chose au fonctionnement du mail, mais j’imagine qu’il va me falloir un MTA genre Exim. Mais comment envoyer un mail vers l’extérieur sans être considéré comme spammeur ? À moins qu’il soit possible d’utiliser le SMTP de mon FAI Free directement…

'fin voilà, j’espère récolter des avis de personnes ayant déjà mis en œuvre quelque chose de similaire :slightly_smiling:

Bonjour,

Oui, de mémoire c’est le paquet apticron qui fait les deux premiers points, pour jabber je ne sais pas et je ne peu pas vérifier là.

Pour la configuration, j’ai un peu de mal à comprendre ce que tu veux faire: c’est “où” que tu héberge ? Chez toi ou chez Free ? Et si c’est chez toi pourquoi l’envoyer à l’extérieur ? :017

Je n’héberge pas les mails sur mon serveur personnel (ça viendra peut-être un jour, à voir) et j’aimerai donc envoyer un mail d’avertissement sur une boîte mail quelconque.

Je regarderai apticron, merci. J’ai aussi aperçu cron-apt à l’instant.

Exim est installé par default sous debian, donc tu l’as déjà mais pour les courriels locaux.
Je ne l’utilise pas donc attends plus de réponses.

La liste de diffusion debian-security est ton amie.

La liste debian-security-announce (et non debian-security qui est une liste de discussion) n’annonce que les mises à jour de sécurité (forcément), pas les mises à jours lors de la publication des révisions mineures de la distribution (annoncées dans la liste debian-announce), les mises à jour du dépôt “volatile” (annoncées dans debian-volatile-announce)… Sans parler des mises à jour de testing et unstable.

D’autre part les mises à jour annoncées dans les listes ne concernent pas toutes des paquetages présents sur la machine.

Pouet, concernant la notification par Jabber j’ai fini par trouver mon bonheur avec sendxmpp. Je me suis bricolé un petit script Bash (pas très bon en Bash, tout conseil est la bienvenue) exécuté tous les jours par cron :

[code]#!/bin/bash
#----------CONFIG----------
XMPP_USER=“LOGIN"
XMPP_PWD=“PASSWORD"
XMPP_SERVER=“XMPP_SERVER” # server.org:5222
XMPP_DEST="user@jabber.org” # Séparer chaque destinataire par une espace
SUBJECT=“UPDATES AVAILABLE"
MSG=“Updates available on hostname for the following packages :\n\n"
TEMP_FILE1=”/root/scripts/notify-updates/tmp1"
TEMP_FILE2=”/root/scripts/notify-updates/tmp2”
#--------------------------

Creation des fichiers temporaires s’ils n’existent pas

if [ ! -f $TEMP_FILE1 ]; then
touch $TEMP_FILE1
fi
if [ ! -f $TEMP_FILE2 ]; then
touch $TEMP_FILE2
fi

MAJ de la base APT

aptitude update --quiet=2
#updates=aptitude search '~U' -F '%p %v -> %V'
updates=aptitude search '~U' -F '%p'

Envoie du message XMPP si l’état des MAJ dispos a changé

echo $updates > $TEMP_FILE2
result=diff $TEMP_FILE1 $TEMP_FILE2

if [ “$result” != “” ]; then
# Récupération du nombre de MAJ dispos
nb_updates=aptitude search '~U' -F '%p' | wc -l
# Mise a jour du fichier gardant l’etat de la derniere MAJ
echo $updates > $TEMP_FILE1
# Envoie du message XMPP
echo -e “$MSG$updates\n\nTotal = $nb_updates” | sendxmpp -t -u $XMPP_USER -p $XMPP_PWD -j $XMPP_SERVER $XMPP_DEST -s "$SUBJECT"
echo > $TEMP_FILE2
fi[/code]

Un fichier temporaire mémorise le dernier état de MAJ dispos pour éviter de renvoyer le message tous les jours. Je me passerai du mail pour le moment, n’ayant pas vraiment le temps de me lancer dans la configuration d’un serveur mail. Je met donc le sujet en résolu, merci :slightly_smiling:

Salut,

Ma solution :
Chaque matin à la mise sous tension une mise à jour :slightly_smiling:

[quote=“ggoodluck47”]Salut,

Ma solution :
Chaque matin à la mise sous tension une mise à jour :slightly_smiling:[/quote]
Mon serveur reste en permanence allumé, point de reboot :slightly_smiling:
Mis à part ça, je préfère partir du principe que mon serveur est là pour me rendre service en se faisant oublier le plus possible. Je ne veux pas aller voir par moi même si tout va bien, je veux que ça soit lui qui m’avertisse si quelque chose doit être fait.

Je vais d’ailleurs me faire d’autres scripts me notifiant si certains services doivent être relancés après la MAJ d’une lib (checkrestart) et un check de l’intégrité des paquets installés (debsums).

Re,

J’ai jamais entendu dire qu’il fallait un reboot pour lancer ou après une mise à jour, sauf pour le noyau :slightly_smiling:

J’ai dit à la mise sous tension mais il fallait lire “lorsque tu t’assieds devant ton clavier” :smiley:

[quote=“ggoodluck47”]J’ai jamais entendu dire qu’il fallait un reboot pour lancer ou après une mise à jour, sauf pour le noyau :slightly_smiling:[/quote]Tu veux parler du reboot des services ?
(dans le doute) En fait si y’a une MAJ pour corriger une faille de sécurité dans une lib utilisée par Apache par exemple, Apache continuera d’utiliser l’ancienne lib (chargée en mémoire vive) tant qu’il n’aura pas été redémarré. Et checkrestart s’occupe de ça justement.