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:
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é).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
.
Donc si vous voulez:
unattended-upgrades
_unattended-upgrades
_ eux-mêmes(Donc, en gros, vous avez votre gâteau et vous le mangez aussi ; -) )
Tu devras:
grep
S DATE D'AUJOURD'HUI DANS _var/log/dpkg.log
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é.
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.