Astra linux dev установка

Установка Astra Linux по сети (UEFI или Legacy BIOS)

PXE (англ.Preboot eXecution Environment) — среда для загрузки компьютеров с помощью сетевой карты без использования жестких дисков, компакт-дисков и других устройств, применяемых при загрузке операционной системы.
Подробная информация об автоматической установке с помощью списка ответов: https://www.debian.org/releases/stretch/s390x/apbs01.html.ru

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

  • Виртуальный графический адаптер VMSVGA для Oracle VirtualBox;
  • Виртуальный графический адаптер cirrus или qxl для Virt Manager.

Подготовка инфраструктуры PXE на Astra Linux

Автоматическая установка с помощью файла preseed.cfg

Файлы preseed представляют собой заранее подготовленные ответы на вопросы установщика ОС. Их использование позволяет обеспечить полностью автоматическую установку с заранее заданной конфигурацией.

Ссылки для скачивания файлов:

  • Файл preseed.cfg для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) см. Пример файла preseed.cfg для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.7;
  • Файл preseed.cfg для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) : preseed_se16.cfg .
  • Файл preseed.cfg для Astra Linux Common Edition 2.12 : preseed_ce.cfg .

Файл после скачивания скопировать в каталог установочных файлов соответствующего дистрибутива под именем preseed.cfg, например:

Важные параметры файла preseed:

    Пути к репозиториям пакетов:

# Репозиторий для установки # Если вы выберете ftp, то mirror/country string устанавливать не обязательно d-i mirror/protocol string http d-i mirror/country string manual d-i mirror/http/hostname string 192.168.56.1 # для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) d-i mirror/http/directory string /repo/se # или, вариант для Astra Linux Common Edition 2.12 #d-i mirror/http/directory string /repo/ce d-i mirror/http/proxy string
d-i mirror/protocol string ftp d-i mirror/ftp/hostname string 192.168.56.1 d-i mirror/ftp/directory string /repo/se # или, вариант для Astra Linux Common Edition 2.12 #d-i mirror/ftp/directory string /repo/ce d-i mirror/ftp/proxy string
# Здесь можно указать любое допустимое значение для $TZ; смотрите # допустимые значения в файле /usr/share/zoneinfo/. d-i time/zone string Europe/Moscow
#Если система имеет свободное место, вы можете выбрать для разметки
# только его.
# Замечание: нужно указывать локализованные (переведённые) значения.
#d-i partman-auto/init_automatically_partition \
# select Авто - использовать наибольшее свободное место

#Или же, вы можете задать размечаемый диск. Имя устройства
# должно задаваться в обычном не-devfs формате.
# Например, для использования первого жёсткого диска SCSI/SATA:
#d-i partman-auto/disk string /dev/sda
# Замечание: если вы хотите использовать любой доступный диск, не важно
# какое у него имя, закоммерируйте строку выше. Она работает только если
# в системе один жёсткий диск.
# Также, вы можете указать какой метод использовать.
# Доступные методы: "regular", "lvm" и "crypto"
d-i partman-auto/method string regular

# Автоматическая установка на компьютеры с уже установленной ОС в режиме UEFI без запроса подтверждения
# d-i partman-efi/non_efi_system boolean true

# Если один из дисков, который нужно разметить с помощью автоматической
# разметки, содержит старую конфигурацию LVM, то пользователю выдаётся
# предупреждение. Ответ можно автоматизировать.
d-i partman-auto/purge_lvm_from_device boolean true
# И подтвердить запись lvm разделов.
d-i partman-lvm/confirm boolean true

Читайте также:  Log in to mysql linux

# Вы можете выбрать любой из имеющихся наборов разметки.
# Замечание: он должен содержать локализованные (переведённые) значения.
# Расскомментируйте ниже нужный тип разметки

# Для режима legacy bios:
d-i partman-auto/choose_recipe select atomic

# Для режима UEFI:
# d-i partman-auto/choose_recipe select /lib/partman/recipes-amd64-efi/30atomic

# Этот параметр заставляет partman выполнить разметку автоматически
# без подтверждения.
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman-auto-crypto/erase_disks boolean true
d-i partman-basicfilesystems/no_swap boolean true
d-i partman-target/mount_failed boolean true
d-i partman-partitioning/unknown_label boolean true
d-i partman-auto/purge_lvm_from_device string true
d-i partman-lvm/vgdelete_confirm boolean true
d-i partman/confirm_write_new_label string true
d-i partman-lvm/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

Не рекомендуется использовать пароли в виде открытого текста.
В примере ниже использован вариант с указанием пароля 12345678 в виде открытого текста, и вариант с указанием хеша. Получить хеш пароля можно командой:

# Создать учётную запись обычного пользователя. d-i passwd/user-fullname string u d-i passwd/username string u # Пароль обычного пользователя, или открытым текстом #d-i passwd/user-password password 12345678 #d-i passwd/user-password-again password 12345678 # или в виде MD5 хеша. d-i passwd/user-password-crypted password $1$EPkHS/dI$0tl23aI/oMBBNdBVZP0o.1
tasksel tasksel/first multiselect Base, Fly # Доступные компоненты и входящие в них пакеты можно посмотреть в /usr/share/tasksel/debian-tasks.desc
# Отдельные дополнительные пакеты для установки d-i pkgsel/include string openssh-server
# В ОС ALCE необходимо указывать на какой диск ставить загрузчик grub-installer grub-installer/choose_bootdev select /dev/sda d-i grub-pc/install_devices multiselect /dev/sda # По умолчанию grub ставится на первый диск # Или же, если вы хотите установить загрузчик не в mbr, # то раскомментируйте и отредактируйте следующие строки: #d-i grub-installer/only_debian boolean false #d-i grub-installer/with_other_os boolean false #d-i grub-installer/bootdev string (hd0,0) #d-i grub-pc/install_devices multiselect /dev/sda # Для установки grub на несколько дисков: #d-i grub-installer/bootdev string (hd0,0) (hd1,0) (hd2,0)

Не рекомендуется использовать пароли в виде открытого текста.
В примере ниже использован пароль 12345678 и его хеш. Получить хеш пароля можно командой:

Читайте также:  Using at linux command line

Эта команда запросит ввод пароля и выведет на экран кеш этого пароля.
Не указывайте пароль в виде открытого текста!

# Необязательный пароль на grub, или в виде открытого текста #d-i grub-installer/password password 12345678 #d-i grub-installer/password-again password 12345678 #grub-installer grub-installer/password-mismatch error # или в виде хеша пароля по алгоритму MD5, смотрите grub-md5-crypt(8). d-i grub-installer/password-crypted password $1$EPkHS/dI$0tl23aI/oMBBNdBVZP0o.1
# Эта команда выполняется перед окончанием установки, пока ещё # есть рабочий каталог /target. Вы можете выполнить chroot в /target # и непосредственно использовать его, или же воспользоваться командами # apt-install и in-target для облегчения задачи установки пакетов и # запуска команд в целевой системе. d-i preseed/late_command string in-target systemctl enable ssh.service

Теперь, если подключить машину к этой сети и настроить в BIOS/UEFI загрузку по сети, автоматически запустится установка Astra Linux . Так же можно установить систему вручную, ответив на все вопросы, и после установки выполнить команды:

Это создаст файл preseed.new с готовыми ответами, который можно использовать как прототип для создания конфигурации для следующих установок.

Автоматическая установка обновлений после установки системы

В Astra Linux Common Edition 2.12 можно выполнить обновление указав команды обновления в параметре late-command:

d-i preseed/late_command string in-target apt update; in-target apt dist-upgrade;

В Astra Linux Special Edition для автоматической установки обновлений нужно создать файл update.service в корне ftp или http сервера с таким содержимым:

[Unit] Description=Update system After=rc-local.service network-online.target Before=getty.target Before=systemd-user-sessions.service [Service] StandardOutput=tty Type=oneshot ExecStart=/usr/local/bin/update.sh [Install] WantedBy=multi-user.target

Там же создать файл update.sh в котором должны быть указаны репозитории с обновлениями. Репозитории могут размещаться где угодно, важно только правильно указать путь к ним:

#!/bin/bash clear # вносим в /etc/apt/sources.list используемые репозитории (для примера - репозиторий server, работающий по протоколу ftp): echo "deb ftp://server/repo/se/mounted-iso-main smolensk main contrib non-free" > /etc/apt/sources.list echo "deb ftp://server/repo/se/mounted-iso-devel smolensk main contrib non-free" >> /etc/apt/sources.list echo "deb ftp://server/repo/se/repository-update smolensk main contrib non-free" >> /etc/apt/sources.list echo "deb ftp://server/repo/se/repository-update-dev smolensk main contrib non-free" >> /etc/apt/sources.list echo "Updating system, please wait. " echo "Do not turn off your computer!" apt-get update &> /dev/null apt-get -y dist-upgrade &> /dev/null apt-get -y install chromium &> /dev/null rm -f /etc/systemd/system/multi-user.target.wants/update.service systemctl daemon-reload rm -f /usr/local/bin/update.sh reboot

а в preseed.conf в конец добавить команды для загрузки и запуска созданных файлов:

d-i preseed/late_command string in-target systemctl enable ssh ; \ in-target wget -O /usr/local/bin/update.sh ftp://10.0.2.20/se/update.sh; \ in-target chmod +x /usr/local/bin/update.sh; \ in-target wget -O /lib/systemd/system/update.service ftp://10.0.2.20/se/update.service; \ in-target systemctl enable update.service;

Если всё сделано корректно — то после завершения установки ОС, после первой перезагрузки выполнится сценарий обновления, самоудалится и перезагрузит машину.

Читайте также:  Создать raid массив linux

Источник

Оцените статью
Adblock
detector