Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) с установленным обновлением БЮЛЛЕТЕНЬ № 2023-1023SE17 (оперативное обновление 1.7.5);
- Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7) с установленным обновлением БЮЛЛЕТЕНЬ № 2024-0416SE47 (оперативное обновление 4.7.5);
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) с установленным обновлением БЮЛЛЕТЕНЬ № 2024-0830SE17 (оперативное обновление 1.7.6).
Сборка пакетов, предназначенных для процессорной архитектуры amd64, выполняется в следующем порядке:
- установить инструмент
debootstrapи QEMU, выполнив команду:sudo apt install debootstrap qemu-user-static - подготовить окружение
chroot, выполнив команды:NDK_DIR=/opt/build-environments/astralinux-1.7REPO_URL=http://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/sudo debootstrap --arch=amd64 --components=main,contrib,non-free 1.7_x86-64 "${NDK_DIR}" "${REPO_URL}"echo "export LC_ALL=C" | sudo tee -a "${NDK_DIR}/root/.bashrc" - выполнить команды монтирования каталогов в окружение
chroot:sudo mount -t proc proc ${NDK_DIR}/proc/sudo mount -o bind /sys/ ${NDK_DIR}/sys/sudo mount -o bind /dev/ ${NDK_DIR}/dev/sudo mount -o bind /dev/pts ${NDK_DIR}/dev/pts - добавить нужные репозитории в файл
/opt/build-environments/astralinux-1.7/etc/apt/sources.list;deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base 1.7_x86-64 main contrib non-free deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 main contrib non-free
- подготовить окружение сборки, выполнив команды:
sudo chroot /opt/build-environments/astralinux-1.7 apt updatesudo chroot /opt/build-environments/astralinux-1.7 apt install devscripts quilt
- подготовить общий каталог для сборки пакетов, выполнив команду:
sudo chown -R "${USER}:${USER}" /opt/build-environments/astralinux-1.7/opt/Простой сценарий, подготавливающий окружение сборки в соответствии с приведенным выше описанием, доступен по ссылке make_chroot_astralinux-1.7_amd64.sh;
- собрать пакеты (на примере пакета
plasma-mobile), выполнив команды:cp -a plasma-mobile-5.27.2 plasma-mobile_5.27.2.orig* /opt/build-environments/astralinux-1.7/opt/sudo chroot /opt/build-environments/astralinux-1.7cd /opt/plasma-mobile-5.27.2mk-build-deps -irdpkg-buildpackage -us -uc -ui -j$(nproc) - очистить окружение сборки, выполнив команды:
dpkg -l | grep build-depsapt purge '*build-deps*'apt autoremove --purge - размонтировать каталоги окружения
chroot, выполнив команды:sudo umount ${NDK_DIR}/proc/sudo umount ${NDK_DIR}/sys/sudo umount ${NDK_DIR}/dev/sudo umount ${NDK_DIR}/dev/pts
Сборка пакетов, предназначенных для процессорной архитектуры arm64, выполняется в следующем порядке:
- установить инструмент
debootstrapи QEMU, выполнив команду:sudo apt install debootstrap qemu-user-static - подготовить окружение
chroot, выполнив команды:NDK_DIR=/opt/build-environments/astralinux-4.7REPO_URL=http://download.astralinux.ru/astra/stable/4.7_arm/repository-base/sudo debootstrap --arch=arm64 --foreign --components=main,contrib,non-free 4.7_arm "${NDK_DIR}" "${REPO_URL}"sudo cp -av /usr/bin/qemu-aarch64-static "${NDK_DIR}/usr/bin/"echo "export LC_ALL=C" | sudo tee -a "${NDK_DIR}/root/.bashrc" - выполнить команды монтирования каталогов в окружение
chroot:sudo mount -t proc proc ${NDK_DIR}/proc/sudo mount -o bind /sys/ ${NDK_DIR}/sys/sudo mount -o bind /dev/ ${NDK_DIR}/dev/sudo mount -o bind /dev/pts ${NDK_DIR}/dev/pts - добавить нужные репозитории в файл
/opt/build-environments/astralinux-4.7/etc/apt/sources.list;deb https://download.astralinux.ru/astra/stable/4.7_arm/repository-base 4.7_arm main contrib non-free deb https://download.astralinux.ru/astra/stable/4.7_arm/repository-extended/ 4.7_arm main contrib non-free
- подготовить окружение сборки, выполнив команды:s
udo chroot /opt/build-environments/astralinux-4.7 /debootstrap/debootstrap --second-stagesudo chroot /opt/build-environments/astralinux-4.7 apt updatesudo chroot /opt/build-environments/astralinux-4.7 apt install devscripts quilt
- подготовить общий каталог для сборки пакетов, выполнив команду:
sudo chown -R "${USER}:${USER}" /opt/build-environments/astralinux-4.7/opt/Простой сценарий, подготавливающий окружение сборки в соответствии с приведенным выше описанием, доступен по ссылке make_chroot_astralinux-4.7_arm64.sh;
- собрать пакеты (на примере пакета
plasma-mobile), выполнив команды:cp -a plasma-mobile-5.27.2 plasma-mobile_5.27.2.orig* /opt/build-environments/astralinux-4.7/opt/sudo chroot /opt/build-environments/astralinux-4.7cd /opt/plasma-mobile-5.27.2mk-build-deps -irdpkg-buildpackage -us -uc -ui -j$(nproc)
- очистить окружение сборки, выполнив команды:
dpkg -l | grep build-depsapt purge '*build-deps*'apt autoremove --purge - размонтировать каталоги окружения
chroot, выполнив команды:sudo umount ${NDK_DIR}/proc/sudo umount ${NDK_DIR}/sys/sudo umount ${NDK_DIR}/dev/sudo umount ${NDK_DIR}/dev/pts