Mise à jour automatique d’un Ubuntu Server
Pour ceux qui souhaitent, comme moi, tenir à jour leur serveur domestique, tournant sur Ubuntu Server (ou sur n’importe quel distribution dérivée de Debian, j’imagine) sans pour autant devoir faire les upgrade à la main, voici ce qu’il faut faire:
- Il faut créer un fichier qui contiendra les commandes pour faire la mise à jour et qui sera exécuter périodiquement:
sudo vim /usr/local/bin/cron_upgrade
- Appuyez sur i pour vous mettre en mode « insertion », puis collez le texte suivant:
#/bin/bash # Update, upgrade and dist-upgrade and check if reboot is required: /usr/local/bin/cron_update # Must be executed by root or by root crontab. /usr/bin/apt-get clean /usr/bin/apt-get update /usr/bin/apt-get -y upgrade /usr/bin/apt-get -y dist-upgrade /usr/bin/find /var/cache/apt/archives/linux-image* -exec /sbin/reboot {} \\;
- Sauvegardez et quitter vim en tapant Echap puis :x (ce n’est pas un smiley !)
- Il faut maintenant rendre le fichier exécutable en tapant:
sudo chmod +x /usr/local/bin/cron_upgrade
- Il ne nous reste plus qu’à exécuter ce fichier périodiquement. Pour cela, nous allons créer un cron:
sudo crontab -e
- Ajoutez la ligne suivante (si vous voulez que cela s’exécute tous les jours à 3h30:
30 03 * * * /usr/local/bin/cron_upgrade
Ce script a la particularité de faire rebooter le serveur si un nouveau noyau vient d’être installé. Si vous ne voulez pas qu’il reboot automatiquement, supprimez ou commentez (avec un dièse) la dernière ligne.
J’ai récupéré ce script sur le forum ubuntu (merci kagou) mais je l’ai un peu modifié.
Attention, ce script n’est absolument pas conseillé pour des serveurs de productions. je l’utilise uniquement sur un serveur domestique (chez moi, donc). La mise à jour et le reboot automatique d’un serveur pouvant provoquer des disfonctionnements impossible à prévoir (surtout si vous avez modifié à la main certains fichiers de configuration)