Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление


Информация
titleДанная статья применима к:



Предупреждение

ПО из Astra Linux Special Edition 1.7 является сторонним ПО для Astra Liux Special Edition 1.6. Допустимость применения подобного ПО определяется требованиями к информационной системе.
См. Использование стороннего программного обеспечения в аттестованных информационных системах, функционирующих под управлением ОС Astra Linux Special Edition

Рассмотренное в статье решение не поддерживает работу с МРД и МКЦ. Работоспособность приложений, запущенных по описанной ниже процедуре, не гарантируется. Техническая поддержка эксплуатации ПО в таком режиме не осуществляется.


Пакеты, входящие в состав Astra Linux Special Edition 1.7 (далее - 1.7) в большинстве случаев не могут быть установлены в Astra Linux Special Edition 1.6 (далее - 1.6), так как требуют для своей работы новые версии библиотек, недоступные в 1.6. Ниже описан возможный вариант запуска в 1.6 программ, входящих в такие пакеты. Описанная процедура может быть применена, например, для перехода к использованию версий программ с устраненными уязвимостями. В отличие от применения технологий chroot и виртуализации (см. Создание Docker-образов Astra Linux, Система контейнерной изоляции уровня ОС LXC, Виртуализация QEMU/KVM в Astra Linux) выполнение приложений осуществляется не в изолированной среде, а непосредственно в ОС.


  1. Подготовить копию файловой системы Astra Linux Special Edition 1.7. Это можно сделать следующими способами:
    1. Вариант 1. Скопировать файловую систему с машины с установленной Astra Linux Special Edition 1.7, для чего:
      1. На машине под управлением 1.7:

        1. Установить нужные пакеты;
        2. Создать архив chroot.tar.gz файловой системы 1.7:

          Command

          sudo tar --xattrs --acls -czf chroot.tar.gz \
                        --exclude=/proc \
                        --exclude=/lost+found \
                        --exclude=/mnt \
                        --exclude=/media \
                        --exclude=/home \
                        --exclude=/sys \
                        --exclude=/run \
                        --exclude=/dev \
                        --exclude=/tmp \
                        --exclude=/parsecfs \
                        --exclude=/var/log \
                        --exclude=/boot \
                        --warning='no-file-ignored'   /

          Набор опций исключения каталогов из архива (--exclude) может быть другим в зависимости от установленных пакетов. Выдаваемые при создании архива предупреждения "... сокет проигнорирован" можно игнорировать. Подробнее про опции архивирования см. Архивирование и восстановление файлов с сохранением мандатных атрибутов;

      2. Перенести созданный архив на машину под управлением 1.6;
      3. На машине под управлением 1.6:
        1. Создать каталог для распаковки архива, например, каталог /run/chroot;

          Command
          sudo mkdir /opt/chroot


        2. Распаковать архив в созданный каталог:

          Command
          sudo tar --acls -xzf chroot.tar.gz -C /opt/chroot


    2. Вариант 2. На машине под управлением 1.6:
      1. Установить пакет debootstrap:

        Command
        sudo apt install debootstrap


      2. Создать chroot-окружение 1.7, например, используя Интернет-репозитории Astra Linux Special Edition x.7:

        Command
        sudo debootstrap --include ncurses-term,mc,locales,nano,gawk,lsb-release,acl,perl-modules-5.28 \
                                    --components=main,contrib,non-free 1.7_x86-64 \
                                    /opt/chroot \
                                   http://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-main


      3. Настроить в chroot-окружении репозитории;

      4. Установить в chroot-окружении нужные пакеты:

        Command
        sudo chroot /opt/chroot apt update
        sudo chroot /opt/chroot apt install <имя_пакета>


  2. Независимо от выбранного способа создания файловой системы для удобства работы сохранить список каталогов библиотек (каталог /opt/chroot/usr/lib и его подкаталоги) в переменной окружения:

    Command

    chlibs=/opt/chroot/usr/lib/
    for d in /opt/chroot/usr/lib/* ; do
        [ -d $d ] && chlibs=$chlibs:$d
    done

    Список сохраняется в переменной окружения chlibs;

  3. Далее команда из 1.7 в операционной среде 1.6 может быть вызвана следующим образом:

    Command
    /opt/chroot/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 --library-path $chlibs  /opt/chroot/<путь_к_команде>

    например, для выполнения команды python3:

    Command
    /usr/lib/x86_64-linux-gnu$ /opt/chroot/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 --library-path $chlibs  /opt/chroot/usr/bin/python3


Пример:

Astra Linux Specail Edition 1.6 с одновременно запущенными текстовыми редакторами Kate версий 19 (из 1.6) и 20 (из 1.7):