Сегодня я опубликую, как у меня производится установка, к примеру операционной системы Lubuntu 18.04 Desktop amd64
через сервис FOG Project
+ будет применен файл ответов на мастер установки lubuntu.seed
и скрипт dproject
который все также произведет базовую настройку системы на последующую работу. Очень удобно кстати, раз потратив время — за то после ручной труд более не нужен, только модернизация с учетом Ваших хотелок.
Если у Вас есть вопросы, то я как моим подписчикам платного помогу и покажу где у Вас затык и почему не работает.
Шаг №1:
Самая первая заметка Как установить FOG на Ubuntu 18.04
Шаг №2:
За основу берется заметка Меню загрузки Ubuntu 18.04 Server в FOG Management
Шаг №3:
Предлагаю читателю свой файл ответов, через него устанавливается Lubuntu 18.04 Desktop amd64
, как на физические компьютеры, ноутбуки так и на виртуальные системы гиперпизоров ESXi
и Debian 10 + Proxmox 6:
ekzorchik@srv-fog:~$ sudo nano /var/www/fog/ubuntu/bionic/desktop/lubuntu.seed #Install Ubuntu 18.04 Desktop + LVM + Script Configure d-i auto-install/enable boolean true d-i debconf/priority string critical d-i pkgsel/update-policy select none d-i debian-installer/locale string en_US d-i debian-installer/language string en d-i debian-installer/country string US d-i console-setup/ask_detect boolean false d-i keyboard-configuration/xkb-keymap select us d-i keyboard-configuration/layoutcode string us d-i netcfg/choose_interface select auto d-i netcfg/get_hostname string srv-dbionic d-i mirror/country string manual d-i mirror/http/hostname string us.archive.ubuntu.com d-i mirror/http/directory string /ubuntu d-i mirror/http/proxy string http://172.35.35.8:3142 d-i passwd/user-fullname string ekzorchik d-i passwd/username string ekzorchik d-i passwd/user-password password 712mbddr@ d-i passwd/user-password-again password 712mbddr@ d-i user-setup/allow-password-weak boolean true d-i user-setup/encrypt-home boolean false d-i clock-setup/utc boolean true d-i time/zone string Europe/Moscow d-i clock-setup/ntp boolean true d-i clock-setup/ntp-server string ru.pool.ntp.org d-i partman-auto/init_automatically_partition select biggest_free d-i partman-auto/disk string /dev/sda /dev/vda d-i partman-auto/method string lvm d-i partman-lvm/device_remove_lvm boolean true d-i partman-lvm/confirm boolean true d-i partman-lvm/confirm_nooverwrite boolean true d-i partman-auto-lvm/guided_size string max d-i partman-auto/choose_recipe select atomic d-i partman-partitioning/confirm_write_new_label boolean true d-i partman/choose_partition select finish d-i partman/confirm boolean true d-i partman/confirm_nooverwrite boolean true tasksel tasksel/first multiselect lubuntu-desktop openssh-server d-i pkgsel/include string ca-certificates openssh-server d-i pkgsel/upgrade select full-upgrade d-i pkgsel/update-policy select unattended-upgrades d-i grub-installer/only_debian boolean true d-i grub-installer/with_other_os boolean true d-i debian-installer/add-kernel-opts string net.ifnames=0 d-i finish-install/reboot_in_progress note d-i preseed/late_command string in-target apt-install -y wget tmux mercurial vim lvm2 net-tools openssh-server gcc mail perl sshpass d-i preseed/late_command string in-target wget --no-proxy http://172.35.35.7/fog/ubuntu/bionic/desktop/dproject -O /tmp/dproject.sh; in-target chmod +x /tmp/dproject.sh; in-target /bin/bash /tmp/dproject.sh; ekzorchik@srv-fog:~$ sudo chown www-data:www-data /var/www/fog/
Шаг №4:
В Файле ответов используется скрипт, как пример базовой настройки, он располагается там же где и файл ответов lubuntu.seed:
ekzorchik@srv-fog:~$ sudo nano /var/www/fog/ubuntu/bionic/desktop/dproject #!/bin/bash # Codepage UTF-8 # aka Олло Александр aka ekzorchik (Telegram: @ekzorchik) # for Ubuntu 18.04 Server amd64 #Это у меня в локальной сети сервис кеширующий любые устанавливаемые deb-пакеты чтобы не приходилось их раз за разом скачивать во время экспериментов. function proxy { cat > /etc/apt/apt.conf.d/02proxy << EOF Acquire::http { Proxy "http://172.35.35.8:3142"; }; EOF } proxy #for wget no use proxy sed -i 's/#use_proxy = on/use_proxy = off/g' /etc/wgetrc rm -Rf /var/lib/apt/lists locklist="/var/lib/apt/lists/lock" if [ -f $locklist ] then echo "$locklist found i budet delete" rm -rf $locklist else echo "$locklist not found" fi lockapt="/var/cache/apt/archives/lock" if [ -f $lockapt ] then echo "$lockapt found i budet delete" rm -rf $lockapt else echo "$lockapt not found" fi lock="/var/lib/dpkg/lock" lockfrontend="/var/lib/dpkg/lock-frontend" lockbackup="/var/lib/dpkg/lock-backup" if [ -f "$lock" ] then echo "$lock found i budet delete" rm -rf $lock ls /var/lib/dpkg/lock else echo "$lock not found." fi if [ -f "$lockfrontend" ] then echo "$lockfrontend found i budet delete" rm -rf $lockfrontend ls /var/lib/dpkg/lock-frontend else echo "$lockfrontend not found" fi if [ -f "$lockbackup" ] then echo "$lockbackup found i budet delete" rm -rf $lockbackup ls /var/lib/dpkg/lock-backup else echo "$lockbackup not found" fi apt-get update && sudo apt-get upgrade -y rm -rf /var/lib/dpkg/updates/* sed -i '/Prompt/s/lts/never/' /etc/update-manager/release-upgrades dpkg --configure -a #Timezone rm -f /etc/localtime ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime apt-get autoremove -y # Удаляю из системы пакет Cloud Init sudo bash -c "echo 'datasource_list: [ None ]' sudo -s tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg" sudo apt purge -y cloud-init sudo rm -Rf /etc/cloud /var/lib/cloud #NTP sudo apt-get install ntpdate mercurial bikeshed -y sudo bash -c "echo '@reboot /usr/sbin/ntpdate -s 0.pool.ntp.org > /dev/null'" | sudo -s tee /var/spool/cron/crontabs/root ntpdate -s 0.pool.ntp.org #Install nuznoe in work apt-get install htop mc software-properties-common -y purge-old-kernels --keep 1 -y #locale #sudo locale-gen ru_RU #sudo locale-gen ru_RU.UTF-8 sudo locale-gen en_US.UTF-8 sudo sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen && sudo locale-gen #sudo sed -i 's/ru_RU.KOI8-R/ru_RU.UTF-8/g' /etc/locale.alias echo "LC_ALL="en_US.UTF-8"" | sudo -s tee /etc/default/locale echo "LANG="en_US.UTF-8"" | sudo tee -a /etc/default/locale echo "LANGUAGE="en.US.UTF-8"" | sudo tee -a /etc/default/locale ekzorchik@srv-fog:~$ sudo chown www-data:www-data /var/www/fog/
Шаг №5:
Мое iPXE
меню "Lubuntu 18.04 Desktop amd64"
выбора установки по сети операционной системы:
http://172.35.35.7/fog/management/ - Username: fog, Password: 712mbddr@, Language: English
и нажимаю Login - FOG Configuration - iPXE New Menu Entry
Menu item: Lubuntu 18.04 Desktop amd64
Description: Lubuntu 18.04 Desktop amd64
Parameters: kernel tftp://${fog-ip}/os/ubuntu/desktop/18.04/linux
initrd tftp://${fog-ip}/os/ubuntu/desktop/18.04/initrd.gz
imgargs linux initrd=initrd.gz root=/dev/nfs netboot=nfs nfsroot=${fog-ip}:/images/os/ubuntu/desktop/18.04/ locale=en_US.UTF-8 keyboard-configuration/layoutcode=us hostname=srv-dbionic localechooser/supported-locales=en_US.UTF-8 url=http://172.35.35.7/fog/ubuntu/bionic/desktop/lubuntu.seed quiet splash ip=dhcp rw
boot || goto MENU
Menu Show with: All Hosts
и нажимаю "Save Changes"
Шаг №6:
Теперь на ноутбуке, к примеру Sony Vaio Model PCG-5K3P
через F2
в BIOS
Активирую загрузку по сети:
Advanced — Network Boot — Enabled
Boot — Boot priority order:
поднимаю Network
в самый верх, выделив Network
и нажимая сочетание клавиш «Правый Shift» + «+»
после Сохраняю изменения проделанные в BIOS
по клавишу F10 — Yes
Когда ноутбук снова перезагрузится, загрузка инициализируется по сети и в меню iPXE
нужно будет выбрать созданное меню установки "Lubuntu 18.04 Desktop amd64"
и спустя n’ое количество времени установка операционной системы будет произведена.
Дальше вы уже сами настраиваете систему как Вам нужно или дорабатываете скрипт выше.
На этом моя заметка завершена. С уважением автор блога Олло Александр aka ekzorchik.