Estou tentando automatizar algumas instalações da área de trabalho usando o arquivo kickstart em vez do arquivo preseed. Eu entendo que o processo converte o arquivo ks.cfg para o arquivo preseed relevante
O erro encontrado após a inicialização PXE está na seção nfs --server = a.b.c.d --dir = / path / to / ubuntu / media do arquivo ks.
Continua dando um erro de montagem do nfs. Confirmado não FW entre cliente e servidor nfs.
Em outro console virtual, eu também não consigo montar -t nfs a.b.c.d: / caminho / para / ubuntu / media / mnt - ele simplesmente trava.
Eu vi em / var / log / syslog (console virtual 4) um aviso que diz que o Xenial não suporta esse tipo de espelho ou algo assim.
O servidor nfs para configuração da instalação básica não é suportado? Então tem que ser via http: // ou ftp: // etc?
Alguém pode me indicar a documentação adequada para configurar o arquivo preseed e fazer a instalação automatizada da área de trabalho com algumas dicas de personalização (por exemplo, adicionar min sal para que eu possa configurar a área de trabalho do cliente com saltstack)
Obrigado,
Editar:
Veja o que eu fiz -
monte a iso de desktop do ubuntu-16.04 e copie o kernel e o arquivo initrd para o servidor pxe. O servidor irá fazer o boot do pxe e obter o dhcp e então obter o pxelinux.0 via tftp e inicializar esse arquivo e ler o arquivo pxe para processar os próximos passos, conforme abaixo
em /tftpboot/pxelinux.cfg/
serial 0 115200 0x303 timeout 6000 default menu.c32 prompt 0 menu begin desktop-test label Ubuntu 16.04 Desktop kernel ks/kernel/vmlinuz-ubuntu-16.04 append initrd=ks/kernel/initrd-ubuntu-16.04.img preseed/url=http://mirrorhost.localdomain/repo/ubuntu/preseed/ubuntu-16.04-preseed.cfg -- ipappend 2
d-i debian-installer/language string en
d-i debian-installer/country string US
d-i debian-installer/locale string en_US
d-i console-keymaps-at/keymap select us
d-i keyboard-configuration/xkb-keymap select us
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
d-i hw-detect/load_firmware boolean true
d-i mirror/country string manual
d-i mirror/http/hostname string mirror.localdomain
d-i mirror/http/directory string /repo/ubuntu
d-i mirror/http/proxy string
d-i mirror/suite string xenial
d-i passwd/root-login boolean true
d-i passwd/make-user boolean false
d-i passwd/root-password-crypted password XXX
d-i clock-setup/utc boolean false
d-i time/zone string US/Eastern
d-i clock-setup/ntp boolean true
d-i clock-setup/ntp-server string 10.0.0.1
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string lvm
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-lvm/device_remove_lvm_span boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-auto/purge_lvm_from_device boolean true
d-i partman-auto-lvm/new_vg_name string system
d-i partman-lvm/confirm boolean true
d-i partman/alignment string "optimal"
d-i partman-auto-lvm/guided_size string max
d-i partman-auto/expert_recipe string \
boot-root :: \
128 100 256 ext3 \
$primary{ } \
$bootable{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /boot } \
. \
1024 100 8192 linux-swap \
$lvmok{ } \
$in_vg{ vg_root } \
lv_name{ lv_swap } \
method{ swap } format{ } \
. \
4096 100 51200 ext4 \
$lvmok{ } \
$in_vg{ vg_root } \
lv_name{ lv_root } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ / } \
.
4096 100 8192 ext4 \
$lvmok{ } \
$in_vg{ vg_root } \
lv_name{ lv_var } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /var } \
.
1024 100 4096 ext4 \
$lvmok{ } \
$in_vg{ vg_root } \
lv_name{ lv_tmp } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /tmp } \
.
4096 100 -1 ext4 \
$lvmok{ } \
$in_vg{ vg_root } \
lv_name{ lv_extra } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /extra } \
.
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
d-i base-installer/install-recommends boolean false
d-i base-installer/kernel/linux/initramfs-generators string initramfs-tools
d-i apt-setup/non-free boolean true
d-i apt-setup/contrib boolean true
d-i apt-setup/services-select multiselect security
d-i apt-setup/security_host string security.debian.org
tasksel tasksel/first multiselect none
d-i pkgsel/include string openssh-server less htop vim pidgin lsb-release zip unzip ubuntu-desktop mate-desktop-environment mate-desktop-environment-extras build-essential rsh-server rsync lightdm eclipse thunderbird rdesktop qpdf subversion git synergy libreoffice mysql-workbench ntpdate
d-i pkgsel/upgrade select full-upgrade
popularity-contest popularity-contest/participate boolean false
d-i grub-installer/only_debian boolean true
d-i finish-install/reboot_in_progress note
Eu acho que minha pergunta é como eu passo o arquivo preseed para o pxelinux corretamente. Eu não acho que está sendo lido. Eu coloquei a linguagem em fr e nem a peguei.
Qual é a sintaxe adequada para o pxelinux.cfg / para ele analisar o arquivo preseed do debian-installer? update w / Ans: use url="http: //webserver/preseed.cfg" no arquivo pxelinux.cfg
Muito obrigado,