8

I want to replicate the Debian installation choices made for my system's current configuration in the installation of a new system.

Debian can be pre-configured through a "pre-configuration" (aka "preseed") file, which basically contains the answers to the questions the installer will ask.

The documentation states that one way to create a preconfiguration file from an existing installation of Debian is to:

...use the debconf-get-selections from the debconf-utils package to dump both the debconf database and the installer's cdebconf database to a single file:

$ debconf-get-selections --installer > file
$ debconf-get-selections >> file

But it then immediately adds:

However, a file generated in this manner will have some items that should not be preseeded...

The documentation does not elaborate on what those items-that-should-not-be-preseeded would be.

Could someone elaborate?


By way of illustration, below I include the second field of the output I get from the two commands above, where I've kept only the lines that begin with d-i, along with the comments, sometimes truncated for brevity. (The reason for keeping only the configuration lines that begin with d-i is that in the example pre-configuration file provided by Debian, only such lines appear.)

# Check the integrity of another CD-ROM?
cdrom-checker/nextcd

# Web server started, but network not running
save-logs/no_network

# for internal use only
debian-installer/consoledisplay

debian-installer/shell-plugin

# Country, territory or area:
# Choices: Antigua and Barbuda, Australia, Botswana, Canada, ...
localechooser/shortlist

# for internal use; can be preseeded
preseed/include_command

# Country of origin for the keyboard:
# Choices: 
keyboard-configuration/layout

# Choices: Canada, Mexico, Saint Pierre and Miquelon, United ...
localechooser/countrylist/North_America

# Choices: Greece, Cyprus, other
localechooser/shortlist/el

# Keyboard layout:
# Choices: 
keyboard-configuration/variant

# Choices: Algeria, Angola, Benin, Botswana, Burkina Faso, Bu...
localechooser/countrylist/Africa

# Choices: Finland, Sweden, other
localechooser/shortlist/sv

# Keep default keyboard options ()?
keyboard-configuration/unsupported_options

# Choices: Cyprus, Turkey, other
localechooser/shortlist/tr

# Interactive shell
di-utils-shell/do-shell

# for internal use only
# Choices: stable, testing, unstable
cdrom/suite

# Choose an installation step:
# Choices: 
debian-installer/missing-provide

# Check CD-ROM integrity?
cdrom-checker/start

# Failed to retrieve the preconfiguration file
preseed/retrieve_error

# Directory in which to save debug logs:
save-logs/directory

# for internal use only
debconf/showold

# Failed to open checksum file
cdrom-checker/md5file_failed

# Choices: Andorra, Spain, France, Italy, other
localechooser/shortlist/ca

# Write the changes to the storage devices and configure RAID...
partman-md/confirm_nooverwrite

# PCMCIA resource range options:
hw-detect/pcmcia_resources

# Failed to mount the floppy
save-logs/floppy_mount_failed

# for internal use only
debconf/language

# Choices: China, Singapore, Taiwan, Hong Kong, other
localechooser/shortlist/zh_TW

# Dummy template for preseeding unavailable questions
debian-installer/dummy

# Additional parameters for module :
hw-detect/retry_params

# Incorrect CD-ROM detected
cdrom-detect/wrong-cd

# for internal use; can be preseeded
cdrom-detect/eject

# Choices: Argentina, Bolivia, Chile, Colombia, Costa Rica, E...
localechooser/shortlist/es

# for internal use; can be preseeded
preseed/run

# Write the changes to disks and configure LVM?
partman-lvm/confirm_nooverwrite

# Cannot save logs
save-logs/bad_directory

# Choices: Belgium, Canada, France, Luxembourg, Switzerland, ...
localechooser/shortlist/fr

# Insufficient memory
lowmem/insufficient

# for internal use
keyboard-configuration/optionscode

# Choices: China, Taiwan, Singapore, Hong Kong, other
localechooser/shortlist/zh_CN

# Load missing firmware from removable media?
hw-detect/load_firmware

# Choices: Italy, Switzerland, other
localechooser/shortlist/it

# Choices: Antarctica
localechooser/countrylist/Antarctica

# Choose the next step in the install process:
# Choices: Choose language, Configure the speech synthesizer ...
debian-installer/main-menu

# Failed to load installer component
anna/install_failed

# Choices: Russian Federation, Ukraine, other
localechooser/shortlist/ru

# for internal use
keyboard-configuration/modelcode

# Entering low memory mode
lowmem/low

# Choices: Jordan, United Arab Emirates, Bahrain, Algeria, Sy...
localechooser/shortlist/ar

# Keep current keyboard options in the configuration file?
keyboard-configuration/unsupported_config_options

# Choices: Antigua and Barbuda, Australia, Botswana, Canada, ...
localechooser/shortlist/en

# Method for toggling between national and Latin mode:
# Choices: Caps Lock, Right Alt (AltGr), Right Control, Right...
keyboard-configuration/toggle

# for internal use only
anna/retriever

# Choices: Curaçao
localechooser/countrylist/other

# Choices: Albania, Andorra, Armenia, Austria, Azerbaijan, Be...
localechooser/countrylist/Europe

# locale
localechooser/help/locale

# Load CD-ROM drivers from removable media?
cdrom-detect/load_media

# for internal use; can be preseeded
debian-installer/framebuffer

# for internal use
espeakup/voice

# for internal use; can be preseeded
preseed/include

# Error reading Release file
cdrom-detect/no-release

# Ignore questions with a priority less than:
# Choices: critical, high, medium, low
debconf/priority

# Key to function as AltGr:
# Choices: The default for the keyboard layout, No AltGr key,...
keyboard-configuration/altgr

# CD-ROM detected
cdrom-detect/success

# Choices: Bouvet Island, Falkland Islands (Malvinas), Saint ...
localechooser/countrylist/Atlantic_Ocean

# Continue the install without loading kernel modules?
anna/no_kernel_modules

# for internal use; can be preseeded
debian-installer/exit/poweroff

# Choices: Bangladesh, India, other
localechooser/shortlist/bn

# for internal use; can be preseeded
preseed/include/checksum

# Integrity test failed
cdrom-checker/mismatch

# Load missing drivers from removable media?
hw-detect/load_media

# Keep default keyboard layout ()?
keyboard-configuration/unsupported_layout

# Start PC card services?
hw-detect/start_pcmcia

# for internal use; can be preseeded
debian-installer/add-kernel-opts

# for internal use; can be preseeded
mouse/protocol

# for internal use; can be preseeded
mouse/left

# for internal use
keyboard-configuration/layoutcode

# for internal use
keyboard-configuration/store_defaults_in_debconf_db

# Choices: Brazil, Portugal, other
localechooser/shortlist/pt

# for internal use; can be preseeded
preseed/early_command

# for internal use only
debian-installer/exit/always_halt

# Choices: Africa, Antarctica, Asia, Atlantic Ocean, Caribbea...
localechooser/continentlist

# Insert Debian boot CD-ROM
cdrom-checker/firstcd

# How should the debug logs be saved or transferred?
# Choices: floppy, web, mounted file system
save-logs/menu

# for internal use; can be preseeded
rescue/enable

# for internal use only
cdrom-detect/cdrom_fs

# Insert formatted floppy in drive
save-logs/insert_floppy

# Translations temporarily not available
localechooser/translation/none-yet

# Keymap to use:
# Choices: American English, Albanian, Arabic, Asturian, Bang...
keyboard-configuration/xkb-keymap

# for internal use; can be preseeded
mouse/device

# for internal use only
cdrom-detect/hybrid

# for internal use only
debconf/translations-dropped

# Country to base default locale settings on:
# Choices: Antigua and Barbuda${!TAB}-${!TAB}en_AG, Australia...
localechooser/preferred-locale

# Choices: Spain, France, other
localechooser/shortlist/eu

# Choices: Argentina, Bolivia, Brazil, Chile, Colombia, Ecuad...
localechooser/countrylist/South_America

# Failed to mount CD-ROM
cdrom-checker/mntfailed

# Retry mounting the CD-ROM?
cdrom-detect/retry

# Choices: Serbia, Montenegro, other
localechooser/shortlist/sr

# Module needed for accessing the CD-ROM:
# Choices: 
cdrom-detect/cdrom_module

# for internal use; can be preseeded
preseed/file

# for internal use; can be preseeded
hw-detect/load-ide

# for internal use; can be preseeded
preseed/interactive

# Installation step failed
debian-installer/main-menu/item-failure

# Error while running ''
hw-detect/modprobe_error

# Choices: Pakistan, India, other
localechooser/shortlist/pa

# Use Control+Alt+Backspace to terminate the X server?
keyboard-configuration/ctrl_alt_bksp

# Choices: China, India, other
localechooser/shortlist/bo

# Language:
# Choices: C${!TAB}-${!TAB}No localization, Albanian${!TAB}-$...
localechooser/languagelist

# Installer components to load:
# Choices: 
anna/choose_modules_lowmem

# for internal use only
debian-installer/language

# for internal use
keyboard-configuration/variantcode

# Choices: Anguilla, Antigua and Barbuda, Aruba, Bahamas, Bar...
localechooser/countrylist/Caribbean

# Language selection no longer possible
localechooser/translation/no-select

# Failed to copy file from CD-ROM. Retry?
retriever/cdrom/error

# Choices: Afghanistan, Bahrain, Bangladesh, Bhutan, Brunei D...
localechooser/countrylist/Asia

# Write the changes to disk and configure encrypted volumes?
partman-crypto/confirm_nooverwrite

# for internal use; can be preseeded
debian-installer/country

# No valid Debian CD-ROM
cdrom-checker/wrongcd

# Choices: Belgium, Germany, Liechtenstein, Luxembourg, Austr...
localechooser/shortlist/de

# for internal use; can be preseeded
anna/standard_modules

# Failed to process the preconfiguration file
preseed/load_error

# for internal use; can be preseeded
preseed/file/checksum

# Device file for accessing the CD-ROM:
cdrom-detect/cdrom_device

# for internal use; can be preseeded
directfb/hw-accel

# for internal use; can be preseeded
debian-installer/allow_unauthenticated

# Continue the installation in the selected language?
localechooser/translation/warn-severe

# for internal use; can be preseeded
debian-installer/theme

# Choices: American Samoa, Australia, Cook Islands, Fiji, Fre...
localechooser/countrylist/Oceania

# Are you sure you want to exit now?
di-utils-reboot/really_reboot

# Choices: Brazil, Portugal, other
localechooser/shortlist/pt_BR

# for internal use only
debconf/frontend

# for internal use; can be preseeded
debian-installer/exit/halt

# Choices: Belize, Costa Rica, El Salvador, Guatemala, Hondur...
localechooser/countrylist/Central_America

# Keep the current keyboard layout in the configuration file?
keyboard-configuration/unsupported_config_layout

# Compose key:
# Choices: No compose key, Right Alt (AltGr), Right Control, ...
keyboard-configuration/compose

# Method for temporarily toggling between national and Latin ...
# Choices: No temporary switch, Both Logo keys, Right Alt (Al...
keyboard-configuration/switch

# Installer components to load:
# Choices: cfdisk-udeb: Manually partition a hard drive (cfdi...
anna/choose_modules

# Integrity test successful
cdrom-checker/passed

# Manually select a CD-ROM module and device?
cdrom-detect/manual_config

# Terminal plugin not available
debian-installer/terminal-plugin-unavailable

# Insert a Debian CD-ROM
cdrom-checker/askmount

# Additional locales:
# Choices: aa_DJ.UTF-8, aa_DJ, aa_ER, aa_ER@saaho, aa_ET, af_...
localechooser/supported-locales

# for internal use only
cdrom-detect/usb-hdd

# for internal use; can be preseeded
preseed/late_command

# Failed to run preseeded command
preseed/command_failed

# Modules to load:
# Choices: 
hw-detect/select_modules

# Keyboard model:
# Choices: 
keyboard-configuration/model

# Continue the installation in the selected language?
localechooser/translation/warn-light

# Choices: Aruba, Belgium, Netherlands, other
localechooser/shortlist/nl

# for internal use only
cdrom/codename

# Choices: British Indian Ocean Territory, Christmas Island, ...
localechooser/countrylist/Indian_Ocean

# for internal use; can be preseeded
preseed/boot_command

# Web server started
save-logs/httpd_running

# System locale:
# Choices: 
debian-installer/locale

# Choices: Macedonia\, Republic of, Albania, other
localechooser/shortlist/sq

# Country of origin for the keyboard:
# Choices: 
keyboard-configuration/layout

# Keymap to use:
# Choices: American English, Albanian, Arabic, Asturian, Bang...
keyboard-configuration/xkb-keymap

# Keyboard layout:
# Choices: English (US), English (US) - Cherokee, English (US...
keyboard-configuration/variant

# Keep default keyboard options ()?
keyboard-configuration/unsupported_options

# Use Control+Alt+Backspace to terminate the X server?
keyboard-configuration/ctrl_alt_bksp

# for internal use
keyboard-configuration/variantcode

# for internal use
keyboard-configuration/optionscode

# for internal use
keyboard-configuration/modelcode

# Keep current keyboard options in the configuration file?
keyboard-configuration/unsupported_config_options

# Keep the current keyboard layout in the configuration file?
keyboard-configuration/unsupported_config_layout

# Method for toggling between national and Latin mode:
# Choices: Caps Lock, Right Alt (AltGr), Right Control, Right...
keyboard-configuration/toggle

# Compose key:
# Choices: No compose key, Right Alt (AltGr), Right Control, ...
keyboard-configuration/compose

# Method for temporarily toggling between national and Latin ...
# Choices: No temporary switch, Both Logo keys, Right Alt (Al...
keyboard-configuration/switch

# Key to function as AltGr:
# Choices: The default for the keyboard layout, No AltGr key,...
keyboard-configuration/altgr

# Keep default keyboard layout ()?
keyboard-configuration/unsupported_layout

# Keyboard model:
# Choices: A4Tech KB-21, A4Tech KBS-8, A4Tech Wireless Deskto...
keyboard-configuration/model

# for internal use
keyboard-configuration/layoutcode

# for internal use
keyboard-configuration/store_defaults_in_debconf_db
4

Short answer

From the Debian wiki page dedicated to D-I preseed :

Do not work off a debconf-get-selections (--installer) generated preseed.cfg but get the values from it and modify the example preseed file with them.

The preseed example file provided by Debian should be enought to start but you can find a lot of other preseed files provided by different people for different purposes on the same wiki page.

Less short answer

In the list of debconf questions you posted, each question with a comment "for internal use" without "can be preseeded" should not be preseeded.

But a lot of other debconf questions may not be pre-answered with a preseed file, like the hardware-related questions (if you want to run the installation on a different hardware), the questions recording some automatic configuration failure or success (which can be preseeded in some special cases but could without problem be answered with the automatic process).

The output of debconf-get-selections contains a lot of auto-answered questions most people never see and do (should) not care about. This automatic choices are changing over time, with new hardware, software, better detection or new possibilities. It is important to touch the least you can of the automatic configuration, to benefit from all the improvements of the debian-installer and to be able to keep to a minimum the changes needed to your preseed file over time and for different hardware.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.