Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015.01 (очередное обновление 1.6) с установленным обновлением БЮЛЛЕТЕНЬ № 20220829SE16 (оперативное обновление 11)
- Astra Linux Common Edition
ПО из 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) выполнение приложений осуществляется не в изолированной среде, а непосредственно в ОС.
- Подготовить копию файловой системы Astra Linux Special Edition 1.7. Это можно сделать следующими способами:
- Вариант 1. Скопировать файловую систему с машины с установленной Astra Linux Special Edition 1.7, для чего:
На машине под управлением 1.7:
- Установить нужные пакеты;
Создать архив chroot.tar.gz файловой системы 1.7:
sudo tar --xattrs --acls -czf chroot.tar.gz \Набор опций исключения каталогов из архива (--exclude) может быть другим в зависимости от установленных пакетов. Выдаваемые при создании архива предупреждения "... сокет проигнорирован" можно игнорировать. Подробнее про опции архивирования см. Архивирование и восстановление файлов с сохранением мандатных атрибутов;
--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' /
- Перенести созданный архив на машину под управлением 1.6;
- На машине под управлением 1.6:
Создать каталог для распаковки архива, например, каталог /run/chroot;
sudo mkdir /opt/chrootРаспаковать архив в созданный каталог:
sudo tar --acls -xzf chroot.tar.gz -C /opt/chroot
- Вариант 2. На машине под управлением 1.6:
Установить пакет debootstrap:
sudo apt install debootstrapСоздать chroot-окружение 1.7, например, используя Интернет-репозитории Astra Linux Special Edition x.7:
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 \
https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-mainНастроить в chroot-окружении репозитории;
Установить в chroot-окружении нужные пакеты:
sudo chroot /opt/chroot apt update
sudo chroot /opt/chroot apt install <имя_пакета>
- Вариант 1. Скопировать файловую систему с машины с установленной Astra Linux Special Edition 1.7, для чего:
Независимо от выбранного способа создания файловой системы для удобства работы сохранить список каталогов библиотек (каталог /opt/chroot/usr/lib и его подкаталоги) в переменной окружения:
chlibs=/opt/chroot/usr/lib/Список сохраняется в переменной окружения chlibs;
for d in /opt/chroot/usr/lib/* ; do
[ -d $d ] && chlibs=$chlibs:$d
doneДалее команда из 1.7 в операционной среде 1.6 может быть вызвана следующим образом:
/opt/chroot/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 --library-path $chlibs /opt/chroot/<путь_к_команде>например, для выполнения команды python3:/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):