J'ai configuré des mises à niveau sans assistance pour installer des packages de sécurité et avertir par courrier électronique quand il le fait.
J'ai remarqué que l'installation se produit à des moments très aléatoires. Je sais que les dernières versions ont ajouté un délai aléatoire allant jusqu'à 30 minutes à partir du temps d'exécution cron.daily.
Cependant, les retards que je vis sont bien plus importants que cela. Je vois des mises à jour sans surveillance s'exécuter à 9h, 15h, 12h ... Les journaux montrent la même chose, donc ce n'est pas seulement la livraison des e-mails qui prend plus de temps.
La tâche de mise à niveau sans assistance est la première dans cron.daily, ce qui signifie qu'il n'y a pas de tâche précédente avec des temps d'exécution énormes.
Quelqu'un a vécu une chose similaire?
la source
Réponses:
Après avoir débogué cela, j'ai trouvé la solution.
La cause première de ce problème réside dans le fait que sous Ubuntu 16.04 et plus récent, les mises à niveau sans assistance utilisent systemd - pas cron - pour planifier les mises à jour avec un énorme retard aléatoire:
/lib/systemd/system/apt-daily.timer
est configuré avecCela signifie qu'il fonctionnera deux fois par jour, à 6h00 et 18h00, avec un retard aléatoire pouvant aller jusqu'à 12 heures. Comme ce n'est pas toujours acceptable pour les environnements de production, j'ai dû remplacer ces paramètres.
Afin de garder les fichiers de configuration du package intacts, j'ai défini mon remplacement dans
/etc/systemd/system/apt-daily.timer.d/override.conf
( Mise à jour : veuillez lire la modification au bas de cette réponse pour plus d'informations sur le nom et l'emplacement du fichier, car il semble être légèrement sujet à changement).Là je mets
pour que les mises à niveau sans assistance s'exécutent à 6h00, plus un délai aléatoire pouvant aller jusqu'à une heure.
Ensuite, j'ai simplement redémarré le minuteur avec
systemctl restart apt-daily.timer
(éventuellement besoin de recharger le démon).Les mises à jour sans assistance s'exécutent à nouveau à des moments prévisibles!
Edit : Il semblerait que pour Ubuntu 18.04, les choses aient un peu changé. Le remplacement doit maintenant être stocké dans
/etc/systemd/system/apt-daily-upgrade.timer.d/override.conf
et ressembler à ceci:@PerlDuck a mentionné un moyen de créer un fichier de remplacement avec le bon nom et l'emplacement dans un commentaire ci-dessous. Au lieu de créer manuellement un fichier, pensez à exécuter
sudo systemctl edit apt-daily.timer
la source
La documentation officielle de Debian sur https://wiki.debian.org/UnattendedUpgrades contient actuellement une erreur qui trompe beaucoup de gens. Il prétend que vous pouvez remplacer le temps de mise à niveau en créant un fichier appelé
Cependant, le chemin correct est
la source
sudo systemctl edit apt-daily.timer
. Cela ouvrira un éditeur avec le fichier de dépôt correct.J'ai essayé la solution de Daniel, mais la mise à niveau s'est toujours déroulée aux mauvais moments. Il s'est avéré que deux substitutions systemd sont nécessaires:
Utilisé pour les téléchargements
/lib/systemd/system/apt-daily.timer - remplacer par /etc/systemd/system/apt-daily.timer.d/override.conf
Utilisé pour la mise à niveau
/lib/systemd/system/apt-daily-upgrade.timer - remplacer par /etc/systemd/system/apt-daily-upgrade.timer.d/override.conf
la source