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:
- the name of the package that owns the question
- the name of the question
- the type of this question
- 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 thedebconf-utilspackage ๐ (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
- ubuntu resolute: debconf 1.5.92 ยท BSD-2-Clause
- ubuntu stonking: debconf 1.5.92 ยท BSD-2-Clause
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms