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

Зачем нужна эта вкладка¶
Вкладка «Управление обновлениями» — это рабочий стол администратора обновлений. У неё есть переключатель Linux / Windows в шапке. Этот раздел описывает Linux-часть: здесь собрано всё для полного цикла управления deb/rpm-пакетами. Windows-часть описана отдельно — Управление обновлениями — Windows.
Здесь решаются задачи:
- Знать, что доступно — какие репозитории подключены, какие версии пакетов есть.
- Запускать установку — точечно или массово, по расписанию или вручную.
- Следить за соблюдением политик — кто отстаёт, у кого ошибки, у кого расхождения.
- Доставлять пакеты в филиалы — через Site-серверы.
- Искать конкретный пакет — где он установлен, на каких машинах доступен.
Таргетинг через коллекции
Цели кампаний, пакетных заданий и compliance задаются через коллекции (узлы дерева Каталога и политик).
Вкладка состоит из 7 подвкладок — каждая закрывает свою задачу:
| Подвкладка | Когда пользоваться |
|---|---|
| Кампании установки | Запланировать и провести массовое обновление (например, «патч всех серверов на выходных»). |
| Пакетные задания | Разовая установка на конкретные хосты, или просмотр журнала всех установок. |
| Compliance хостов | Понять, кто и насколько отстаёт от актуального состояния. |
| Управление репозиториями | Добавить внешний репозиторий, создать локальный, заморозить ветку. |
| Хранилища | Настроить дисковые каталоги, где физически лежат пакеты. |
| Репликация | Настроить синхронизацию репозиториев с Site-серверами. |
| Поиск по пакетам | Найти конкретный пакет — где установлен, какие версии, на каких хостах. |
Подвкладка «Кампании установки»¶

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

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

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

Блок «следующий шаг» всегда говорит, что происходит и нужно ли действие оператора:
- «Идёт волна / Идёт выдержка» — действий не требуется; если включён автопереход, пишется, когда поставят «Остальные»;
- «Нужно подтверждение» — пилот прошёл проверку, показана кнопка «Подтвердить переход»;
- «Нужен выбор среза» — состав
currentушёл от проверенного среза: «Промоутить срез» (перенести проверенный состав дальше), «Промоутить current» или «Перезапустить пилот» (снять новый срез и повторить); - «Волна остановлена» — проверка не пройдена, кнопка «Разбор» открывает причины.
Хосты «хвоста», ещё не получившие задание, показывают статус «ждёт волну» с подсказкой, после чего задание появится. Во время действий с волной (переход, старт, пропуск выдержки, перезапуск пилота) экран ждёт ответа сервера и не подменяет данные другой кампании, если открыть её до завершения запроса.
Вверху подвкладки — сводные карточки по статусам:
- Ожидают — запланированы, но ещё не наступило время.
- Работают — сейчас выполняются.
- На паузе — приостановлены администратором.
- Завершены сегодня — успешно отработавшие.
По этим карточкам видно «текущий день» — есть ли активность, сколько выполнено.
Что видно в строке кампании¶
В таблице — ID, имя, прогресс хостов (сколько успешно из скольких всего), расписание, окно, статус, дата создания.
Клик по строке открывает экран кампании:
- Шапка с прогресс-баром и действиями: Пауза / Возобновить / Отмена.
- Сворачиваемая панель «Параметры кампании» — все настройки в одном месте.
- Таблица хостов: для каждой машины видно статус, число пакетов, запланированное время, фактическое начало, длительность, код результата, примечание, действия.
- CSV — выгрузить список хостов с деталями.
- Обновить — перезагрузить таблицу.
Как с этим работать
- Создайте кампанию с тестовой коллекцией.
- Запустите в окно, когда не страшно ошибиться.
- Следите за прогрессом в экране кампании — особенно за колонками «Статус» и «Код».
- Если всё хорошо — расширьте охват кампании на остальные коллекции.
Подвкладка «Пакетные задания»¶

Пакетное задание — это разовая установка на конкретные хосты, без расписания. В отличие от кампании, задание живёт один раз: запустили → выполнилось → записалось в журнал.
Когда использовать задание, а не кампанию¶
- Срочно: один хост просит поставить конкретный пакет прямо сейчас.
- Точечно: одна-две машины, нет смысла создавать кампанию.
- Разовый список: «вот 10 проблемных машин, поставим на них всё доступное».
Кампании автоматически разворачиваются в пакетные задания — так что в журнале ниже будут видны и те, и другие.
Кнопки¶
- + Создать задание — выбор хостов/коллекции, пакетов, опций (перезагрузка, предзагрузка), времени запуска.
- Очистить — удалить задания по критериям (например, все отменённые или все старше месяца). Полезно для регулярной чистки журнала.
Фильтры журнала¶
- Поиск по хосту — найти все задания для конкретной машины.
- Дата от/до — например, посмотреть только за прошлую неделю.
- Статус — активные / по расписанию / отправка / отправлено / частично / завершено / ошибка / отменено.
- Скрыть удалённые — не показывать задания, чьи целевые хосты уже удалены из системы.
Что в строке задания¶
- ID · волна — уникальный номер; для auto-continue цепочек номер волны (1-я, 2-я, ...).
- Цель — хост или коллекция.
- Статус — текущее состояние.
- Источник — создано кампанией или вручную.
- Пакеты — число пакетов / команд в задании.
- Установка — прогресс и временная метка (начало, длительность).
- Предзагрузка — статус скачивания пакетов перед установкой.
- Перезагрузка — требуется ли перезагрузка после установки.
- Расписание — когда запланирован запуск и дата создания.
Подвкладка «Compliance хостов»¶

«Compliance» — это соответствие требуемому состоянию. Эта подвкладка отвечает на вопрос «кто и насколько отстаёт от актуального состояния обновлений?».
Чем полезна¶
Вместо того чтобы гадать по числу доступных обновлений, вы видите единую картину:
- у каких машин есть отложенные обновления;
- где последняя установка завершилась с ошибкой;
- какие репозитории подключены фактически (и не разошлись ли они с тем, что предписывает политика);
- какие риски (например, машина в состоянии «источники расшатаны» или «не применяется политика»).
Фильтры¶
- Коллекция — фокус на конкретной коллекции хостов.
- Есть обновления — показать только машины, требующие установки.
- Неуспешная установка — только те, где последняя установка не удалась.
- Обновить — перезагрузить данные.
Действия со строкой¶
- Открыть детали compliance — модальное окно с полной картиной по конкретному хосту.
- Создать пакетное задание — одним кликом поставить задание на «догоняющую» машину.
- Посмотреть логи установки — история команд для этого хоста.
Как этим пользоваться
Еженедельно: открываете 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 |