Как заставить unattended-upgrade подчиняться закрепленным пакетам apt?

Вопрос или проблема

Пакет unattended-upgrade, который полезен для синхронизации с обновлениями безопасности, похоже, переопределяет закрепленные пакеты, что регулярно нарушает работу моей системы, и мне приходится его удалять (тем самым делая мою систему менее безопасной).

Я наблюдаю это с пакетом firefox. Я пытаюсь использовать пакет от mozilla и закрепил его, чтобы не использовать snap-пакет. Он регулярно “обновляется” (из-за эпохи) до snap-пакета, мне потребовалось некоторое время, чтобы понять, почему, но я разобрался, проверив history.log

Start-Date: 2024-05-16  10:19:05
Commandline: /usr/bin/unattended-upgrade
Upgrade: firefox:amd64 (125.0.3~build1, 1:1snap1-0ubuntu5)
End-Date: 2024-05-16  10:19:07
Start-Date: 2024-05-29  06:39:37
Commandline: /usr/bin/unattended-upgrade
Upgrade: firefox:amd64 (126.0~build2, 1:1snap1-0ubuntu5)
End-Date: 2024-05-29  06:39:38

apt/aptitude не имеют этой проблемы, так как они подчиняются моим закреплениям, но unattended-upgrade этого не делает.

Package: *
Pin: origin packages.mozilla.org
Pin-Priority: 1000

Это не исправленный баг в unattended-upgrades:

Правильное обходное решение – разрешить все источники (репозитории) для автоматических обновлений:

/etc/apt/apt.conf.d/99unattended-upgrades-custom:

Unattended-Upgrade::Origins-Pattern {
    "origin=*";
};

Что, вероятно, и есть то, что вам нужно.

Ответ или решение

Чтобы обеспечить работу unattended-upgrades в соответствии с вашими настройками приоритета пакетов (pinned packages), необходимо решить существующую проблему, при которой unattended-upgrades игнорирует указанные вами приоритеты.

Ваша ситуация, когда unattended-upgrades обновляет пакет Firefox до версии, установленной в Snap, несмотря на ваши настройки, связана с известной ошибкой в пакете unattended-upgrades. Однако есть обходные пути, которые могут помочь вам сохранить безопасность системы, не отказываясь от автоматических обновлений.

Решение проблемы

  1. Создайте файл настроек для unattended-upgrades:

    Вам нужно будет настроить файл конфигурации, чтобы разрешить автоматические обновления для всех источников (репозиториев):

    Откройте терминал и выполните следующую команду для создания или редактирования файла:

    sudo nano /etc/apt/apt.conf.d/99unattended-upgrades-custom
  2. Добавьте следующие строки в файл:

    Вставьте следующее содержимое в файл:

    Unattended-Upgrade::Origins-Pattern {
       "origin=*";
    };

    Это позволит unattended-upgrades принимать во внимание все происхождения пакетов при автоматических обновлениях. Тем не менее, по умолчанию этот подход может не решить проблему игнорирования приоритетов. В результате, вы можете столкнуться с неуместными обновлениями.

  3. Настройка исключений (если это нужно):

    Чтобы сделать ваше решение более аккуратным, вы можете дополнительно настроить исключения для пакетов, которые не должны обновляться автоматически. Для этого добавьте секцию для исключений в ваш конфигурационный файл. Например, для Firefox:

    Unattended-Upgrade::Package-Blacklist {
       "firefox";
    };
  4. Проверка конфигурации:

    Перезагрузите службу unattended-upgrades, чтобы сохранить внесенные изменения:

    sudo systemctl restart unattended-upgrades
  5. Тестирование и мониторинг:

    Рекомендуется следить за первыми несколькими автоматическими обновлениями, чтобы убедиться, что ваши настройки работают как ожидалось. Вы можете просматривать логи в /var/log/unattended-upgrades/ для проверки, было ли принято ваши настройки при выборе пакетов для обновления.

Заключение

Эти шаги помогут вам сохранить автоматические обновления системы в безопасности, при этом игнорируя нежелательные изменения в ваших пинах. Убедитесь, что вы внимательно следите за обновлениями и в при необходимости корректируете настройки для достижения желаемого уровня управления системой.

Если эта проблема будет повторяться или будет обнаружена новая информация о unattended-upgrades, следите за обновлениями в официальных баг-трекерах, упомянутых вами ранее, чтобы быть в курсе любых доступных исправлений.

Благодарю за ваше время, и надеюсь, что данное решение поможет вам в дальнейшем управлении системой.

Оцените материал
Добавить комментарий

Капча загружается...