Puncte:6

Preseeding debian 11 complet nesupravegheat (scapați de întrebări)

drapel cn

Î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!

Puncte:4
drapel cn

Am găsit o modalitate de a o face! Mulțumită acest post despre problema opusă

Tocmai am adăugat doi parametri la linia mea de pornire în grub.cfg

netcfg/get_hostname=instalați netcfg/get_domain=instalați

Acum este complet automatizat și nu pune nicio întrebare.

anx avatar
drapel fr
anx
Să fie păcat dacă cineva a adăugat *în sfârșit* lista parametrilor necesari la [notele de lansare](https://www.debian.org/releases/bullseye/amd64/ch05s03.de.html), înainte de mai multe instrumente d-i suportul se pierde din cauza unor abordări mai puțin portabile, cum ar fi *subiqitatea*.
proxyd43 avatar
drapel cn
Subichitatea nu este pentru Ubuntu?
anx avatar
drapel fr
anx
Da.Acum avem două sisteme la fel de stricate ca înainte, la fel de prost documentate ca înainte, dar cel puțin eforturile de reparare care sunt duplicate între universul Ubuntu și alte distribuții derivate din Debian.
proxyd43 avatar
drapel cn
Ai mare dreptate! Pentru a fi franck, mi-a fost greu să-mi configurez pxe corect. La locul de muncă trebuie să implementez ubuntu 20.04 ca stații de lucru, iar mixul autoinstall/d-i/subiquity este o mizerie totală. Această [discuție](https://discourse.ubuntu.com/t/please-test-autoinstalls-for-20-04/15250/220) este plină de administratori dezamăgiți și sunt de acord.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.