Есть ли способ включить пакет в не требующие внимания обновления, когда включены только обновления безопасности?

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

Мне интересно узнать, как именно работает механизм, который выбирает пакет в качестве обновления безопасности для установки.

Меня также интересует, может ли это произойти с пакетом от третьей стороны.

По умолчанию все пакеты Ubuntu уже настроены как часть пакетов, которые выбираются для автоматических обновлений. НО фактически выполняются только обновления безопасности из-за моих настроек. Я пытаюсь понять, как выбираются пакеты в качестве пакетов безопасности.

Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}";
    "${distro_id}:${distro_codename}-security";
    ...
}

Насколько я понимаю, файл для пакета из репозитория третьей стороны в /var/lib/apt/lists должен иметь определенное Origin:, чтобы можно было использовать Unattended-Upgrade::Origins-Pattern. Я пытался это с Brave, и, к сожалению, там нет Origin:, но предполагая, что он есть для другого пакета, мне интересно, как это будет работать, если не все автоматические обновления включены, а только обновления безопасности.

ИИ говорит мне, что я должен выполнить apt-cache policy firefox, чтобы проверить, отмечен ли пакет как пакет безопасности, и я вижу, что мой пакет Firefox в данный момент НЕ установлен как пакет безопасности. Но разве не каждое новое обновление браузера не является обновлением безопасности? Я думаю, что нет, но по стандартам Ubuntu. По крайней мере, судя по примеру, который дает мне ИИ.

firefox:
  Установлено: 1.2.3-4
  Кандидат: 1.2.3-4
  Таблица версий:
     1.2.3-4 500
        500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
     1.2.2-3 500
        500 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages

Для меня это просто показывает oracular/main, а не -security

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

Вопрос о том, как включить пакеты 3-й стороны в автоматические обновления, когда разрешены только обновления безопасности, требует детального понимания механизма работы обновлений в Ubuntu и принципов, используемых для классификации пакетов как обновлений безопасности.

Механизм выбора пакетов для обновления безопасности

Ubuntu использует систему управления пакетами APT для установки и обновления программного обеспечения. Пакеты, которые соответствуют критериям обновления безопасности, четко обозначаются в репозиториях и могут быть автоматически распознаны системой обновлений.

При настройке unattended-upgrades в конфигурационном файле /etc/apt/apt.conf.d/50unattended-upgrades, часть кода, связанная с разрешенными источниками, выглядит следующим образом:

Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}";
    "${distro_id}:${distro_codename}-security";
    ...
}

Здесь "${distro_id}:${distro_codename}-security" гарантирует, что допустимы только обновления из секции безопасности данного дистрибутива. Таким образом, для пакета, чтобы его обновления автоматически устанавливались, он должен быть помечен как пакет безопасности.

Как пакеты 3-й стороны могут быть отнесены к обновлениям безопасности

Для 3-х сторонних пакетов, размещенных в пользовательских репозиториях, наличия метки Origin: в файле /var/lib/apt/lists недостаточно для автоматической классификации их как обновления безопасности.

  1. Определение метки безопасности: Пакет должен быть загружен из репозитория, который обозначен как security. В зависимости от политики конкретного пакета, необходимо, чтобы его разработчик официально пометил обновления как безопасные. Если это не предусмотрено, автоматические обновления для этого пакета будут недоступны.

  2. Добавление оригинальных меток: Если у вас есть доступ к пакету, который вы хотите отнести к обновлениям безопасности, вам потребуется создать собственный репозиторий или использовать существующий, где пакет будет правильно помечен и поддерживаться.

В вашем примере с пакетом Brave, если в его метаданных нет строки Origin:, это означает, что система не сможет его отнести к обновлениям безопасности, даже если вы добавите его в Unattended-Upgrade::Origins-Pattern. Если пакет, который вы хотите обновить, не имеет меток безопасности, его невозможно будет включить в автоматическое обновление, разрешенное вами.

Как увидеть, является ли пакет безопасным

Вы можете использовать команду apt-cache policy <имя_пакета>, чтобы проверить, отмечен ли пакет как безопасный. Это важно, потому что, как вы заметили на примере с Firefox, его версия не является частью списка *-security, следовательно, для вашей системы она не рассматривается как обновление безопасности:

firefox:
  Installed: 1.2.3-4
  Candidate: 1.2.3-4
  Version table:
     1.2.3-4 500
        500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
     1.2.2-3 500
        500 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages

Заключение

Включение пакетов 3-й стороны в автоматические обновления безопасности возможно только если они помечены соответствующим образом и доступны через официальный репозиторий. К сожалению, если пакет не имеет статуса безопасности, он не будет обновлен в автоматическом режиме. Рекомендуется следить за новыми версиями и существенно обновлять такие пакеты вручную. Используйте команды APT для контроля версий и следите за обновлениями от поставщиков программного обеспечения для поддержания безопасности вашей системы.

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

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