What is the difference between Tasksel and Configuration Management Tools (CMTs) like Ansible/Salt/Puppet/Chef?

I'm not sure Tasksel should be considered a "CMT". Maybe "Package Installation Automizer" or similar term is the correct one.

The purpose of this question is to find out the "software type" of Tasksel so I could search data on similar software (given Tasksel currently doesn't support LEMP, I'd like to look for a similar tool that might does indeed support them).


From ubuntu documentation:

Tasksel is a Debian/Ubuntu tool that installs multiple related packages as a co-ordinated "task" onto your system.

This function is similar to that of meta-packages, and, in fact, most of the tasks available from tasksel are also available as meta-packages from the Ubuntu package managers (such as Synaptic Package Manager or KPackageKit).

So in brief, tasksel is just a helper to select and install a bunch of package with one command (acting as a meta-package).

Ansible/Chef/Puppet/Salt are configuration managers, they are able to install packages but that's only a small part of their goal, they aim at converging the system into the state you describe in their respective DSL (Domain specific Language), being package to be installed as well as the content of services configuration files and even up to cloning a git/svn repository somewhere and running install/configuration/database migration tasks for an application.

Building a LEMP stack is just installing nginx, mariadb and php on a linux system, configuring it is another step but that's a common enough task such that there's already existing tutorials about it for every CMT.

Quick list taken from the first page of a google search with 'product nginx mariadb php':

Your Answer

