Apt, Systemd, sans pk-update-icon point de salut

ça marche mais ce n’est pas satisfaisant pour mon cas car il faut que le réseau soit accessible pour utliser les fonctions d’apt. Et je ne maitrise pas la séquentialité.
Mais ça m’a permis de savoir que par défaut les tâches de cron et anacron génèrent un mail de résultat. :grinning:

Donc retour dans le futur:

  • Suppresion de apticron

  • Masquage des services systemd apt qui ne me conviennent pas pour un PC familial qui est allumé et éteins plusieurs fois par jour

root@debian:/# systemctl mask apt-daily-upgrade.service
Created symlink /etc/systemd/system/apt-daily-upgrade.service → /dev/null.
root@debian:/# systemctl mask apt-daily.service
Created symlink /etc/systemd/system/apt-daily.service → /dev/null.
root@debian:/# systemctl disable apt-daily-upgrade.timer
Removed /etc/systemd/system/timers.target.wants/apt-daily-upgrade.timer.
root@debian:/# systemctl disable apt-daily.timer
Removed /etc/systemd/system/timers.target.wants/apt-daily.timer.

  • Création de mon script perso dans /etc/cron.daily basé sur apt-compat allégé pour lancement de /usr/lib/apt/apt.systemd.daily sans erreurs d’accès au réseau
root@debian:/etc/cron.daily# cat apt-perso 
#!/bin/sh
set -e
# pour tracer demasque set -x
#set -x
check_power()
{
    # laptop check, on_ac_power returns:
    #       0 (true)    System is on main power
    #       1 (false)   System is not on main power
    #       255 (false) Power status could not be determined
    # Desktop systems always return 255 it seems
    if which on_ac_power >/dev/null 2>&1; then
        on_ac_power
        POWER=$?
        if [ $POWER -eq 1 ]; then
            return 1
        fi
    fi
    return 0
}

# ensure we don't do this on battery
check_power || exit 0

# run daily job
exec /usr/lib/apt/apt.systemd.daily update
root@debian:/# 

  • Et voilà le mail de compte-rendu de mon script

  • Quelques infos sur anacron
    . Vérifier le lancement des tâches en commande root: run-parts -v /etc/cron.daily
    . Pour forcer le lancement au reboot, supprimer le fichier stamp dans /var/spool/anacron

root@debian:/# journalctl -b | grep anacron
juin 23 15:41:18 debian anacron[645]: Anacron 2.3 started on 2017-06-23
juin 23 15:41:19 debian anacron[645]: Will run job `cron.daily' in 5 min.
juin 23 15:41:19 debian anacron[645]: Jobs will be executed sequentially
juin 23 15:41:17 debian systemd[1]: anacron.timer: Adding 5.016635s random time.
juin 23 15:41:17 debian systemd[1]: Started Trigger anacron every hour.
juin 23 15:41:17 debian systemd[1]: Started Run anacron jobs.
juin 23 15:41:17 debian systemd[1]: anacron.timer: Adding 1min 40.754219s random time.
juin 23 15:41:17 debian systemd[1]: anacron.timer: Adding 41.137811s random time.
juin 23 15:41:47 debian systemd[1]: anacron.timer: Adding 2min 45.004738s random time.
juin 23 15:46:18 debian anacron[645]: Job `cron.daily' started
juin 23 15:46:18 debian anacron[1835]: Updated timestamp for job `cron.daily' to 2017-06-23
juin 23 15:47:48 debian anacron[645]: Job `cron.daily' terminated (mailing output)
juin 23 15:47:49 debian anacron[645]: Normal exit (1 job run)
juin 23 15:47:49 debian systemd[1]: anacron.timer: Adding 33.202913s random time.
juin 23 16:00:34 debian systemd[1]: Started Run anacron jobs.
juin 23 16:00:34 debian anacron[3411]: Anacron 2.3 started on 2017-06-23
juin 23 16:00:34 debian anacron[3411]: Normal exit (0 jobs run)
juin 23 16:00:34 debian systemd[1]: anacron.timer: Adding 1min 53.604500s random time.