web-dev-qa-db-fra.com

Remplacement des options de configuration pour les mises à niveau sans assistance

J'ai plusieurs serveurs Ubuntu pour lesquels je souhaite que toutes les mises à niveau soient appliquées automatiquement. J'avais l'habitude d'utiliser un script simple qui exécutait apt-get update && apt-get upgrade mais ce n'était pas très robuste. J'essaie donc de migrer vers unattended-upgrades, ce qui semble être la méthode officiellement recommandée.

Cependant, j'ai du mal à accomplir les tâches suivantes:

  • Comment recevoir un email tous les jours (en supposant que unattended-upgrades s'exécute tous les jours). Pour le moment, il semble que je ne reçois des courriels que lorsque les paquets sont mis à niveau (je préfère recevoir un courrier électronique tous les jours, car je sais que si le courrier électronique n'arrive pas, quelque chose s'est mal passé).
  • Comment mettre à jour tous les paquets, pas seulement ceux avec les mises à jour de sécurité.

Tous les tutoriels que je peux trouver, y compris le documentation officielle d'Ubunt , me disent d'éditer les fichiers existants dans /etc/apt/apt.conf.d. Cependant, je préfère remplacer les options en utilisant des fichiers supplémentaires, en partie pour éviter l'erreur "Erreur de maintenance du fichier de configuration" et parce que cela facilite la conservation de tous les remplacements dans la gestion de la configuration et le contrôle de version.

Est-il possible de remplacer toutes les options de configuration de cette manière? J'ai essayé de le faire et j'ai constaté que certaines dérogations semblent fonctionner alors que d'autres non.

Mon fichier actuel remplace les fichiers à l'adresse /etc/apt/apt.conf.d/99zz-overrides (nommé pour s'assurer qu'il est lu en dernier) et contient les éléments suivants:

Unattended-Upgrade::Mail "[email protected]";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Je n'ai rien changé d'autre dans /etc/apt/apt.conf.d.

4
pwaring

Donc si vous voulez:

  • utiliser _unattended-upgrades_
    et
  • changer de comportement
    et
  • ne pas modifier les scripts de package dans _unattended-upgrades_ eux-mêmes

(Donc, en gros, vous avez votre gâteau et vous le mangez aussi ; -) )

Tu devras:

si l'e-mail est vide: rien ne s'est passé, sinon vous aurez le journal de sorte que tous les e-mails vides et complets correspondent à ce que vous avez demandé.

1
Fabby

Dessiner à partir de https://Gist.github.com/roybotnik/b0ec2eda2bc625e19eaf et https://wiki.debian.org/UnattendedUpgrades :

Le fichier /etc/apt/apt.conf.d/50unattended-upgrades contient toutes les options disponibles pour sa configuration et une explication de chacune d’elles.

Il ne semble pas possible d'envoyer un courrier électronique à chaque exécution, uniquement en cas de problèmes de mise à niveau. Vous pouvez toutefois définir si vous souhaitez recevoir des courriers électroniques pour toutes les mises à niveau ou uniquement des problèmes (Unattended-Upgrade::MailOnlyOnError ["true"/"false"]

Pour répondre à la deuxième partie de votre question, vous pouvez définir les sources que les mises à niveau sans assistance utiliseront comme suit:

Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}-security";
//      "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
};

En supprimant la mise en commentaire de la ligne updates ou d'autres lignes, vous mettriez automatiquement à jour les ensembles de packages correspondants.

0
Hal Jarrett