- Astra Linux.Как сделать.Запись ISO образа
- Первый способ
- Второй способ
- Запись ISO-образа на USB под Windows (проверено)
- Запись ISO-образа на USB под Ubuntu 14.04 (проверено)
- Быстрая навигация
- ссылки
- Сборка дистрибутива Astra linux
- Создание собственного образа Astra Linux для использования в Docker
- Установка пакетов
- Создание собственного образа
- Пример сценария создания собственного образа
Astra Linux.Как сделать.Запись ISO образа
Есть два способа создания LiveUSB флешки из прилагаемого загрузочного ISO образа.
Первый способ
Первый способ более простой, но работает только на современных ЭВМ с поддержкой UEFI.
- Флешку нужно отформатировать в файловую систему FAT32
- Скопировать на неё все файлы с образа ISO, в том числе скрытую папку «.disk».
Второй способ
Второй способ потребует некоторых технических знаний, но работает в том числе на старых ЭВМ без поддержки UEFI.
Внимание: если вы не понимаете как работает второй способ, то лучше им не пользуйтесь. Вы рискуете уничтожить свои данные и сделать ЭВМ неработоспособной.
Файл ISO образа нужно побайтно записать на USB флешку. В ОС Astra Linux (или Debian/Ubuntu) это можно сделать с помощью команды:
dd if=orel_live_2015030601.iso of=/dev/sdX bs=1M , где
/dev/sdX необходимо заменить на название устройства которым является USB флешка, обычно это /dev/sdb или /dev/sdc.
Запись ISO-образа на USB под Windows (проверено)
- проверьте, что флеш-диск отформатирован под FAT32, а не NTFS. в противном случае образ запишется, а загружаться не будет
- для создания образа под Windows желательно использовать программу UltraISO
- Устанавливаете ознакомительную версию UltraISO
- Загружаете в неё образ Asrta-linux или Asrta-linux Live
- выбираете пункт — Самозагрузка-> записать образ HDD. ->
- выбрать флеш-диск, на который будете записывать образ, метод записи выбрать — «USB HDD+»
Запись ISO-образа на USB под Ubuntu 14.04 (проверено)
- выбрать флешку размером не меньше 4Гб
- через поиск Unity найти утилиту Диск
- отформатировать флешку под FAT32 (я форматировал как загрузочную с efi)
- в ней выбрать флеш диск и записать на него выбранный образ Астра Линукс
- при перезагрузке в BIOS включить приоритетную загрузку с USB
- Если будет зависать при загрузке попробовать включить/отключить EFI
Быстрая навигация
ссылки
Яндекс | Картинки | Видео | Карты | Карты ОСМ | Спутник | Гугл | Вольфрам-Альфа | РуВики | EnWiki
Сборка дистрибутива Astra linux
На работе, по указу президиума вышестоящих, было решено импортозаместиться. Необходимо в сжатые сроки перевести АРМ’ы на изуродованный опенсорсный дистрибутив с громким названием Astra linux! Проблема в том, что АРМ’ов по бёдра, а если быть точнее 316 штук. Естессно будут наняты аутсорсы в помощь, но для них необходимо подготовить дистр с закостыленными в него банк-клиентами, СКЗИ, специфическим софтом и т.д. Также нужно минимизировать со стороны аутсорса кликанье мыши, то есть подготовить некий kickstart, чтоб максимум что они сделали после запуска установки — это ввели имя компа. Возможно автоматизировать ввод в домен, на этапе установки. На выходе должен получиться live-usb-astra-мать-её-за-ногу.iso Никогда не собирал образы, поэтому молю о подсказке. Поделитесь опытом кто как собирал подобное, а дальше я уж сам…
в астре по-моему есть инструмент для этого, собирать свою редакцию…а автоматизировать тоже можно, при установке через PXE передается все сценариями. Экспериментировал на раннем этапе импортозамещения в 2016г, и даже получалось. Сейчас уже просто не помню. У них в вики было описалово.
по их вики как я понял можно только live собрать. С него ты только сможешь поработать, но не установить.
Нафига вам аутсорц? Поднимите PXE-сервер, затем просто загрузите все компы по сети, а они сами уже загрузят установщик с полной автоматизацией.
Это если на АРМах вам не нужно никакие данные сохранять и тд, а можно всё нафиг стереть.
Имя компа опять же скриптом можете вытащить из старой системы.
Загрузить можно любой дистрибутив. Вам вообще не обязательно ставить именно через саму астру.
Грузите по PXE вообще любой дистр какой нравится, например Slackware, там запускать скрипт, который скачает тарболл с астрой, создаст и отформатирует разделы, распакует тарболл, затем через chroot установит груб. Единственное что понадобится вручную сделать на каждом компе — это выбрать в Boot Menu загрузку по сети.
Скрипт естественно вначале отладить на одном компе, потом на нескольких и только потом уже на всю сеть пускать.
Сделать тарбол можете установив астру обычным неавтоматическим способом, всё настроив как надо и точно выяснив где хранятся настройки, которые потом придётся менять. Если все компы одинаковые, то /etc/fstab например менять будет не надо, только сделайте там монтирование по LABEL, а не UUID.
Xenius ★★★★★ ( 12.07.21 10:13:25 MSK )
Последнее исправление: Xenius 12.07.21 10:17:04 MSK (всего исправлений: 4)не лень вот было лужу метанизировать столько времени.. два абзаца, а по делу — ноль! и админ из тебя, похоже, такой же..
ну и про PXE тов. Xenius верно заметил тоже.
нахера тебе «делать дистрибутив», когда всё необходимое стороннее ПО укладывается в местный репозиторий, через preseed этот репозиторий добавляется во время инсталляции и тудаже ты вписываешь команды на установку этих пакетов. Я так делал лет 15 назад еще. Когда «изуродованный опенсорсный дистрибутив с громким названием Astra linux» даже в проекте не был.
aol ★★★★★ ( 12.07.21 10:34:54 MSK )
Последнее исправление: aol 12.07.21 10:37:42 MSK (всего исправлений: 1)Да не особо он изуродованный дистрибутив. Просто разработчикам нужно было реализовать некоторые секурные фичи по нашему законодательству. Но в целом юзабельно. Бывают конечно грабельки на ровном месте, уже исправленные в том же дебиане, но это закономерность, т.к. продукт отстает на полтора релиза от апстрима.Со скоростью нашей отечественной сертификации это еще гуд.
О чем и речь, анон! О чем и речь!
Всё в порядке с дистром, особенно в начиная со Смоленска 1.6. А тс чота бузотёрит тут. 😉
А если с помощью ansible всё что нужно доделывать на чистом дистрибутиве?
Спасибо Xenius Так и поступил. Развернул PXE, потестил, всё взлетело без трабл. Спасибо aol на указание preseed’ов ну и особенный акцент на мою компетентность. Как правило после такого добиваешься всего сам.
На форуме я просил указать только направление куда двигаться…
P.S. будь я внимателен и прочитав более первых трёх результатов поиска гугла, то наткнулся бы на эту статью, где всё расписано подробно. Как говорится бери да делай.
Shprot ★ ( 20.07.21 03:36:02 MSK )
Последнее исправление: Shprot 20.07.21 03:37:19 MSK (всего исправлений: 2)Создание собственного образа Astra Linux для использования в Docker
Для применения в более ранних обновлениях см. пояснения в тексте.
Установка пакетов
Установить пакеты, необходимые для создания собственных образов Docker, можно либо с помощью графического менеджера пакетов (см. Графический менеджер пакетов synaptic) либо из командной строки командой:
Создание собственного образа
Собственный образ создается в три этапа:
- Выполняется сборка chroot-окружения;
- Выполняется настройка chroot-окружения;
- Полученное chroot-окружение конвертируется в образ Docker.
- Сборка chroot-окружения выполняется командой debootstrap. При установке для удобства дальнейшей работы в chroot-окружении можно (не обязательно) сразу установить пакеты ncurses-term, mc, locales, nano, gawk, lsb-release, acl, perl-modules-5.28. Варианты установки:
- Если каталоги репозиториев доступны по сети, то загрузка пакетов для сборки может выполняться непосредственно из этих сетевых репозиториев, например, для Astra Linux Special Edition — из общедоступного сетевого репозитория. В примерах ниже chroot-окружение Astra Linux создаётся в каталоге /var/docker-chroot.
Каталог /var для размещения chroot-окружения выбран потому, что по умолчанию в Astra Linux Special Edition начиная с обновления БЮЛЛЕТЕНЬ № 2022-0819SE17 (оперативное обновление 1.7.2) он имеет метку безопасности 3:63:-1:ccnr, позволяющую создавать в нем файловые объекты с любыми метками безопасности. При работе в более ранних обновлениях Astra Linux следует самостоятельно создать подобный каталог (установить метку на каталог /var). Далее в примерах команды выполняются в привилегированном режиме (от имени администратора с правами суперпользователя (при включенном МКЦ — администратора с правами суперпользователя и с высоким уровнем целостности). Для работы пользователей в непривилегированном режиме администратором системы должен быть создан доступный пользователю каталог с необходимой меткой безопасности.
Для Astra Linux Special Edition опция —components=main,contrib,non-free обязательна, без неё образ Astra Linux Special Edition собран не будет.
Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) следует использовать код дистрибутива 1.7_x86-64, например:
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 \
/var/docker-chroot \
http://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-mainВ данном примере предполагается, что сетевые https-репозитории не используются (пакет apt-transport-https не нужен и не устанавливается).
sudo cp /etc/resolv.conf /var/docker-chroot/etc/resolv.conf
sudo cp /etc/apt/sources.list /var/docker-chroot/etc/apt/sources.listили, по необходимости, отредактировать файлы в окружении с помощью любого текстового редактора, например:
sudo chroot /var/docker-chroot
apt update
apt dist-upgrade
echo «ru_RU.UTF-8 UTF-8» >> /etc/locale.gen
echo «en_US.UTF-8 UTF-8» >> /etc/locale.gen
locale-gen
update-locale ru_RU.UTF-8
exitsudo tar -C /var/docker-chroot -cpf — . | \
sudo docker import — wiki/astralinux:se \
—change «ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin» \
—change ‘CMD [«/bin/bash»]’ \
—change «ENV LANG=ru_RU.UTF-8»Если все операции выполнены успешно, то:
- Созданный образ должен отображаться в списке образов:
Пример сценария создания собственного образа
#!/bin/sh program=$(basename $0) version=1.0 set -e pkg_missing=false for required_pkg in docker.io debootstrap; do if ! dpkg -l $required_pkg >/dev/null 2>/dev/null; then printf 'Please install %s package\n' $required_pkg pkg_missing=true fi done if $pkg_missing; then exit 1 fi # Check docker can be run without sudo docker version 2>&1 >/dev/null ||\ (printf 'Please run with sudo or add your account to `docker` group\n';\ exit 1) usage="\ Usage: $program -v Print program version $program -r REPOSITORY [-c CODENAME] -i IMAGE_NAME [-b] Create Docker image IMAGE_NAME based on REPOSITORY with CODENAME -v Print version -r REPOSITORY Address of the repository -c CODENAME Codename (specified in $REPOSITORY/dists) -i IMAGE_NAME Name of the image being created -b Install base Astra Linux packages default CODENAME is \"stable\"" invalid_args() echo "$usage>" 1>&2 exit 1 > REPO=$REPO IMAGE=$IMAGE CODENAME="$CODENAME:-stable>" install_base_pkgs=false while getopts 'r:c:i:vb' option; do case $option in r) REPO=$OPTARG ;; i) IMAGE=$OPTARG ;; c) CODENAME=$OPTARG ;; b) install_base_pkgs=true ;; v) echo $program $version ;; ?) invalid_args ;; esac done if [ -z $REPO ]; then echo Please specify -r \(repository\) argument fi if [ -z $IMAGE ]; then echo Please specify -i \(image\) argument fi if [ -z $REPO ] || [ -z $IMAGE ]; then invalid_args fi ROOTFS_IMAGE="$IMAGE-rootfs" TMPDIR=`mktemp -d` cd $TMPDIR cleanup() cd $HOME # debootstrap leaves mounted /proc and /sys folders in chroot # when terminated by Ctrl-C sudo umount $TMPDIR/proc $TMPDIR/sys >/dev/null 2>/dev/null || true # Delete temporary data at exit sudo rm -rf $TMPDIR > trap cleanup EXIT sudo -E debootstrap --no-check-gpg --variant=minbase \ --components=main,contrib,non-free "$CODENAME" ./chroot "$REPO" echo "deb $REPO $CODENAME contrib main non-free" | sudo tee ./chroot/etc/apt/sources.list docker rmi "$ROOTFS_IMAGE" 2>/dev/null || true sudo tar -C chroot -c . | docker import - "$ROOTFS_IMAGE" docker rmi "$IMAGE" 2>/dev/null || true if $install_base_pkgs; then cmd="echo Installing base packages && apt-get install -y parsec parsec-tests linux-astra-modules-common astra-safepolicy lsb-release acl perl-modules-5.28 ca-certificates" else cmd="true" fi docker build --network=host --no-cache=true -t "$IMAGE" - <EOF FROM $ROOTFS_IMAGE ENV TERM xterm-256color ENV DEBIAN_FRONTEND noninteractive RUN apt-get update RUN $cmd WORKDIR / CMD bash EOF printf 'Docker image "%s" has been generated\n' "$IMAGE" exit 0