Mai întâi va trebui să creați un fișier de preconfigurare și să-l plasați în locația de unde doriți să-l utilizați. Crearea fișierului de preconfigurare este tratată mai târziu în această anexă. Plasarea acestuia în locația corectă este destul de simplă pentru preconfigurarea „network” sau dacă doriți să citiți fișierul de pe un stick USB. Dacă doriți să includeți fișierul într-o imagine ISO de instalare, va trebui să remasterizați imaginea. Cum să obțineți fișierul de preconfigurare inclus în initrd este în afara domeniului de aplicare al acestui document; pentru aceasta, consultați documentația dezvoltatorilor pentru debian-installer
.
Un exemplu de fișier de preconfigurare pe care îl puteți folosi ca bază pentru propriul fișier de preconfigurare este disponibil la https://www.debian.org/releases/bookworm/example-preseed.txt. Acest fișier se bazează pe fragmentele de configurare incluse în această anexă.
Dacă utilizați preconfigurarea „initrd”, trebuie doar să vă asigurați că un fișier numit preseed.cfg
este inclus în directorul rădăcină al initrd. Programul de instalare va verifica automat dacă acest fișier este prezent și îl va încărca.
Pentru celelalte metode de preconfigurare, trebuie să-i indicați programului de instalare ce fișier să folosească atunci când îl porniți. Acest lucru se face în mod normal prin pasarea nucleului a unui parametru de pornire, fie manual în momentul pornirii, fie prin editarea fișierului de configurare a încărcătorului de pornire (de exemplu, syslinux.cfg
) și adăugând parametrul la sfârșitul liniei(lor) „append” pentru nucleu.
Dacă specificați fișierul de preconfigurare în configurația încărcătorului de pornire, este posibil să modificați configurația, astfel încât să nu fie nevoie să apăsați tasta «Enter» pentru a porni programul de instalare. Pentru syslinux, aceasta înseamnă stabilirea timpului de expirare la 1
în syslinux.cfg
.
Pentru a vă asigura că programul de instalare preia fișierul de preconfigurare corect, puteți specifica opțional o sumă de verificare pentru fișier. În prezent, aceasta trebuie să fie o sumă md5 și, dacă este specificată, trebuie să se potrivească cu fișierul de preconfigurare sau programul de instalare va refuza să-l folosească.
Parametrii de pornire de specificat: - dacă porniți din rețea: preseed/url=http://host/path/to/preseed.cfg preseed/url/checksum=5da499872becccfeda2c4872f9171c3d - sau preseed/url=tftp://host/path/to/preseed.cfg preseed/url/checksum=5da499872becccfeda2c4872f9171c3d - dacă porniți o imagine de instalare remasterizată: preseed/file=/cdrom/preseed.cfg preseed/file/checksum=5da499872becccfeda2c4872f9171c3d - dacă instalați de pe un suport USB (puneți fișierul de preconfigurare în directorul de nivel superior al stick-ului USB): preseed/file=/hd-media/preseed.cfg preseed/file/checksum=5da499872becccfeda2c4872f9171c3d
Rețineți că preseed/url
poate fi scurtat la url
, preseed/file
la file
și preseed/file/checksum
la preseed-md5
atunci când acestea sunt transmise ca parametri de pornire.
Dacă un fișier de preconfigurare nu poate fi utilizat pentru a preconfigura unii pași, instalarea poate fi în continuare complet automatizată, deoarece puteți trece valorile prestabilite în linia de comandă atunci când porniți programul de instalare.
Parametrii de pornire pot fi utilizați și dacă nu doriți cu adevărat să utilizați preconfigurarea, ci doriți doar să oferiți un răspuns la o anumită întrebare. Unele exemple în care acest lucru poate fi util sunt documentate în altă parte a acestui manual.
Pentru a definii o valoare care să fie utilizată în interiorul debian-installer
, trebuie doar să indicați
pentru oricare dintre variabilele prestabilite enumerate. Dacă urmează să fie utilizată o valoare pentru configurarea pachetelor pentru sistemul țintă, va trebui să adăugați înainte proprietarul[18] variabilei ca în ruta/la/variabilă
=valoare
. Dacă nu specificați proprietarul, valoarea variabilei nu va fi copiată în baza de date debconf din sistemul țintă și astfel rămâne neutilizată în timpul configurării pachetului relevant. proprietar
:ruta/la/variabilă
=valoare
În mod normal, preconfigurarea unei întrebări în acest mod va însemna că întrebarea nu va fi adresată. Pentru a definii o anumită valoare implicită pentru o întrebare, dar să aveți în continuare întrebarea, utilizați „?=” în loc de „=” ca operator. A se vedea, de asemenea, Secțiune B.5.2, „Utilizarea preconfigurării pentru a modifica valorile implicite”.
Rețineți că unele variabile care sunt definite frecvent în promptul de pornire au un alias mai scurt. Dacă este disponibil un alias, acesta este folosit în exemplele din această anexă în loc de variabila completă. Variabila preseed/url
, de exemplu, are ca alias url
. Un alt exemplu este variabila-alias tasks
, ce reprezintă tasksel:tasksel/first
.
Un „---” în opțiunile de pornire are o semnificație specială. Parametrii nucleului care apar după ultimul „---” pot fi copiați în configurația încărcătorului de pornire pentru sistemul instalat (dacă sunt acceptați de instalatorul pentru încărcătorul de pornire). Programul de instalare va filtra automat orice opțiuni (cum ar fi opțiunile de preconfigurare) pe care le recunoaște.
Notă | |
---|---|
Nucleele Linux actuale (2.6.9 și ulterioare) acceptă maximum 32 de opțiuni de linie de comandă și 32 de opțiuni de mediu, inclusiv orice opțiuni adăugate implicit pentru programul de instalare. Dacă aceste numere sunt depășite, nucleul va intra în panică (se va bloca); (pentru nucleele anterioare, aceste numere erau mai mici). |
Pentru majoritatea instalărilor, unele dintre opțiunile implicite din fișierul de configurare a încărcătorului de pornire, cum ar fi vga=normal
, pot fi eliminate în siguranță, ceea ce vă poate permite să adăugați mai multe opțiuni pentru preconfigurare.
Notă | |
---|---|
Nu întotdeauna va fi posibil să specificați valori cu spații pentru parametrii de pornire, chiar dacă le delimitați cu ghilimele. |
Există mai multe caracteristici ale programului de instalare Debian care se combină pentru a permite liniilor de comandă destul de simple din promptul de pornire să aibă ca rezultat instalări automate personalizate arbitrar și complexe.
Acest lucru este activat prin utilizarea opțiunii de pornire Instalare automată
, numită și auto
pentru unele arhitecturi sau metode de pornire. În această secțiune, auto
nu este așadar un parametru, înseamnă selectarea acelei opțiuni de pornire și adăugarea următorilor parametri de pornire la promptul de pornire.
Pentru a ilustra acest lucru, iată câteva exemple care pot fi folosite în promptul de pornire:
auto url=autoserver
Acest lucru se bazează pe existența unui server DHCP care va duce mașina la punctul în care autoserver
poate fi rezolvat prin DNS, poate după adăugarea domeniului local dacă acesta a fost furnizat de DHCP. Dacă acest lucru s-a făcut pe un sit în care domeniul este exemplu.com
și acesta are o configurare DHCP rezonabilă, ar avea ca rezultat preluarea fișierului de preconfigurare de la http://autoserver. exemplu.com/d-i/bookworm/./preseed.cfg
.
Ultima parte a acestei adrese URL (d-i/bookworm/./preseed.cfg
) este preluată de la auto-install/defaulttroot
. În mod implicit, acesta include directorul bookworm
pentru a permite versiunilor viitoare să-și specifice propriul nume de cod și să permită oamenilor să migreze la următoarea versiune într-o manieră controlată. Elementul /./
este folosit pentru a indica o rădăcină, în raport cu care rutele ulterioare pot fi ancorate (pentru a fi utilizate în preseed/include și preseed/run). Acest lucru permite fișierelor să fie specificate fie ca URL-uri complete, rute care încep cu / care sunt astfel ancorate, fie chiar rute legate de locația în care a fost găsit ultimul fișier de preconfigurare. Acest lucru poate fi folosit pentru a construi mai multe scripturi portabile în care o întreagă ierarhie de scripturi poate fi mutată într-o nouă locație fără a o rupe, de exemplu, copierea fișierelor pe un stick USB când înainte erau pe un server web. În acest exemplu, dacă fișierul de preconfigurare definește preseed/run
la /scripts/late_command.sh
, atunci fișierul va fi preluat de la http://autoserver.exemplu .com/d-i/bookworm/./scripts/late_command.sh
.
Dacă nu există o infrastructură locală DHCP sau DNS sau dacă nu doriți să utilizați ruta implicită către preseed.cfg
, puteți utiliza totuși o adresă URL explicită, iar dacă nu utilizați elementul /./
, va fi ancorat la începutul rutei (adică al treilea /
din adresa URL). Iată un exemplu care necesită suport minim din partea infrastructurii rețelei locale:
auto url=http://192.168.1.2/ruta/la/fișierul_meu.preconfigurat
Modul în care funcționează acesta este următorul:
dacă adresa URL nu indică un protocol, se presupune că este http,
dacă secțiunea de nume de gazdă nu conține puncte, domeniul derivat din DHCP, va fi atașat acesteia și
dacă nu există /
după numele gazdei, atunci se adaugă ruta implicită.
Pe lângă specificarea adresei URL, puteți specifica, de asemenea, configurări care nu afectează direct comportamentul debian-installer
în sine, dar pot fi transmise către scripturile specificate folosind preseed/run
în fișierul de preconfigurare încărcat. În prezent, singurul exemplu în acest sens este auto-install/classes
, care are un alias clase
. Acesta poate fi folosit astfel:
auto url=exemplu.com
classes=class_A;class_B
Clasele ar putea indica, de exemplu, tipul de sistem care urmează să fie instalat sau localizarea care trebuie utilizată.
Desigur, este posibil să extindeți acest concept și, dacă o faceți, este rezonabil să utilizați spațiul de nume de instalare automată pentru aceasta. Deci s-ar putea să aibă ceva de genul auto-install/style
care este apoi folosit în scripturile dumneavoastră. Dacă simțiți nevoia să faceți acest lucru, menționați-l pe lista de corespondență <debian-boot@lists.debian.org>
, astfel încât să putem evita conflictele în spațiul de nume și, probabil, să adăugați un alias pentru parametru. .
Alegerea de pornire auto
nu este încă definită pe toate arhitecturile. Același efect poate fi obținut prin simpla adăugare a celor doi parametri auto=true priority=critical
la linia de comandă a nucleului. Parametrul nucleului auto
este un alias pentru auto-install/enable
și fixarea acestuia la true
întârzie întrebările de localizare și de tastatură astfel încât acestea să poată fi preconfigurate, în timp ce priority
este un alias pentru debconf/priority
și fixarea acestuia la critic
oprește întrebările cu o prioritate mai scăzută.
Opțiuni suplimentare care pot fi de interes atunci când încercați să automatizați o instalare în timp ce utilizați DHCP sunt: interface=auto netcfg/dhcp_timeout=60
, ceea ce face ca mașina să aleagă primul NIC viabil și să aibă mai multă răbdare în a obține un răspuns la interogarea sa DHCP.
Indicație | |
---|---|
Un exemplu extins de utilizare a acestui cadru, inclusiv exemple de scripturi și clase, poate fi găsit la situl web al dezvoltatorului său. Exemplele disponibile acolo arată, de asemenea, multe alte efecte drăguțe care pot fi obținute prin utilizarea creativă a preconfigurării. |
Următoarele alias pot fi utile atunci când utilizați preconfigurarea (modul automat). Rețineți că acestea sunt pur și simplu pseudonime scurte pentru numele întrebărilor și trebuie întotdeauna să specificați și o valoare: de exemplu, auto=true
sau interface=eth0
.
priority | debconf/priority |
fb | debian-installer/framebuffer |
auto | auto-install/enable |
classes | auto-install/classes |
file | preseed/file |
url | preseed/url |
theme | debian-installer/theme |
language | debian-installer/language |
country | debian-installer/country |
locale | debian-installer/locale |
keymap | keyboard-configuration/xkb-keymap |
modules | anna/choose_modules |
firmware | hw-detect/firmware-lookup |
interface | netcfg/choose_interface |
domain | netcfg/get_domain |
hostname | netcfg/get_hostname |
protocol | mirror/protocol |
suite | mirror/suite |
recommends | base-installer/install-recommends |
tasks | tasksel:tasksel/first |
desktop | tasksel:tasksel/desktop |
preseed-md5 | preseed/file/checksum |
Iată câteva exemple despre cum ar putea arăta promptul de pornire (va trebui să o adaptați nevoilor dvs.).
# Pentru a stabilii româna ca limbă și România ca țară: /install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz language=ro country=RO --- quiet # Pentru a stabilii engleza ca limbă, Germania ca țară și să utilizați un aranjament al tastaturii germane: /install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz language=en country=DE locale=en_US.UTF-8 keymap=de --- quiet # Pentru a instala biroul MATE: /install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz desktop=mate-desktop --- quiet # Pentru a instala sarcina de server Web: /install.amd/vmlinuz initrd=/install.amd/initrd.gz tasksel:tasksel/first=web-server ---
De asemenea, este posibil să utilizați DHCP pentru a specifica un fișier de preconfigurare de descărcat din rețea. DHCP permite specificarea unui nume de fișier. În mod normal, acesta este un fișier pentru pornirea din rețea (netboot), dar dacă pare a fi o adresă URL, mediile de instalare care acceptă preconfigurarea rețelei vor descărca fișierul de la adresa URL și îl vor folosi ca fișier de preconfigurare. Iată un exemplu despre cum să-l definiți în fișierul „dhcpd.conf” pentru versiunea 3 a serverului ISC DHCP (pachetul isc-dhcp-server Debian).
if substring (option vendor-class-identifier, 0, 3) = "d-i" { filename "http://host/preseed.cfg"; }
Rețineți că exemplul de mai sus limitează acest nume de fișier la clienții DHCP care se identifică ca „d-i”, astfel încât nu va afecta clienții DHCP obișnuiți, ci doar programul de instalare. De asemenea, puteți pune textul într-un bloc de instrucțiuni doar pentru o anumită gazdă, pentru a evita preconfigurarea tuturor instalărilor din rețea.
O modalitate bună de a utiliza preconfigurarea DHCP este să prestabiliți numai valorile specifice rețelei dvs., cum ar fi oglinda Debian de utilizat. În acest fel, instalările în rețeaua dvs. vor obține automat o oglindă bună selectată, dar restul instalării poate fi efectuată interactiv. Utilizarea preconfigurării DHCP pentru a automatiza complet instalările Debian ar trebui făcută numai cu multă grijă.
[18] Proprietarul unei variabile debconf (sau șablon) este în mod normal numele pachetului care conține șablonul debconf corespunzător. Pentru variabilele utilizate în programul de instalare propriu-zis, proprietarul este „d-i”. Șabloanele și variabilele pot avea mai mult de un proprietar, ceea ce ajută să se determine dacă pot fi eliminate din baza de date debconf dacă pachetul este curățat.