Des mises à niveau sans assistance sont configurées, mais certains packages ne sont pas mis à jour automatiquement.
root@survey:/home/martin# apt update
root@survey:/home/martin# unattended-upgrade -v --dry-run
Initial blacklisted packages:
Initial whitelisted packages:
Starting unattended upgrades script
Allowed origins are: o=Ubuntu,a=xenial, o=Ubuntu,a=xenial-updates, o=Ubuntu,a=xenial-security, o=UbuntuESM,a=xenial
No packages found that can be upgraded unattended and no pending auto-removals
root@survey:/home/martin# /usr/lib/update-notifier/apt-check -p
python-rfc3339
python-zope.hookable
python-configargparse
python-zope.component
La configuration des origines dans /etc/apt/apt.conf.d/50unattended-upgrades
:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-updates";
"${distro_id}:${distro_codename}-security";
"${distro_id}ESM:${distro_codename}";
};
Les paquets en attente proviennent, à ma connaissance, du dépôt officiel ubuntu ( lien Launchpad ), donc je ne vois pas pourquoi il ne serait pas récupéré par unattended-upgrade
.
La sortie de la commande dit que
Aucun package n'a trouvé que peut être mis à niveau sans assistance et aucun retrait automatique en attente.
Existe-t-il un cas où un package est récupéré par l'outil, provient d'une source autorisée, mais pour une raison quelconque, il n'est pas autorisé à le mettre à niveau sans surveillance? Quelles autres étapes puis-je faire pour découvrir pourquoi certains packages ne sont pas éligibles?
Je crois que vous manquez 20auto-upgrades
et doit d'abord l'implémenter correctement pour voir si cela résout votre problème avant de continuer. Vous pouvez voir que c'est une étape importante dans la documentation Mises à jour automatiques .
$ cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
Si vous avez ce fichier et qu'il ne fonctionne toujours pas, vous pouvez essayer de comprendre ce qui retient les packages. Je préfère Origins-Pattern
à Allowed-Origins
, qui est différent de la documentation, mais qui a bien fonctionné pour moi:
$ vim /etc/apt/apt.conf.d/50unattended-upgrades
# You need to customize configuration
Voici un exemple du composant critique "Pattern" dans 50unattended-upgrades
:
Unattended-Upgrade::Origins-Pattern {
// Codename based matching:
// This will follow the migration of a release through different
// archives (e.g. from testing to stable and later oldstable).
// Archive or Suite based matching:
// Note that this will silently match a different release after
// migration to the specified archive (e.g. testing becomes the
// new stable).
// "o=Ubuntu,a=stable";
// "o=Ubuntu,a=stable-updates";
// "o=Ubuntu,a=proposed-updates";
"Origin=Ubuntu,codename=${distro_codename}";
};
Voici un exemple qui ne restreint pas en fonction du référentiel:
Unattended-Upgrade::Origins-Pattern {
"o=*";
}
Vous ne voudrez que Origin-Patterns
ou Allowed-Origins
et pas les deux. Ceci est plus clair et documenté dans la documentation de Debian Mises à jour sans assistance .
Essayez d'activer uniquement cela, qui n'est que les mises à jour de sécurité. Testez son fonctionnement et ajoutez vos autres modèles, un par un, jusqu'à ce que vous les ajoutiez et vérifiez que chaque mise à jour ne rompt pas vos tests de fonctionnement à sec.
Je recommanderais également de spécifier Ubuntu et d'écrire des fichiers de configuration complètement différents pour les systèmes Debian, si vous avez un mix.
Assurez-vous que vous ne détenez aucun package pouvant empêcher les mises à jour:
$ Sudo apt-mark showhold
Assurez-vous que vous pouvez installer les mises à jour normalement ou que apt
est configuré pour hiérarchiser correctement chaque type de version:
$ cat /etc/apt/preferences.d/custom
Package: *
Pin: release a=bionic
# Only explicit installs
#Pin-Priority: 1001
# Explicit and dependencies
Pin-Priority: 900
Package: *
Pin: release a=testing
Pin-Priority: 399
Package: *
Pin: release a=unstable
Pin-Priority: -10
Certaines mises à jour nécessiteront un redémarrage de la machine et vous devrez décider si vous le faites manuellement ou autoriser apt
à redémarrer la machine à un moment donné lorsque les mises à jour l'exigent.
Une question similaire a été posée auparavant:
La réponse d'acceptation indique:
La plupart de la réponse se trouve dans votre fichier journal des mises à niveau sans assistance, situé à
/var/log/unattended-upgrades/unattended-upgrades.log
Voici un exemple:
2018-01-08 06:17:51,770 INFO Starting unattended upgrades script 2018-01-08 06:17:51,771 INFO Allowed origins are: ['o=Ubuntu,a=xenial-security'] 2018-01-08 06:18:07,765 INFO No packages found that can be upgraded unattended and no pending auto-removals
Jetez un œil à cette ligne médiane "Origines autorisées". Cela signifie des référentiels de logiciels. La seule source qui existe est la sécurité. Pas de mises à niveau, pas de rétroportages, pas de PPA, pas de repos tiers.
En d'autres termes, cet exemple de mises à niveau sans assistance fournit uniquement des mises à niveau de sécurité. Rien d'autre.
Vous pouvez ajouter, supprimer ou modifier les origines autorisées (référentiels) via le panneau de configuration des logiciels et des mises à jour, ou en modifiant le fichier de configuration des mises à niveau sans assistance, situé à
/etc/apt/apt.conf.d/50unattended-upgrades
.Le reste de la réponse est que Xenial (16.04) a deux ans. Moins de nouvelles mises à jour de sécurité pour les anciens logiciels.
Lecture supplémentaire:
Il vaut la peine de vérifier si vous avez marqué pour conserver les packages, ce qui pourrait empêcher la mise à niveau des packages.
Sudo apt-mark showhold