Gestion des mises à jour de sécurité (via apt, apt-get), manuellement ou automatiquement. Sous Debian, Mint, Ubuntu…
Avant propos, il existe un paquet qui gère les mises à jour de sécurité : unattended-upgrade, mais ici il sera présenté comment le faire avec apt ou apt-get puisque ces outils permettent de le faire.
Comme on parle de Debian et de Mint, faire attention au prompt # = Commande admin sous Mint et Ubuntu à préfixer d'un sudo
Sera d’abord présenté le processus manuel, puis son automatisation via cron-apt.
Si en retour, vous avez un message “No packages found that can be upgraded unattended and no pending auto-removals”, c'est que le système est à jour, aucune mise à jour de sécurité n'a été trouvée.
Pas de paquet tierce à installer. On travaille directement avec apt-get et grep pour filtrer les retours
Recherche des mises à jour de sécurité
# apt-get -s dist-upgrade | grep "^Inst" | grep -i securi
Pour installer ces mises à jour, on utilisera en plus l'utilitaire xargs
# apt-get -s dist-upgrade | grep "^Inst" | grep -i securi | awk -F " " {'print $2'} | xargs apt-get install
La recherche
# apt list --upgradable | grep -e "-security"
# L'installation
# apt list --upgradable | grep -e "-security" | awk -F "/" '{print $1}' | xargs apt install
Dans un premier temps, installer cron-apt
# apt-get install cron-apt
Récupérer dans les repo d’apt les entrées des mises à jour de sécurité uniquement
$ find /etc/apt -type f -name '*.list' | xargs cat | grep -v \"^#\" | grep security
A partir de cela, on va créer un fichier spécifique pour apt ne contenant que les mises à jour de sécurité.
# find /etc/apt -type f -name '*.list' | xargs cat | grep -v \"^#\" | grep security > /etc/apt/sources.list.d/security-updates-only.list
On va positionner un cron d’apt dessus.
Créer dans : /etc/cron-apt/action.d/ un fichier se nommant : 5-security-update-only
Avec le contenu suivant :
upgrade -y -o APT::Get::Show-Upgraded=true OPTIONS="-o quiet=1 -o APT::Get::List-Cleanup=false -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security-updates-only.list -o Dir::Etc::SourceParts=\"/dev/null\" MAILTO=\"vote-mail@ici.ext\" MAILON=\"always\""
Et hop, c’est joué !
Pour modifier l’horaire des mises à jour, ça se passe dans /etc/cron.d/cron-apt :
# Every night at 4 o'clock. 0 4 * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt
A modifier si vous souhaitez un horaire ou une fréquence différents