Garder sa Debian à jour (sans se fatiguer)

Je compile ici quelques astuces pour garder votre distribution à jour tout en restant décontracté et souriant.

Comment effectuer les mises à jour ?

Il vous faut au préalable un fichier sources.list correctement rempli avec vos dépôts. Pour plus d'informations sur ce fichier :

$ man sources.list

Pour mettre à jour les paquets de votre distribution, la première étape consiste à mettre à jour la liste des paquets disponibles.

# aptitude update

Puis on applique les mises à jours.

# aptitude upgrade
# aptitude safe-upgrade

ou

# aptitude full-upgrade

aptitude upgrade et safe-upgrade sont synonymes, elles reviennent donc au même. Ces commandes vont mettre à jour les paquets et installer de nouvelles dépendances si besoin. Impossible, en revanche, de supprimer un paquet pour pouvoir en upgrader un autre. Ces commandes sont conservatrices.

aptitude full-upgrade met à jour tous les paquets, en installant ou supprimant des paquets si nécessaire. Cette commande est moins conservatrice. Elle est à double-tranchant : elle est capable d'effectuer des mises à jours que l'upgrade ou le safe-upgrade ne pouvaient pas faire, mais elle peut aussi effectuer des actions non souhaitées, comme supprimer un paquet utilisé comme dépendance par un autre programme.

Il est donc conseillé d'utiliser régulièrement l'upgrade/safe-upgrade, et de n'utiliser le full-upgrade que lorsque cela est réellement nécessaire (dans ce cas de figure, aptitude affiche souvent "x paquets non mis à jours").

Note : la commande aptitude dist-upgrade est synonyme de full-upgrade.

Mises à jour de sécurité

Elles sont présentes sur le dépôts Debian Security :

$ cat /etc/apt/sources.list
[..]
deb http://security.debian.org/ squeeze/updates main

Ces mises à jours étant sensibles, il faut les installer rapidement. Aussi il est important d'être au courant des mises à jour de sécurité. Pour cela, rien de mieux que la mailing-list debian-security-announce. À chaque mise à jour d'un paquet, un mail explicatif est envoyé, indiquant quelles failles sont corrigées, dans quelles versions. Je vous recommande fortement de vous inscrire à cette mailing-list. Il existe également un compte Twitter.

Exemple d'un Debian Security Advisory

Mises à jour automatiques

Nous allons utiliser cron-apt. Cron-apt permet de vérifier à intervalle régulier, via cron, si des mises à jours sont disponibles. Il est capable d'envoyer un rapport par mail. Il est également possible d'installer automatiquement les mises à jour.

Attention : Même si cela peut s'avérer pratique, il est déconseillé d'automatiser entièrement le processus de mise à jour. Il est possible qu'une mise à jour provoque un erreur entraînant l’arrêt d'un service. Vérifiez toujours que les mises à jours se déroulent correctement, et bien entendu, prenez vos précautions avant de les appliquer en production.

Nous allons configurer cron-apt pour qu'il vérifie les mises à jour de sécurité seulement. Il faut au préalable extraire les dépôts Debian Security pour les copier dans un fichier dédié.

# grep security /etc/apt/sources.list > /etc/apt/sources.list.d/security.list

On installe cron-apt :

# aptitude install cron-apt

Dans le fichier /etc/cron-apt/config, on indique que l'on souhaite utiliser aptitude, l'adresse mail de l'administrateur, le dépôt à utiliser.

APTCOMMAND=/usr/bin/aptitude
OPTIONS="-o quiet=1 -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list"
MAILTO="cuillère@soupe.fr"
MAILON="always"

À condition qu'un serveur SMTP soit installé et configuré, l'administrateur recevra un mail sur cuillère@soupe.fr, par défaut toutes les nuits à 4h du matin. La fréquence des mails se modifie dans /etc/cron.d/cron-apt, comme n'importe quelle tâche cron.

$ cat /etc/cron.d/cron-apt
#
# Regular cron jobs for the cron-apt package
#
# Every night at 4 o'clock.
0 4     * * *   root    test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt
# Every hour.
# 0 *   * * *   root    test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt /etc/cron-apt/config2
# Every five minutes.
# */5 * * * *   root    test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt /etc/cron-apt/config2

Comme je l'ai déjà dit, par défaut cron-apt ne fait que télécharger les mises à jour, sans les appliquer. Pour également installer automatiquement les mises à jours, modifiez le fichier /etc/cron-apt/action.d/3-download, qui ressemble à l’origine à ceci :

autoclean -y
dist-upgrade -d -y -o APT::Get::Show-Upgraded=true

en ceci :

autoclean -y
full-upgrade -y -o APT::Get::Show-Upgraded=true

Vous pouvez adapter la ligne en fonction de vos besoins, en préférant par exemple un safe-upgrade.

Conclusion

Voila les quelques conseils que je peux donner pour mettre à jour Debian. Nous avons vu ce qui différencie un aptitude safe-upgrade d'un full-upgrade. Je me suis rendu compte en écrivant ce billet qu'il y avait beaucoup à dire sur aptitude, qui pourront donner matière à d'autres articles. Quoi qu'il en soit, gardez bien en tête qu'il est primordial d'avoir une politique stricte et rigoureuse pour vos serveurs, et qu'en ce sens, la mise à jour automatique du système n'est pas adaptée à toutes les situations. Il est également essentiel d'être au courant des update de sécurité pour pouvoir réagir très rapidement lorsque nécessaire.

Vus : 4306
Publié par Jeyg : 33