Практическая работа: Модуль 12. Дополнительные подсистемы DHCP и PXE

См. также Требования, правила и цели выполнения практической работы

Практические задания

Задание 1.

  1. Создайте новый профиль загрузки.

  2. Сконфигурируйте его для систем с BIOS.

  3. Профиль должен обеспечить установку пакета Internet.

  4. Профиль должен обеспечить автоматическое обновление операционной системы до версии 1.7.7 UU2.

Подсказка

Пример автоматической установки обновлений после установки системы описан в WiKi Astra Linux

  1. Машины не должны подключаться к домену через этот профиль.

  2. Создайте тестовую машину, зарегистрируйте ее в среде PXE.

  3. Проверьте, что операционная система устанавливается на тестовую машину и все перечисленные выше требования выполняются.

Практическая работа (с ответами)

Задание 1.

  1. На портале управления пройдите по пути Автоматизация ‣ Установка ОС по сети и выберите сервер pxe-1.ald.company.lan. Перейдите на вкладку Профили загрузки и создайте новый профиль. Назовите его, например, homework.

  2. В профиле homework перейдите во вкладку Настройка boot-меню, скопируйте и вставьте скрипт из раздела Настройка boot-меню лекционной части модуля. Никаких изменений в этот скрипт вносить не надо.

  3. В профиле homework перейдите во вкладку Preseed, скопируйте и вставьте скрипт из раздела Preseed основного модуля. Отредактируйте 135-ю строку скрипта, добавьте в ее конец слово Internet. В итоге строка должна выглядеть так:

    tasksel tasksel/first multiselect Base packages, Fly desktop, SSH server, Internet
    

    Доступные компоненты и входящие в них пакеты можно посмотреть в файле /usr/share/tasksel/debian-tasks.desc.

  4. Чтобы успешно выполнить этот шаг, вам потребуется на сервере PXE создать два новых файла в каталоге /var/www/tftp/ и отредактировать через портал управления файл preseed.

    1. Создайте в каталоге /var/www/tftp/ файл update.sh и скопируйте в него следующие строки:

    #!/bin/bash
    
    clear
    # вносим в /etc/apt/sources.list используемые репозитории
    echo "deb http://dl.astralinux.ru/astra/frozen/1.7_x86-64/1.7.7/uu/2/repository-base 1.7_x86-64 main non-free contrib" > /etc/apt/sources.list
    
    echo "Updating system, please wait..."
    echo "Do not turn off your computer!"
    apt-get update &> /dev/null
    apt-get dist-upgrade -y -o Dpkg::Options::=--force-confold &> /dev/null
    rm -f /etc/systemd/system/multi-user.target.wants/update.service
    systemctl daemon-reload
    rm -f /usr/local/bin/update.sh
    reboot
    
    1. Создайте в каталоге /var/www/tftp/ файл update.service и скопируйте в него следующие строки:

    [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
    
    1. В профиле homework перейдите во вкладку Preseed и нажмите на кнопку Редактировать файл. Вам надо перейти в конец этого файла и заменить команды, выполняемые на последней стадии установки. Команды должны выглядеть так:

    # Команда, выполняемая на последней стадии установки
    d-i preseed/late_command string in-target systemctl enable ssh; \
        in-target bash -c "apt-get -y purge linux-image-*-hardened"; \
        in-target bash -c "apt-get -y autoremove --purge"; \
        in-target bash -c "sed -i 's/deb-src/#deb-src/g' /etc/apt/sources.list"; \
        in-target bash -c "/usr/bin/wget -O /usr/local/bin/update.sh http://pxe-1.ald.company.lan/tftp/update.sh"; \
        in-target bash -c "/usr/bin/chmod +x /usr/local/bin/update.sh"; \
        in-target bash -c "/usr/bin/wget -O /lib/systemd/system/update.service http://pxe-1.ald.company.lan/tftp/update.service"; \
        in-target bash -c "/usr/bin/systemctl enable update.service";\
        echo
    
  5. Если файл preseed был отредактирован в соответствии с пунктом 4, машина не будет введена в домен.

  6. Создайте и зарегистрируйте виртуальную машину, как это было описано в разделе «Перечень компьютеров» лекционной части модуля. Не устанавливайте чек-бокс Включить EFI (только специальные ОС).

    ../_images/image221.png

    рис. 433 Виртуальная машина будет использовать BIOS

    Подсказка

    Не забудьте форсировано применить новые настройки на сервере PXE

    sudo aldpro-roles --subsystem_settings os
    
  7. Если все сделано правильно, полностью автоматически будет установлена ОС Astra Linux 1.7.7 с пакетом Internet. После завершения установки операционной системы и первой перезагрузки автоматически запустится сценарий обновления. Он обновит систему до версии 1.7.7 UU2, удалит себя и перезагрузит компьютер.

admin@pxe-test-3:~$ cat /etc/astra/build_version
1.7.7.9