Перейти к содержимому
www.mytechnote.ru
Меню
  • Администрирование
    • Скрипты
  • Оборудование
    • Обзоры
    • Инструкции
  • Прочее
  • Русский
    • English
    • Русский
Меню

Как сделать кастомный диск Alt Linux с автоматической установкой системы

Возник вопрос – как можно быстро развернуть Alt Linux на большое количество компьютеров. Ответ напрашивается сам – нужно что-то придумать с автоматической установкой. Предвкушая комментарии в духе – гораздо проще снять образ диска с работающей системой, каким-нибудь Acronisом, или простым dd – отвечу, так сделать можно, но только в том случае, если железо на всех компьютерах у вас будет абсолютно одинаковым, иначе могут быть самые неожиданные проблемы, по этому всё же лучше установка системы. Как это сделать — написано ниже.

Копируем содержимое диска с дистрибутивом куда-нибудь:

mkdir /mnt/disk
cp -ar /run/media/test/cusotmAlt/* /mnt/disk/
cd /mnt/disk/Metadata

Создадим файл ответов:

nano autoinstall.scm

Содержимое файла – примерно такое:

; установка языка операционной системы (ru_RU)

(«/sysconfig-base/language» language («ru_RU»)  action «write» lang («ru_RU»))

; установка переключателя расладки клавиатуры на Ctrl+Shift

(«/sysconfig-base/kbd» language («ru_RU») action «write» layout «alt_sh_toggle»)

; установка часового пояса в Europe/Moscow, время в BIOS будет храниться в UTC

(«/datetime-installer» action «write» commit #t name «RU» zone «Europe/Moscow» utc #t)

; автоматическая разбивка жёсткого диска

(«/evms/control» action «write» control open installer #t)

(«/evms/control» action «write» control update)

(«/evms/profiles/workstation» action apply commit #f clearall #t exclude ())

(«/evms/control» action «write» control commit)

(«/evms/control» action «write» control close)

; установка пакетов операционной системы

(«pkg-init» action «write»)

; установка только базовой системы (дополнительные группы пакетов из pkg-groups.tar указываются по именам через пробел)

(«/pkg-install» action «write» lists «workstation/libreoffice workstation/scanning workstation/smartcard workstation/ganttproject workstation/gtk-dictionary workstation/3rdparty workstation/mate-usershare workstation/pidgin workstation/raccess workstation/vlc workstation/emulators  workstation/freecad workstation/scribus workstation/evolution» auto #t)

;(«/pkg-install» action «write» lists «» auto #t)

(«/preinstall» action «write»)

; установка загрузчика GRUB в MBR на первый жёсткий диск

(«/grub» action «write» device «/dev/sda» passwd #f passwd_1 «*» passwd_2 «*»)

; настройка сетевого интерфейса на получение адреса по DHCP

(«/net-eth» action «write» reset #t)

;(«/net-eth» action «write» name «eth0» configuration «dhcp» default «» search «» dns «» computer_name «c245»)

(«/net-eth» action «write» name «eth0» configuration «dhcp» default «» search «» dns «»)

; настройка сетевого интерфейса на статический IPv4

; («/net-eth» action «write» name «eth0» configuration «static» default «192.168.1.1» search «localhost.com» dns «192.168.1.1» computer_name «c245» ipv «4» ipv_enabled #t)

; («/net-eth» action «add_iface_address» name «eth0» addip «192.168.1.2» addmask «24» ipv «4»)

(«/net-eth» action «write» commit #t)

; установка пароля суперпользователя root ‘123’

(«/root/change_password» language («ru_RU») passwd_2 «123» passwd_1 «123»)

; задание первого пользователя ‘test’ с паролем ‘123’

(«/users/create_account» new_name «test» gecos «» allow_su #t auto #f passwd_1 «123» passwd_2 «123»)

 («/postinstall/firsttime» run «sleep 30 && curl http://media.loc/post1.sh -o /root/post1.sh && /bin/sh /root/post1.sh»)

В этом файле могут со временем измениться параметры, посмотреть список актуальных можно в файле /root/.install-log/wizard.log, после обычной установки системы. Или во время уствновки — /tmp/wizard.log

В целом думаю вопросов к файлу возникнуть не должно, все интуитивно понятно.

Необходимые пакеты добавляются в секции pkg-install. Названия можно посмотреть в файле pkg-groups.tar, который находится той же папке, куда мы помещаем конфиг. По иерархии – lists/workstation/имя, соответственно имя будет, например workstation/evolution. Имена вводятся через пробел.

Что бы добавить дополнительный пакет, которого изначально нет на диске необходимо распаковать pkg-groups.tar и внести изменения:

tar xf pkg-groups.tar

К примеру, добавим evolution.

nano lists/workstation/evolution

Содержимое файла – каждый нужный пакет – с новой строки:

evolution

evolution-ews

nano groups/workstation/evolution.directory

[Desktop Entry]

Encoding=UTF-8

Type=Directory

Name=Evolution mail client

Name[ru_RU]= Почтовый клиент, поддерживающий MS Exchange

X-Alterator-Parent=workstation/20-networking

X-Alterator-PackageList=workstation/evolution

X-Alterator-Required=yes

После внесенных изменений, пакуем папки обратно:

tar cf pkg-groups.tar groups lists

Если на прошлом шаге были добавлены пакеты отсутствующие в репозитории на диске, необходимо все нужные пакеты добавить в репозиторий вручную. Важно добавлять абсолютно все нужные пакеты, включая зависимости, зависимости зависимостей и т.д., иначе не будут установлены ни какие пакеты, помимо базовых, даже те, которые были на диске изначально. Проще всего сделать так – на абсолютно голой минимальной системе установить нужные пакеты. Зависимости стянутся сами, и будут находится в папке /var/cache/apt/archieve.

Если хочется хардкора, можно посмотреть зависимости вручную командной:

apt-cache depends evolution evolution-ews

Если пакет уже есть в системе, но отсутствует в кэше, можно скачать так:

apt-get install --reinstall --download-only evolution

Не забываем про зависимости зависимостей.

Все нужные пакеты копируем в папку ALTLinux/RPMS.main:

cp /home/test/rpms/*.rpm /mnt/disk/ALTLinux/RPMS.main/

/home/test/rpms – директория, куда я копировал нужные пакеты из кэша.

Устанавливаем apt-repo-tools:

apt-get install apt-repo-tools

Чтобы команда обновления репозитория не ругалась, ей нужна папка:

mkdir /mnt/disk/SRPMS.main

Обновление репозитория:

genbasedir --topdir /mnt/disk ALTLinux main

Последняя строка в autoinstall.scm говорит запустить постустановочный скрипт во время первого запуска ОС, что позволяет относительно просто сделать начальные настройки настройки. В моём примере я стягиваю скрипт с веб сервера, и после этого запускаю его. Обратите внимание, что перед началом скачивания скрипта я торможу процесс на 30 секунд. Это нужно для того, чтобы успела инициализироваться сеть, иначе скрипт стягиваться не будет.

Чтобы установка проходила в полностью автоматическом режиме, необходимо отредактировать файл:

nano /mnt/disk/syslinux/isolinux.cfg

В разделе с загрузкой установщика нужно добавить в конец строки ai:

label linux

  kernel alt0/vmlinuz

  append initrd=alt0/full.cz changedisk fastboot automatic=method:cdrom ramdisk_size=372041 showopts vga=normal quiet splash ai

Тут же меняется порядок меню при загрузке с диска.

Последний шаг — пакуем папку обратно в ISO:

mkisofs -o /home/test/custom2.iso  -b syslinux/isolinux.bin -c syslinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -J -R -V "customAlt" /mnt/disk/

Также можно пользоваться сетевой установкой. Суть там, вродебы такая же, за исключением того, что не нужно перепаковывать ISO.

Опубликовано в 06.03.202030.05.2024 от sanglyb

Навигация по записям

← MikroTik CAP AC – мини обзор / распаковка
Яндекс станция мини — обзор и впечатления →

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Подписывайтесь

Youtube
vk
telegram
github
twitter
rss
  • Форум
  • Об авторе
  • Поддержать автора

Популярные записи

Новые записи

  • Как расширить LVM раздел в Linux
  • Исправление ошибки SrsResources.dll после обновления SSRS для SCCM
  • Проблема при использовании библиотеки PassFiltEx на старых процессорах
  • Как удалить вложения из старых событий календаря в Exchange с помощью скрипта
  • Как скачать и установить Office 2024 LTSC

Архивы

  • 2026 (3)
  • 2025 (5)
  • 2024 (7)
  • 2023 (6)
  • 2022 (5)
  • 2021 (25)
  • 2020 (34)
  • 2019 (39)
  • 2018 (78)
  • 2017 (56)
  • 2016 (77)
  • 2015 (9)
© 2015-2026 www.mytechnote.ru
Использование материалов сайта возможно только с разрешения владельца или обязательна индексируемая, прямая, передающая вес ссылка на материал.