DEBCONF-SET-SELECTIONS(1)

โœจ debconf-set-selections โ€” the girlies' guide ๐Ÿ’…

okay so real talk, this is a section 1 manpage, meaning it's a user command you can just... run. no sudo arc required (well, depends). and it's brought to you by the Debconf girlies themselves. let's get into it bestie ๐Ÿซถ


๐Ÿ’– NAME ๐Ÿ’–

debconf-set-selections โ€” the tool that inserts new values into the debconf database. it's giving "i already know what i want, don't ask me again" energy. no cap.


๐ŸŒธ SYNOPSIS ๐ŸŒธ

debconf-set-selections file
debconf-get-selections | ssh newhost debconf-set-selections

like. that's it. that's the whole vibe. one file, or a pipe. choose your fighter ๐Ÿ’€


๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

so what does this actually do? debconf-set-selections lets you pre-seed the debconf database with answers, or change answers that are already chillin' in there. every question gets marked as seen so debconf won't come back and ask you about it interactively. it's the "i've already answered this, please stop texting me" of package management ๐Ÿ’…

if you give it a filename, it reads from that file. otherwise? it reads from stdin. main character behavior honestly.


๐Ÿšจ WARNING ๐Ÿšจ

bestie. listen to me. only use this command to seed debconf values for packages that will be or are already installed. otherwise you end up with values in the database for packages that aren't even installed โ€” and those values will not go away. ๐Ÿ˜ญ and it can get worse than that, with messy problems involving shared values. the recommendation is that you only use this to seed the database if the machine you're coming from has an identical install. fr fr, don't freestyle this one. ๐Ÿ™ˆ

๐ŸŽ€ DATA FORMAT ๐ŸŽ€

the data is a series of lines. here's the tea:

  • lines that start with a # character are comments โ€” they're just there to look cute, they do nothing
  • blank lines are ignored, we don't perceive them
  • every other line sets the value of one question, and should have four values, each separated by one character of whitespace

and those four values, in order, are:

  1. the name of the package that owns the question
  2. the name of the question
  3. the type of this question
  4. the value to use for the answer of the question โ€” this one runs all the way through the end of the line, so it can be as long as it wants ๐Ÿ’–

alternatively?? the third value can be "seen" instead. and then the preseed line only controls whether the question is marked as seen in debconf's database. nothing else. iconic.

โš ๏ธ note that preseeding a question's value defaults to marking that question as seen. so if you want to override the default value without marking a question seen, you need two lines. yes, two. i don't make the rules, i just report them. ๐Ÿซถ

also, lines can be continued onto the next line by ending them with a "\" character. so long lines can โœจspill overโœจ.


๐ŸŒˆ EXAMPLES ๐ŸŒˆ

force debconf priority to critical:

# Force debconf priority to critical.
debconf debconf/priority select critical

override the default frontend to readline, but let the user still select it:

# Override default frontend to readline, but allow user to select.
debconf debconf/frontend select readline
debconf debconf/frontend seen false

see that second one? two lines. exactly like we said. that's the "override without marking it seen" move right there, and honestly? slay. โœจ


๐Ÿ’… OPTIONS ๐Ÿ’…

  • --verbose, -v โ€” verbose output. she's chatty. she tells you things. ๐Ÿ—ฃ๏ธ
  • --checkonly, -c โ€” only check the input file format, do not save changes to the database. it's the "look but don't touch" option, lowkey perfect for testing. ๐Ÿ”ฅ

๐Ÿ‘‘ SEE ALSO ๐Ÿ‘‘

  • debconf-get-selections(1) โ€” available in the debconf-utils package ๐Ÿ’œ (the perfect little partner-in-crime to this one, ngl)

โญ AUTHOR โญ

Petter Reinholdtsen <pere@hungry.com> โ€” thank you for your service, king ๐Ÿซก


and that's the whole page bestie!! ๐ŸŽ€ this was Debconf energy, dated 2026-02-16, and you absolutely ate reading all of it. go preseed something responsibly ๐Ÿ’–โœจ๐Ÿฆ‹

๐Ÿ“ฆ where this page comes from