Pour éviter que ces fonctions ne se percutent et ralentissent le démarrage de gnome-shell j’ai utilisé des chronomètres (timers).
Environnement
PC sous Linux Debian 10 (Buster)
services CRéés
/etc/systemd/system/maj.service
[Unit]
Description=Mise à jour périodique
After=exim4.service
[Service]
Type=oneshot
ExecStartPre=/bin/sleep 60
ExecStart=/opt/update-perso
/etc/systemd/system/maj.timer
[Unit]
Description=Exécuter le service maj periodicité 4h à la 20ieme minute
[Timer]
OnCalendar=*-*-* 0/4:20:00
Persistent=true
[Install]
WantedBy=timers.target
/etc/systemd/system/sav-protect.timer
[Unit]
Description=Exécuter Sophos anti-virus 10 mn après le boot
[Timer]
OnBootSec=10min
[Install]
WantedBy=timers.target
activeR uniquement les timers
systemctl enable maj.timer
systemctl enable sav-protect.timer
Vérification
systemctl list-timers --all
NEXT LEFT LAST PASSED UNIT ACTIVATES
Thu 2018-11-29 12:20:00 CET 7min left Thu 2018-11-29 11:10:07 CET 1h 2min ago maj.timer maj.service
n/a n/a Thu 2018-11-29 11:56:24 CET 16min ago sav-protect.timer sav-protect.service
Explications
La mise à jour est activée toute les 4h à la 20ième minute: 00h20, 04h20, 08h20, 12h20, 16h20, 20h20.
Le PC étant éteint la nuit, au boot matinal Anacron rattrape le temps et lance maj.service, puis réactive maj.service aux heures prévues.
10 mn après chaque boot, le service sav-protect est lancé, c’est l’anti-virus Sophos.
Analyse du démarrage
Sans mise à jour DEBIAN
systemd-analyze
Startup finished in 7.768s (kernel) + 41.408s (userspace) = 49.176s
graphical.target reached after 41.393s in userspace
systemd-analyze blame
1min 21.805s maj.service -> cas sans maj Debian à faire, considérant la tempo de 60 s, durée réelle est de 21.805s
1min 12.714s sav-update.service -> service de mise à jour de Sophos anti-virus
26.109s sav-protect.service -> Sophos anti-virus
Avec mise à jour DEBIAN
systemd-analyze
Startup finished in 7.915s (kernel) + 5min 6.006s (userspace) = 5min 13.921s
graphical.target reached after 43.382s in userspace
systemd-analyze blame
4min 34.099s maj.service -> cas avec maj Debian à faire, considérant la tempo de 60 s, durée réelle est de 3mn34s
31.480s sav-update.service -> service de mise à jour de Sophos anti-virus
28.368s sav-protect.service -> Sophos anti-virus
Conclusion
Considérant le matériel de mon petit PC, simple AMD Athlon(tm) II P340 Dual-Core, peu de RAM (4 Go), ça me va.
La session utilisateur est toujours disponible en un peu plus de 40 secondes.