Page tree
Skip to end of metadata
Go to start of metadata

Аннотация

Начиная с очередного обновления x.7 операционная система Astra Linux Special Edition использует вложенную структуру репозиториев пакетов. Далее в статье описывается структура репозиториев, особенности подключения репозиториев и приемы работы с мультиверсионными пакетами при использовании нескольких подключенных репозиториев. Перед прочтением статьи рекомендуется ознакомиться с общими приемами использования репозиториев: Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов.

Внимание!

Не допускается одновременно использовать расширенный и основной/базовый репозитории из разных версий оперативных обновлений.

Структура репозиториев Astra Linux Special Edition (очередное обновление x.7)

РепозиторийФорма поставкиФорма обновленияЗамкнутостьПримерное соответствие
в предыдущих очередных обновлениях
Astra Linux Special Edition

Основной репозиторий (репозиторий установочного диска, main).

Основной состав продукта, реализующий все функциональные возможности и функции безопасности.

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

Установочный (загрузочный) DVD-диск с программой-установщиком ОС.

Входит в комплект поставки изделия.

Поставляется в виде индивидуальной ссылки на ISO-образ в ЛК пользователя.

Кумулятивные изменения (diff) исходного основного репозитория в виде ISO-образа.

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

Замкнут по runtime.
  • Установочный диск.

Базовый репозиторий (base). Содержит:

  • Все пакеты основного репозитория;
  • Пакеты со средствами разработки;
  • Пакеты, необходимые для сборки репозитория main.

Поставляется в виде индивидуальной ссылки на tar-архив репозитория в ЛК пользователя. 

Tar-архив нового репозитория.

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

Замкнут по runtime и buildtime
  • Установочный диск;
  • Диск со средствами разработки.

Расширенный репозиторий (extended)

Содержит дополнительное ПО, которое может функционировать в среде Astra Linux.

Данное ПО не дорабатывается для реализации функций безопасности и может быть несовместимо с последними оперативными обновлениями основного/базового репозиториев. Такая несовместимость фиксируется в бюллетене оперативного обновления и устраняется по мере обновления расширенного репозитория.

В специальном компоненте расширенного репозитория - компоненте astra-ce - находятся пакеты, заменяющие пакеты из основного и базового репозиториев (см. Расширенный репозиторий и "состояние совместимости с Astra Linux Common Edition").

Доступ через настройку sources.list в соответствии с разделом Регистрация репозиториев Astra Linux Special Edition очередное обновление x.7 статьи Интернет-репозитории Astra Linux Special Edition x.7.

Доступ через настройку sources.list в соответствии с разделом Регистрация репозиториев Astra Linux Special Edition очередное обновление x.7 статьи Интернет-репозитории Astra Linux Special Edition x.7.В комплекте с базовым репозиторием замкнут по runtime и buildtime

В комплекте с базовым репозиторием
соответствует набору репозиториев:

  • Установочный диск;
  • Диск со средствами разработки;
  • Подключенный репозиторий
    Astra Linux Common Edition.

Схема структуры репозиториев

Особенности настройки репозиториев

Коды дистрибутивов для Astra Linux очередное обновление x.7

  • 1.7_x86-64 - для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7);
  • 4.7_arm - для Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7).

Компоненты дистрибутивов для Astra Linux очередное обновление x.7

  • main;
  • contrib;
  • non-free;
  • backports
  • baikal1, huawei1, mtrust1  (только для основного и базового репозиториев Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)) - аппаратно-зависимые компоненты ПО;
  • astra-ce и другие дополнительные компоненты (только для расширенного репозитория). Подробнее про назначение, состав и применение этого компонента см. Расширенный репозиторий и "состояние совместимости с Astra Linux Common Edition".

Указание репозиториев как источников пакетов

  • для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7):

    deb <путь_к_репозиторию> 1.7_x86-64 main contrib non-free

    для расширенного репозитория дополнительно могут быть указаны компоненты backports и astra-ce:

    deb <путь_к_репозиторию> 1.7_x86-64 main contrib non-free astra-ce backports
  • для Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7):

    deb <путь_к_репозиторию> 4.7_arm main contrib non-free

    для расширенного репозитория дополнительно может быть указан компонент astra-ce:

    deb <путь_к_репозиторию> 4.7_arm main contrib non-free astra-ce

    для основного и базового репозиториев Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7) дополнительно может быть указана аппаратно-зависимая компонента, применимая к используемой аппаратной платформе:

    deb <путь_к_репозиторию> 4.7_arm main contrib non-free baikal1


Особенности использования репозиториев

См. также Интернет-репозитории Astra Linux Special Edition x.7

Основной репозиторий

Работа с репозиторием установочного диска в Astra Linux Special Edition (очередное обновление x.7) в целом не отличается от работы в Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6), однако следует помнить, что:

  • диск со средствами разработки, как в Astra Linux Special Edition 1.6, более не используется, а вместо него следует использовать базовый репозиторий;
  • подключение расширенного репозитория может влиять на выбор  устанавливаемых пакетов.

Базовый репозиторий

Работа с базовым репозиторием Astra Linux Special Edition (очередное обновление x.7) в целом не отличается от работы в Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с подключенным репозиторием со средствами разработки, однако следует помнить, что:

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

Расширенный репозиторий и "состояние совместимости с Astra Linux Common Edition"

Пакеты, содержащиеся в расширенном репозитории не дорабатываются для применения в Astra Linux Special Edition и не проходят сертификационные испытания, но технически могут обновлять (заменять) пакеты, находящиеся в базовом репозитории, и доработанные для применения с КСЗ Astra Linux Special Edition. Работа ПО, установленного из расширенного репозитория, как и любого другого ПО, контролируется общими правилами МРД и МКЦ, действующими в ОС. При этом ОС может работать в любом режиме защиты, однако взаимодействие КСЗ и ПО может быть ограничено. Так, например, при замене пакета PostgreSQL отключается возможность использования мандатного управления доступом для записей базы данных PostgreSQL. Для обозначения того, что Astra Linux Special Edition работает с использованием таких заменяющих пакетов используется технический термин "состояние совместимости с Astra Linux Common Edition". Пакеты с таким заменяющим ПО объединены в специальном компоненте расширенного репозитория - компоненте astra-ce.

Расширенный репозиторий содержит пакеты ПО (версии пакетов), не включенные в состав основного и базового репозиториев. Это ПО:

  • функционирует в среде Astra Linux;
  • не подвергается доработке для интеграции функций безопасности с комплексом средств защиты (КСЗ) Astra Linux Special Edition и для устранения несоответствий сертификационным требованиям;
  • может быть несовместимо с пакетами, имеющимися в базовом и расширенном репозитории;
  • не проходит сертификационные испытания в составе Astra Linux Special Edition;

Основное назначение расширенного репозитория - расширение функциональности, предоставляемой основным и базовым репозиториями.  При этом:

  • пакеты, входящие в основной состав расширенного репозитория (компоненты репозитория contrib, main, non-free, backports):
    • не могут изменять (обновлять, удалять) пакеты, входящие в состав основного репозитория;
    • могут изменять пакеты, входящие в состав базового репозитория (но не входящие в состав основного репозитория);
  • компонент backports предоставляет новейшие версии пакетов, возможно, несовместимые с какими-то пакетами в базовом и основном репозиториях
  • компонент astra-ce (и, возможно, другие дополнительные компоненты, которые могут быть добавлены по мере необходимости) предоставляют пакеты для обеспечения максимальной совместимости со сторонним ПО, разработанным либо без использования Astra Linux либо с использованием дополнительного ПО и совместимости с различными аппаратными платформами. Пакеты, входящие такие компоненты, могут заменять пакеты как из базового, так и из основного репозиториев;

Использование расширенного репозитория позволяет устанавливать и эксплуатировать ПО, разработанное для других Linux-систем, разрабатывать собственное ПО в среде разработки, соответствующей свободно распространяемым Linux-системам и переносить Astra Linux на различные аппаратные платформы . Дополнительно расширенный репозиторий может служить временным источником обновления ПО.

Можно выделить следующие основные группы пакетов ПО, входящие в состав расширенного репозитория:

  • пакеты, не входящие в состав базового репозитория, т.е. дополняющее комплектацию ПО Astra Linux Special Edition (компоненты main, contrib, non-free);
  • пакеты, обновляющие состав базового репозитория, т.е. более новые версии пакетов, входящих в состав базового репозитория Astra Linux Special Edition. Могут использоваться в качестве временного (не сертифицированного) решения для обновления базового репозитория между выходами оперативных обновлений. Такие пакеты:
    • если они полностью совместимы с пакетами базового и основного репозиториев и не изменяют пакеты основного репозитория, включаются в состав компонент main, conrtib, non-free;
    • если возможна несовместимость с пакетами базового и основного репозиториев, включаются в состав компоненты backports. 
  • пакеты, заменяющие пакеты из состава основного репозитория. Эти пакеты заменяют аналогичные пакеты, доработанные для применения с КСЗ Astra Linux Special Edition, и предоставляются для обеспечения полной совместимости ПО. Пакеты с таким "заменяющим" ПО объединены в специальном компоненте расширенного репозитория - компоненте astra-ce. На момент написания статьи в состав компонента astra-ce входят:
    • СУБД PostgreSQL. Штатной СУБД для Astra Linux Special Edition является защищенное исполнение СУБД PostgreSQL  (см. РУСБ.10015-01 97 01-1 «Операционная система специального назначения «Astra Linux Special Edition». Руководство по КСЗ. Часть 1», п. 4.14 "Мандатное управление доступом в СУБД PostgreSQL"). Расширенным репозиторием предоставляется аналогичный пакет СУБД PostgreSQL, не содержащий встроенных средств мандатного управления доступом (на момент написания настоящей статьи - postgresql-11);

    • Электронная почтовая службы Exim4. Штатным агентом почтовой службы является защищенное исполнение агента передачи электронной почтовой службы Exim4. (см. РУСБ.10015-01 95 01-1 "Операционная система специального назначения «Astra Linux Special Edition». Руководство Администратора. Часть 1», п.14. Расширенным репозиторием предоставляется аналогичный набор пакетов Exim4, не содержащий встроенных средств мандатного управления доступом (на момент написания настоящей статьи - exim4 4.92-8+deb10u6);

    • Пакеты СУБД Mariadb. Штатной СУБД для Astra Linux Special Edition является защищенное исполнение СУБД PostgreSQL. Пакеты Mariadb,  входящие в базовый репозиторий Astra Linux Special Edition, добавлены для обеспечения возможности сборки пакетов основного репозитория (обеспечения "замкнутости по сборке"), и не содержат основной части СУБД Mariadb, необходимой для эксплуатации. В расширенном репозитории представлена полноценная версия СУБД Mariadb (на момент написания настоящей статьи - mariadb-10.3). Начиная с обновления БЮЛЛЕТЕНЬ № 2022-0819SE17 (оперативное обновление 1.7.2) данное ПО находится в компоненте main расширенного репозитория, в более ранних обновлениях - в компоненте astra-ce расширенного репозитория;

    • Среда Java openjdk. В Astra Linux Special Edition средства Javа не используются, а соответствующие пакеты представлены в базовом репозитории только для обеспечения зависимостей, и не функциональны. В расширенном репозитории представлена полноценная версия openjdk (на момент написания настоящей статьи - openjdk-11). Начиная с обновления БЮЛЛЕТЕНЬ № 2022-0819SE17 (оперативное обновление 1.7.2) данное ПО находится в компоненте main расширенного репозитория, в более ранних обновлениях - в компоненте astra-ce расширенного репозитория;

    • Пакеты комплекта офисных программ LibreOffice. Основная часть пакетов LibreOffice входит в состав основного репозитория, но часть пакетов требует для нормальной работы Java, не входящую в основной состав Astra Linux Special Edition. Такие пакеты вынесены в расширенный репозиторий.

Для автоматизации замены пакетов на совместимые и обратно предоставляется входящий в состав Astra Linux Special Edition сценарий astra-ce (название сценария совпадает с названием компонента расширенного репозитория, сценарий входит в состав пакета astra-scripts).  Сценарий автоматически выполняет следующие операции:

  • переключение в "состояние совместимости с Astra Linux Common Edition", то есть:
    • настройку приоритетов репозиториев, обеспечивающую установку (обновление) пакетов из компонента astra-ce расширенного репозитория даже при наличии аналогичных пакетов в основном или базовом репозитории;

    • замену ранее установленных пакетов (если такие имеются), имеющих аналоги в компоненте astra-ce расширенного репозитория, на эти аналоги;
  • обратные операции по отключению компонента astra-ce расширенного репозитория и обратной замене установленных пакетов на пакеты из основного или базового репозиториев.

Дополнительно сценарий astra-ce позволяет выполнить проверку текущего состояния совместимости ОС .

Подключение расширенного репозитория и переход в состояние совместимости с Astra Linux Common Edition

Предполагается, что используется Astra Linux Special Edition, исходно работающая в обычном состоянии, т.е.:

  • При установке ОС был выбран любой из режимов защиты;

  • В качестве источника пакетов настроен базовый репозиторий.

    Использование только основного репозитория также допустимо, однако при этом репозитории не будут замкнуты по зависимостям, т.е. некоторые пакеты из расширенного репозитория не смогут быть установлены из-за недоступности пакетов, входящих только в базовый репозиторий и не входящих в основной репозиторий.
  • Используемый базовый репозиторий пакетов указан как источник пакетов в файле /etc/apt/sources.list или в файлах в каталоге /etc/apt/sources.list.d;

  • Доступен, но не используется, расширенный репозиторий (доступ к расширенному репозиторию организован в форме сетевого или локального репозитория). Расположение расширенного репозитория определятся администратором системы, и используется для перехода в состояние совместимости с Astra Linux Common Edition.

Для переключения ОС в состояние совместимости с Astra Linux Common Edition:

При работе с компонентом astra-ce расширенного репозитория для переключения в состояние совместимости  с Astra Linux Common Edition без использования инструмента astra-ce перед установкой пакетов следует установить приоритет этого компонента, для чего в файл /etc/apt/preferences.d/smolensk добавить строки:

Package: *
Pin: release c=astra-ce
Pin-Priority: 1001

При обратном переключении следует отменить повышение приоритета, удалив добавленные строки.

При переключении состояний с помощью команды astra-ce приоритет компонента astra-ce изменяется автоматически.


Если в используемом обновлении ОС пакеты, находящихся в основном/базовом и в расширенном репозиториях, имеют одинаковые версии, то репозиторий, из которого необходимо установить пакет, должен быть указан в списке репозиториев первым.


  1. Рекомендованный способ - автоматическое переключение. Для переключения выполнить команду astra-ce, передав ей в качестве аргумента расположение расширенного репозитория:

    sudo astra-ce <расположение_расширенного_репозитория>
    Адрес репозитория может быть представлен сетевым адресом (URL) или путем в файловой системе.
    Команда зарегистрирует указанный адрес как источник пакетов, установит высокий приоритет компоненту astra-ce, и обновит установленные пакеты с заменой на пакеты из компонента astra-ce расширенного репозитория.

  2. Или:

    1. Вручную внести корректную запись о расширенном репозитории в /etc/apt/sources.list или /etc/apt/sources.list.d:

      1. для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7):

        deb <адрес_расширенного_репозитория> 1.7_x86-64 main contrib non-free astra-ce
      2. для Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7):

        deb <адрес_расширенного_репозитория> 4.7_arm main contrib non-free astra-ce
    2. Выполнить команду переключения в состояние совместимости с Astra Linux Common Edition:

      sudo astra-ce on
      Команда обнаружит имеющуюся запись о расширенном репозитории, установит повышенный приоритет компонента astra-ce и обновит установленные пакеты с заменой на пакеты из компонента astra-ce расширенного репозитория.

Обратное переключение из состояния совместимости с Astra Linux Common Edition

Для обратного перевода ОС из состояния совместимости с Astra Linux Common Edition в состояние работы со стандартными пакетами Astra Linux Special Edition выполнить команду:

sudo astra-ce off
При выполнении этой команды изменяются приоритеты репозиториев для исключения установки пакетов из компонента astra-ce расширенного репозитория, и такие установленные пакеты заменяются на одноименные пакеты из основного репозитория или базового репозитория.

Проверка текущего состояния ОС

Проверка состояния совместимости ОС выполняется командой:

sudo astra-ce status
При этом, в зависимости от текущего состояния ОС, на экран выводится сообщение:

CE репозиторий подключен

или сообщение:

CE репозиторий не подключен

Статус завершения вышеуказанной команды всегда ноль. Для использования в сценариях предназначен специальный ключ modechk:

sudo astra-ce modechk
При использовании этого ключа:

  • При включенном состоянии совместимости:
    • сообщение: Special;
    • код завершения: 1;
  • При выключенном состоянии совместимости:
    • сообщение: Common;
    • код завершения 0.

Проверка доступных версий пакетов

Для поверки доступных версий пакетов можно использовать команду apt policy. На примере пакета postgresql-11:

apt policy postgresql-11

postgresql-11:
  Установлен: 11.12-astra.ce5
  Кандидат:   11.12-astra.ce5
  Таблица версий:
 *** 11.12-astra.ce5 900
        900 ftp://repo/ALSE17_XR 1.7_x86-64/main amd64 Packages
        100 /var/lib/dpkg/status
     11.10-astra.se5 900
        900 ftp://repo/ALSE17 1.7_x86-64/main amd64 Packages
        900 ftp://repo/ALSE17-base 1.7_x86-64/main amd64 Packages
Вывод команды показывает, что в подключенных репозиториях доступны две версии пакета postgresql-11

  • версия 11.12-astra.ce5 900 из расширенного репозитория. Важно: индекс "ce" в номере версии указывает, что пакет не доработан для взаимодействия с КСЗ Astra Linux и предназначен для работы в состоянии совместимости;
  • версия 11.10-astra.se5 900 из базового репозитория и репозитория установочного диска. Важно: индекс "se" в номере версии указывает, что пакет доработан для взаимодействия с КСЗ Astra Linux;

При этом версия из расширенного репозитория имеет приоритет при установке.

Фиксация устанавливаемой версии пакета

Версию устанавливаемого пакета можно указать непосредственно в команде установки с помощью знака "=". Например, для установки более старой версии 11.10-astra.se5 пакета postgresql-11:

sudo apt install postgresql-11=11.10-astra.se5

Для того, чтобы при дальнейшей установке обновлений установленный пакет не заменялся на более новые версии, следует зафиксировать версию установленного пакета с помощью команды apt-mark, например:

sudo apt-mark hold postgresql-11
подробнее см. справку man apt-mark.

  • No labels