Автоматическая установка ОС «Astra Linux Special Edition»
Этот репозиторий содержит сценарии Ansible для создания сервера
автоматической установки по сети ОС Astra Linux Special Edition
на целевые машины.
Авторы: Лаборатория 50 team@lab50.net.
Лицензия
Все материалы распространяются на условиях
стандартной общественной лицензии GNU (GPL) версии 3.
Полный текст лицензии находится в файле LICENSE.
Используются следующие пакеты:
- Ansible версии 1.7+;
- Dnsmasq — DHCP и TFTP сервер;
- LigHTTPd/Apache 2/vsftpd — сервер раздачи репозитория/preseed файлов.
Возможности
Проект в первую очередь предназначен для использования сисадминами и внедренцами,
работающими с Astra Linux Special Edition. Сценарии позволяют создать полностью
автономный сервер для сетевой установки ОС. Например, на ноутбуке.
Важные функции:
- Раздача репозитория операционной системы.
- Упрощенное создание сценариев установки (pressed-файлов) оптимизированных
для Астры. - Поддержка программного RAID и LVM.
- Привязка IP-адресов к MAC-адресам.
- Использование разных сценариев установки для разных узлов (привязка к MAC-адресам).
- Поддержка UEFI (необходим пакет syslinux-efi).
Подготовка
- Установите пакет ansible:
apt-get -y install ansible
. - Создайте файл stage (на базе примера stage.sample). Пример рассчитан на установку
на локальный узел. - Создайте сценарий установки на базе примера site.yml:
cp site.yml my.yml
.
Поставляемый файл рассчитан на установку на локальном узле пользователем с
возможностью использования sudo. Если вы работаете под root-ом, значение
sudo
установите вfalse
. - Создайте свои сценарии установки ОС (preseed) в отдельном файле, например
preseeds.yml
. - Создайте файл конфигурации параметров инсталляции и целевых машин в каталоге
vars/
на базе примераvars/example.yml
.
Установка
Установка производится с помощью Ansible:
ansible-playbook -i stage my.yml --extra-vars="@vars/my.yml"
Сценарий установки ОС (preseed-файл)
Preseed-файл задает параметры автоматической установки Debian-подобных систем.
В проекте есть роль preseed
которая облегчает создание этого файла путем
автоматической генерации на основании шаблона. Вы можете создавать любое
количество preseed-файлов.
Пример использования нескольких сценариев (в my.yml
):
…
vars_files:
- vars/srv-cfg1.yml
…
roles:
- { role: preseed, preseed: "{{ server }}" }
- { role: preseed, preseed: "{{ client }}" }
…
В примере будет создаваться два preseed-файла, определяемых переменными
server
и client
в файле preseeds.yml
:
server:
name: server
…
client:
name: client
…
В роли preseed уже есть две стандартные роли: standard
и dmraid
.
Некоторые ограничения на настройку ролей:
- Два варианта разбиения диска: LVM и программный RAID (RAID + LVM).
Пример сценария
Замечания для версии Астры 1.3
Данная конфигурация настроена на установку по сети ОС Astra Linux Special Edition.
Для этого доработан образ initrd.gz инсталлятора (по отношению к netinst
c оригинального диска с ОС Astra Linux 1.3):
- изменен usr/share/localechooser/languagelist поддержка русскому языку изменена с 2 на 1.
былоru;2;RU;ru_RU.UTF-8;;console-setup
сталоru;1;RU;ru_RU.UTF-8;;console-setup
- добавлен модуль dca.ko в lib/modules/3.2.0-27-generic/kernel/drivers/dca/
- добавлены модули
dm-log.ko
dm-mirror.ko
dm-mod.ko
dm-region-hash.ko
вlib/modules/3.2.0-27-generic/kernel/drivers/md/
- добавлены ключи
lab50-archive-keyring.gpg
от собственного репа
(он служит зеркалом при установке) вusr/share/keyrings
Как это все сделать самостоятельно.
-
распаковка и упаковка initrd.gz:
#!/bin/sh if [ -d $1 ]; then rm -rf $1 fi if [ -f initrd ]; then rm initrd fi if ! [ -f initrd.gz ]; then echo "initrd.gz not found" exit 1 fi gunzip initrd.gz mkdir $1 cd $1 cpio -id < ../initrd
-
сборка initrd.gz:
#!/bin/sh if ! [ -d $1 ]; then echo "folder not found" exit 1 fi if [ -f initrd ]; then rm initrd fi if [ -f initrd.gz ]; then rm initrd.gz fi cd $1 find . | cpio --create --format='newc' > ../initrd cd .. gzip initrd
В качестве зеркала используется собственный репозиторий пакетов, в котором добавлен пакет
grub-installer_1.78ubuntu8_amd64.udeb
, поскольку grub-installer_1.70astra.se4_amd64.udeb
содержит
ошибки при установке grub на soft&fake raid.
PXE (англ.Preboot eXecution Environment) — среда для загрузки компьютеров с помощью сетевой карты без использования жестких дисков, компакт-дисков и других устройств, применяемых при загрузке операционной системы.
Подробная информация об автоматической установке с помощью списка ответов: https://www.debian.org/releases/stretch/s390x/apbs01.html.ru
Описанная в данной статье методика установки на виртуальных машинах может приводить к черному экрану после перезагрузки. Чтобы избежать этого рекомендуется использовать виртуальные графические адаптеры:
- Виртуальный графический адаптер VMSVGA для Oracle VirtualBox;
- Виртуальный графический адаптер cirrus или для Virt Manager.
Как это работает
Предполагается, что:
- установка производится на компьютер (клиент), подключенный к локальной сети;
- в этой сети имеются:
- настроенный DHCP-сервер, выдающий клиентским компьютерам не только сетевые IP-адреса, но и другие сетевые параметры (в частности, IP-адрес TFTP-сервера, с которого будет загружаться установочный образ). Далее для примера приводится установка и настройка DHCP-сервера, однако если в сети уже имеется собственный DHCP-сервер, то следует выполнить его настройку в соответствии с приведенными в статье инструкциями ;
- настроенный TFTP сервер, с которого можно загрузить установочные данные и файлы для первичной загрузки:
- tftp://192.168.56.1/se
- tftp://192.168.56.1/ce
-
настроенные разделяемые сетевые ресурсы, из которых можно загружать пакеты. Для загрузки могут использоваться протоколы FTP или HTTP.
Это не совсем обычные репозитории пакетов: в обычных репозиториях пакетов нет загрузочных модулей ядра.
Чтобы необходимые модули были доступны при сетевой установке проще всего использовать в качестве разделяемых сетевых ресурсов примонтированные установочные диски (образы дисков).Для примера используются HTTP-репозитории.
- http://192.168.56.1/repo/se
- http://192.168.56.1/repo/ce
Обратите внимание: используются РАЗНЫЕ источники данных, работающие по РАЗНЫМ протоколам, расположенные в РАЗНЫХ местах файловой системы, и, возможно, даже на разных серверах:
- в первом случае это источник установочных файлов и и файлов для первичной загрузки, работающий по протоколу TFTP. Эти данные размещаются в каталоге /srv/tftp/;
- во втором случае (репозитории пакетов), работающий по протоколу HTTP (или FTP). Размещается, например, в каталоге /srv/repo или в каталоге /var/www/html/repo. Подробнее про создание и настройку таких репозиториев . Создание локальных и сетевых репозиториев.
Для упрощения изложения далее предполагается, что сетевые службы DHCP, TFTP, HTTP располагаются на одном и том же компьютере. При необходимости эти службы могут быть установлены на разных компьютерах
Как это работает:
- клиент подключается к сети и запрашивает IP-адрес, передавая в запросе информацию о собственной конфигурации;
- DHCP-сервер назначает клиенту IP-адрес и вместе с назначенным адресом передаёт клиенту дополнительные сетевые параметры, в том числа IP-адрес TFTP-сервера с необходимыми файлами сценариев установки;
- клиент подключается к TFTP-серверу и загружает файлы со сценариями установки;
- клиент выполняет установку в соответствии с полученными сценариями.
Установка выполняется с заранее заданными фиксированными именами (имя хоста, имя пользователя, пароль пользователя). Рекомендуется после установки сменить имена и пароли.
Установка и настройка DHCP/TFTP-сервера
Установка пакетов
Установить необходимые пакеты:
sudo apt install tftpd-hpa pxelinux syslinux
Где:
- tftpd-hpa — TFTP-server;
- pxelinux — загрузчик для сетевой загрузки PXE;
- syslinux — загрузчик для сетевой загрузки DOS FAT / NTFS;
Настройка службы TFTP
Служба tftpd после установки запускается автоматически и сразу предоставляет доступ к каталогу /srv/tftp/, в котором далее и будут размещены файлы для сетевой загрузки.
Установка и настройка службы DHCP
Создание собственой службы DHCP требуется только в том случае, если в сети нет уже такой действующей службы. Если в сети уже имеется служба DHCP (DHCP-сервер), то следует внести в его настройку указанные ниже параметры в соответствии его с инструкциями по эксплуатации.
Для создания собственного DHCP-сервера:
-
Установить пакет:
sudo apt install isc-dhcp-server
-
Настроить пакет:
-
В файле /etc/default/isc-dhcp-server:
-
Настроить конфигурацию в файле /etc/dhcp/dhcpd.conf. В данной конфигурации dhcp сервер будет определять тип клиента (UEFI или Legacy BIOS) и передавать ему нужный загрузчик:
authoritative; option domain-name "my.dom"; default-lease-time 600; max-lease-time 7200; log-facility local7; option domain-name-servers 8.8.8.8; allow booting; allow bootp; option fqdn.no-client-update on; option fqdn.rcode2 255; option pxegrub code 150 = text ; next-server 192.168.56.1; option architecture code 93 = unsigned integer 16 ; if option architecture = 00:07 { filename "bootx64.efi"; } elsif option architecture = 00:09 { filename "bootx64.efi"; } else { filename "pxelinux.0"; } subnet 192.168.56.0 netmask 255.255.255.0 { range 192.168.56.20 192.168.56.250; option broadcast-address 192.168.56.255; option routers 192.168.56.1; option subnet-mask 255.255.255.0; }
-
После внесения изменений в настройки перезапустить службу:
sudo systemctl restart isc-dhcp-server
-
Независимо от используещейся службы DHCP для загрузки по сети нужны следующие файлы:
- pxelinux.0;
- библиотеки syslinux;
- ядро ОС;
- специальный initrd.
Эти файлы находятся на установочном диске в каталоге netinst и для того, чтобы они могли быть переданы клиентам, они должны быть скопированы в каталог /srv/tftp/.
Для копирования файлов:
-
Для Astra Linux Special Edition (в примере ниже предполагается, что основной установочный диск находится в приводе компакт дисков) это копирование сделать командами:
sudo mkdir -p /srv/repo/se/
sudo mount /dev/sr0 /srv/repo/se/
sudo mkdir -p /srv/tftp/se/
sudo cp /srv/repo/se/netinst/linux /srv/tftp/se/
sudo cp /srv/repo/se/netinst/initrd.gz /srv/tftp/se/
Для Astra Linux Common Edition, если образ установочного диска находится в файле ce212.iso:
sudo mkdir -p /srv/repo/ce/
sudo mount ce212.iso /srv/repo/ce
sudo mkdir -p /srv/tftp/ce/
sudo cp /srv/repo/ce/netinst/linux /srv/tftp/ce/
sudo cp /srv/repo/ce/netinst/initrd.gz /srv/tftp/ce/
-
Скопировать в каталог /srv/tftp файл pxelinux.0 и необходимые библиотеки syslinux из установленной ОС:
sudo cp /usr/lib/PXELINUX/pxelinux.0 /srv/tftp/
sudo cp /usr/lib/syslinux/modules/bios/{chain.c32,ldlinux.c32,libcom32.c32,libutil.c32,menu.c32} /srv/tftp/
-
Создать каталог /srv/tftp/pxelinux.cfg/:
sudo mkdir -p /srv/tftp/pxelinux.cfg
-
Создать в этом каталоге файл /srv/tftp/pxelinux.cfg/default со следующим содержимым:
ui menu.c32 PROMPT 0 MENU TITLE PXE Boot menu TIMEOUT 50 DEFAULT local LABEL local MENU LABEL Boot from local drive kernel chain.c32 append hd0 # Astra Linux Special Edition LABEL netinstall MENU LABEL Start Astra Linux SE net install kernel se/linux append initrd=se/initrd.gz modprobe.blacklist=evbug auto=true priority=critical debian-installer/locale=en_US console-keymaps-at/keymap=ru hostname=se16 domain=my.dom astra-license/license=true url=tftp://192.168.56.1/se/preseed.cfg interface=auto netcfg/dhcp_timeout=60 astra_install=1 vga=788 debian-installer/allow_unauthenticated=true # Astra Linux Common Edition LABEL netinstall MENU LABEL Start Astra Linux CE net install kernel ce/linux append initrd=ce/initrd.gz modprobe.blacklist=evbug auto=true priority=critical debian-installer/locale=en_US console-keymaps-at/keymap=ru hostname=ce212 domain=my.dom astra-license/license=true url=tftp://192.168.56.1/ce/preseed.cfg interface=auto netcfg/dhcp_timeout=60 vga=788 debian-installer/allow_unauthenticated=true
При использовании приведенного выше файла по умолчанию загрузка клиента выполняется с локального жесткого диска. Это сделано для предотвращения повторной автоматической установки после завершения первой установки, или случайной установки на компьютер с уже установленной ОС, подключенный к этой же сети.
Важные параметры:
-
hostname — имя хоста, которое будет использовано при автоматической установке ОС;
-
domain — имя домена ;
-
url — адрес, по которому должны быть доступны конфигурационные файлы. В данном примере используется протокол TFTP, однако можно использовать FTP или HTTP (файлы при этом должны быть размещены в соответствующих локациях).
-
append … astra_install=1 — параметр ядра astra_install=1 необходим для корректной установки Astra Linux Special Edition с включенным МКЦ.
-
-
Для загрузки в режиме UEFI служит специальный EFI образ загрузчика grub. Для его установки:
-
Загрузить архив с образом с помощью web-браузера по ссылке: скачать. По умолчанию архив будет сохранен в подкаталоге Загрузки домашнего каталога;
-
Распаковать архив Загрузки/netinst.tar.gz в каталог /srv/tftp:
sudo tar xvf Загрузки/netinst.tar.gz -C /srv/tftp
-
Отредактировать конфигурационный файл /srv/tftp/debian-installer/amd64/grub/grub.cfg:
if loadfont $prefix/font.pf2 ; then set gfxmode=800x600 set gfxpayload=keep insmod efi_gop insmod efi_uga insmod video_bochs insmod video_cirrus insmod gfxterm insmod png terminal_output gfxterm fi if background_image /isolinux/splash.png; then set color_normal=light-gray/black set color_highlight=white/black else set menu_color_normal=cyan/blue set menu_color_highlight=white/blue fi menuentry "Boot default EFI bootloader" { set background_color=black regexp -s root '((.+))' "$cmdpath" chainloader /EFI/Boot/Bootx64.efi } # Установка Astra Linux Special Edition menuentry 'Install Astra Linux SE' { set background_color=black linux /se/linux modprobe.blacklist=evbug debian-installer/allow_unauthenticated=true auto=true priority=critical debian-installer/locale=en_US console-keymaps-at/keymap=ru hostname=test2 domain=my.dom astra-license/license=true url=tftp://192.168.56.1/se/preseed.cfg interface=auto netcfg/dhcp_timeout=60 initrd /se/initrd.gz } # Установка Astra Linux Common Edition menuentry 'Install Astra Linux CE' { set background_color=black linux /ce/linux modprobe.blacklist=evbug debian-installer/allow_unauthenticated=true auto=true priority=critical debian-installer/locale=en_US console-keymaps-at/keymap=ru hostname=test2 domain=my.dom astra-license/license=true url=tftp://192.168.56.1/ce/preseed.cfg interface=auto netcfg/dhcp_timeout=60 initrd /ce/initrd.gz }
При редактировании следует указать правильное имя домена и пути поиска файлов. При этом, , что следует учесть, указывая имя файла. По умолчанию в файле задана загрузка образа EFI из EFI/Boot/Bootx64.efi (на некоторых системах может быть иначе). Это сделано для того, чтобы избежать повторной автоматической установки после завершения первой установки, или случайной установки на компьютер с уже установленной ОС, подключенный к этой же сети;
-
-
Перезапустить службы:
sudo systemctl restart isc-dhcp-server # если используется
sudo systemctl restart tftpd-hpa
Автоматическая установка с помощью файла preseed.cfg
Ссылки для скачивания файлов:
- Файл 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, например:
sudo cp preseed_se16.cfg /srv/tftp/se/preseed.cfg
или
sudo cp preseed_ce.cfg /srv/tftp/ce/preseed.cfg
Важные параметры файла preseed:
-
Пути к репозиториям пакетов:
-
Пример путь к HTTP-репозиторию с пакетами для установки:
# Репозиторий для установки # Если вы выберете 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
-
В следующем блоке подготавливаются разделы на жестком диске (по умолчанию стоит автоматическое создание с использованием всего диска, с одним корневым разделом и разделом подкачки (см. Область подкачки (swap): особенности применения и обеспечения безопасности)):
Нажмите здесь для раскрытия…
#Если система имеет свободное место, вы можете выбрать для разметки
# только его.
# Замечание: нужно указывать локализованные (переведённые) значения.
#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# Вы можете выбрать любой из имеющихся наборов разметки.
# Замечание: он должен содержать локализованные (переведённые) значения.
# Расскомментируйте ниже нужный тип разметки# Для режима 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 -
Создание пользователя (user) и задание пароля:
Не рекомендуется использовать пароли в виде открытого текста.
В примере ниже использован вариант с указанием пароля 12345678 в виде открытого текста, и вариант с указанием хеша. Получить хеш пароля можно командой:openssl passwd -1
Эта команда запросит ввод пароля и выведет на экран кеш этого пароля.
# Создать учётную запись обычного пользователя. 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
-
Установка загрузчика. По умолчанию, загрузчик ставится на первый диск в MBR. Но в Astra Linux Common Edition 2.12 необходимо указать вручную, на какой диск ставить загрузчик:
# В ОС 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 и его хеш. Получить хеш пароля можно командой:openssl passwd -1
Эта команда запросит ввод пароля и выведет на экран кеш этого пароля.
Не указывайте пароль в виде открытого текста!# Необязательный пароль на 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
-
Выполнение команд перед завершением установки и перезагрузкой компьютера, например включить ssh сервер:
# Эта команда выполняется перед окончанием установки, пока ещё # есть рабочий каталог /target. Вы можете выполнить chroot в /target # и непосредственно использовать его, или же воспользоваться командами # apt-install и in-target для облегчения задачи установки пакетов и # запуска команд в целевой системе. d-i preseed/late_command string in-target systemctl enable ssh.service
Теперь, если подключить машину к этой сети и настроить в BIOS/UEFI загрузку по сети, автоматически запустится установка Astra Linux . Так же можно установить систему вручную, ответив на все вопросы, и после установки выполнить команды:
sudo debconf-get-selections —installer > preseed.new
sudo debconf-get-selections >> preseed.new
Это создаст файл 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;
Если всё сделано корректно — то после завершения установки ОС, после первой перезагрузки выполнится сценарий обновления, самоудалится и перезагрузит машину.
Автоматическая разметка дисковых разделов с помощью partman-auto
0. Введение
Директива partman-auto является частью системы управления дисковыми разделами, автоматизирующей разбиение дисков на дисковые разделы. Порядок разбиения управляется рецептами, предоставляемыми в виде файлов, а также может управляться пакетами udeb (пакетами, предназначенными для Debian Installer) или указанием параметров разметки в файле предварительных настроек preseed. В настоящем документе описываются формы рецептов и порядок их применения.
1. Форма рецептов
Все символы перевода строки и табуляции преобразуются в пробелы. Далее каждые два или более пробела заменяются одним пробелом. Почти все лексемы разделяются пробелами. Важным исключением является открывающая фигурная скобка («{«); перед котоной _не_ должно быть пробелов.
Далее в правилах пробелы обозначаются символом подчеркивания («_»).
<рецепт>::=<заголовок>_<раздел> <заголовок>::=<простое имя>|<имя debconf> <простое имя>::=<имя>_:
<имя> может быть, например "Multi user system".
<имя debconf>::=<шаблон debconf>_::
Назначением лексемы <имя debconf> является перевод имен рецептов на другие языки.
<раздел>::=<раздел>|<раздел>_<разделы> <раздел>::=<лимиты>_<спецификации>_. <лимиты>::=<минимальный размер>_<приоритет>_<максимальный размер>_<файловая система>
- <минимальный размер> задает минимальный допустимый размер дискового раздела в мегабайтах. Размер округляется до размера дискового цилиндра, поэтому есть задать минимальный размер 20МБ при размере цилиндра 12МБ размер дискового раздела будет 12МБ. Размеры также могут быть заданы в процентах от общего объёма системного ОЗУ или (начиная с partman-auto версии 87) как число плюс проценты (например, «2000+50%»), что задает размер как указанное число плюс указанный процент от общего объёма системного ОЗУ;
- <приоритет> — некоторое число, обычно между числами <минимальный размер> и <максимальный размер>. Оно определяет приоритеты разделов при назначении размера. Если <приоритет> слишком мал (относительно приоритета другого раздела) этот раздел получит размер ближе к величине <минимальный размер>. Для маленьких разделов рекомендуется задавать <приоритет> больше чем их <максимальный размер>;
- <максимальный размер> — максимальный размер раздела. Специальное значение -1 используется для задания разделов неограниченного размера;
- <файловая система> — файловая система для этого раздела. Может быть задана как $default_filesystem для использования значения по умолчанию (в настоящее время ext3).
<спецификаторы>::=<спецификатор>|<спецификатор>_<спецификаторы> <спецификатор>::=<внутренний спецификатор>|<регулярный спецификатор>|<спецификатор типа> <внутренний спецификатор>::=$primary{_}|$bootable{_}|$default_filesystem{_}
- $primary{_} — раздел должен быть создан как первичный (если это возможно);
- $bootable{_} — раздел должен быть загрузочным;
- $default_filesystem{_} — определяет, что должна использоваться файловая система, заданная по умолчанию (в настоящее время ext3).
<регулярный спецификатор>::=<имя файла>{ <содержимое файла> }
- <file name> — имя файла, который будет создан в разделе (подробности см. часть 2.4 руководства по partman);
- <file contents> — информация, которая будет записана в этот файл.
<спецификатор типа>::=$lvmok{_}|$defaultignore{_}|$lvmignore{_}
- $lvmok{_} — указувает, что раздел может быть логическим томом LVM при использовании LVM;
- $defaultignore{_} — используется для очистки принятых по умолчанию параметров раздела (применимо при использовании LVM);
- $lvmignore{_} — используется для очистки принятых по умолчанию параметров раздела LVM (применимо при неиспользовании LVM)
Спецификаторы defaultignore и lvmignore позволяют в одном рецепте определить разные параметры, например, раздела /boot в LVM-схеме разбиения на разделы и не-LVM схеме.
2. Примеры
Пример: корневой раздел и раздел подкачки (swap)
partman-auto/text/atomic_scheme: 500 10000 1000000 ext4 $primary{ } $bootable{ } method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ / } . 64 512 300% linux-swap method{ swap } format{ } .
Этим рецептом задается, что:
- Раздел root должен быть не менее 500 МБ и фактически не имеет максимального размера. Размер раздела swap изменяется от 64МБ до тройного размера системного ОЗУ;
- Параметр $bootable{ } делает раздел загружаемым, и параметр $primary{ } делает раздел первичным.
Кроме того, в примере используются параметры:
- method{ format } — указывает, что раздел должен быть отформатирован. Для разделов подкачки (swap) используется значение «swap». Для создания раздела без форматирования используется значение «keep» (такой раздел может применяться для резервирования дискового пространства);
- format{ } — следует указать, чтобы раздел был отформатирован;
- use_filesystem{ } — указывает, что на разделе размещается файловая система;
- filesystem{ ext4 } — указывает тип файловой системы для размещения на разделе;
-
mountpoint{ / } — задает точку монтирования раздела. Дополнительно можно задать опции монтирования, например, для задания опций «nodev,ro»:
options/nodev{ nodev } options/ro{ ro }
Также возможно задать метку файловой системы для поддерживающих метки файловых систем. Например, для задания метки «astralinux»:
При установке должен быть отформатирован один дисковый раздел, помеченный как:
Пример: корневой раздел, раздел подкачки и отдельный раздел /home
300 4000 7000 ext4 $primary{ } $bootable{ } method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ / } . 64 512 300% linux-swap method{ swap } format{ } . 100 10000 1000000000 ext4 method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ /home } .
Разделы будут создаваться в том порядке, в котором они перечислены в рецепте.
3. Опции, специфичные для LVM
При использовании метода автоматического разбиения «lvm» в рецепте задаются специальные опции. Это позволяет разбить на разделы несколько дисков, определяя разделы, содержащие физические тома, принадлежность этих томов группам томов, имена и принадлежность логических томов.
В одной сессии может быть обработано несколько дисков, что также должно быть указано в рецепте. Разделы, не являющиеся логическими томами и не имеющие назначенных дисков (например, /boot) по умолчанию размещаются на первом диске. Для явного задания физического тома определим раздел следующим образом:
100 1000 1000000000 ext4 $defaultignore{ } $primary{ } method{ lvm } device{ /dev/hdb } vg_name{ vg00 } .
Параметры «device{ … }» и «vg_name{ }» опциональны.
Указанные в параметре device устройства обязательно должны быть объявлены с помощью параметра partman-auto/disk.
Группа томов, в которую входит логический том, может быть задана как «in_vg{ }», например:
96 512 300% linux-swap $lvmok{ } in_vg{ vg00 } lv_name{ myswap } method{ swap } format{ } .
Параметр «lv_name{ }» задает имя логического тома, который будет создан.
4. Зависимость от архитектуры
Некоторые архитектуры предъявляют специфические требования к дисковым разделам. Например, многие из них требуют выделения специального дискового радела для поддержки загрузки. В частности, так называемые NewWorld PowerMAC машины требуют загрузочный дисковый раздел, размещенный в начале дискаn. Ниже приведен фрагмент рецепта для создания такого раздела:
1 1 1 hfs $bootable{ } method{ newworld } .
Этот раздел должен быть первым в списке разделов и он не должен быть отформатирован.
Другой пример — архитектура netwinder, требующая небольшой раздел /boot, отформатированный в файловую систему ext2 версии 0:
50 500 100 ext2 $primary{ } $bootable{ } method{ format } format{ } use_filesystem{ } filesystem{ ext2r0 } mountpoint{ /boot } .
И, наконец, пример настройки загрузочного раздела EFI для архитектуры ia64:
100 100 150 fat16 $primary{ } method{ efi } format{ } .
Для других архитектур см. соответствующие рецепты в udeb-пакете partman_auto.
5. Ограничения
Из-за ограничений реализации partman-auto для того, чтобы было использовано всё свободное дисковое пространство, должен быть задан один раздел максимального размера. Обычно для этого используется раздел /home, которому назначается максимальный размер 1000000000, что достаточно для существующих устройств хранения данных. Если большой раздел /home не нужен, можно задать дополнительный дисковый раздел с размером 1000000000, с методом создания «keep» и оставить его не примонтированным. После завершения инсталляции такой раздел можно удалить.
6. Как вычисляются размеры разделов
Предположим, требуется создать N разделов и min[i], max[i] и priority[i] — максимальный размер, минимальный размер и приоритет раздела i как описано в части 1 настоящей статьи.
Предположим free_space — размер свободного места для размещения разделов. Тогда:
for(i=1;i<=N;i++) { factor[i] = priority[i] - min[i]; } ready = FALSE; while (! ready) { minsum = min[1] + min[2] + ... + min[N]; factsum = factor[1] + factor[2] + ... + factor[N]; ready = TRUE; for(i=1;i<=N;i++) { x = min[i] + (free_space - minsum) * factor[i] / factsum; if (x > max[i]) x = max[i]; if (x != min[i]) { ready = FALSE; min[i] = x; } } }
В итоге значение min[i] будет значением размера радела i.
Особенности настройки параметров сети
Eсли файл ответов загружается из сети, то настройка параметров сети выполняется до загрузки файла ответов, и параметры настройки сети, заданные в этом файле, игнорируются. То есть, настройка сети с помощью файла ответов по умолчанию применима если загрузка происходит с компакт-диска или USB-накопителя. При загрузке файла ответов из сети можно только указать используемый для загрузки файлов ответов сетевой интерфейс, для чего используется параметр ядра interface, например interface=eth1
.
Принудительно выполнить перенастройку сети (например, задать статический адрес) с помощью файла ответов после завершения установки по сети можно следующим способом:
-
Создать на ftp-сервере сценарий со следующим содержимым:
#!/bin/sh kill-all-dhcp; netcfg
При выполнении этого сценария будут отключены службы автоматической настройки сети через DHCP и выполнены директивы netcfg из файла ответов (список возможных директив см. ниже).
-
Сделать файл с созданным сценарием исполняемым:
sudo chmod +x <имя_файла_со_сценарием>
-
Добавить следующую строку в файл ответов непосредственно перед статической настройкой сети:
d-i preseed/run string ftp://<путь_к_файл_со_сценарием>
Для настройки сети могут использоваться следующие переменные debconf:
Пер
Переменная | Описание |
---|---|
d-i netcfg/enable boolean false | Полностью выключить настройку сети. Это полезно при установке на устройства, не имеющие сети, когда вопросы о сети неуместны. |
d-i netcfg/choose_interface select auto | Автоматический выбор активного сетевого интерфейса, если такой имеется. Если имеется более одного интерфейса, то при данной настройке список интерфейсов выводиться не будет. |
d-i netcfg/choose_interface select eth1 | Принудительный выбор указанного сетевого интерфейса (в данном случае — интерфейс eth1). |
d-i netcfg/link_wait_timeout string 10 | Время ожидания появления связи (link) (по умолчанию 3 секунды). Значение указывается в секундах. |
d-i netcfg/dhcp_timeout string 60 d-i netcfg/dhcpv6_timeout string 60 |
Время ожидания параметров DHCP |
d-i netcfg/disable_autoconfig boolean true | Отключение автоматической настройки сети, переход к ручной настройке. |
d-i netcfg/dhcp_failed note d-i netcfg/dhcp_options select Configure network manually |
Игнорирование отсутствия DHCP-сервера |
d-i netcfg/get_nameservers string 192.168.1.1 |
Статические настройки параметров сети (пример для IPv4). |
d-i netcfg/get_ipaddress string fc00::2 d-i netcfg/get_netmask string ffff:ffff:ffff:ffff:: d-i netcfg/get_gateway string fc00::1 d-i netcfg/get_nameservers string fc00::1 d-i netcfg/confirm_static boolean true |
Статические настройки параметров сети (пример для IPv6). |
d-i netcfg/hostname string somehost | Принудительное задание имени хоста (значения, предлагаемые DHCP или реверсивным DNS игнорируются). |
d-i netcfg/wireless_wep string | Выключение диалога о ключе WEP |
d-i netcfg/dhcp_hostname string radish | Специальное имя DHCP-сервера, которое используют некоторые провайдеры в качестве некоего пароля. |
d-i hw-detect/load_firmware boolean true | Разрешение загрузки несвободных микропрограмм без запроса подтверждения (или значение false для запрета загрузки). |
netcfg/get_netmask string 255.255.255.0 | Принудительное задание маски сети. Если не задано, то маска выбирается автоматически. |
netcfg/get_gateway string 192.168.1.1 | Принудительное задание адреса сетевого шлюза. Если не задано, то адрес сетевого шлюза выбирается автоматически. Специальное значение none указывает, что шлюз не используется. |
Пример файла preseed.cfg для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.7
Особенности установки:
- Загрузка выполняется из Интернет-репозитория Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.7 (см. Интернет-репозитории Astra Linux Special Edition x.7);
-
Установка выполняется с раздельными дисковыми разделами для корневого каталога и каталогов /boot и /tmp и без создания раздела подкачки (подробнее про рекомендованную структуру разделов см. Astra Linux Red Books):
d-i partman-auto/expert_recipe string myroot :: 512 16384 512 ext2 $primary{ } $bootable{ } method{ format } format{ } use_filesystem{ } filesystem{ ext2 } mountpoint{ /boot } . 8192 16384 16384 ext4 method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ / } . 2048 16384 2048 ext4 method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ /tmp } options/noexec{ noexec } options/nodev{ nodev } options/nosuid{ nosuid } . 500 8192 -1 ext4 method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ /home } . d-i partman-auto/choose_recipe select myroot
-
Установка ПО выполняется в минимальной конфигурации (только базовые пакеты Base packages и графическая оболочка Fly desktop), дополнительно устанавливается служба SSH Server для обеспечения возможности удаленного управления компьютером:
tasksel tasksel/first multiselect Base packages, Fly desktop, SSH server
- Создается пользователь-администратор с именем astra и паролем 12345678;
- В примере файла ОС устанавливается c максимальным уровнем защищенности, однако возможны варианты:
-
Максимальный уровень защищенности:
d-i astra-additional-setup/os-check select Maximum security level Smolensk
-
Усиленный уровень защищенности:
d-i astra-additional-setup/os-check select Advanced security level Voronezh
-
Базовый уровень защищенности:
d-i astra-additional-setup/os-check select Base security level Orel
-
- Если это позволяет выбранный уровень защищенности, то могут быть включены МРД и МКЦ. Также может быть запрещена трассировка:
-
Максимальный уровень защищенности:
d-i astra-additional-setup/additional-settings-smolensk multiselect Enable Mandatory Integrity Control, Enable Mandatory Access Control, Disable ptrace capability
-
Усиленный уровень защищенности:
d-i astra-additional-setup/additional-settings-voronezh multiselect Enable Mandatory Integrity Control, Disable ptrace capability
-
Базовый уровень защищенности:
d-i astra-additional-setup/additional-settings-orel multiselect Disable ptrace capability
-
- После установки:
- Удалятся серверная служба синхронизации времени ntp, и включается клиентская служба синхронизации времени systemd-timesyncd.service (см. Службы синхронизации времени в Astra Linux):
d-i preseed/late_command string in-target apt purge -y ntp ; in-target systemctl enable systemd-timesyncd.service ;
-
Удаляются созданные при установке сетевые подключения:
in-target rm -f /etc/NetworkManager/system-connections/*;
(сетевые подключения будут автоматически созданы при включении компьютера после установки).
Пример файла preseed.cfg:
# Сетевой репозиторий для установки d-i mirror/protocol string http d-i mirror/http/hostname string dl.astralinux.ru d-i mirror/http/directory string /astra/stable/1.7_x86-64/repository-main # Настройки языка d-i mirror/country string manual d-i debian-installer/locale string ru_RU d-i debian-installer/locale select ru_RU.UTF-8 d-i debian-installer/language string ru d-i debian-installer/country string RU d-i debian-installer/keymap string ru # Настройки клавиатуры d-i console-tools/archs select at d-i console-keymaps-at/keymap select ru d-i console-setup/toggle string Ctrl+Shift d-i console-setup/layoutcode string ru d-i keyboard-configuration/toggle select Ctrl+Shift d-i keyboard-configuration/layoutcode string ru d-i keyboard-configuration/xkb-keymap select ru d-i languagechooser/language-name-fb select Russian d-i countrychooser/country-name select Russia # Настройки сетевого интерфеска d-i netcfg/choose_interface select auto # Выбор компонент репозитория d-i apt-setup/non-free boolean true d-i apt-setup/contrib boolean true d-i apt-setup/services-select none # Настройка часов и синхронизации времени d-i clock-setup/utc boolean true d-i time/zone string Europe/Moscow d-i clock-setup/ntp boolean false # Разметка диска d-i partman-auto/method string regular d-i partman-auto/purge_lvm_from_device boolean true d-i partman-lvm/confirm boolean true # Для режима legacy bios: d-i partman-auto/expert_recipe string myroot :: 512 16384 512 ext2 $primary{ } $bootable{ } method{ format } format{ } use_filesystem{ } filesystem{ ext2 } mountpoint{ /boot } . 8192 16384 16384 ext4 method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ / } . 2048 16384 2048 ext4 method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ /tmp } options/noexec{ noexec } options/nodev{ nodev } options/nosuid{ nosuid } . 500 8192 -1 ext4 method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ /home } . d-i partman-auto/choose_recipe select myroot #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 false 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 d-i base-installer/kernel/image string linux-image-generic d-i passwd/make-user boolean true # Учетная запись и пароль пользователя d-i passwd/user-fullname string astra d-i passwd/username string astra d-i passwd/user-password password 12345678 d-i passwd/user-password-again password 12345678 d-i debian-installer/allow_unauthenticated string true # Выбор ПО для установки tasksel tasksel/first multiselect Base packages, Fly desktop, SSH server tasksel tasksel/astra-feat-setup multiselect # Выбор уровня защищенности ОС d-i astra-additional-setup/os-check select Maximum security level Smolensk # Выбор параметров ОС d-i astra-additional-setup/additional-settings-smolensk multiselect Enable Mandatory Integrity Control, Enable Mandatory Access Control, Disable ptrace capability tripwire tripwire/use-localkey boolean false tripwire tripwire/use-sitekey boolean false tripwire tripwire/installed note ok portsentry portsentry/warn_no_block note ok astra-license astra-license/license boolean true krb5-config krb5-config/kerberos_servers string libnss-ldapd libnss-ldapd/ldap-base string libnss-ldapd libnss-ldapd/ldap-uris string libnss-ldapd libnss-ldapd/nsswitch multiselect services ald-client ald-client/make_config boolean false ald-client ald-client/manual_configure false astra-feat-setup astra-feat-setup/feat multiselect kiosk mode false astra-feat-setup astra-feat-setup/feat multiselect Служба ALD false d-i console-cyrillic/switch select "Клавиша Menu" d-i console-cyrillic/toggle select Control+Shift d-i samba-common/dhcp boolean false d-i samba-common/workgroup string testgroup1 popularity-contest popularity-contest/participate boolean false d-i grub-installer/only_debian boolean true d-i grub-installer/with_other_os boolean true # Пароль загрузчика grub d-i grub-installer/password password 12345678 d-i grub-installer/password-again password 12345678 grub-installer grub-installer/password-mismatch error # Не показывать последнее сообщение о том, что установка завершена. d-i finish-install/reboot_in_progress note d-i finish-install/exit/poweroff boolean true d-i preseed/late_command string in-target apt purge -y ntp ; in-target systemctl enable systemd-timesyncd.service ; in-target rm -f /etc/NetworkManager/system-connections/*;
Загрузка по сети в режиме восстановления (rescue mode)
Разрешение загрузки (локально или по сети) в режиме восстановления существенно снижает защищенность информационной системы, предоставляя неограниченных доступ анонимным пользователям.
Для того, чтобы предоставить пользователям возможность загрузки компьютеров в режиме восстановления следует создать в файле pxelinux.cfg/default элемент меню следующего содержания:
LABEL netinstall MENU LABEL Start Astra Linux 1.07.02 rescue kernel 1.07.00/linux append initrd=ce/initrd.gz modprobe.blacklist=evbug auto=true priority=critical debian-installer/locale=en_US console-keymaps-at/keymap=ru hostname=ce212 domain=my.dom astra-license/license=true url=tftp://192.168.56.1/ce/preseed.cfg interface=auto netcfg/dhcp_timeout=60 vga=788 debian-installer/allow_unauthenticated=true rescue/enable=true
От ранее приведенных примеров меню данный пример отличается добавленной опцией:
включающей загрузку в режиме восстановления
Об автоматической установке дистрибутива «Astra Linux Special Edition»
См. обновление.
Автоматическая преднастроенная установка на основе так называемых preseed файлов (ответов на вопросы инсталлятора) не является чем-то новым, информации в сети полно, например тут. Данная технология очень удобна и в комбинации с PXE (подробнее тут) позволяет быстро и без лишних вопросов установить ОС на целевой компьютер или сервер. Наша команда при работе над проектом программного комплекса кластера высокой готовности (что такое кластерные технологии в целом можно почитать здесь) на базе отечественной защищенной ОС Astra Linux Special Edition версии 1.3 столкнулась с необходимости установки ОС в идентичной конфигурации на несколько серверов, а поскольку в процессе тестирования нашего продукта на железе, возникала необходимость тестировать на свежеустановленной ОС, вопрос оптимизации временных затрат на данную операцию вышел на первый план. При установке программного комплекса у заказчика автоматизация установки тоже дело полезное и, как выяснилось позже, необходимое.
Кратко процедура установки выглядит так:
- В BIOS целевого компьютера ставим «Загрузка по сети» (обычно Boot to Network -> Enable и в Boot Device Priority -> Ethernet на первом месте, уточняйте в документации).
- На компьютере который у нас будет выступать в роли сервера установки, заряжаем dhcp, tftp и http(ftp) (подробности ниже).
- Включаем целевой компьютер, тот получает IP, качает загрузочный образ по tftp и запускает инсталляцию.
- и как говорится: Поехали!.
Из документации на ОС нами было определено, что такая возможность присутствует, что в принципе ожидаемо для достаточно свежего Дебьян-подобного дистрибутива и разработчики приводят инструкцию как это сделать… Но «гладко было на бумаге». В процессе первоначального знакомства столкнулись с рядом проблем. Но обо всем по порядку. Для реализации задачи нами был выбран dnsmasq в качестве dhcp и tftp сервера и образ netinst с диска Астры. Первое с чем надо определится как будем отдавать репозиторий с пакетами. Как правило, используют http и тут первая особенность, поскольку это защищенная и сертифицированная ОС, то имеющийся сервер Apache — тоже защищен, т.е. отсутствует возможность доступа без авторизации (только pam или kerberos). Следовательно, если вы будете использовать другую ОС, в качестве сервера установки, то можно настроить любой http-сервер.
[symple_toggle title=»Настройка http-сервера apache для ubuntu’образных»]
- ~# aptitude install apache2
- правим /etc/apache2/httpd.conf добавив следующие строки:
# /media/cdrom - зеркала пакетов(в данном примере cd дистрибутивом)
<Directory /media/cdrom>
Options Indexes FollowSymLinks
Allowoverride None
</Directory>
<Directory /srv/ftp/tftp>
Options Indexes FollowSymLinks
Allowoverride None
</Directory>
Alias /astra "/media/cdrom"
Alias /tftpboot "/srv/ftp/tftp" - ~# service apache2 restart
- Проверить через браузер, что указанные каталоги доступны.
[/symple_toggle]
В нашем случае необходимо, чтобы сервером автоматической установки ОС была Astra Linux Special Edition, тогда для отдачи файлов будем использовать ftp-сервер. Берем vsftpd устанавливаем и настраиваем на доступ без авторизации.
[symple_toggle title=»Настройка vsftpd»]
- ~# aptitude install vsftpd
- ~# mkdir -p /srv/ftp && chmod -R 755 /srv/ftp
- ~# usermod -d /srv/ftp ftp
- правим файл /etc/vsftpd.conf:
listen=YES
listen_ipv6=NO
anonymous_enable=YES
anon_root=/srv/ftp/
local_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=ftp
rsa_cert_file=/etc/ssl/private/vsftpd.pem - ~# service vsftpd restart
[/symple_toggle]
Сервер tftp может быть отдельным, например tftpd-hpa, или, как уже упоминалось, можно использовать tftp сервер встроенный в dnsmasq — берем второй вариант. Делаем каталог tftp в /srv/ftp.
[symple_toggle title=»Настройка dnsmasq как dhcp и tftp сервера»]
- ~# aptitude install dnsmasq
- правим файл /etc/dnsmasq.conf:
interface=eth0
dhcp-range=<начальный IP>,<конечный IP>,<маска подсети>,24h
dhcp-option=3,<IP сервера установки>
enable-tftp
# /srv/ftp/tftp - путь до корневого каталога tftp сервера
tftp-root=/srv/ftp/tftp
# pxelinux.0 это файл из пакета SYSLINUX, входящего в состав образа netinst.
dhcp-boot=pxelinux.0 - ~# service dnsmasq restart
[/symple_toggle]
Организация каталога для tftp-сервера
Копируем в /srv/ftp/tftp из netinst файлы linux (ядро), pxelinux.0, initrd.gz (временная файловая система, используемая ядром при начальной загрузке). Далее, в /srv/ftp/tftp создаем каталог pxelinux.cfg и там делаем файл с именем default (его будет получает целевой компьютер). Данный файл содержит параметры загрузки ядра. В параметре url и указывается файл с ответами на вопросы установщика .
[symple_toggle title=»Пример файла default»]
DEFAULT astra LABEL astra kernel linux append initrd=initrd.gz debian-installer/locale=ru_RU console-keymaps-at/keymap=ru hostname=<host-имя которое будет назначено целевому компьютеру> domain=<имя домена> url=ftp://<IP-адрес_сервера>/tftp/preseed.cfg interface=auto netcfg/dhcp_timeout=60 TIMEOUT 1
[/symple_toggle]
Создаем файл preseed.cfg с ответом на вопросы инсталлятора в /srv/ftp/tftp. Пример файла приведен ниже. Комментарии к некоторым ответам имеются, остальное можно без труда найти в сети. Отмечу лишь несколько особенностей специфичных для Astra Linux:
- Для установки базовой системы + рабочего стола Fly добавляем строку:
tasksel tasksel/first multiselect Base, Fly
- не настраиваем сервисы ALD и службу kiosk(служба разграничения доступа к файлам) добавляем следующие строки:
astra-license astra-license/license boolean true
krb5-config krb5-config/kerberos_servers string
libnss-ldapd libnss-ldapd/ldap-base string
libnss-ldapd libnss-ldapd/ldap-uris string
libnss-ldapd libnss-ldapd/nsswitch multiselect services
ald-client ald-client/make_config boolean false
ald-client ald-client/manual_configure note
tasksel tasksel/astra-feat-setup multiselect
[symple_toggle title=»Пример файла preseed.cfg»]
# настройка языка и страны согласно локали
d-i debian-installer/language string ru
d-i debian-installer/country string RU
d-i debian-installer/locale string ru_RU.UTF-8
# настройка клавиатуры
d-i keyboard-configuration/xkb-keymap select ru
d-i console-setup/toggle string Alt+Shift
d-i languagechooser/language-name-fb select Russian
d-i countrychooser/country-name select Russia
d-i keyboard-configuration/toggle select Alt+Shift
d-i console-setup/fontface select Terminus
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string ru
d-i console-setup/variant Россия
# подключение репозиториев
d-i apt-setup/non-free boolean true
d-i apt-setup/contrib boolean true
# выключить показ диалога с WEP ключом.
d-i netcfg/wireless_wep string
# настройка зеркала с пакетами
d-i mirror/protocol string ftp
d-i mirror/country string manual
d-i mirror/ftp/hostname string 192.168.50.211
d-i mirror/ftp/directory string /astra_repository
d-i mirror/ftp/proxy string
# задаёт, установлены или нет аппаратные часы по Гринвичу.
d-i clock-setup/utc boolean true
# настройка timezone
d-i time/zone string Europe/Moscow
# определяет, нужно ли использовать NTP для установки часов во время установки
d-i clock-setup/ntp boolean false
# разбиение диска создание разделов
d-i partman-auto/method string lvm
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-auto/purge_lvm_from_device boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-md/confirm_nochanges boolean true
d-i partman-lvm/confirm boolean true
d-i partman-auto/choose_recipe select atomic
d-i partman-md/confirm boolean true
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select Finish partitioning and write changes to disk
d-i partman/confirm boolean true
d-i partman-md/confirm_nooverwrite boolean true
d-i partman/confirm_nooverwrite boolean true
# устанавливаемый пакет (мета) с образом ядра; можно указать «none»,
# если ядро устанавливать не нужно.
d-i base-installer/kernel/image string linux-image-generic
d-i passwd/make-user boolean true
# пароль суперпользователя, любой открытым текстом
d-i passwd/root-password password password
d-i passwd/root-password-again password password
# создать учётную запись обычного пользователя.
d-i passwd/user-fullname string user
d-i passwd/username string user
# пароль обычного пользователя, или открытым текстом
d-i passwd/user-password password user
d-i passwd/user-password-again password user
console-setup console-setup/fontface select Terminus
# Вы можете указать нужно ли устанавливать non-free и contrib ПО.
d-i apt-setup/non-free boolean true
d-i apt-setup/contrib boolean true
d-i apt-setup/services-select multi-select
d-i apt-setup/security_host string
d-i apt-setup/volatile_host string
# По умолчанию программа установки требует, чтобы репозитории
# аутентифицировались с помощью известного ключа gpg.
# Этот параметр выключает данную аутентификацию.
# Предупреждение: это небезопасно, рекомендуется не делать этого.
d-i debian-installer/allow_unauthenticated string true
# установка базовой системы + рабочий стол Fly
tasksel tasksel/first multiselect Base, Fly
# отдельные дополнительные пакеты для установки
d-i pkgsel/include string openssh-server
# специфичные настройки для Astra Linux
astra-license astra-license/license boolean true
krb5-config krb5-config/kerberos_servers string
libnss-ldapd libnss-ldapd/ldap-base string
libnss-ldapd libnss-ldapd/ldap-uris string
libnss-ldapd libnss-ldapd/nsswitch multiselect services
ald-client ald-client/make_config boolean false
ald-client ald-client/manual_configure note
# НЕ настраивать киоск
#astra-feat-setup astra-feat-setup/feat multiselect kiosk mode
tasksel tasksel/astra-feat-setup multiselect
d-i console-cyrillic/toggle select Caps Lock
# некоторые версии программы установки могут отсылать отчёт
# об установленных пакетах. По умолчанию данная возможность
# выключена, но отправка отчёта помогает проекту
# определить популярность программ и какие из них включать на CD.
popularity-contest popularity-contest/participate boolean false
# эту переменную можно безопасно устанавливать, она указывает, что grub
# должен устанавливаться в MBR,
# если на машине не найдено другой операционной системы.
d-i grub-installer/only_debian boolean true
# это заставляет grub-installer устанавливать в MBR, даже если на машине
# есть другая ОС, что менее безопасно, так как может привести к отказу
# загрузки этой другой ОС.
d-i grub-installer/with_other_os boolean true
# остановить систему после завершения установки, а
# не перегружаться в установленную систему.
d-i debian-installer/exit/halt boolean true
[/symple_toggle]
Так как мы используем ftp вам необходимо перекинуть репозиторий с пакетами (папки dists, pool) c cd в предварительно созданный каталог в корне ftp сервера и прописать этот путь в preseed файле(см. пример pressed файла). Инфраструктура для автоматизированной установки готова.
Некоторые выявленные проблемы
Большинство изменений сделаны в initrd, под спойлерами команды для разборкисборки initrd.
[symple_toggle title=»Разбираем initrd.gz»]
~# gunzip initrd.gz
~# mkdir new_initrd
~# cd new_initrd
~# cpio -id < ../initrd
[/symple_toggle]
[symple_toggle title=»Собираем initrd.gz»]
~# cd new_initrd
~# find . | cpio —create —format=’newc’ > ../initrd
~# cd ..
~# sudo gzip initrd
[/symple_toggle]
Список изменений в оригинальном initrd:
- изменен usr/share/localechooser/languagelist поддержка русскому языку изменена с 2 на 1.Было ru;2;RU;ru_RU.UTF-8;;console-setup стало ru;1;RU;ru_RU.UTF-8;;console-setup. Без этого при выборе русской локали установка «затыкалась».
- добавлен модуль dca.ko в lib/modules/3.2.0-27-generic/kernel/drivers/dca/. Без него intel’овские гигабитные адаптеры не «поднимаются» в процессе инсталляции, следовательно качнуть пакеты не представляется возможным.
- добавлены модули dm-log.ko dm-mirror.ko dm-mod.ko dm-region-hash.ko в lib/modules/3.2.0-27-generic/kernel/drivers/md/. Без них не работали наши сервера, в которых стоит программный RAID (serial ata raid, soft raid).
- также мы добавили ключи от своего репа spkb-archive-keyring.gpg (он служит зеркалом при установке) в usr/share/keyrings, так как репозиторий нам пришлось модифицировать.
Причина использования собственного репозитория в качестве зеркала для установки в том, что имеющейся в оригинальном дистрибутиве пакет grub-installer_1.70astra.se4_amd64.udeb, содержит ошибку и валится при установке grub на soft&fake raid. Был заменен на grub-installer_1.78ubuntu8_amd64.udeb.
Как видно из данной статьи, количество операций по настройке, довольно велико, и, естественно, нам хотелось этот процесс как-то автоматизировать. Что из этого получилось и как задавать индивидуальные параметры установки по mac-адресам читайте в следующей части.
Загрузка дистрибутива ОС
Загрузите ISO-образ операционной системы Astra Linux Common Edition с официального сайта производителя https://astralinux.ru/ — на странице выберите Astra Linux Common Edition операционная система общего назначения, Релиз «Орел».
Последняя на момент написания статьи версия Astra Linux Common Edition это 2.12.
Запишите загруженный ISO-образ на установочный носитель (DVD-диск / USB-флешку).
По вашему запросу компания ИТРИУМ может предоставить дистрибутив операционной системы.
Установка операционной системы
- Загрузите целевой компьютер/сервер с подготовленного установочного носителя.
- Выберите язык загрузчика (выберите English).
- Запустите процесс установки.
- Выберите язык интерфейса процесса установки (выберите English). Нажмите Continue (Продолжить).
-
Выберите локаль, используемую по-умолчанию (выберите United States — en_US.UTF-8).
- Примите лицензионное соглашение.
- Задайте раскладку клавиатуры.
- Задайте имя компьютера (hostname) и полное имя пользователя.
- Задайте пароль пользователя.
- Уточните часовой пояс.
-
Задайте разметку дисков.
ВАЖНО
Системными требованиями обусловлено наличие выделенного под ОС диска. В этом случае используйте опцию Guided — use entire disk (Использовать весь диск).
При наличии одного физического диска (не рекомендуемый вариант), необходимо создать как минимум два логических раздела на данном диске — для операционной системы и для данных (медиаданные, резервные копии и др.). Для этого выберите Вручную и выделите под раздел операционной системы только часть носителя. Раздел для данных можно создать как на данном этапе, так и впоследствии — см. раздел Подготовка накопителей.
- Выберите Finish partitioning and write changes to disk, затем подтвердите ваш выбор.
- В списке устанавливаемых компонентов оставьте Fly desktop и SSH server.
- В списке дополнительных настроек ОС не рекомендуется отмечать какие-либо позиции..
- Согласитесь на установку загрузчика операционной системы GRand Unified Bootloader (GRUB) и укажите устройство для установки GRUB (/dev/sda).
-
Дождитесь окончания процесса установки и извлеките установочный диск для загрузки ОС.
- Перезагрузите сервер, затем войдите в систему под пользователем user.
Настройка сетевых параметров
Для корректной работы требуется фиксированный IP-адрес сервера. Задайте сетевые параметры вручную или используйте DHCP, который всегда для данного MAC выдаёт один и тот же IP-адрес.
Подробная инструкция по настройке сети приведена в документации на операционную систему: https://wiki.astralinux.ru/pages/viewpage.action?pageId=3277370. Ниже приведена краткая инструкция по ручной настройке одного фиксированного IP-адреса для одного сетевого интерфейса.
-
Отключите network-manager. Для этого, откройте терминал Fly и выполните следующую команду:
sudo apt remove network-manager -y
После отключения network-manager перезагрузите систему.
-
Откройте терминал Fly и выведите список подключённых сетевых устройств:
В тексте вывода обратите внимание на первую строку:
eth0: flags=4098<BROADCAST,MULTICAST> mtu 1500
eth0
— это и есть искомое имя сетевого интерфейса. Сетевые интерфейсы могут иметь и другие имена. В результате eth0 может называться, напримерenp0s3
илиeno1
, или дажеenx78e7d1ea46da
. Именно это имя сетевого адаптера и нужно использовать в настройке сети. -
Рассмотрим пример настройки одного сетевого интерфейса со статическим IP-адресом. Выполните команду открытия файла /etc/network/interfaces в текстовом редакторе:
sudo nano /etc/network/interfaces
-
Допишите блок кода (вместо
eth0
впишите имя вашего интерфейса):auto eth0
iface eth0 inet
static
address
10.1
.
29.37
netmask
255.248
.
0.0
gateway
10.0
.
1.1
dns-nameservers
10.1
.
31.1
Где:
-
auto eth0
— флаг автоматического включения сетевого интерфейсаeth0
при загрузке системы; -
iface eth0 inet static
— интерфейс (iface eth0
) находится в диапазоне адресов IPv4 (inet
) со статическим ip (static
); -
address 10.1.29.37
— IP адрес (address) сетевой карты; -
netmask 255.248.0.0
— маска подсети (netmask); -
gateway 10.0.1.1
— адрес шлюза (gateway
); -
dns-nameservers 10.1.31.1
— адреса DNS серверов;
-
-
Сохраните изменения: нажмите Ctrl+X, введите Y (для подтверждения изменений) и нажмите Enter.
-
Перезагрузите систему:
Настройка репозиториев
Для установки необходимых системных компонентов необходимо произвести настройку репозиториев Astra Linux.
-
Выполните команду открытия файла /etc/apt/sources.list в текстовом редакторе:
sudo nano /etc/apt/sources.list
-
Измените блок кода и приведите его к следующему виду:
deb http://mirror.yandex.ru/astra/stable/orel/repository/ orel main contrib non-free
- Сохраните изменения: нажмите Ctrl+X, введите Y (для подтверждения изменений) и нажмите Enter.
Установка системных компонентов
Для работы Платформы НЕЙРОСС необходимо установить и настроить Java 1.8 (ГосJava) и некоторые системные утилиты (ntpdate и др.). Приведённые ниже инструкции предполагают, что у целевой операционной системы корректно настроен сетевой интерфейс и есть доступ в сеть Интернет. В отсутствие доступа в сеть Интернет вы можете загрузить необходимые deb-пакеты, перенести их на целевую систему и установить их вручную.
Установка ГосJava
-
Создайте файл /etc/apt/sources.list.d/gosjava.list:
sudo nano /etc/apt/sources.list.d/gosjava.list
-
Добавьте в него следующую строку:
deb http://packages.lab50.net/gosjava/ce211 gosjava main
-
Сохраните изменения: нажмите Ctrl+X, введите Y (для подтверждения изменений) и нажмите Enter.
-
Добавьте цифровой ключ подписи в APT.
sudo wget -qO - http://packages.lab50.net/lab50.asc | sudo apt-key add -
-
Выполните:
sudo apt update sudo apt install gosjava-jre
Проверить корректность установки java вы можете с помощью команды:
Установка необходимых системных компонентов
Установка и настройка NTP-сервера
Все узлы сети НЕЙРОСС должны быть синхронизированы по времени. Для этого каждый узел выполняет периодическую синхронизацию времени с NTP-сервером, адрес которого задан в настройках узла.
Платформа НЕЙРОСС автоматически выполняет синхронизацию времени с указанным в настройках NTP-сервером. Если сервер Платформы НЕЙРОСС должен сам выступать в роли NTP-сервера для других узлов НЕЙРОСС, то необходимо установить системный сервис NTP-сервера.
-
Проверьте, правильно ли установлена временная зона:
При необходимости, выполните перенастройку:
sudo dpkg-reconfigure tzdata
-
Установите демон NTP-сервера:
sudo apt update sudo apt install -y ntp
-
Если сервер должен быть основным источником времени (должен «доверять» сам себе), то отредактируйте файл
/etc/ntp.conf
в текстовом редакторе: -
Поместите следующее содержимое в файл
/etc/ntp.conf
:server 127.127.1.0 fudge 127.127.1.0 stratum 10
- Сохраните изменения: нажмите Ctrl+X, введите Y (для подтверждения изменений) и нажмите Enter.
-
Перезапустите сервис:
После переконфигурации NTP-сервера может потребоваться 10-15 минут, чтобы применить новые настройки. В течение этого времени синхронизация с этим NTP-сервером может быть всё ещё недоступна.
Подготовка накопителей
Для обработки медиаданных (импорта, экспорта и пр.) требуется хотя бы один накопитель. В роли накопителей в Платформе НЕЙРОСС выступают разделы (partitions) на жёстких дисках. Платформа НЕЙРОСС использует все смонтированные разделы с файловыми системами типов Ext4, Ext2, NTFS, VFAT за исключением корневого раздела (смонтированного в /
), однако для медиаданных рекомендуется выделить отдельный физический диск/диски.
В подавляющем большинстве случаев достаточно простого физического подключения диска, но иногда требуется смонтировать раздел для диска вручную.
- Выполните физическое подключение диска и загрузите операционную систему.
-
Выполните поиск всех доступных дисков и разделов:
Название жёсткого диска в Linux зависит от интерфейса, через который он подключён. Название может начинаться на:
sd
— устройство, подключённое по SCSI (сюда входят жёсткие диски, USB-флешки и ATA-диски, которые подключаются к SCSI через специальный переходник);hd
— устройство ATA;vd
— виртуальное устройство;mmcblk
— обозначаются флешки, подключённые через картридер;
Третья буква в имени диска означает его порядковый номер в системе: sda — первый диск, sdb — второй диск, sdc — третий и так далее. Дальше следует цифра — это номер раздела на диске — sda1, sda2.
Пример вывода команды (два диска: sda и sdb, диск sdb не имеет таблицы разделов): -
Создайте точку монтирования раздела:
Где:
/storage
— путь монтирования раздела (media имя каталога для медиафайлов). -
Отформатируйте диск в файловую систему ext4 с помощью утилиты mkfs:
Где:
/dev/sdb
— форматируемый диск. -
Смонтируйте раздел:
sudo mount /dev/sdb /storage
Где:
/dev/sdb
— монтируемый диск;/storage
— выделенный раздел для диска. -
Перезагрузите систему:
По завершении настройки ОС выполните следующие шаги:
- Установка и настройка СУБД PostgreSQL
- Установка Платформы НЕЙРОСС вручную
Содержание
- Устанавливаем Astra Linux
- Шаг 1: Загрузка образа
- Шаг 2: Запись образа на носитель
- Шаг 3: Настройка BIOS
- Шаг 4: Подготовка к установке
- Шаг 5: Установка
- Шаг 6: Первый запуск
- Шаг 7: Настройка и использование
- Вопросы и ответы
Astra Linux — отечественный дистрибутив операционной системы, за основу которой было взято ядро Линукс. Это решение часто используется в государственных учреждениях, которые в первую очередь занимаются обеспечением безопасности. Однако иногда требования работодателя или личные предпочтения тоже могут стать поводом для инсталляции Astra Linux. Этот процесс происходит примерно так же, как и в случае со всеми остальными дистрибутивами. Сегодня мы хотим наглядно рассказать об этом, чтобы даже у самого начинающего пользователя не осталось вопросов по этой теме, а последовательность действий разделим на шаги для простоты понимания.
У Astra Linux имеется графический интерфейс, поэтому процесс установки будет максимально приближен к стандартному, и даже пользователь Windows с легкостью разберется с каждым этапом. Однако есть определенные нюансы, которые следует учитывать, и ко всему прочему появляется необходимость в осуществлении подготовительных действий. Об этом и пойдет речь далее, а начать мы предлагаем со скачивания образа диска с операционной системой.
Шаг 1: Загрузка образа
Сейчас инсталляция практически всех ОС сводится к тому, что пользователь скачивает виртуальный образ диска с официального сайта, записывает его на флешку, которая настраивается как загрузочная, а затем запускает ее и производит установку. Первый шаг этой последовательности как раз и заключается в получении файла-образа. Сделать это можно буквально в несколько кликов, и выглядит данная операция так:
Скачать Astra Linux с официального сайта
- Воспользуйтесь приведенной выше ссылкой, чтобы перейти на официальный сайт Astra Linux. Здесь нажмите по кнопке «Скачать».
- Выберите место на накопителе, куда хотите поместить ISO-файл.
- Ожидайте завершения загрузки. Сам образ занимает почти 4 гигабайта, поэтому на скачивание может уйти много времени, что зависит от скорости интернета.
Как видите, в осуществлении первого этапа нет ничего сложного. Осталось только дождаться окончания скачивания, и можно смело приступать к следующему этапу.
Шаг 2: Запись образа на носитель
Теперь следует записать полученный файл на носитель. В большинстве случаев для этого используется обычная флешка. Достаточно подобрать накопитель достаточного объема и убедиться в том, что он функционирует корректно. Далее выбирается оптимальное программное обеспечение, с помощью которого и будет создана загрузочная флешка или диск. Во время этой операции туда и записывается полученный образ. На нашем сайте имеются отдельные инструкции, посвященные этой теме, рекомендуем ознакомиться с ними, перейдя по указанной ниже ссылке.
Подробнее: Запись образа ОС на флешку
Шаг 3: Настройка BIOS
После успешного создания загрузочной флешки или диска остается только вставить носитель в компьютер и перезагрузить его, чтобы начать инсталляцию. Однако иногда загрузочное устройство просто игнорируется, поскольку в BIOS не настроен приоритет. Мы же советуем сначала выставить подходящие настройки, а потом уже переходить к попыткам запуска носителя. Соответствующие инструкции по этой теме вы также найдете в другой статье на нашем сайте, кликнув по расположенному далее заголовку.
Подробнее: Настройка BIOS для запуска с флешки
Шаг 4: Подготовка к установке
Сразу же после загрузки флешки с операционной системой начинается подготовка к инсталляции. Во время этой процедуры устанавливаются все основные настройки, и некоторые из них нельзя будет поменять в дальнейшем, поэтому стоит отнестись к этой операции со всей серьезностью. Давайте по очереди разберем каждое действие, чтобы не осталось вопросов по этому поводу.
- При появлении меню выбора у вас есть пять секунд, чтобы определиться с подходящими вариантами, а после этого текущий пункт будет выбран автоматически. Мы рекомендуем установить желаемый язык интерфейса, нажав на клавишу F1, а затем нажать Enter, остановившись на строке «Графическая установка».
- Первое же окно, которое появится после загрузки дистрибутива — «Лицензия». Здесь следует ознакомиться с общими положениями соглашения и нажать на «Продолжить», если они вас устраивают.
- Далее разработчики предлагают заранее выбрать комбинацию клавиш, которая будет отвечать за переключение между раскладками. Можете оставить этот пункт по умолчанию, поскольку в будущем этот параметр будет доступен к изменению через меню настроек.
- Теперь начнется загрузка компонентов инсталляции с диска. Это займет несколько минут, поэтому придется подождать.
- Введите имя компьютера. В первую очередь это необходимо для выполнения действий в сети. Другие пользователи локальной группы так смогут определить данное устройство, чтобы взаимодействовать с ним.
- Сейчас будет создана и учетная запись администратора с привилегиями суперпользователя. Напишите ее имя и переходите к следующему шагу.
- В обязательном порядке указывается и пароль для доступа, а во второй строке происходит его проверка путем повторного ввода.
- Остальные учетные записи уже будут созданы в графическом интерфейсе Astra Linux, а сейчас указывается часовой пояс. Недостаток заключается в том, что если вы выбрали русский язык интерфейса, то в этом меню отобразятся только российские часовые пояса. Потребуется сначала указать «English», если хотите получить доступ абсолютно ко всем поясам.
- Начинается самая сложная задача — разметка диска. Если необходимости создавать разметку нет (при условии, что весь диск будет использоваться как один том), просто переходите к следующему шагу, а в противном случае понадобится выбрать «Вручную».
- При выборе последнего упомянутого пункта используйте стрелки на клавиатуре и клавишу Enter, чтобы указать текущий жесткий диск или SSD.
- Выделите маркером пункт «Да», если нужно создать пустую таблицу разделов.
- В появившемся меню перейдите к первому пустому пространству.
- Отметьте пункт «Создать новый раздел» и нажмите на «Продолжить».
- Укажите новый размер для тома.
- Задайте его тип, выделив требуемую строку.
- Осталось только настроить дополнительные параметры. Если вы не знаете, что означает каждый пункт, лучше оставить все в состоянии по умолчанию, дабы не вызвать проблем с работоспособностью.
- После этого нажмите на «Настройка раздела закончена».
- Точно таким же способом создается и разметка других томов, а затем надо нажать на «Закончить разметку и записать изменения на диск».
Сразу же после завершения работы в этом меню начнется основной процесс инсталляции. Во время него от пользователя также требуется выполнить несколько простых действий, влияющих на общую функциональность ОС. О них мы поговорим в следующем этапе.
Шаг 5: Установка
Установка — следующий этап, который начинается сразу же после завершения подготовительных действий. Он займет больше всего времени, и во время самой инсталляции будут показаны дополнительные настройки, которые не рекомендуется пропускать.
- Сначала вы увидите окно инсталляции базовой системы. Это продлится несколько минут, а потом произойдет отображение первых параметров.
- К таким параметрам относится выбор устанавливаемого программного обеспечения. Это доступно только в том случае, если подключение к сети при главном этапе прошло успешно. Вам нужно отметить галочкой те средства, которые хотите получить, а затем нажать на «Продолжить».
- Скачивание всех этих приложений будет проходить через интернет, поэтому остается подождать определенное количество времени, что зависит от скорости подключения к сети.
- Изначально все параметры будут выставлены автоматически, но на экране появится и еще одно окно с разными опциями, например, использование sudo с паролем или отключение автоматической настройки сети. Отметьте галочками все необходимые опции, предварительно изучив все их, а затем переходите далее.
- После применения изменений начнется добавление системного загрузчика GRUB на жесткий диск.
- Иногда на экране может появиться уведомление о том, что на ПК была обнаружена еще одна ОС. Если это ошибочное предположение, просто пометьте маркером «Да» и переходите далее. Если же вы действительно инсталлируете Astra Linux рядом с каким-то другим дистрибутивом, придется решить, сделать ли текущий загрузчик основным.
- Далее остается только указать стандартное расположение для загрузчика GRUB, если нет необходимости помещать его на отдельный логический том или устройство.
- Вы будете уведомлены о том, что установка завершена, а это значит, что можно перезагружать компьютер, достав загрузочную флешку, и начинать взаимодействие с ОС.
Это все шаги, которые требуется выполнить для удачной инсталляции операционной системы. Последние два действия, которые мы рассмотрим в статье, коснутся первого запуска и настройки. Если не хотите изучать эти аспекты, можете просто пропустить их, закончив на этом прочтение инструкций.
Шаг 6: Первый запуск
Во время первого запуска ОС осуществляется проверка входа в учетную запись, а также происходит настройка дополнительных параметров, включая разрешение экрана, внешний вид меню и другие опции. Все это выглядит так:
- При загрузке выберите стандартный вариант ядра или же просто подождите, пока через несколько секунд старт ОС начнется автоматически.
- Затем вы попадаете в меню входа. Здесь слева располагаются все учетные записи, по центру осуществляется ввод данных для входа, а справа имеются опции текущей сессии. Нажмите по значку своего профиля, введите пароль и кликните по стрелке для авторизации.
- Вы будете уведомлены о том, что проводное соединение подключено успешно. Если это не произошло автоматически, следует добавить Wi-Fi или кабельную сеть через настройки вручную.
- Вся конфигурация осуществляется через «Панель управления». Переход к ней производится через меню приложений, которое открывается кликом по значку в виде звезды.
- В «Панели управления» подберите оптимальные настройки для каждого пункта, отталкиваясь от своих личных предпочтений.
- Если требуется, настройте и параметры графического входа, добавив необходимое количество пользователей или ограничив им права на авторизацию.
Шаг 7: Настройка и использование
Осталось только затронуть тему конфигурации, которую иногда проблематично произвести через графический интерфейс, а также несколько тем, связанных с использованием операционной системы. На нашем сайте присутствует огромное количество материалов по разным темам взаимодействия с Linux. Рекомендуем ознакомиться с ними, чтобы упростить процедуру изучения Astra.
Читайте также:
Установка и настройка файлового сервера в Linux
Настройка почтового сервера в Linux
Синхронизация времени в Linux
Смена паролей в Linux
Перезагрузка Linux через консоль
Просмотр списка дисков в Linux
Смена пользователя в Linux
Завершение процессов в Linux
Дополнительно отметим, что множество самых разнообразных действий в дистрибутивах производится через «Терминал», поэтому пользователю придется изучить основные команды, позволяющие справляться с поставленными задачами. Детальнее об этом читайте в приведенных далее статьях.
Читайте также:
Часто используемые команды в «Терминале» Linux
Команда ln / find / ls / grep / PWD в Linux
Это все, что следует знать об инсталляции Astra Linux. Как видите, ничего сложного в этом нет, а весь процесс должен занять не более одного часа. Если у вас возникли дополнительные вопросы по поводу установки или использования ОС, рекомендуем изучить официальную документацию дистрибутива на русском языке, где разработчики рассказали обо всех основных и важных моментах.
Перейти к изучению официальной документации Astra Linux
Здравия всем!
В свете последних событий всё чаще можно услышать, что Microsoft тоже придумает «что-нибудь эдакое» и перестанет обслуживать рос. пользователей… (впрочем, проблему с загрузкой ISO образов с их сайта уже многие отметили…). И в этом плане интерес к нашим ОС и офису за посл. год серьезно вырос. ⬆️
Собственно, на одной из наших ОС сегодня и хочу остановиться — речь пойдет о Astra Linux (или как у нас в просторечье: «Астра»). Кто его знает, возможно, со временем эта российская система сможет полноценно заменить Windows? 🙂
По крайней мере, интерфейс у нее очень дружелюбный (на мой взгляд даже лучше, чем у Windows 10/11), работает стабильно (т.к. на базе Debian), надежно защищена (и это не просто слова, ОС используется в гос. учреждениях), есть целый набор встроенных приложений (редакторы текста, графики, таблиц, игры…).
В общем-то, рассмотрю работу с ней чуть подробнее…
*
Содержание статьи
- 1 Astra Linux: как начать работу в ОС
- 1.1 Подготовка установочной флешки (+ сист. требования)
- 1.2 Установка «Астры»
- 1.2.1 Первые действия
- 1.2.2 Разметка диска
- 1.2.2.1 Ручная разметка
- 1.2.3 Уста.-ка базовой системы
- 1.3 Краткий обзор ОС
- 1.3.1 Рабочий стол
- 1.3.2 Меню ПУСК (и список приложений по умолчанию)
- 1.3.3 Панель управления
- 1.3.4 Менеджер файлов (аналог проводника)
- 1.3.5 Справка
- 1.3.6 Меню выключения
→ Задать вопрос | дополнить
Astra Linux: как начать работу в ОС
Подготовка установочной флешки (+ сист. требования)
Для начала стоит сказать, что у «Астры» системные требования гораздо скромнее, чем у современной Windows 11 и она отлично может сгодиться для использования на относительно-слабых «машинках»:
- 1 ГБ ОЗУ;
- 10 ГБ места на диске;
- VGA-совместимый видеоинтерфейс (подходит практически любая совр. карта, выпущенная за посл. ~15 лет);
- Установщик содержит комплект драйверов сетевых плат, поддерживаемых ядром Linux версии 4.15.хx. Это относится почти ко всем картам PCI и PCMCIA. (Информация с офиц. сайта!)
*
👉 Для запуска установки Astra Linux необходимо правильным образом подготовить загрузочную флешку. А для этого потребуется загрузить ISO образ с офиц. сайта — ссылка ниже:
📌 Офиц. сайт с дистрибутивами: https://astralinux.ru/products/
Скриншот с офиц. сайта Astra (загрузка общей версии)
*
👉 Когда образ будет загружен — вам потребуется записать его на флешку с помощью спец. приложения. Приведу пару ссылок ниже, я рассмотрел два случая:
- первый: если вы работаете в Windows — https://ocomp.info/zagruzochnuyu-fleshku-skachat-s-win11.html#i (вместо образа ISO с Windows — просто записываете образ с Astra Linux).
- второй: если вы работаете в Linux — https://ocomp.info/sozdat-zagruzochnuyu-fleshku.html
Скриншот. Etcher (приложение для подготовки установочных флешек) — запускаем запись
*
Установка «Астры»
📌 Важно!
Перед операцией установки — рекомендую вам сделать БЕКАП всех нужных данных на жестком диске. Всегда есть риск, что что-то может пойти не так (произойдет какая-нибудь ошибка) и информация будет утеряна!
*
Первые действия
1) Итак…
Подключаем флешку к компьютеру, включаем его и сразу же заходим в Boot Menu. В своем примере я использовал Ventoy для подготовки флешки, и должен отметить, что Astra Linux совместима с ним (всё работало без нареканий).
В списке Ventoy, кстати, выберите образ ISO с «Астрой» (на текущий момент его название начинается с «Orel…»).
📌 В помощь! Как загрузиться с USB-флешки или внешнего HDD — https://ocomp.info/kak-zagruzitsya-s-fleshki.html
Фото. Загрузка с флешки Ventoy — выбираем образ ISO с Астрой
2) Далее появится меню GRUB — в нем (в большинстве случаев) следует установиться на пункте «Графическая установка ОС (Русский язык)». См. скрин ниже. 👇
Фото. Графическая установка ОС Астры (рус. язык)
3) После установщик попросит прочитать и согласиться с лицензионным соглашением + указать сочетание кнопок для переключения раскладки клавиатуры (по умолчанию выбран вариант Alt+Shift, как в Windows).
Скриншот. Лиц. соглашение, и выбор сочетания клавиш для смены языка
4) В следующем шаге требуется указать имя компьютера: рекомендую писать его на латинице и без использования спец. символов (чтобы не было лишних вопросов при дальнейшей настройки ОС).
Скриншот. Настройка сети — введите имя этого ПК (Астра-линукс)
5) Имя пользователя тоже лучше задать на латинице и без разнообразных символов (например, «Alex», как у моем случае 🙂).
Скриншот. Настройка учетных записей пользователя и пароля
6) Далее система потребует установить пароль (обратите внимание, длина пароля — 7 символов, содержит буквы и цифры).
Скриншот. 7-значный пароль
7) Установка часового пояса (время относительно Москвы).
Скриншот. Выбор часового пояса
Разметка диска
📌 Дошли до самого важного шага — разметки диска (т.е. выбора места, куда будет установлена ОС)
Если вам не нужны никакие данные на диске — просто выберите пункт с автоматической разметкой и нажмите «Продолжить». Установщик автоматически выберет (/создаст) подходящий раздел.
👉 У меня же на ПК два диска, на одном установлена Windows, а на другой диск будет поставлена Astra… И в этом случае нужно указать ручной вариант разметки…
Скриншот. Разметка дисков — вручную (Астра-линукс)
Кстати, если у вас не сработает авто-разметка (и появится ошибка, как у меня на скрине ниже 👇) — возможно, вам тоже понадобиться ручной вариант разметки… (те, кто успешно воспользовался авто-разметкой — могут переходить к пункту 9 далее в заметке)
Скриншот. Не удалось разметить автоматически выбранный диск — Астра
Ручная разметка
Итак…
Нужный мне диск под установку «Астры» равен 126 ГБ (он представлен в списке установщика). Нужно сделать двойной клик мышки по разделу на нем (при наличии), а затем в открывшемся окне выбрать «Удалить раздел». Таким образом вся информация на диске будет удалена. См. 2 скрина ниже. 👇
Скриншот. Открываем диск — Астра
Скриншот. Удаляем раздел открытого диска
В идеале у вас на выбранном диске не должно быть никаких разделов — просто свободное место (в моем случае на 126 ШБ, т.е. на весь объем диска).
Именно по этому свободному месту делаем двойной клик ЛКМ. 👇
Скриншот. Свободное место — открываем
А затем выбираем автоматическую разметку свободного места (второй пункт на моем скрине ниже).
Скриншот. Автоматически разметить свободное место
Далее указываем, что все файлы будем хранить на одном разделе. 👇
Скриншот. Все файлы в одном разделе
Ну и последний штрих: соглашаемся с изменениями и подтверждаем операцию.
Скриншот. Закончить разметку и записать изменения — Астра
Скриншот. Записать изменения на диск
Если все прошло корректно — начнется копирование файлов и установка ОС…
Уста.-ка базовой системы
9) Далее Astra попросит выбрать ядро: в большинстве случаев можно указать то, что выставил установщик по умолчанию. Обычно, в этом случае все работает корректно… (от ядра зависит поддержка чипсетов ЦП и современных видеокарт, совместимость с рядом крипто-ПО, устранение ошибок и уязвимостей).
Скриншот. Установка базовой системы
10) В окне выбора программного обеспечения не рекомендовал бы вам что-то отключать из стандартного списка: и офисное ПО, и мультимедиа, и рабочий стол Fly и др. — всё это облегчает знакомство с системой и упрощает взаимодействие на начальном этапе.
Скриншот. Выбор программного обеспечения
11) Окно с доп. настройками можно просто пропустить (всё, что вам потребуется потом — можно настроить непосредственно в панели управления рабочей системы).
Скриншот. Дополнительные настройки ОС
12) Собственно, всё! 🙂
Если ошибок никаких не возникло — увидите сообщение о успешной установке. Можно перезагружать компьютер и откл. загрузочную флешку…
Скриншот. Установка завершена — Астра
Кстати, сразу после перезагрузки — увидите окно приветствия Astra Linux: попросит вас ввести логин (имя пользователя) и пароль, указанные при установке. 👇
Фото. Первый экран приветствия — первая загрузка Astra Linux — ввод логина и пароля
*
Краткий обзор ОС
Рабочий стол
Если вы успешно вошли в систему (т.е. имя пользователя и пароль был указан корректно) — пред вами предстанет довольно простой и удобный рабочий стол. 👇
Что сразу же подкупает:
- наличие значков браузера, моего компьютера, корзины и помощи прямо на рабочем столе (в Windows сегодня это нужно искать в «ПУСКе». А справка вообще доступна только по сети Интернет…);
- удобная панель задач и трей: можно в один клик настроить громкость, яркость экрана, подкл. к сети, дату и время;
- нет никаких всплывающих окон и напоминаний. 👌
Скриншот. Рабочий стол Астры — вполне себе приятный!
Скриншот. Часы и календарик смотрятся неплохо!
Меню ПУСК (и список приложений по умолчанию)
Значок «ПУСК» у Astra Linux выполнен в виде «звезды» — кликнув по ней ЛКМ откроется довольно удобный список с неск. разделами (за крупный шрифт отдельное спасибо!):
- офис: есть редактор и таблиц, и текста, и презентаций (Libre Office);
- сеть (эту и другие вкладки я представлю подробнее ниже);
- графика;
- мультимедиа;
- научные;
- игры (в Windows сейчас нужно вручную их до-устанавливать… 🙂);
- мобильные;
- утилиты;
- системные;
- панель управления;
- менеджер файлов (почти такой же, как проводник. Мало чем отличается).
Скриншот. В Астре есть встроенные офисные приложения
Во вкладке «Сеть» представлено неск. браузеров, почтовая программа, и торрент-клиент. Удобно, что ничего искать по сути не нужно, один клик и работаешь в сети… 👌
Скриншот. Меню ПУСК в Астре — есть неск. браузеров и почтовый клиент. Удобно!
Вкладка «Графика» представлена на скрине ниже: есть редактор Inskape, Gimp, неск. просмотрщиков, ПО для сканирования и создания скриншотов.
(почему бы Microsoft не внедрять в свою ОС некоторый полезный софт? По крайней мере, самый популярный…)
Скриншот. Есть несколько редакторов графики (я пока сам не тестировал). Астра-линукс
Из встроенных игр есть: пасьянс, сапер, стратегия Warzone 2100, цветные линии, Jag. Какой-никакой, а набор… 🙂
Скриншот. Встроенные игры в Астре тоже есть!
Кстати, классические игры почти никак не отличаются по дизайну от своих «со-братьев» в Windows. Я бы даже отметил большее кол-во опций… 👇
Скриншот. Пример запуска минера
Среди мобильных приложений есть: мониторинг GPS/ГЛОНАСС, калькулятор, звукозапись, погода, просмотрщик PDF, и пр. 👇
Скриншот. Всякая мелочь вроде калькулятора тоже в наличии
Порадовало, что есть встроенная утилита для записи ISO на флешки (это раздел «Утилиты»). Кроме этого, в этой же вкладке есть виртуальная клавиатура, менеджер файлов, архиватор.
Скриншот. Системные утилиты
Вкладка «Системные» позволит узнать информацию о системе и более точечно ее настроить. Также здесь есть вкладка «Принтеры», «Системный монитор», и редактор разделов/дисков.
Скриншот. Есть возможность посм. информацию о системе, вести поиск файлов, посм. очередь печати и пр. Многое из этого не хватает в Windows!
Панель управления
📌 Что касается панели управления: то в Astra Linux всё выглядит более, чем достойно. Пройдясь по неск. вкладкам можно полностью настроить систему под-себя. Причем, никаких спец. знаний не требуется. См. неск. скринов ниже. 👇
Скриншот. Понятная панель управления, доступная из меню ПУСК
Скриншот. Панель управления Астры — вкладка с оборудованием
Скриншот. Вкладка сеть — Астра-линукс
Скриншот. Из панели управления Астры можно настроить меню GRUB, автозагрузку системы, и др.
Менеджер файлов (аналог проводника)
Программа практически никак не отличается от классического проводника: слева представлены основные вкладки (видео, изображения, загрузки и т.д.), справа — файлы в выбранной вкладке.
Операции копирования, вставки и пр. — выполняются аналогично (по правому клику мышки).
Скриншот. Менеджер файлов в Астре — это аналог проводника. Смотрится прилично
Справка
В «Астре» есть справка (см. меню ПУСК), доступная даже в офлайн-режиме (полезно, когда доступ в сеть пропал…).
Из нее можно узнать об основах работы в ОС, описание основного ПО, советы. Когда-то в Windows XP была такая же штука, но почему-то Microsoft от нее отказалась, как и от встроенных игр… Странные решения. 🙂
Скриншот. Есть встроенная справка, доступная без Интернета
Меню выключения
Кстати, при нажатии на кнопку выключения — в Astra Linux появляется довольно удобное меню — в нем представлено всё самое необходимое:
- сон и блокировка;
- гибернация;
- перезагрузка;
- завершение сессии;
- планировщик;
- выключение.
В Windows часть из этого «добра» нужно вручную настраивать и добавлять в панельку (иначе недоступно…).
Скриншот. Удобное меню выключения — есть все необходимые режимы
*
В общем и целом, система смотрится весьма достойно! Все самое необходимое для не искушенной работы тут точно есть. Могу смело рекомендовать к знакомству (например, установив систему рядом с Windows можно потихоньку знакомиться, на случай не предвиденных проблем…)
За сим откланяюсь…
*
Иные рекомендации и мнения — приветствуются в комментариях.
Удачи!
👋
Полезный софт:
- Видео-Монтаж
Отличное ПО для создания своих первых видеороликов (все действия идут по шагам!).
Видео сделает даже новичок!
- Ускоритель компьютера
Программа для очистки Windows от «мусора» (удаляет временные файлы, ускоряет систему, оптимизирует реестр).