web-dev-qa-db-fra.com

Quel système de mises à niveau sans assistance est prioritaire et comment?

Je viens de rencontrer une réponse qui m'a amené à me demander comment le système de mise à niveau sans assistance fonctionne. Il semble y avoir au moins deux systèmes sur mon ordinateur:

  1. unattended-upgrades avec /etc/apt/apt.conf.d/50unattended-upgrades, appelé depuis /etc/cron.daily/apt, et

  2. Les paramètres du gestionnaire de mise à jour de l'interface graphique (software-properties-kde et al). Je ne sais pas comment ce deuxième système planifie ou s'exécute, mais j'ai observé que la modification des paramètres dans l'interface graphique pas met à jour les paramètres dans /etc/apt/apt.conf.d/50unattended-upgrades.

Cela m'amène à croire qu'il s'agit en fait de deux systèmes concurrents. S'ils sont corrects, fonctionnent-ils tous les deux selon leur propre horaire ou l'un court-circuite-t-il l'autre? Et comment le paramètre de mise à jour sans assistance des propriétés du logiciel GUI est-il actionné?

4
Oli
  1. CRON

    Extrait de /etc/cron.daily/apt:

    # This file understands the following apt configuration variables:
    # Values here are the default.
    
    ...
    
    #  APT::Periodic::Unattended-Upgrade "0";
    #  - Run the "unattended-upgrade" security upgrade script 
    #    every n-days (0=disabled)
    #    Requires the package "unattended-upgrades" and will write
    #    a log in /var/log/unattended-upgrades
    
    ...
    
    UnattendedUpgradeInterval=0
    eval $(apt-config Shell UnattendedUpgradeInterval APT::Periodic::Unattended-Upgrade)
    
    ...
    
    # auto upgrade all upgradeable packages
    UPGRADE_STAMP=/var/lib/apt/periodic/upgrade-stamp
    if which unattended-upgrade >/dev/null && check_stamp $UPGRADE_STAMP $UnattendedUpgradeInterval; then
        if unattended-upgrade $XUUPOPT; then
            update_stamp $UPGRADE_STAMP
            debug_echo "unattended-upgrade (success)"
        else
            debug_echo "unattended-upgrade (error)"
        fi
    else
        debug_echo "unattended-upgrade (not run)"
    fi
    

    Description du package unattended-upgrades:

    Ce package peut télécharger et installer des mises à niveau de sécurité automatiquement et sans surveillance, en prenant soin d'installer uniquement les packages à partir de la source configurée APT, et en vérifiant les invites de dpkg concernant les modifications du fichier de configuration.

    Ce script est le backend de l'option APT :: Periodic :: Unattended-Upgrade.

    La tâche APT cron s'exécute unattended-upgrade, qui est le programme qui télécharge et installe les mises à niveau, mais uniquement si la variable APT APT::Periodic::Unattended-Upgrade n'est pas 0.

  2. Propriétés du logiciel

    Paramètres des options Vérifier automatiquement les mises à jour et Lorsqu'il y a les mises à jour de sécurité sont enregistrées dans le fichier /etc/apt/apt.conf.d/10periodic.

    Rechercher automatiquement les mises à jour correspond à APT variable APT::Periodic::Update-Package-Lists.

    Lorsqu'il y a des mises à jour de sécurité correspond aux variables APT::Periodic::Download-Upgradeable-Packages et APT::Periodic::Unattended-Upgrade.

    Sélectionner ( Télécharger et installer automatiquement (les mises à jour de sécurité) définira APT::Periodic::Unattended-Upgrade à 1. C'est ce qui indique à la tâche APT cron d'exécuter unattended-upgrade, qui effectue tout le travail d'installation du package.

    La fenêtre Propriétés du logiciel contrôle uniquement la planification de ces trois tâches périodiques d'APT: recherchez les mises à jour, téléchargez les packages pouvant être mis à niveau et exécutez unattended-upgrade. Il ne fait rien, tout le travail est fait par /etc/cron.daily/apt et unattended-upgrade.

  3. unattended-upgrade

    Le programme qui effectue réellement la tâche de mise à niveau. Le fichier /etc/apt/apt.conf.d/50unattended-upgrades contient les paramètres qui affectent le comportement de unattended-upgrade. Il n'est lu par aucun autre programme. Si vous souhaitez personnaliser la façon dont les mises à niveau sont installées, vous devez modifier manuellement ce fichier.

Il n'y a qu'un seul système de mise à niveau sans assistance (unattended-upgrade) appelé par la tâche cron APT cron (/etc/cron.daily/apt) uniquement si nous l'activons via la fenêtre Propriétés du logiciel (ou en modifiant manuellement /etc/apt/apt.conf.d/10periodic).

1
Eric Carvalho