B.4. Innehållet av en förkonfigurationsfil

Konfigurationsdelarna som används i den här bilagan finns även tillgängliga som exempelfiler för förkonfiguration från http://www.debian.org/releases/etch/example-preseed.txt.

Observera att det här exemplet är baserat på en installation för Intel x86-arkitekturen. Om du installerar en annan arkitektur, vissa av exemplen (såsom tangentbordsval och installation av starthanteraren) kanske inte är relevanta och behöver ersättas av debconf-inställningar som är lämpliga för din arkitektur.

B.4.1. Lokalanpassning

Ställa in värden för lokalanpassning kommer endast att fungera om du använder förinställning via initrd. Med alla andra metoder kommer förkonfigurationsfilen först att läsas in efter att de här frågorna har ställts.

Lokalen kan användas för att ange både språk och land. För att ange lokalen som en uppstartsparameter, använd locale=sv_SE.

# Lokalanpassning ställer in språk och land.
d-i debian-installer/locale string sv_SE

Tangentbordskonfiguration består av val av tangentbordsarkitektur och en tangentlayout. I de flesta fall är den korrekta tangentbordsarkitekturen vald som standard, så den behöver man normalt sett inte förinställa. Tangentlayouten måste vara giltig för den valda tangentbordsarkitekturen.

# Tangentbordsval.
#d-i console-tools/archs select at
d-i console-keymaps-at/keymap select se
# Exempel på en annan tangentbordsarkitektur
#d-i console-keymaps-usb/keymap select mac-usb-us

För att hoppa över konfiguration av tangentbordet kan du förinställa console-tools/archs med skip-config. Det här kommer att resultera i att kärnans tangentlayout fortsätter vara aktiv.

Notera

Ändringarna i inmatningslagret för 2.6-kärnor har gjort att tangentbordsarkitekturen nästa föråldrad. För 2.6-kärnor bör normalt sett tangentlayouten “PC” (at) väljas.

B.4.2. Nätverkskonfiguration

Så klart, att förinställa nätverkskonfiguration kommer inte att fungera om du läser in din förkonfigurationsfil från nätverket. Men det är otroligt bra när du startar upp från en cd eller ett USB-minne. Om du läser in förkonfigurationsfiler från nätverket, kan du skicka med konfigurationsparametrar via kärnans uppstartsparametrar.

Om du behöver välja ett specifikt nätgränssnitt när du startar upp via nätverket före inläsning av en förkonfigurationsfil från nätverket, använd en uppstartsparameter såsom interface=eth1.

Även om förinställning av nätverkskonfigurationen normalt sett inte är möjlig när man använder förinställning via nätverk (med “preseed/url”) kan du använda följande hack för att komma runt det, till exempel om du vill ställa in en statisk adress för nätverksgränssnittet. Hacket tvingar nätverkskonfigurationen att köras igen efter att förkonfigurationsfilen har lästs in genom att skapa ett “preseed/run”-skript som innehåller följande rader:

killall.sh dhclient
netcfg

# netcfg kommer att välja ett nätgränssnitt som har länk om möjligt.
# Det gör att den hoppar över att visa en lista om det finns fler än ett nätgränssnitt.
d-i netcfg/choose_interface select auto

# För att istället välja ett speciellt nätgränssnitt:
#d-i netcfg/choose_interface select eth1

# Om du har en långsam dhcp-server och installeraren får timeout i väntan på
# den kan det här vara användbart.
#d-i netcfg/dhcp_timeout string 60

# Om du önskar konfigurera nätverket manuellt, kommentera bort den här raden
# och den statiska nätverkskonfigurationen nedan.
#d-i netcfg/disable_dhcp boolean true

# Om du vill att förkonfigurationsfilen ska fungera på system både med och utan 
# en dhcpserver, kommentera bort de här raderna och den statiska
# nätverkskonfigurationen nedan.
#d-i netcfg/dhcp_failed note
#d-i netcfg/dhcp_options select Konfigurera nätverket manuellt

# Statisk nätverkskonfigurationen.
#d-i netcfg/get_nameservers string 192.168.1.1
#d-i netcfg/get_ipaddress string 192.168.1.42
#d-i netcfg/get_netmask string 255.255.255.0
#d-i netcfg/get_gateway string 192.168.1.1
#d-i netcfg/confirm_static boolean true

# Alla värdnamn och domännamn som tilldelas via dhcp gäller över de
# värden som ställs in här. Dock, ställa in värdena förhindrar frågorna
# från att ställas, även om värdena kommer via dhcp.
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain

# Inaktivera den störande WEP-nyckeldialogen.
d-i netcfg/wireless_wep string
# Det galna dhcp-värdnamnet som vissa Internetleverantörer använder som ett lösenord.
#d-i netcfg/dhcp_hostname string radish

B.4.3. Spegelinställningar

Beroende på installationsmetoden du använder, kan en spegel användas både för att hämta ytterligare komponenter för installeraren, för att installera grundsystemet och för att ställa in /etc/apt/sources.list för det installerade systemet.

Parametern mirror/suite bestämmer sviten för det installerade systemet.

Parametern mirror/udeb/suite bestämmer sviten för ytterligare komponenter för installeraren. Den är endast användbar att ställa in om komponenter faktiskt hämtas över nätverket och bör stämma överens med sviten som användes för att bygga initrd för installationsmetoden som används för installationen. Som standard är värdet för mirror/udeb/suite samma som för mirror/suite.

# Om du väljer ftp kommer strängen spegel/land inte att ställas in.
#d-i mirror/protocol string ftp
d-i mirror/country string enter information manually
d-i mirror/http/hostname string http.us.debian.org
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string

# Svit att installera.
#d-i mirror/suite string testing
# Svit att använda för att läsa in komponenter för installeraren (valfri).
#d-i mirror/udeb/suite string testing

B.4.4. Partitionering

Använda förinställning för att partitionera hårddisken är till stor del begränsat till vad som stöds av partman-auto. Du kan välja att antingen partitionera befintligt ledigt utrymme på en disk eller hela disken. Layouten på disken kan bestämmas genom att använda ett fördefinierat recept, ett anpassat recept från en receptfil eller ett recept som inkluderats i förkonfigurationsfilen. Det är för närvarande inte möjligt att partitionera flera diskar med förinställning.

Varning

Identifieringen av diskar är beroende på ordningen som deras drivrutiner läses in i. Om det finns flera diskar i systemet, bör du vara mycket säker på att den rätta disken kommer att väljas före förinställningen används.

# Om systemet har ledigt utrymme kan du välja att endast partitionera
# det utrymmet.
# Observera: detta måste förinställas med ett lokalanpassat (översatt) värde.
#d-i partman-auto/init_automatically_partition \
#      select Guidad - använd största oavbrutna lediga utrymmet

# Alternativt kan du ange en disk att partitionera. Enhetsnamnet kan
# anges i antingen formatet för devfs eller det traditionella non-devfs.
# Du kan ange flera diskar, separerade med blanksteg om metoden
# har stöd för det. Till exempel, för att använda första disken:
d-i partman-auto/disk string /dev/discs/disc0/disc
# Du behöver även ange vilken metod som ska användas.
# De tillgängliga metoderna är för närvarande: "regular", "lvm" och
# "crypto"
d-i partman-auto/method string lvm

# Om en av diskarna som ska automatiskt partitioneras innehåller en
# gammal LVM-konfiguration, kommer vanligtvis användare att bli
# varnad. Denna varning kan tas bort genom förinställa...
d-i partman-auto/purge_lvm_from_device boolean true
# Samma gäller för bekräftelse för att skriva lvm-partitionerna.
d-i partman-lvm/confirm boolean true

# Du kan välja från någon av de fördefinierade partitioneringsrecepten.
# Observera: detta måste förinställas med ett lokalanpassat (översatt) värde.
d-i partman-auto/choose_recipe \
       select Alla filer på en partition (rekommenderas för nya användare)
#d-i partman-auto/choose_recipe \
#       select Separat partition för /home
#d-i partman-auto/choose_recipe \
#       select Separata partitioner för /home, /usr, /var och /tmp

# Eller använd ett eget recept...
# Formatet på recepten finns dokumenterat i filen devel/partman-auto-recipe.txt.
# Om du har ett sätt att hämta en receptfil in i d-i-miljön, kan du
# bara peka på det.
#d-i partman-auto/expert_recipe_file string /hd-media/recipe

# Om inte, kan du lägga ett helt recept i förkonfigurationsfilen på en (logisk)
# rad. Det här exemplet skapar en liten /boot-partition, lämpligt växlingsutrymme
# och använder resten av utrymmet till rotpartitionen:
#d-i partman-auto/expert_recipe string                         \
#      boot-root ::                                            \
#              40 50 100 ext3                                  \
#                      $primary{ } $bootable{ }                \
#                      method{ format } format{ }              \
#                      use_filesystem{ } filesystem{ ext3 }    \
#                      mountpoint{ /boot }                     \
#              .                                               \
#              500 10000 1000000000 ext3                       \
#                      method{ format } format{ }              \
#                      use_filesystem{ } filesystem{ ext3 }    \
#                      mountpoint{ / }                         \
#              .                                               \
#              64 512 300% linux-swap                          \
#                      method{ swap } format{ }                \
#              .

# Det här gör att partman partitionerar automatiskt utan bekräftelse.
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition \
       select Slutför partitioneringen och skriv ändringarna till hårddisken
d-i partman/confirm boolean true

B.4.5. Partitionering med RAID

Du kan även använda förinställning för att konfigurera partitioner på programvaru-RAID-kedjor. Nivåer som stöds är RAID 0, 1 och 5, skapa trasiga kedjor och ange reservenheter. Om du använder RAID 1 kan du förinställa grub att installera sig på alla enheter som används i kedjan; se Avsnitt B.4.10, “Installation av starthanteraren”.

Varning

Den här typen av automatiserad partitionering är lätt att göra fel. Det är också en mycket ny komponent som kanske fortfarande har några få fel eller saknar felhantering i vissa situationer. Ansvaret att få ordning på de olika recepten (så att de inte är i konflikt med annat) ligger hos användaren. Kontrollera /var/log/syslog om du springer på problem.

Observera att endast RAID 0 och RAID 1 har testats av utvecklarna av komponenten. RAID 5 är otestat. Avancerad RAID-konfiguration med trasiga kedjor eller reservenheter har endast testats måttligt.

# OBSERVERA: det här alternativet är i beta-fas och bör användas försiktigt

# Metoden ska ställas in till "raid".
#d-i partman-auto/method string raid
# Ange diskarna som ska partitioneras. De kommer alla att få samma layout,
# så att det här fungerar endast om diskarna har samma storlek.
#d-i partman-auto/disk string /dev/discs/disc0/disc /dev/discs/disc1/disc

# Härnäst behöver du ange de fysiska partitionerna som ska användas. 
#d-i partman-auto/expert_recipe string \
#      multiraid ::                                         \
#              1000 5000 4000 raid                          \
#                      $primary{ } method{ raid }           \
#              .                                            \
#              64 512 300% raid                             \
#                      method{ raid }                       \
#              .                                            \
#              500 10000 1000000000 raid                    \
#                      method{ raid }                       \
#              .

# Till sist behöver du ange hur de tidigare definierade partitionerna kommer att användas i
# i RAID-konfigurationen. Tänk på att använda de korrekta partitionsnumren
# för logiska partitioner.
# Parametrarna är:
# <raidtype> <devcount> <sparecount> <fstype> <mountpoint> \
#          <devices> <sparedevices>
# RAID-nivåerna 0, 1 och 5 stöds; enheter separeras med "#"
#d-i partman-auto-raid/recipe string \
#    1 2 0 ext3 /                                           \
#          /dev/discs/disc0/part1#/dev/discs/disc1/part1    \
#    .                                                      \
#    1 2 0 swap -                                           \
#          /dev/discs/disc0/part5#/dev/discs/disc1/part5    \
#    .                                                      \
#    0 2 0 ext3 /home                                       \
#          /dev/discs/disc0/part6#/dev/discs/disc1/part6    \
#    .

# Det här gör att partman automatiskt partitionerar utan bekräftelse.
d-i partman-md/confirm boolean true
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition \
       select Slutför partitioneringen och skriv ändringarna till hårddisken
d-i partman/confirm boolean true

B.4.6. Inställning av klocka och tidszon

# Kontrollerar om maskinvaruklockan är inställd till UTC eller inte.
d-i clock-setup/utc boolean true

# Du kanske vill ställa in den här till någon giltig inställning för $TZ;
# se innehållet i /usr/share/zoneinfo/ för giltiga värden.
d-i time/zone string Europe/Stockholm

B.4.7. Apt-inställning

Konfiguration av /etc/apt/sources.list och grundläggande konfigurationsalternativ är fullständigt automatiserade baserat på din installationsmetod och svar på tidigare ställda frågor. Du kan valfritt lägga till andra (lokala) förråd.

# Du kan välja att installera programvara från non-free och contrib.
#d-i apt-setup/non-free boolean true
#d-i apt-setup/contrib boolean true
# Avkommentera den här om du inte vill använda en nätverksspegel.
#d-i apt-setup/use_mirror boolean false
# Avkommentera den här för att undvika att lägga till säkerhetskällor
# eller lägga till ett värdnamn för att använda en annan server än
# security.debian.org.
#d-i apt-setup/security_host string

# Ytterligare förråd, local[0-9] tillgängliga
#d-i apt-setup/local0/förråd string \
#       deb http://lokal.server/debian stable main
#d-i apt-setup/local0/comment string local server
# Rader för att aktivera deb-src
#d-i apt-setup/local0/source boolean true
# URL till den publika nyckeln för det lokala förrådet; du måste
# tillhandahålla en nyckel eller så kommer apt att klaga om
# det icke-autentiserade förrådet och så kommer sources.list-raden
# att lämnas kvar bortkommenterad
#d-i apt-setup/local0/key string http://local.server/key

# Som standard kräver installeraren att förråden autentiseras
# med en känd gpg-nyckel. Den här inställningen kan användas för
# att inaktivera den autentiseringen.
# Varning: osäkert, rekommenderas inte.
#d-i debian-installer/allow_unauthenticated string true

B.4.8. Kontoinställning

Lösenordet för root-kontot, namn och lösenordet för den första vanliga användarens konto kan förinställas. För lösenorden kan du använda antingen klartextvärden eller MD5-hashar.

Varning

Tänk på att förinställning av lösenord inte är direkt säkert eftersom alla med tillgång till förkonfigurationsfilen kan få vetskap om de här lösenorden. Använda MD5-hashar är ansett som säkrare men det kan också ge en falsk känsla av säkerhet eftersom tillgången till en MD5-hash gör att den kan utsättas för en "brute force"-attack.

# Hoppa över skapandet av ett root-konto (normalt användarkonto kommer att kunna
# använda sudo).
#d-i passwd/root-login boolean false
# Alternativt, för att hoppa över skapandet av ett normalt användarkonto.
#d-i passwd/make-user boolean false

# Lösenord för root, antingen i klartext
#d-i passwd/root-password password r00tme
#d-i passwd/root-password-again password r00tme
# eller krypterat med en MD5-hash.
#d-i passwd/root-password-crypted password [MD5 hash]

# För att skapa ett normalt användarkonto.
#d-i passwd/user-fullname string Debian Användare
#d-i passwd/username string debian
# Normala användarens lösenord, antingen i klartext
#d-i passwd/user-password password insecure
#d-i passwd/user-password-again password insecure
# eller krypterat med en MD5-hash.
#d-i passwd/user-password-crypted password [MD5 hash]

Variablerna passwd/root-password-crypted och passwd/user-password-crypted kan också förinställas med “!” som dess värde. I det här fallet, kommer det motsvarande kontot att inaktiveras. Det här kan vara bekvämt för root-kontot, om så klart det finns en alternativ metod som tillåter administrativa aktiviteter eller root-inloggning (till exempel genom att använda autentisering via SSH-nyckel eller kommandot sudo).

En MD5-hash för ett lösenord kan genereras med följande kommando.

$ echo "r00tme" | mkpasswd -s -H MD5

B.4.9. Installation av grundsystem

Det finns faktiskt inte speciellt mycket som kan förinställas för det här steget av installationen. De enda frågorna som ställs är angående installationen av kärnan.

# Välj initramfs-generatorn som används för att generera en initrd för 2.6-kärnor.
#d-i base-installer/kernel/linux/initramfs-generators string yaird

B.4.10. Installation av starthanteraren

# Grub är starthanteraren som är standard (för x86). Om du vill att lilo ska installeras
# istället, kommentera bort den här raden:
#d-i grub-installer/skip boolean true

# Det här är ganska säker att ställa in, den gör att grub installeras automatiskt till MBR
# om inga andra operativsystem hittades på maskinen.
d-i grub-installer/only_debian boolean true

# Den här gör att grub-installer installeras till MBR om den hittar några andra operativsystem
# också, som är mindre säkert eftersom den kanske inte kan starta upp det andra operativsystemet.
d-i grub-installer/with_other_os boolean true

# Alternativt, om du vill installera till en plats annan än MBR,
# kommentera bort och redigera de här raderna:
#d-i grub-installer/only_debian boolean false
#d-i grub-installer/with_other_os boolean false
#d-i grub-installer/bootdev  string (hd0,0)
# För att installera grub på flera diskar:
#d-i grub-installer/bootdev  string (hd0,0) (hd1,0) (hd2,0)

B.4.11. Paketval

Du kan välja att installera alla kombinationer av funktioner som finns tillgängliga. Tillgängliga funktioner just nu inkluderar:

  • standard

  • desktop

  • gnome-desktop

  • kde-desktop

  • web-server

  • print-server

  • dns-server

  • file-server

  • mail-server

  • sql-database

  • laptop

Du kan även välja att inte installera några funktioner, och tvinga fram installationen av en uppsättning paket på något annat sätt. Vi rekommenderar alltid att inkludera funktionen standard.

Om du vill installera några individuella paket i tillägg till de paket som installeras av funktioner, kan du använda parametern pkgsel/include. Värdet för denna parameter kan vara en lista över paket, komma- eller blankstegsseparerad, vilket även tillåter att den enkelt kan användas på kommandoraden för kärnan.

tasksel tasksel/first multiselect standard, desktop
#tasksel tasksel/first multiselect standard, web-server
#tasksel tasksel/first multiselect standard, kde-desktop

# Individuella paket att installera
#d-i pkgsel/include string openssh-server build-essential

# Vissa versioner av installeraren kan rapportera tillbaka på vilken programvara
# du har installerad och vilken programvara du använder. Standard är att inte
# rapportera tillbaka men att skicka in rapporter hjälper projektet att bestämma
# vilken programvara som är mest populär och sedan inkludera den på cd-skivor.
#popularity-contest popularity-contest/participate boolean false

B.4.12. Färdigställande av första steget av installationen

# Undvik det sista meddelandet om att installationen är färdig.
d-i finish-install/reboot_in_progress note

# Det här kommer att förhindra installeraren från att mata ut cd-skivan
# under omstarten, vilket kan vara användbart i vissa situationer.
#d-i cdrom-detect/eject boolean false

B.4.13. Konfiguration av X

Förinställa Debians X-konfiguration är möjlig, men du behöver antagligen känna till vissa detaljer om grafikmaskinvaran på maskinen, eftersom Debians X-konfigurator inte gör en fullständigt automatisk konfiguration av allt.

# X kan identifiera den rätta drivrutinen för vissa kort, men om du förinställer,
# kan du åsidosätta allt den väljer. Dock kommer vesa att fungera nästan överallt.
#xserver-xorg xserver-xorg/config/device/driver select vesa

# En nackdel med automatisk identifiering av möss är att om det misslyckas,
# kommer X att försöka om och om igen. Så om det förinställs att det ska göras
# finns det en möjlighet för att en oändlig upprepning sker om inte musen
# automatiskt identifieras.#xserver-xorg xserver-xorg/autodetect_mouse boolean true

# Automatisk identifiering av skärmen rekommenderas.
xserver-xorg xserver-xorg/autodetect_monitor boolean true
# Kommentera bort om du har en LCD-skärm.
#xserver-xorg xserver-xorg/config/monitor/lcd boolean true
# X har tre konfigurationsvägar för skärmen. Här är hur man förinställer
# vägen "medium", som alltid är tillgänglig. Vägen "simple" kanske inte
# är tillgänglig och vägen "advanced" ställer för många frågor.
xserver-xorg xserver-xorg/config/monitor/selection-method \
       select medium
xserver-xorg xserver-xorg/config/monitor/mode-list \
       select 1024x768 @ 60 Hz

B.4.14. Förinställning av andra paket

# Beroende på vilken programvara du väljer att installera, eller om saker går fel
# under installationsprocessen, är det möjligt att andra frågor kan ställas.
# Du kan förinställa de här också, så klart. För att få en lista på alla
# möjliga frågor som kan ställas under en installation, gör en
# installation, och kör sedan de här kommandona:
#   debconf-get-selections --installer 
> fil
#   debconf-get-selections 
>
> fil