Încerc să preseed debian 11 netinstall complet automat.
Am citit multe documentații aici:
Aici este linia mea de boot (de la un grub.cfg)
set default="autoinstall"
setați timeout=3
intrarea de meniu „Debian 11 Fully Automated UEFI LVM LUKS BTRFS Remote Decrypt DEBUG TTY4” --id autoinstall {
setați background_color=negru
linux /debian-installer/amd64/linux auto=true url=tftp://192.168.1.100/preseed/debseed11_crypt.cfg net.ifnames=0 biosdevname=0 ipv6.disable=1 language=en locale=en_US.UTF-8 keymap=fr vga=788 noprompt DEBCONF_DEBUG=5 --- silentios
initrd /debian-installer/amd64/initrd.gz
}
Iată fișierul meu preseed:
#### Fișier de preconfigurare presetat (pentru Debian buster)
### Comandă devreme Partman
### Parametru Kernal
#d-i debian-installer/add-kernel-opts string net.ifnames=0 biosdevname=0 hostname=unassigned-hostname domain=unassigned-domain
#d-i debconf/priority critic
#d-i debian-installer/add-kernel-opts string net.ifnames=0 biosdevname=0 console=ttyS0,19200n8
### Localizare
d-i debian-installer/locale șir en_US
d-i debian-installer/language string ro
d-i debian-installer/ șir de țară SUA
#d-i debian-installer/locale șir en_US.UTF-8 fr_FR.UTF-8
d-i localechooser/supported-locales multiselect en_US.UTF-8, fr_FR.UTF-8
### Selectarea tastaturii
d-i keyboard-configuration/xkb-keymap select fr
### Configurarea Rețelei
# Netcfg alege o interfață conectată și posibilă. Cela empêchera
# # d'afficher une liste s'il y a multiple interfaces.
d-i netcfg/choose_interface select auto
#d-i netcfg/choose_interface select eth0
d-i netcfg/use_dhcp șir adevărat
d-i netcfg/link_wait_timeout șirul 10
d-i netcfg/dhcp_timeout șir 60
#d-i netcfg/disable_autoconfig boolean adevărat
d-i netcfg/dhcp_failed notă
#d-i netcfg/dhcp_options selectează automat
#Configurați manual rețeaua
# Configurare rețea statică IPv4
#d-i netcfg/get_ipaddress șir 192.168.1.120
#d-i netcfg/get_netmask șir 255.255.255.0
#d-i netcfg/get_gateway șir 192.168.1.1
#d-i netcfg/get_nameservers șir 192.168.1.1
#d-i netcfg/confirm_static boolean adevărat
# Setați un nume de gazdă
#d-i netcfg/get_hostname șir zhurong
#d-i netcfg/get_domain șir planet.mars
# Forțați un nume de gazdă
#d-i netcfg/nume de gazdă șir zhurong.planet.mars
# Dezactivează dialogul enervant al cheii WEP
d-i netcfg/wireless_wep șir
d-i netcfg/get_hostname unassigned-hostname
d-i netcfg/get_domain unassigned-domain
d-i netcfg/get_hostname văzut adevărat
d-i netcfg/get_domain văzut adevărat
### Setări oglindă
d-i manual de oglindă/country string
d-i mirror/http/hostname șir httpredir.debian.org
d-i mirror/http/șir de director /debian
șir d-i mirror/http/proxy
### Configurarea contului
# Omiteți crearea unui cont de utilizator normal
d-i passwd/make-user boolean false
# Setați parola root
# sau criptat folosind un hash crypt(3).
d-i passwd/root-parola-criptată parolă $6$47Cx5oMpkh66eYNI$LV76xupgkvZ3rHJCq1NgXKzp3bBDv6g0FmMiSvmUp1jqaIkTEz5F6eA.SRhBzyPReVQWSEndZGBBw.
### Configurare ceas și fus orar
# Setați ceasul hardware la UTC
d-i clock-setup/utc boolean true
# Setați fusul orar
d-i oră/zonă șir Europa/Paris
# Utilizați ceasul NTP în timpul instalării
d-i clock-setup/ntp boolean true
### Partiționare
# Metoda LVM LUKS
# Inhibă partman să umple discul cu date aleatorii
d-i partman-auto-crypto/erase_disks boolean false
#d-i partman/early_command \
# șir dd if=/dev/zero of=/dev/sda bs=512 count=1
d-i partman-auto/method string crypto
d-i partman-lvm/device_remove_lvm boolean adevărat
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean true
d-i partman-auto-lvm/guided_size șir max
d-i partman-auto-lvm/new_vg_name șir debian
d-i partman-auto/șir de disc /dev/vda
d-i partman-auto/choose_recipe select boot-crypto
d-i partman-crypto/passphrase parola aaabbbccc
d-i partman-crypto/passphrase-again parola aaabbbccc
d-i partman-auto/expert_recipe șir \
boot-crypto :: \
1024 1024 1024 ext4 \
$primar{ } $boot{ } \
metoda{ format } format{ } \
folosește_sistem de fișiere{ } sistem de fișiere{ ext4 } \
punct de montare{ /boot } \
. \
8192 8192 8192 linux-swap \
$lvmok{ } lv_name{ swap } \
in_vg { debian } \
metoda{ swap } format{ } \
. \
80896 80896 1000000 btrfs \
$lvmok{ } lv_name{ root } \
in_vg { debian } \
metoda{ format } format{ } \
use_filesystem{ } filesystem{ btrfs } \
punctul de montare{ / } \
. \
#d-i partman-basicfilesystems/no_mount_point boolean false
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 partman-md/confirm boolean true
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
### Configurare apt
d-i apt-setup/cdrom/set-first boolean false
d-i apt-setup/cdrom/set-next boolean false
d-i apt-setup/cdrom/set-failed boolean false
d-i apt-setup/services-select multiselect security, updates
d-i apt-setup/security_host șir security.debian.org
### Selectarea pachetului
tasksel tasksel/first multiselect standard
# Pachete suplimentare individuale de instalat
d-i pkgsel/include șir openssh-server vim tmux tcpdump dropbear-initramfs cryptsetup-initramfs python3.9
d-i pkgsel/upgrade selectați upgrade complet
d-i pkgsel/update-policy nu selectați niciunul
d-i pkgsel/updatedb boolean adevărat
popularitate-concurs popularitate-concurs/participa boolean fals
### GRUB STUFF
d-i grub-installer/only_debian boolean true
d-i grub-installer/bootdev șir implicit
# Notă: opțiunile transmise instalatorului vor fi adăugate automat.
#d-i debian-installer/add-kernel-opts șir nousb
# Parolă opțională pentru grub, fie în text clar
# #d-i grub-installer/parolă parola r00tme
# #d-i grub-installer/password-again parola r00tme
# # sau criptat folosind un hash MD5, vezi grub-md5-crypt(8).
# #d-i grub-installer/parolă criptată cu parolă [MD5 hash]
#
# # Utilizați următoarea opțiune pentru a adăuga parametri de pornire suplimentari pentru
# # sistem instalat (dacă este acceptat de instalatorul bootloader-ului).
# # Notă: opțiunile transmise instalatorului vor fi adăugate automat.
# #d-i debian-installer/add-kernel-opts șir nousb
#
# ### Finalizarea instalării
# # Evitați ultimul mesaj despre finalizarea instalării.
d-i finish-install/reboot_in_progress notă
șir de comandă d-i preseed/late_command \
mkdir -p -m 700 /target/root/.ssh; \
echo „ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJEe3gF//znGIzq30frI6O9qDn5eM6uqEZZlx7mR5SiS” > /target/root/.ssh/authorized_keys; \
in-target chown --rădăcină recursive:rădăcină /rădăcină/.ssh; \
in-target chmod 0644 /root/.ssh/authorized_keys; \
in-target update-alternatives --set editor /usr/bin/vim.basic; \
in-target passwd --expire root; \
echo în țintă „ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJEe3gF//znGIzq30frI6O9qDn5eM6uqEZZlx7mR5SiS” > /etc/dropbear-initramfs/authorized_keys; \
in-target sed -i '/*PasswordAuthentication*/c\PasswordAuthentication nu' /etc/ssh/sshd_config; \
in-target sed -i '/*PasswordAuthentication*/c\PasswordAuthentication nu' /etc/ssh/sshd_config; \
în-target systemctl enable --now sshd; \
in-target sed -i '/*DROPBEAR_OPTIONS=*/c\DROPBEAR_OPTIONS="-I 300 -j -k -p 22 -s -c /bin/cryptroot-unlock "' /etc/dropbear-initramfs/config; \
in-target sed -i '/*IP=*/c\IP="dhcp"' /etc/initramfs-tools/initramfs.conf; \
in-target update-initramfs -u;
#
Pentru moment am primit instalatorul debien care îmi cere:
- nume de gazdă
- numele domeniului
Încerc doar să scap de acele întrebări. Iată ce am încercat:
- Am încercat să joc cu priority=critical în opțiunile kernelului din linia de comandă pe serverul pxe.
- Mi-am configurat serverul dhcpd pentru a gestiona numele de domeniu al acestei gazde specifice.
curiozitatea gazdei {
hardware ethernet 12:34:45:12:34:56;
cu adresă fixă 192.168.1.90;
opțiunea nume-gazdă „curiozitate”;
opțiunea nume-domeniu „planet.mars”;
}
Știu că pot configura variabilele nume de gazdă/domeniu și totul va fi în regulă, dar vreau să fac un preseed foarte universal pentru a fi implementat pe mai multe servere.
Câteva ajutoare sau indicii ar fi foarte apreciate.
Va multumesc anticipat.
EDITARE: Rezolvat:
Apropo, primul preseed nu a fost perfect. Dacă cineva este interesat, aici este unul mai bun.
Decriptează complet automatizat Debian 11 UEFI LUKS BTRFS Remote Decrypt prin ssh DEBUG TTY4
#### Fișier de preconfigurare presetat (pentru Debian bullseye)
# Decriptare la distanță Debian 11 complet automatizată UEFI LVM LUKS BTRFS prin ssh DEBUG # TTY4
### Comandă devreme Partman
### Parametru kernel
#d-i debian-installer/add-kernel-opts string net.ifnames=0 biosdevname=0 hostname=unassigned-hostname domain=unassigned-domain
#d-i debconf/priority critic
#d-i debian-installer/add-kernel-opts string net.ifnames=0 biosdevname=0 console=ttyS0,19200n8
### Localizare
d-i debian-installer/locale șir en_US
d-i debian-installer/language string ro
d-i debian-installer/ șir de țară SUA
#d-i debian-installer/locale șir en_US.UTF-8 fr_FR.UTF-8
d-i localechooser/supported-locales multiselect en_US.UTF-8, fr_FR.UTF-8
### Selectarea tastaturii
d-i keyboard-configuration/xkb-keymap select fr
### Configurarea Rețelei
# Netcfg alege o interfață conectată și posibilă. Cela empêchera
# # d'afficher une liste s'il y a multiple interfaces.
d-i netcfg/choose_interface select auto
#d-i netcfg/choose_interface select eth0
d-i netcfg/use_dhcp șir adevărat
d-i netcfg/link_wait_timeout șirul 10
d-i netcfg/dhcp_timeout șir 60
#d-i netcfg/disable_autoconfig boolean adevărat
d-i netcfg/dhcp_failed notă
#d-i netcfg/dhcp_options selectează automat
#Configurați manual rețeaua
# Configurare rețea statică IPv4
#d-i netcfg/get_ipaddress șir 192.168.1.120
#d-i netcfg/get_netmask șir 255.255.255.0
#d-i netcfg/get_gateway șir 192.168.1.1
#d-i netcfg/get_nameservers șir 192.168.1.1
#d-i netcfg/confirm_static boolean adevărat
# Setați un nume de gazdă
#d-i netcfg/get_hostname șir zhurong
#d-i netcfg/get_domain șir planet.mars
# Forțați un nume de gazdă
#d-i netcfg/nume de gazdă șir zhurong.planet.mars
# Dezactivează dialogul enervant al cheii WEP
d-i netcfg/wireless_wep șir
#d-i netcfg/get_hostname=instalare
d-i netcfg/get_hostname unassigned-hostname
d-i netcfg/get_domain unassigned-domain
d-i netcfg/get_hostname văzut adevărat
d-i netcfg/get_domain văzut adevărat
### Setări oglindă
d-i manual de oglindă/country string
d-i mirror/http/hostname șir httpredir.debian.org
d-i mirror/http/șir de director /debian
șir d-i mirror/http/proxy
### Configurarea contului
# Omiteți crearea unui cont de utilizator normal
d-i passwd/make-user boolean false
# Setați parola root
# sau criptat folosind un hash crypt(3).
d-i passwd/root-parola-criptată parolă $6$47Cx5oMpkh999YNI$XG76xupgkvZ3rHJCq1NgXKzp3bBfIuj0FmMiSvmUp1jqaIkTEz5F6eA.SRhBzyPReVQWNQEndEz1
### Configurare ceas și fus orar
# Setați ceasul hardware la UTC
d-i clock-setup/utc boolean true
# Setați fusul orar
d-i oră/zonă șir Europa/Paris
# Utilizați ceasul NTP în timpul instalării
d-i clock-setup/ntp boolean true
### Partiționare
# Metoda LVM LUKS
# Inhibă partman să umple discul cu date aleatorii
d-i partman-auto-crypto/erase_disks boolean false
#d-i partman/early_command \
# șir dd if=/dev/zero of=/dev/sda bs=512 count=1
# Forțați pornirea UEFI („compatibilitatea BIOS” se va pierde). Implicit: false.
d-i partman-efi/non_efi_system boolean false
# Asigurați-vă că tabelul de partiții este GPT - acest lucru este necesar pentru EFI
d-i partman-partitioning/choose_label string gpt
d-i partman-partitioning/default_label șir gpt
d-i partman-auto/method string crypto
d-i partman-lvm/device_remove_lvm boolean adevărat
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean true
d-i partman-auto-lvm/guided_size șir max
d-i partman-auto-lvm/new_vg_name șir debian
d-i partman-auto/șir de disc /dev/sda
d-i partman-auto/choose_recipe select boot-crypto
d-i partman-crypto/passphrase parola aabbcc
d-i partman-crypto/passphrase-again parola aabbcc
d-i partman-auto/expert_recipe șir \
boot-crypto :: \
512 50 512 fat32 \
$primar{ } $boot{ } \
metoda{ efi } format{ } \
punct de montare{ /boot/efi } \
. \
1024 1024 1024 ext4 \
$primar{ } $boot{ } \
metoda{ format } format{ } \
folosește_sistem de fișiere{ } sistem de fișiere{ ext4 } \
punct de montare{ /boot } \
. \
8192 8192 8192 linux-swap \
$lvmok{ } lv_name{ swap } \
in_vg { debian } \
metoda{ swap } format{ } \
. \
80896 80896 1000000 btrfs \
$lvmok{ } lv_name{ root } \
in_vg { debian } \
metoda{ format } format{ } \
use_filesystem{ } filesystem{ btrfs } \
punctul de montare{ / } \
. \
#d-i partman-basicfilesystems/no_mount_point boolean false
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 partman-md/confirm boolean true
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
### Configurare apt
d-i apt-setup/cdrom/set-first boolean false
d-i apt-setup/cdrom/set-next boolean false
d-i apt-setup/cdrom/set-failed boolean false
d-i apt-setup/services-select multiselect security, updates
d-i apt-setup/security_host șir security.debian.org
### Selectarea pachetului
tasksel tasksel/first multiselect standard
# Pachete suplimentare individuale de instalat
d-i pkgsel/include șir openssh-server vim tmux tcpdump dropbear-initramfs cryptsetup-initramfs python3.9
d-i pkgsel/upgrade selectați upgrade complet
d-i pkgsel/update-policy nu selectați niciunul
d-i pkgsel/updatedb boolean adevărat
popularitate-concurs popularitate-concurs/participa boolean fals
### GRUB STUFF
d-i grub-installer/only_debian boolean true
d-i grub-installer/bootdev șir implicit
# Notă: opțiunile transmise instalatorului vor fi adăugate automat.
#d-i debian-installer/add-kernel-opts șir nousb
# Parolă opțională pentru grub, fie în text clar
# #d-i grub-installer/parolă parola r00tme
# #d-i grub-installer/password-again parola r00tme
# # sau criptat folosind un hash MD5, vezi grub-md5-crypt(8).
# #d-i grub-installer/parolă criptată cu parolă [MD5 hash]
#
# # Utilizați următoarea opțiune pentru a adăuga parametri de pornire suplimentari pentru
# # sistem instalat (dacă este acceptat de instalatorul bootloader-ului).
# # Notă: opțiunile transmise instalatorului vor fi adăugate automat.
# #d-i debian-installer/add-kernel-opts șir nousb
#
# ### Finalizarea instalării
# # Evitați ultimul mesaj despre finalizarea instalării.
d-i finish-install/reboot_in_progress notă
șir de comandă d-i preseed/late_command \
mkdir -p -m 700 /target/root/.ssh; \
echo „ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJEe3gF//znGIzq30frI6O9qDn5eM6uqEZZlx7mR5SiS” > /target/root/.ssh/authorized_keys; \
in-target chown --rădăcină recursive:rădăcină /rădăcină/.ssh; \
in-target chmod 0644 /root/.ssh/authorized_keys; \
in-target update-alternatives --set editor /usr/bin/vim.basic; \
șir de comandă d-i preseed/late_command \
mkdir -p -m 700 /target/root/.ssh; \
echo „ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJEe3gF//znGIzq30frI6O9qDn5eM6uqEZZlx7mR5SiS” > /target/root/.ssh/authorized_keys; \
in-target chown --rădăcină recursive:rădăcină /rădăcină/.ssh; \
in-target chmod 0644 /root/.ssh/authorized_keys; \
in-target update-alternatives --set editor /usr/bin/vim.basic; \
echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJEe3gF//znGIzq30frI6O9qDn5eM6uqEZZlx7mR5SiS' > /target/etc/dropbear-initramfs/authorized_keys; \
echo 'PasswordAuthentication no' >> /target/etc/ssh/sshd_config.d/setup; \
echo 'PermitRootLogin prohibit-parola' >> /etc/ssh/sshd_config.d/setup; \
echo 'auto eno1' >> /target/etc/network/interfaces; \
sed -i 's/eth0/eno1/g' /target/etc/network/interfaces; \
în-target systemctl enable --now sshd; \
echo 'DROPBEAR_OPTIONS="-I 300 -j -k -p 22 -s -c /bin/cryptroot-unlock"' >> /target/etc/dropbear-initramfs/config; \
echo 'IP="dhcp"' >> /target/etc/initramfs-tools/initramfs.conf; \
in-target update-initramfs -u;
# in-target passwd --expire root; \
SOLUȚIONAT!