Les mises à jour (et tâches automatisées)


Les tâches automatisées

Sur chacun des serveurs (galilee et longuevue), toutes les tâches automatisées sont recensées dans le fichier /etc/crontab. Pour éditer ce fichier :

sudo nano /etc/crontab

Soit les tâches y sont commandées directement (voir le format de fichier de configuration de cron), soit elles sont notées en commentaire (ligne commençant par #), avec leur heure de déclenchement et la commande pour changer cela.

La configuration du système de mise à jour automatique

Les mises à jour des deux serveurs sont faites quotidiennement par le programme unattended-upgrade. Le paquet apt-listchanges est également installé, pour envoyer par mail à l’adresse intercomcom-admin les changements qui nécessitent une attention particulière.

Voici les différents fichiers de configuration de unattended-upgrade :

  • Pour configurer le lancement automatique des mises à jour :
    sudo nano /etc/apt/apt.conf.d/20auto-upgrades
    Ce fichier peut également être configuré via la commande :
    sudo dpkg-reconfigure -plow unattended-upgrades
  • Pour la configuration générale des mises à jour automatique :
    sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
    Dans ce fichiers sont configurés les dépôts à mettre à jour (sur les deux serveurs ces fichiers sont configurés pour tout mettre à jour. Si un dépôt apt est ajouté, il faut probablement mettre à jour ce fichier !)
    Dans ce fichier, il est également configuré d’envoyer un mail à root (donc à l’adresse intercomcom-admin quand des changements sont faits).
    Il y est également configuré que le serveur rebootera si besoin (en cas de mise à jour du noyau linux).
  • Pour configurer quand les mises à jour seront faites :
    sudo systemctl edit apt-daily-upgrade.timer
    puis pour que les modifications soient prises en compte :
    sudo systemctl restart apt-daily-upgrade.timer

Lors des mises à jour, apt lance le programme needrestart, qui vérifie les logiciels qui doivent être redémarrés suite à la mise à jour. Vu que les mises à jour doivent être automatiques, needrestart est configuré pour redémarrer ces services sans poser de question. Cela se fait dans ce fichier :

sudo nano /etc/needrestart/conf.d/auto-restart.conf

Pour BigBlueButton, le redémarrage automatique par needrestart ne fonctionne pas tout seul, un script pour automatiser le redémarrage est dans :

nano /etc/needrestart/restart.d/bbb-web.service

Malgré tout, il peut ne pas fonctionner dans certains cas, aussi une commande est placée dans /etc/crontab pour relancer correctement BigBlueButton dans tous les cas après une mise à jour (à améliorer si on trouve comment).

Fonctionnement au quotidien

Sur chaque serveur, tous les jours, unattended-upgrade va regarder s’il y a des mises à jour à faire. Si oui, un mail sera envoyé à intercomcom-admin, disant ce qui est fait, et annonçant dans le sujet du mail si les mises à jour ont réussis ou pas (SUCCESS si réussite).

En cas d’échec, c’est probablement qu’un paquet fait des changements dans un fichier de configuration et demande quoi faire. Il faut alors faire la mise à jour manuellement.

Attention ! Si la mise à jour est à faire sur Longuevue, vérifier d’abord qu’il n’y a pas de visio en cours. L’outil de mise à jour redémarre en général BigBlueButton, ce qui risque de couper une visio s’il y en a une.

Faire les mises à jour manuellement avec la commande :

sudo apt full-upgrade

En général, il faut répondre « non » à la question de mettre à jour les fichiers de configuration. Dans 90% des cas cela fonctionne, mais c’est utile de lire les notes envoyées par apt-listchanges pour avoir les infos sur les changements à faire dans les 10% des cas restant !

Par ailleurs, il y a également les logiciels qu’il faut mettre à jour manuellement.