cron-apt est un outil qui permet d'automatiser les routines de mise à jour des paquets sur les systèmes basés sur Debian (comme Ubuntu). Il utilise cron pour exécuter apt à des intervalles réguliers. Sa configuration par défaut est très sûre : il télécharge les nouvelles listes de paquets et les nouveaux paquets, mais n'installe ni ne met à jour quoi que ce soit sans configuration explicite.
Pourquoi utiliser cron-apt ?
Plutôt que d'utiliser un simple script cron qui lancerait apt upgrade -y, cron-apt offre plus de contrôle et de sécurité :
- Configuration fine : Vous pouvez définir précisément quelles actions sont effectuées (mise à jour des listes, téléchargement, installation).
- Sécurité par défaut : Par défaut, il ne fait rien de dangereux. Vous devez activer explicitement les mises à jour.
- Notifications : Il peut vous envoyer par e-mail le résultat de ses actions, y compris la liste des paquets prêts à être mis à jour.
Prérequis
- Un système Debian ou Ubuntu.
- Accès root ou privilèges sudo.
- (Optionnel) Un agent de transport de mail (MTA) comme
msmtpoupostfixpour recevoir les notifications.
Installation
sudo apt-get update
sudo apt-get install -y cron-apt
L'installation place une tâche cron dans /etc/cron.d/cron-apt, qui s'exécute généralement une fois par nuit.
Configuration
La configuration se trouve dans /etc/cron-apt/. Les deux fichiers principaux sont config et les scripts dans action.d.
Fichier /etc/cron-apt/config
Ce fichier contrôle les options générales.
# Pour recevoir des rapports par email
MAILON="always"
# Votre adresse email
MAILTO="root" # ou votre-email@domaine.com
Par défaut, cron-apt ne fait qu'un apt-get update. Pour changer ce comportement, on utilise les fichiers d'action.
Fichiers d'action dans /etc/cron-apt/action.d/
Les fichiers dans ce répertoire définissent les actions à exécuter, dans l'ordre alphanumérique.
0-update: Exécute `apt-get update`. C'est l'action par défaut.1-download: Exécute `apt-get --download-only upgrade`. Télécharge les paquets sans les installer.
Par défaut, seul 0-update existe. Pour télécharger les paquets, renommez 1-download.disabled en 1-download.
Activer le téléchargement automatique (mais pas l'installation)
C'est une configuration très sûre et recommandée. Vous êtes notifié des mises à jour, elles sont prêtes à être installées, mais vous gardez le contrôle final.
# Le fichier 0-update existe déjà. On active le téléchargement.
sudo mv /etc/cron-apt/action.d/1-download.disabled /etc/cron-apt/action.d/1-download
Maintenant, chaque nuit, cron-apt mettra à jour les listes et téléchargera les paquets. Vous recevrez un mail avec la liste des paquets. Pour les installer, il vous suffira de faire sudo apt-get upgrade.
Activer l'installation automatique (Attention !)
AVERTISSEMENT : L'installation automatique peut parfois casser un système si une mise à jour a un bug ou une incompatibilité. Ne le faites que si vous comprenez les risques.
Créez un nouveau fichier d'action :
sudo nano /etc/cron-apt/action.d/2-upgrade
Ajoutez cette ligne :
upgrade -y
Cette configuration lancera un apt-get upgrade -y après la mise à jour des listes et le téléchargement. Pour être plus prudent, vous pouvez utiliser dist-upgrade pour gérer les dépendances plus intelligemment.
La configuration la plus populaire est de n'activer que le téléchargement et de recevoir les notifications par mail. Cela vous permet de vérifier rapidement les mises à jour en attente et de les installer manuellement quand vous êtes prêt.
Filtrer les mises à jour
Vous pouvez limiter les mises à jour à certaines sources, par exemple uniquement les mises à jour de sécurité.
sudo nano /etc/cron-apt/action.d/1-download
Modifiez la ligne pour utiliser l'option -o :
# Ne télécharger que depuis les dépôts de sécurité
dist-upgrade -d -o APT::Get::Only-Source-Lists="security"
unattended-upgradesPour une gestion encore plus fine des mises à jour automatiques (notamment pour n'appliquer que les patchs de sécurité), l'outil
unattended-upgrades est maintenant souvent préféré à cron-apt. Il offre plus d'options de configuration pour la sélection des paquets.
Conclusion
cron-apt est un outil fiable et éprouvé pour automatiser la gestion des mises à jour sur les systèmes Debian/Ubuntu. Sa configuration par défaut, axée sur la sécurité, et ses capacités de notification en font un excellent choix pour les administrateurs qui veulent rester informés et garder le contrôle, tout en automatisant les tâches répétitives de mise à jour.
Commentaires