Subscription Manager#

Subscription Manager - инструмент, автоматизирующий процесс управления подписками на репозитории программных пакетов, предоставляемые разработчиком ОС.

С помощью Subscription Manager можно:

  • регистрировать ОС и получать список доступных репозиториев (например, для простого и быстрого способа получения обновлений);

  • подключать и отключать репозитории без необходимости редактировать вручную конфигурационные файлы;

  • отключать регистрацию одного хоста и подключать на другом с помощью одного и того же активационного ключа.

Инструмент поставляется в пакете subscription-manager. Для проверки наличия пакета в системе выполните команду:

rpm -q subscription-manager

При наличии пакета в выводе команды отобразится его версия. При отсутствии пакета выполните установку, подробнее см. в разделе «Установка Subscription Manager».

Установка Subscription Manager#

Предварительные условия

- Подключены репозитории, указанные в разделе «Подключение репозитория»

Установите пакет subscription-manager с помощью менеджера пакетов:

dnf -y install subscription-manager

Обзор команд Subscription Manager#

В таблице ниже представлен список основных команд:

Основные команды subscription-manager#

Команда

Описание

attach

Прикрепление подписки к зарегистрированной системе

list

Просмотр информации о продуктах и подписках для системы

refresh

Получение последних данных подписки с сервера

register

Регистрация на портале пользователей или в службе управления подписками

release

Выбор версии операционной системы

remove

Удаление подписок

repos

Просмотр доступных репозиториев

status

Статус состояния подписок и продуктов

unregister

Удаление регистрации на портале пользователей или в службе управления подписками

Дополнительная информация#

Дополнительную информацию можно получить, выполнив команду:

man subscription-manager

Или:

subscription-manager --help

Регистрация системы с помощью Subscription Manager#

Предварительные условия

- Права пользователя с административными полномочиями

- Локальное время системы установлено не ранее 01.09.2024

Для регистрации системы в службе управления подписками с помощью Subscription Manager выполните следующую команду:

subscription-manager register --org <organization_name> --activationkey <activation_key>

Где:

  • <organization_name> - наименование организации;

  • <activation_key> - активационный ключ.

Примечание

<organization_name> и <activation_key> запросите у разработчика ОС.

Важно

В случае ошибки при выполнении команды убедитесь, что <organization_name> и <activation_key> введены корректно и соответствуют требуемому регистру. Если ошибка сохраняется, обратитесь к разработчику ОС.

Пример вывода:

The system has been registered with ID: <system_ID>
The registered system name is: <system_name>

Где:

  • <system_ID> - зарегистрированый ID системы;

  • <system_name> - зарегистрированное имя системы.

При неверном вводе пользователь получит сообщение об ошибке:

Couldn't find Organization <organization_name>. (HTTP error code 404: Not Found)

Отключение регистрации хоста с помощью Subscription Manager#

Для отключения хоста с помощью Subscription Manager выполните команду:

subscription-manager unregister

Примечание

Активационный ключ, с помощью которого хост был зарегистрирован, может быть применен на другом хосте по инструкции в разделе «Регистрация системы с помощью Subscription Manager».

Просмотр, подключение и отключение доступных репозиториев с помощью Subscription Manager#

Для просмотра доступных репозиториев с помощью Subscription Manager, которые распространяются для организации, выполните:

subscription-manager repos --list

Пример вывода:

+----------------------------------------------------------+
    Available Repositories in /etc/yum.repos.d/sberlinux.repo
+----------------------------------------------------------+
Repo ID:   <Repo_ID>
Repo Name: <Repo_Name>
Repo URL:  <Repo_URL>
Enabled:   0

Repo ID:   <Repo_ID>
Repo Name: <Repo_Name>
Repo URL:  <Repo_URL>
Enabled:   0

Где:

  • <Repo_ID> - ID репозитория;

  • <Repo_Name> - наименование репозитория;

  • <Repo_URL> - URL репозитория;

  • Enabled - количество подключений.

Для подключения репозитория выполните команду:

subscription-manager repos --enable <Repo_ID>

Пример вывода:

Repository `<Repo_ID>` is enabled for this system.

Для проверки работоспособности подключения Subscription Manager введите команду обновления репозитория:

dnf update

Для отключения репозитория выполните команду:

subscription-manager repos --disable <Repo_ID>

Пример вывода:

Repository '<Repo_ID>' is disabled for this system.

Настройка контейнера UBI SberLinux с активированной подпиской#

Данная инструкция описывает процесс создания SberLinux контейнера UBI (Universal Base Image) с активированной подпиской для доступа к репозиториям.

Предварительные условия#

  1. Машина подготовлена:

    • Убедитесь, что на машине активирована подписка:

      subscription-manager list
      

      Если подписка не активирована, выполните команду (подробнее в разделе «Регистрация системы с помощью Subscription Manager»):

      subscription-manager register --org <organization_name> --activationkey <activation_key>
      
    • Установлен Podman:

      which podman
      

      Если Podman не установлен, выполните команду:

      dnf install podman
      
  2. Загружен контейнер UBI.

    Если образ контейнера UBI отсутствует, выполните команду:

    • Для 8-го поколения:

      podman pull sberlinux.sbertech.ru/ubi8/ubi
      
    • Для 9-го поколения:

      podman pull sberlinux.sbertech.ru/ubi9/ubi
      

Сценарий настройки#

Примечание

Проверьте доступность зеркала и актуальность версии образа UBI.

Для настройки контейнера UBI с подпиской выполните следующие шаги:

  1. Создайте рабочую директорию и скопируйте необходимые файлы для подготовки сертификатов и репозиториев:

    mkdir -p ubi-subscription/{certs,ca}
    cp /etc/pki/entitlement/*.pem ubi-subscription/certs/
    cp /etc/slsm/ca/sberlinux-uep.pem ubi-subscription/ca/
    cp /etc/yum.repos.d/sberlinux.repo /home/linux-tester/ubi-subscription/
    

    Примечание

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

  2. Загрузите локальный образ в Podman:

    podman load -i <path_to_container>
    

    Где <path_to_container> — путь к контейнеру SberLinux-UBI, например sberlinux-9-x86_64-ubi.tar.gz.

  3. Создайте Dockerfile в директории ubi-subscription:

    vi /home/linux-tester/ubi-subscription/Dockerfile
    

    Содержимое Dockerfile:

    FROM localhost/sberlinux-9-x86_64-ubi:latest
    
    # Копирует .repo файл
    COPY sberlinux.repo /etc/yum.repos.d/sberlinux.repo
    
    # Копирует сертификаты подписки
    COPY certs /etc/pki/entitlement/
    
    # Копирует CA-сертификат
    COPY ca/sberlinux-uep.pem /etc/pki/tls/certs/sberlinux-uep.pem
    
    # Создает символическую ссылку slsm-host → slsm
    RUN rm -rf /etc/slsm-host && \
        ln -s /etc/slsm /etc/slsm-host
    
    # Проверяет, что нужные директории существуют
    RUN mkdir -p /etc/slsm/ca && \
        ln -s /etc/pki/tls/certs/sberlinux-uep.pem /etc/slsm/ca/sberlinux-uep.pem
    
    # Устанавливает пакеты
    RUN yum install -y nss_wrapper uid_wrapper && \
        yum clean all
    
  4. Перейдите в рабочую директорию и соберите образ контейнера:

    cd ubi-subscription
    podman build -t sberlinux-with-subman .
    
  5. Запустите контейнер в интерактивном режиме:

    podman run -it sberlinux-with-subman bash
    

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