deb-conffiles(5)

πŸ’– deb-conffiles β€” package conffiles, bestie edition πŸ’–

Okay so welcome to deb-conffiles(5) from the dpkg suite β€” literally the glow-up guide to how a package declares which of its files are conffiles. Yes, we're doing this. Sit down, hydrate, let's go 🫢


✨ SYNOPSIS ✨

DEBIAN/conffiles

That's it. That's the whole vibe. A whole file with one job and it ate. πŸ’…


πŸŽ€ DESCRIPTION πŸŽ€

So a package declares its list of conffiles by including a conffiles file in its control archive β€” that's DEBIAN/conffiles during package creation, iykyk. πŸ“¦βœ¨

This file contains a list of files, one per line, with an optional leading flag separated by whitespace. And listen β€” the conffiles must be listed as absolute pathnames. No shortcuts, no relative nonsense, we're being grown here. 🧚

Trailing whitespace will be trimmed, but empty or whitespace-only lines are not accepted β€” so don't try it, bestie, dpkg is not playing πŸ™ˆ

Files without a flag should exist in the binary package, otherwise dpkg(1) will ignore them. Yeah, ignore β€” not even a dramatic exit, just ghosting. πŸ‘»

Okay now the fun part, there is currently only one flag supported:

  • remove-on-upgrade β€” marks that a conffile needs to be removed on the next upgrade (since dpkg 1.20.6). 🧹✨
⚠️ But these files must not exist in the binary package, because both dpkg(1) and dpkg-deb(1) will not accept building nor processing such binary packages. That's a hard no, no cap. πŸ’€

🌸 EXAMPLE 🌸

Like, here's exactly what it looks like, keep it verbatim babe:

 /etc/alternatives/README
 /etc/cron.daily/dpkg
 /etc/dpkg/dpkg.cfg
 /etc/logrotate.d/dpkg
 remove-on-upgrade /etc/some-old-file.conf

See how they're all absolute paths? See the flag leading that last one? Gorgeous. Iconic. Main character energy. πŸ‘‘πŸŒˆ


πŸ¦‹ SEE ALSO πŸ¦‹

Go read those too, they're fr fr part of the lore. πŸ“–πŸ’œ


✨ and that's the whole page, bestie ✨

Cute lil sign-off: this was from the dpkg suite, version 1.23.11-dirty, dated 2026-09-09 β€” yes the version really says dirty, she's a little messy but she works slay πŸ’…πŸŽ€πŸ’–

πŸ“¦ where this page comes from