← Назад к «Интерфейсы (UI)»

Управление обновлениями — Linux

Локальные репозитории

Зачем нужна эта вкладка

Вкладка «Управление обновлениями» — это рабочий стол администратора обновлений. У неё есть переключатель Linux / Windows в шапке. Этот раздел описывает Linux-часть: здесь собрано всё для полного цикла управления deb/rpm-пакетами. Windows-часть описана отдельно — Управление обновлениями — Windows.

Здесь решаются задачи:

  • Знать, что доступно — какие репозитории подключены, какие версии пакетов есть.
  • Запускать установку — точечно или массово, по расписанию или вручную.
  • Следить за соблюдением политик — кто отстаёт, у кого ошибки, у кого расхождения.
  • Доставлять пакеты в филиалы — через Site-серверы.
  • Искать конкретный пакет — где он установлен, на каких машинах доступен.

infoТаргетинг через коллекции

Цели кампаний, пакетных заданий и compliance задаются через коллекции (узлы дерева Каталога и политик).

Вкладка состоит из 7 подвкладок — каждая закрывает свою задачу:

Подвкладка Когда пользоваться
Кампании установки Запланировать и провести массовое обновление (например, «патч всех серверов на выходных»).
Пакетные задания Разовая установка на конкретные хосты, или просмотр журнала всех установок.
Compliance хостов Понять, кто и насколько отстаёт от актуального состояния.
Управление репозиториями Добавить внешний репозиторий, создать локальный, заморозить ветку.
Хранилища Настроить дисковые каталоги, где физически лежат пакеты.
Репликация Настроить синхронизацию репозиториев с Site-серверами.
Поиск по пакетам Найти конкретный пакет — где установлен, какие версии, на каких хостах.

Подвкладка «Кампании установки»

Кампании установки

Кампания — это сценарий массовой установки. В отличие от разового пакетного задания, кампания:

  • Работает по расписанию — например, «каждую субботу с 03:00».
  • Охватывает сразу много целей — коллекции и отдельные хосты.
  • Уважает временное окно — окно установки, чтобы не мешать пользователям.
  • Может работать в режиме auto-continue — создавать следующие волны для машин, не обновившихся в первой.
  • Для линеечных репозиториев — раскатываться волнами: пилот на ветке current, после проверки и выдержки — остальные парком на stable (см. ниже).

lightbulbПрактическое руководство

Как работают кампании, все опции мастера, поведение волн и пошаговые сценарии — в руководстве по кампаниям Linux.

Рецепты кампаний

Кампании Linux строятся по одному из двух рецептов:

Рецепт Как работает Когда выбирать
Простая Установка обновлений по расписанию в выбранном окне, без фиксации состава Обычная гигиена парка
Раскатка по волнам Пилотная волна ставит срез ветки current, остальные — stable после промоушена. Переход между волнами — по порогу успехов, согласиям хостов и отзывам сессии тестирования Осторожный выкат обновлений линеечных репозиториев: сначала проверяем на пилоте, затем весь парк

Когда создавать кампанию

  • Регулярная гигиена: «каждый четверг обновляем рабочие станции».
  • Разовая акция: «в субботу ставим большой патч безопасности на все серверы».
  • Поэтапное внедрение: «сначала тестовая коллекция, через неделю — половина парка, ещё через неделю — остальные».

Что задаётся в мастере кампании

Мастер кампании, вкладка «Задача»

  • Имя и описание — чтобы было понятно в списке и журнале.
  • Цели — коллекции (узлы дерева Каталога и политик) и/или конкретные машины.
  • Тип кампании — что ставить: «все доступные обновления», конкретные пакеты, или команды.
  • Расписание — разово в конкретное время, или по cron-выражению, или каждые N часов. Время задаётся в часовом поясе кампании и на экране показывается в поясе браузера.
  • Окно установки — с какого и по какое время разрешена установка. Если машина не успела в окно — задание отменяется.
  • Перезагрузка — разрешить/запретить перезагрузку после установки (для серверов часто запрещают в рабочие часы).

Для рецепта «раскатка по волнам» в мастере появляются дополнительные вкладки:

  • Линейка — пресет ОС задаёт аудиторию и подтягивает все линейки этой версии; прикладные линейки добавляются явно, промоушен идёт одной транзакцией.
  • Волны — ровно две: пилот на current и остальные на stable. Пилот — те, кто по GPO смотрит current; его можно сузить относительно целей кампании. Задаются порог перехода: ждать согласий N часов, минимум согласившихся хостов, выдержка после порога в днях. Замороженные (frozen) хосты исключаются.
  • Аттестация — участники (носители роли «Тестирование. Участник») и сессия тестирования: отзывы учитываются в пороге перехода пилота.

Мастер кампании, вкладка «Волны»

На вкладке «Волны» есть переключатель «Требовать подтверждения оператора» (включён по умолчанию). Если его снять, после успешного порога и выдержки волна «Остальные» стартует сама, без нажатия кнопки: окно установки задаёт, когда появятся задания, а не когда сменится волна. В режиме согласий автопереход дополнительно ждёт отзывы по порогу аттестации. Выдержка и пороги задаются при создании кампании; позже у существующего пилота можно только включить или снять подтверждение.

Экран кампании

Клик по кампании в списке открывает её экран: сверху — блок «следующий шаг», под ним таблица «Волны раскатки» и список хостов.

Экран кампании с волнами

Блок «следующий шаг» всегда говорит, что происходит и нужно ли действие оператора:

  • «Идёт волна / Идёт выдержка» — действий не требуется; если включён автопереход, пишется, когда поставят «Остальные»;
  • «Нужно подтверждение» — пилот прошёл проверку, показана кнопка «Подтвердить переход»;
  • «Нужен выбор среза» — состав current ушёл от проверенного среза: «Промоутить срез» (перенести проверенный состав дальше), «Промоутить current» или «Перезапустить пилот» (снять новый срез и повторить);
  • «Волна остановлена» — проверка не пройдена, кнопка «Разбор» открывает причины.

Хосты «хвоста», ещё не получившие задание, показывают статус «ждёт волну» с подсказкой, после чего задание появится. Во время действий с волной (переход, старт, пропуск выдержки, перезапуск пилота) экран ждёт ответа сервера и не подменяет данные другой кампании, если открыть её до завершения запроса.

Вверху подвкладки — сводные карточки по статусам:

  • Ожидают — запланированы, но ещё не наступило время.
  • Работают — сейчас выполняются.
  • На паузе — приостановлены администратором.
  • Завершены сегодня — успешно отработавшие.

По этим карточкам видно «текущий день» — есть ли активность, сколько выполнено.

Что видно в строке кампании

В таблице — ID, имя, прогресс хостов (сколько успешно из скольких всего), расписание, окно, статус, дата создания.

Клик по строке открывает экран кампании:

  • Шапка с прогресс-баром и действиями: Пауза / Возобновить / Отмена.
  • Сворачиваемая панель «Параметры кампании» — все настройки в одном месте.
  • Таблица хостов: для каждой машины видно статус, число пакетов, запланированное время, фактическое начало, длительность, код результата, примечание, действия.
  • CSV — выгрузить список хостов с деталями.
  • Обновить — перезагрузить таблицу.

lightbulbКак с этим работать

  1. Создайте кампанию с тестовой коллекцией.
  2. Запустите в окно, когда не страшно ошибиться.
  3. Следите за прогрессом в экране кампании — особенно за колонками «Статус» и «Код».
  4. Если всё хорошо — расширьте охват кампании на остальные коллекции.

Подвкладка «Пакетные задания»

Пакетные задания

Пакетное задание — это разовая установка на конкретные хосты, без расписания. В отличие от кампании, задание живёт один раз: запустили → выполнилось → записалось в журнал.

Когда использовать задание, а не кампанию

  • Срочно: один хост просит поставить конкретный пакет прямо сейчас.
  • Точечно: одна-две машины, нет смысла создавать кампанию.
  • Разовый список: «вот 10 проблемных машин, поставим на них всё доступное».

Кампании автоматически разворачиваются в пакетные задания — так что в журнале ниже будут видны и те, и другие.

Кнопки

  • + Создать задание — выбор хостов/коллекции, пакетов, опций (перезагрузка, предзагрузка), времени запуска.
  • Очистить — удалить задания по критериям (например, все отменённые или все старше месяца). Полезно для регулярной чистки журнала.

Фильтры журнала

  • Поиск по хосту — найти все задания для конкретной машины.
  • Дата от/до — например, посмотреть только за прошлую неделю.
  • Статус — активные / по расписанию / отправка / отправлено / частично / завершено / ошибка / отменено.
  • Скрыть удалённые — не показывать задания, чьи целевые хосты уже удалены из системы.

Что в строке задания

  • ID · волна — уникальный номер; для auto-continue цепочек номер волны (1-я, 2-я, ...).
  • Цель — хост или коллекция.
  • Статус — текущее состояние.
  • Источник — создано кампанией или вручную.
  • Пакеты — число пакетов / команд в задании.
  • Установка — прогресс и временная метка (начало, длительность).
  • Предзагрузка — статус скачивания пакетов перед установкой.
  • Перезагрузка — требуется ли перезагрузка после установки.
  • Расписание — когда запланирован запуск и дата создания.

Подвкладка «Compliance хостов»

Compliance хостов

«Compliance» — это соответствие требуемому состоянию. Эта подвкладка отвечает на вопрос «кто и насколько отстаёт от актуального состояния обновлений?».

Чем полезна

Вместо того чтобы гадать по числу доступных обновлений, вы видите единую картину:

  • у каких машин есть отложенные обновления;
  • где последняя установка завершилась с ошибкой;
  • какие репозитории подключены фактически (и не разошлись ли они с тем, что предписывает политика);
  • какие риски (например, машина в состоянии «источники расшатаны» или «не применяется политика»).

Фильтры

  • Коллекция — фокус на конкретной коллекции хостов.
  • Есть обновления — показать только машины, требующие установки.
  • Неуспешная установка — только те, где последняя установка не удалась.
  • Обновить — перезагрузить данные.

Действия со строкой

  • Открыть детали compliance — модальное окно с полной картиной по конкретному хосту.
  • Создать пакетное задание — одним кликом поставить задание на «догоняющую» машину.
  • Посмотреть логи установки — история команд для этого хоста.

lightbulbКак этим пользоваться

Еженедельно: открываете Compliance → фильтр «Есть обновления» → выделяете отстающие машины → массово создаёте пакетные задания на них. Через неделю — снова, и так до состояния «всё актуально».

Подвкладка «Управление репозиториями»

Локальные репозитории

Здесь администратор работает с репозиториями — то есть с тем, откуда хосты берут пакеты. Подвкладка показывает двухуровневую таблицу:

  • Родительская строка — запись справочника: имя, источник (локальный / внешний / виртуальный), тип (APT / DNF / APT-RPM), ОС, URL, статус.
  • Дочерние подстроки — версии: current (текущая), stable (стабильная), frozen (замороженная). Раскрываются кнопкой ▸.

Внешние репозитории

Это репозитории из интернета, которые LSUS знает, но не хранит. Кнопка «Добавить сторонний репозиторий» открывает форму:

  • Имя — например, «Astra Linux 1.8 main».
  • Тип — APT (Debian), DNF (RHEL/РЕД ОС), APT-RPM (ALT).
  • Семейство ОС — Astra / Debian / РЕД ОС / ALT.
  • Строка репозиторияdeb https://... stable main или аналогичная для dnf.
  • Архитектураamd64, i386, arm64.
  • Игнорировать SSL — не проверять сертификат upstream (для тестовых/внутренних репозиториев).
  • Игнорировать подпись — не проверять GPG.
  • GPG-ключ — ASCII-armored публичный ключ; LSUS доставит его на клиентов.

Локальные репозитории

Это копии внутри LSUS, которые вы раздаёте клиентам. Например, создали local-astra-1.8-current, наполнили пакетами, раздаёте через /repos. Кнопка «Создать локальный репозиторий» — выбор имени, хранилища, типа, ОС, архитектуры, suite, компонентов.

Локальные репозитории имеют три канала:

Канал Что это значит
current «Текущий» — то, что сейчас наполняется и тестируется.
stable «Стабильный» — проверенная копия, которую можно отдавать в прод.
frozen «Замороженный» — снимок на конкретный момент. Не меняется никогда.

Контекстные меню (⋮)

На родительской строке (справочник):

  • Копировать строку подключения — положить в буфер обмена то, что нужно добавить в sources.list.
  • Проверить доступность — немедленно проверить, отвечает ли upstream.
  • Редактировать / Настройки — поменять параметры.
  • Проверить целостность (для локальных) — сверить, что индексы соответствуют файлам пакетов.
  • Удалить — убрать запись.

На дочерней строке (локальный репозиторий):

  • Создать stable — скопировать current в stable.
  • Заморозить (frozen) — сделать неизменяемый снимок.
  • Состав пакетов — список пакетов в репозитории с версиями.
  • История действий — журнал изменений (наполнение, удаление, перевод между каналами).
  • Проверить целостность — см. выше.
  • Перенести в хранилище — изменить физический каталог, где лежат файлы.
  • Пересобрать — пересоздать индексы (Packages.gz, Release и т.п.).
  • Синхронизация с Edge — синхронизировать с пограничным сервером (если репозиторий Edge-hosted).
  • Удалить ветку — удалить конкретный канал.

Подвкладка «Хранилища»

Хранилища

Хранилище — это физический каталог на диске, где лежат файлы репозиториев. Один сервер может иметь несколько хранилищ, например на разных дисках.

Колонки: Имя, Путь, Свободно/Всего, Репозиториев, Список репозиториев, По умолчанию, Действия.

Кнопка «Добавить хранилище» создаёт новый каталог. Полезно, когда:

  • Заполнился существующий диск и нужно подключить новый.
  • Хотите разделить репозитории по «быстрым» (NVMe для горячего) и «медленным» (HDD для архива) дискам.

Подробнее о выносе данных — в Развёртывании серверов.

Подвкладка «Репликация»

Репликация

Репликация — это копирование репозиториев с Master на Site-серверы. Нужна для распределённых парков: в филиале Site-сервер держит локальную копию, и машины в филиале тянут пакеты из неё, а не по WAN в центр.

Карточки-счётчики

Вверху подвкладки:

  • Всего конфигов — сколько правил репликации создано.
  • Активных — сколько сейчас в работе.
  • Завершено — сколько успешно отработало.
  • Ошибок — сколько с ошибкой (например, недоступен Site или нет места на нём).

Что задаётся в конфигурации репликации

Кнопка «+ Добавить репликацию»:

  • Репозиторий — какой репозиторий синхронизировать.
  • Сайт — на какой Site-сервер.
  • Режим:
  • mirror — полная копия. Site хранит пакеты и может раздавать их даже при недоступности Master.
  • proxy — проксирование без хранения. Site перенаправляет запросы клиентов к Master, экономит место на Site, но требует постоянной связи.
  • Хранилище на сайте — конкретный каталог на Site.
  • Ограничение скорости (КБ/с) — чтобы репликация не забила весь канал филиала.
  • Потоков (1–32) — параллелизм. Больше потоков = быстрее, но выше нагрузка.
  • Расписание — cron-выражение или «При изменении» (запуск сразу, как только обновился upstream).

Массовое изменение

Кнопка «Массово изменить» — выбрать сайт, режим, хранилище, скорость, потоки, расписание и сразу несколько репозиториев. Все получат одинаковые настройки. Удобно, когда у вас 20 репозиториев и один Site.

Действия с конфигурацией

  • Инициировать — запустить синхронизацию вручную, не дожидаясь расписания.
  • Отменить — прервать идущую синхронизацию.
  • Синхронизировать — то же, что «Инициировать», но без перенастройки.
  • Редактировать — изменить параметры.
  • Удалить — убрать правило.

Подвкладка «Поиск по пакетам»

Пакеты

Иногда администратору нужно ответить на вопрос про конкретный пакет: где он установлен, какие версии, на скольких машинах доступен для обновления.

Например:

  • «На скольких машинах стоит уязвимая версия openssl-1.1.1k-5
  • «У кого ещё не обновился kernel-6.1
  • «Кто вообще ставил vlc — нужно срочно удалить»

Как искать

  • Имя пакета — можно часть имени; включена поддержка шаблонов.
  • Точное совпадение — только пакет с точно таким именем (без префиксов и суффиксов).
  • Тип — Все / Установленные / Доступные к обновлению.
  • Кнопка «Найти».

Результаты

В таблице: имя пакета, версия, машины, где установлен, машины, где доступен для обновления, машины, где доступен в репозиториях. Можно экспортировать в CSV/JSON (через ⚙).

Права доступа

Действие Permission key
Просмотр кампаний установки repositories.campaigns.view
Управление кампаниями repositories.campaigns.operate
Просмотр пакетных заданий repositories.batches.view
Управление пакетными заданиями repositories.batches.operate
Просмотр compliance repositories.compliance.view
Просмотр справочника репозиториев repositories.catalog.view
Управление справочником repositories.catalog.operate
Просмотр локальных репозиториев repositories.local.view
Управление локальными repositories.local.operate
Просмотр хранилищ repositories.local.view
Управление хранилищами repositories.local.operate
Просмотр репликации repositories.replication.view
Управление репликацией repositories.replication.operate
Поиск по пакетам repositories.catalog.view