BUT : simplifier la mise à jour d’un serveur ubuntu
Vous en avez marre de faire des sudo apt update puis sudo apt upgrade à tour de bras ?
Simplifiez vous la vie avec ce petit script qui va vous permettre d’accélérer le processus.
Attention, ce script doit être lancé manuellement et non pas depuis un ‘cron’ (tache automatisée), car il utilise ‘apt upgrade’ qui ne doit pas être lancé ‘en aveugle’. En effet certaines mises à jour nécessitent une action de votre part, par exemple pour les fichiers de configuration qui sont modifiés par le gestionnaire de mise à jour, apt vous demande si vous voulez conserver votre fichier de configuration ou le remplacer par le nouveau.
Créons notre script avec l’éditeur nano :
nano update-os
#!/bin/bash
#
# Mise à Jour OS
#
# Relance automatiquement ce script en mode root si user standard
[ ! $UID -eq 0 ] && echo "Lancement en mode ROOT" && sudo $0 "$@" && exit
echo "Mise à jour du système d'exploitation"
# test si besoin de faire une mise à jour
if [ $(cat /var/lib/update-notifier/updates-available | grep -Ev '^$' | grep -E '^[0-9]' | cut -d ' ' -f 1 | head -n 1) -eq 0 ]
then
echo "system à jour"
else
apt update && sudo apt upgrade -y && sudo apt autoremove -y
fi
# test si besoin d'un reboot
if [ ! "$(/usr/lib/update-notifier/update-motd-reboot-required)" ]
then
echo "pas besoin de reboot"
else
echo "--- ATTENTION REBOOT ---"
# option -f pour forcer le reboot si besoin
[ "$1" = "-f" ] && reboot || echo "sudo reboot"
fi
Sortir de l’éditeur nano avec
Rendre exécutable le script :
chmod +x update-os
Lancez le script :
./update-os
S’il n’y a pas de mise à jour ni besoin de reboot voici ce qui s’affiche
Lancement en mode ROOT [sudo] password for bzg: Mise à jour du système d'exploitation system à jour pas besoin de reboot
Vous pouvez aussi lancer ce script directement avec le privilège ‘sudo’ :
sudo ./update-os
Mise à jour du système d'exploitation system à jour pas besoin de reboot
Si le système a besoin d’une mise à jour elle sera lancée automatiquement
Et s’il y a besoin d’un reboot le message suivant s’affichera :
Mise à jour du système d'exploitation system à jour --- ATTENTION REBOOT --- sudo reboot
Lancez alors un sudo reboot
Pour simplifier la manipulation : triple cliquez sur la ligne où s’affiche ‘sudo reboot’ pour que la ligne entière apparaisse en surbrillance
soit :
dans les deux cas la ligne en surbrillance sera collée et donc lancera automatiquement le ‘sudo reboot’
Vous pouvez aussi lancer le script avec l’option -f pour forcer le reboot s’il est nécessaire, mais attention à ne pas forcer le mode reboot si vous avez un tache importante qui tourne déjà :
sudo ./update-os -f