Personnellement je me suis affranchi de tous les dispositifs gnome et autres qui obligent à cliquer sur une application graphique à un moment donné.
Le script correspond à mes besoins , lancement uniquement au boot toutes les 8 heures et envoi d’un mail à root
root@debian:/opt# cat perso-apt
#!/bin/sh
# pour tracer demasquer set -x
#set -x
#
#
# test si le fichier résultat existe sinon c'est le tout premier lancement et alors créer le fichier
if [ ! -f "/var/tmp/resul-opt-perso-apt.txt" ];
then touch /var/tmp/resul-opt-perso-apt.txt
fi
# comparaison de la date du jour et de la date de derniere modification du fichier
#
# date du jour
ddj=$(date +%s)
# date de la dernière modification du fichier
ddmf=$(stat -c %Y /var/tmp/resul-opt-perso-apt.txt)
# comparaison
comp=$(($ddj-$ddmf))
# référence 8 h = 28800 secondes
ref=28800
if [ $comp -lt $ref ]
then
echo $comp "secondes depuis la dernière mise à jour"
exit
else echo 'Au moins 8 heures depuis le dernier update'
fi
# mise a jour des listes
echo "****************************************************************" > /var/tmp/resul-opt-perso-apt.txt
date >> /var/tmp/resul-opt-perso-apt.txt
echo " Mise à jour des listes apt" >> /var/tmp/resul-opt-perso-apt.txt
apt update >> /var/tmp/resul-opt-perso-apt.txt 2> /dev/null
echo "resultat de la commande apt update ="$? >> /var/tmp/resul-opt-perso-apt.txt
#
# mise à jour des paquets
echo "****************************************************************" >> /var/tmp/resul-opt-perso-apt.txt
echo " Mise à jour" >> /var/tmp/resul-opt-perso-apt.txt
export DEBIAN_FRONTEND=noninteractive
#
apt full-upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" >> /var/tmp/resul-opt-perso-apt.txt 2> /dev/null
echo "resultat de la commande apt-full-upgrade ="$? >> /var/tmp/resul-opt-perso-apt.txt
dpkg --audit >> /var/tmp/resul-opt-perso-apt.txt 2> /dev/null
echo "****************************************************************" >> /var/tmp/resul-opt-perso-apt.txt
# envoi du mail de résultat nb pas possible de lancer thunderbird dans le script puisque la session utilisateur n'est pas ouverte
date >> /var/tmp/resul-opt-perso-apt.txt
/usr/bin/mailx -s "résul opt/perso-apt" root@localhost.localdomain < /var/tmp/resul-opt-perso-apt.txt &> /dev/null
echo "mail envoyé à root par /opt/perso-apt"
echo "temporisation"
sleep 10
Tout ça peut se simplifier en fonction de tes besoins.
Pour lancer le script au boot, j’ai créé un service systemd
cat /lib/systemd/system/update-perso.service
[Unit]
Description=update-perso
After=exim4.service
[Service]
Type=oneshot
ExecStart=/opt/perso-apt
[Install]
WantedBy=multi-user.target
Pour l’activer
systemctl enable update-perso.service
Pour vérifier l’exécution
systemctl status update-perso.service
Le mail n’est pas obligatoire, il me sert simplement a garder une trace de l’exécution des commandes.
Sinon on peut se contenter de l’historique dans les logs apt
root@debian:/var/log/apt# tail -f history.log
Start-Date: 2018-02-20 09:06:59
Commandline: apt-get purge --autoremove -y
Purge: libmagick++-6.q16-7:amd64 (8:6.9.7.4+dfsg-16.1), libmagickwand-6.q16-3:amd64 (8:6.9.7.4+dfsg-16.1), libmagickcore-6.q16hdri-3:amd64 (8:6.9.7.4+dfsg-16.1), libmagickwand-6.q16hdri-3:amd64 (8:6.9.7.4+dfsg-16.1), libmagickcore-6.q16-3:amd64 (8:6.9.7.4+dfsg-16.1), libmagickcore-6.q16-3-extra:amd64 (8:6.9.7.4+dfsg-16.1), libmagickcore-6.q16hdri-3-extra:amd64 (8:6.9.7.4+dfsg-16.1)
End-Date: 2018-02-20 09:07:22
Start-Date: 2018-02-21 08:57:48
Commandline: apt full-upgrade -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold
Install: libargon2-0:amd64 (0~20161029-1.1, automatic), libcryptsetup12:amd64 (2:2.0.1-1, automatic)
Upgrade: cryptsetup-bin:amd64 (2:1.7.5-1, 2:2.0.1-1), libsystemd0:amd64 (236-3, 237-3), libsystemd0:i386 (236-3, 237-3), console-setup-linux:amd64 (1.177, 1.178), libthai-data:amd64 (0.1.27-1, 0.1.27-2), udev:amd64 (236-3, 237-3), console-setup:amd64 (1.177, 1.178), libudev1:amd64 (236-3, 237-3), libudev1:i386 (236-3, 237-3), libinput-bin:amd64 (1.9.4-2, 1.10.0-1), libnss-myhostname:amd64 (236-3, 237-3), systemd-sysv:amd64 (236-3, 237-3), libpam-systemd:amd64 (236-3, 237-3), systemd:amd64 (236-3, 237-3), libthai0:amd64 (0.1.27-1, 0.1.27-2), libthai0:i386 (0.1.27-1, 0.1.27-2), keyboard-configuration:amd64 (1.177, 1.178), libinput10:amd64 (1.9.4-2, 1.10.0-1)
End-Date: 2018-02-21 08:59:29