Why does tasksel exist when there are already meta packages?

tasksel is ancient, ancient history, and is there mainly for historical reasons. Better just to forget about it.


Tasksel can't really express complex dependencies that include version comparisons, optional dependencies, alternative packages, conflicts, etc.

To give a simple example: the tasksel task dns-server installs bind9, while a meta-package could depend on bind9|pdns-server (and a bunch of other DNS servers, but this is just an example), which means installing one of the 2 listed packages fulfils the dependency.


one of the reason for using tasksel is that you don't need tu know the name of installed package (for example SSH Server vs package openssh-server)