Beyond init systems: other opportunities for simplification


One thing that everybody agrees on in the debate about Debian's init system replacement is that the manifests used by most of the new schemes are far more concise than traditional init scripts.

Simplification need not stop there however.

Another opportunity for simplification exists in the creation of users at package installation. Every packaging tool has a different approach and all of them involve multiple lines of boilerplate script code duplicated between hundreds of packages that all need exactly the same thing.

What is worse, embedding this logic into the postinst scripts on Debian or %post logic of an RPM makes it far more awkard for a system administrator to audit the user account requirements of packages (when installing many of them in a hurry) or to customise the logic for a whole site without rebuilding the whole packages.

Potential improvement

How to improve this? Well, packages (on any distribution) could be invited to declare the user and group accounts they depend on. A central configuration parameter in /etc/dpkg/dpkg.cfg or /etc/rpm would then control how the package manager behaves, with several possible options:

Running a command like apt-get --simulate would give a system administrator an immediate view of all users/groups required by the packages they propose to install.