B.4. Innehållet av en förkonfigurationsfil (för lenny)

Konfigurationsdelarna som används i den här bilagan finns även tillgängliga som exempelfiler för förkonfiguration från ../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 samt kan vara en kombination av ett språk som stöds av debian-installer och ett känt land. Om kombinationen inte formar en giltig lokal så kommer installationsprogrammet att automatiskt välja en lokal som är giltig för det valda språket. 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 känd för debian-installer 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”) så 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 kommandon:

killall.sh; netcfg

Följande debconf-variabler är relevanta för nätverkskonfiguration.

# netcfg kommer om möjligt att välja ett nätgränssnitt som har länk.
# 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 installationsprogrammet får
# timeout i väntan på den kan det här vara användbart.
#d-i netcfg/dhcp_timeout string 60

# Om du vill 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 Configure network manually

# 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

# Om en proprietär fast programvara behövs för nätverket eller annan maskinvara kan du
# konfigurera installationsprogrammet att alltid försöka läsa in den, utan att fråga, eller
# ändra till false för att inaktivera frågan.
#d-i hw-detect/load_firmware boolean true

Observera att netcfg automatiskt kommer att fastställa nätmasken om netcfg/get_netmask inte har förinställts. I detta fall måste variabeln markeras som seen för automatiska installationer. I liknande fall kommer netcfg att välja en lämplig adress om netcfg/get_gateway inte har angivits. I specifika fall kan du även ställa in netcfg/get_gateway till ”none” för att ange att ingen gateway ska användas.

B.4.3. Nätverkskonsoll

# Använd följande inställningar om du vill använda komponenten
# network-console för fjärrinstallation över SSH. Detta gäller endast
# om du tänker genomföra återstående del av installationen manuellt.
#d-i anna/choose_modules string network-console
#d-i network-console/password password r00tme
#d-i network-console/password-again password r00tme

B.4.4. Spegelinställningar

Beroende på installationsmetoden du använder, kan en spegel användas både för att hämta ytterligare komponenter för installationsprogrammet, 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 installationsprogrammet. 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 behöver strängen mirror/country inte ställas in.
#d-i mirror/protocol string ftp
d-i mirror/country string manual
d-i mirror/http/hostname string ftp.se.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 installationsprogrammet (valfri).
#d-i mirror/udeb/suite string testing

B.4.5. 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

# Kontrollerar om NTP ska användas för att ställa in klockan under installationen
d-i clock-setup/ntp boolean true
# NTP-server att använda. Standardvärdet är oftast ett bra värde.
#d-i clock-setup/ntp-server string ntp.exempel.se

B.4.6. 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.
#d-i partman-auto/init_automatically_partition select biggest_free

# Alternativt kan du ange en disk att partitionera. Enhetsnamnet kan
# anges i det traditionella non-devfs-formatet.
# Observera: En disk måste anges, såvida inte systemet endast har en disk.
# Till exempel för att använda den första SCSI/SATA-hårddisken:
#d-i partman-auto/disk string /dev/sda
# 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ändaren att bli
# varnad. Denna varning kan tas bort genom att förinställa...
d-i partman-lvm/device_remove_lvm boolean true
# Samma gäller för befintliga programvaru-RAID-kedjor:
d-i partman-md/device_remove_md 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.
# - atomic: alla filer i en partition
# - home:   separat partition för /home
# - multi:  separata partitioner för /home, /usr, /var och /tmp
d-i partman-auto/choose_recipe select atomic

# 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, om
# du berättade för den vad som ska göras med en av de ovanstående metoderna.
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true

B.4.7. 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, 5, 6 och 10, 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.12, ”Installation av starthanteraren”.

Varning

Den här typen av automatiserad partitionering är lätt att göra fel. Det är också funktionalitet som har fått relativt lite testning från utvecklarna av debian-installer. Ansvaret att få ordning på de olika recepten (så att de fungerar och inte är i konflikt med annat) ligger hos användaren. Kontrollera /var/log/syslog om du springer på problem.

# 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/sda /dev/sdb

# 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:
# <raid-typ> <enhetsantal> <reservantal> <fs-typ> <monteringspunkt> \
#          <enheter> <reservenheter>
# RAID-nivåerna 0, 1, 5, 6 och 10 stöds; enheter separeras med "#"
#d-i partman-auto-raid/recipe string \
#    1 2 0 ext3 /                    \
#          /dev/sda1#/dev/sdb1       \
#    .                               \
#    1 2 0 swap -                    \
#          /dev/sda5#/dev/sdb5       \
#    .                               \
#    0 2 0 ext3 /home                \
#          /dev/sda6#/dev/sdb6       \
#    .

# 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 finish
d-i partman/confirm boolean true

B.4.8. 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 vilken initramfs-generator som ska användas för att generera initrd för 2.6-kärnor.
#d-i base-installer/kernel/linux/initramfs-generators string yaird

# Kärnavbildningspaketet (meta) att installera; "none" kan användas om ingen
# kärna ska installeras.
#d-i base-installer/kernel/image string linux-image-2.6-486

B.4.9. 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]
# Skapa första användaren med angivet UID istället för standard.
#d-i passwd/user-uid string 1010

# Användarkontot kommer att läggas till i vissa initiala standardgrupper.
# För att åsidosätta detta, använda denna.
#d-i passwd/user-default-groups string audio cdrom video

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).

Följande kommando kan användas för att generera en MD5-hash för ett lösenord:

$ printf "r00tme" | mkpasswd -s -m md5

B.4.10. 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
# Välj vilka uppdateringstjänster att använda; definiera speglarna att använda.
# Värdena som visas neda är de normala standardvärdena.
#d-i apt-setup/services-select multiselect security, volatile
#d-i apt-setup/security_host string security.debian.org
#d-i apt-setup/volatile_host string volatile.debian.org

# Ytterligare förråd, local[0-9] tillgängliga
#d-i apt-setup/local0/repository string \
#       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://lokal.server/key

# Som standard kräver installationsprogrammet 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.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, web-server
# Om skrivbordsfunktionen väljs kommer skrivbordsmiljöerna kde och xfce att
# installeras istället för standardskrivbordsmiljön gnome.
#tasksel tasksel/desktop multiselect kde, xfce

# Individuella paket att installera
#d-i pkgsel/include string openssh-server build-essential
# Huruvida paket ska uppgraderas efter debootstrap.
# Tillåtna värden: none, safe-upgrade, full-upgrade
#d-i pkgsel/upgrade select none

# Vissa versioner av installationsprogrammet kan rapportera tillbaka vilken programvara
# du har installerat och vilken programvara som 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-skivorna.
#popularity-contest popularity-contest/participate boolean false

B.4.12. Installation av starthanteraren

# Grub är starthanteraren som är standard (för x86). Om du vill att lilo
# ska installeras istället kan du avkommentera den här raden:
#d-i grub-installer/skip boolean true
# För att även hoppa över att installera lilo och inte installera någon starthanterare,
# avkommentera även denna rad:
#d-i lilo-installer/skip boolean true

# Den är ganska säker att ange, 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,
# avkommentera 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)

# Valfritt lösenord för grub, antingen i klartext
#d-i grub-installer/password password r00tme
#d-i grub-installer/password-again password r00tme
# eller krypterat med en MD5-hash, se grub-md5-crypt(8).
#d-i grub-installer/password-crypted password [MD5-hash]

En MD5-hash för ett lösenord för grub kan genereras med kommandot grub-md5-crypt eller med kommandot från exemplet i Avsnitt B.4.9, ”Kontoinställning”.

B.4.13. Färdigställande av installationen

# Under installationer från seriellkonsoll är de vanliga virtuella konsollerna
# (VT1-VT6) vanligtvis inaktiverade i /etc/inittab. Avkommentera nästa
# rad för att förhindra detta.
#d-i finish-install/keep-consoles boolean true

# 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 installationsprogrammet från att mata ut cd-skivan
# under omstarten, vilket kan vara användbart i vissa situationer.
#d-i cdrom-detect/eject boolean false

# Så här gör man för att stänga av installationsprogrammet när det är färdigt,
# men utan att starta om till det installerade systemet.
#d-i debian-installer/exit/halt boolean true
# Det här kommer att stänga av maskinen istället för att bara stoppa den.
#d-i debian-installer/exit/poweroff boolean true

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