У меня настроены автоматические обновления, но некоторые пакеты не обновляются автоматически.
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
Конфигурация источников в /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}";
};
Насколько мне известно, ожидающие пакеты приходят из официального репозитория Ubuntu ( Launchpad link ), поэтому я не вижу причины, по которой она не была бы подхвачена unattended-upgrade
.
Выходные данные команды говорят, что
Не найдено пакетов, которые могут быть обновлены без присмотра и нет ожидающих автоматического удаления.
Существует ли случай, когда инструмент выбирает пакет, поступает из разрешенного источника, но по какой-то причине не может быть обновлен без присмотра? Какие дальнейшие шаги я могу сделать, чтобы выяснить , почему некоторые пакеты не имеют права?
Я полагаю, что Вы отсутствуете 20auto-upgrades
и должен сначала реализовать его правильно, чтобы видеть, устраняет ли это Вашу проблему перед хождением дальше. Вы видите, что это - важный шаг в документации Автоматических обновлений.
$ cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
Если у Вас есть тот файл, и он все еще не работает, можно попытаться выяснить то, что удерживает на месте пакеты. Я предпочитаю Origins-Pattern
кому: Allowed-Origins
, который отличается от документации, но работал хорошо на меня:
$ vim /etc/apt/apt.conf.d/50unattended-upgrades
# You need to customize configuration
Вот пример критического компонента 'Шаблона' в 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}";
};
Это - пример, который не ограничивает на основе репозитория:
Unattended-Upgrade::Origins-Pattern {
"o=*";
}
Вы только захотите также Origin-Patterns
или Allowed-Origins
и не оба. Это более ясно и зарегистрировано в Необслуживаемую документацию Обновлений Debian.
Попытайтесь включить просто это, которое является только Обновлениями системы защиты. Тест, что это работает и добавляет Ваши другие шаблоны, один за другим, пока Вы не добавляете каждого и проверяете, что каждый обновленный не повреждает Ваше тестирование пробного прогона.
Я также рекомендовал бы указать Ubuntu и записать совершенно другие конфигурационные файлы для систем Debian, если у Вас есть соединение.
Убедитесь, что Вы не держите пакетов, которые могли предотвратить обновления:
$ sudo apt-mark showhold
Убедитесь, что можно обычно устанавливать обновления, или что apt
настроен для приоритизации каждого типа выпуска правильно:
$ 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
Некоторые обновления потребуют перезагрузки машины, и необходимо будет решить, делаете ли Вы это вручную или позволяете apt
перезапускать машину в установленный срок при необходимости обновлениями.
Стоящий проверки, отметили ли Вы для содержания пакетов, которые могли бы препятствовать тому, чтобы пакеты обновили.
sudo apt-mark showhold
Подобный вопрос задали прежде:
Принять состояния ответа:
Большая часть ответа находится в Вашем файле журнала необслуживаемых обновлений, расположенном в
/var/log/unattended-upgrades/unattended-upgrades.log
Вот пример:
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
Смотрите на ту среднюю строку, 'Позволенную источники'. Это означает Репозитории программного обеспечения. Единственный источник там - безопасность. Не - обновления, не - бэкпорты, никакой PPAs, никакой сторонний repos.
Другими словами, этот пример необслуживаемые обновления только обеспечивает обновления безопасности. Ничто иное.
Можно добавить, удалить или отредактировать Позволенные Источники (репозитории) через программное обеспечение и Панель управления Обновлений, или путем редактирования файла конфигурации необслуживаемых обновлений, расположенного в
/etc/apt/apt.conf.d/50unattended-upgrades
.Остальная часть ответа - то, что Гостеприимный (16.04) два года. Меньше новых обновлений системы защиты для старого программного обеспечения.
Дополнительное чтение: