This draft is out-of-sync with the RFC thread proposal and /usr/share/doc/dpkg/protected-field.txt, requires a resync.


APT supports an Important field, similar to Essential, with the following differences:


The name Important is an historic artifact. APT always understood Important as a synonym to Essential, but the meaning was relaxed a few years ago when the field was repurposed for system-configuration meta packages.

Julian Andres Klode proposed afterwards (on the #debian-dpkg IRC channel) naming this field instead Protected which might be less confusing than Important as that's already a Priority value. The name might still not be optimal, because Protected is a tad generic, which can always be solved with documentation, but if better names can be found we are interested!

We'd like to push the support for this concept downwards in the packaging stack.

Definition: Protected packages

Protected defines packages that must not be easily removed from the system once installed. For example, an init system might be marked Protected to not be removed easily from non-container systems.

They should supply their core functionality while unconfigured, but do not have to, and other packages may not assume that they do.

We should decide what happens when an Essential package is also marked as Protected, should we error out, warn, ignore and consider it the strongest of both fields?

Packages must depend on Protected packages like other packages and may not omit those dependencies like they can for Essential.


We have been throwing some ideas around, w/o much consideration, which might or might not be worth considering.


Use cases

See also Proposals/EssentialOnDiet and BusterPriorityRequalification.