System
Difficulte: Intermediate
4 min de lecture

cron-apt : Automatiser les Mises à Jour sur Debian/Ubuntu

Guide pour installer et configurer cron-apt, un outil d'automatisation des mises à jour de paquets sur les systèmes Debian/Ubuntu.

Retour aux tutoriels
Qu'est-ce que cron-apt ?
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 msmtp ou postfix pour 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.

Le meilleur des deux mondes
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-upgrades
Pour 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.

Morgann Riu

Écrit par

Morgann Riu

Expert en cybersécurité et administration Linux. Je partage mes connaissances à travers des tutoriels gratuits et des formations pour aider les administrateurs systèmes et développeurs à sécuriser leurs infrastructures.

Partager ce tutoriel

Cet article vous a plu ?

Commentaires

Checklist Sécurité Linux

30 points essentiels pour sécuriser un serveur Linux. Recevez aussi les nouveaux tutoriels par email.

Pas de spam. Désabonnement en 1 clic.