<p>From <a href="https://help.ubuntu.com/community/Tasksel" rel="nofollow noreferrer">ubuntu documentation</a>:</p>

<blockquote>
  <p>Tasksel is a Debian/Ubuntu tool that installs multiple related
  packages as a co-ordinated "task" onto your system.</p>
  
  <p>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).</p>
</blockquote>

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

<p>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.</p>

<p>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.</p>

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

<ul>
<li><a href="https://knpuniversity.com/screencast/ansible/php-nginx-mysql" rel="nofollow noreferrer">Ansible Tutorial</a></li>
<li><a href="https://learn.chef.io/modules/create-a-web-app-cookbook#/" rel="nofollow noreferrer">Chef Official Tutorial</a> (using apache, but moving to nginx is a matter of changing the web server cookbook used)</li>
<li><a href="https://jamesmcfadden.co.uk/using-vagrant-and-puppet-to-build-a-php-nginx-and-mysql-environment" rel="nofollow noreferrer">Puppet tutorial</a></li>
<li><a href="https://muchbits.com/salt-state-example3.html" rel="nofollow noreferrer">Salt tutorial</a></li>
</ul>

CC BY-SA 3.0
2018-01-23T08:46:34.073Z
2018-01-23T09:00:25.180Z
2018-01-23T09:00:25.180Z
Tensibai
<p>What is the difference between Tasksel and Configuration Management Tools (CMTs) like Ansible/Salt/Puppet/Chef?</p>

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

<p>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).</p>

<terminology>
What is the difference between Tasksel and CMTs like Ansible/Salt/Puppet/Chef?
Arcticooling
# What is the difference between Tasksel and CMTs like Ansible/Salt/Puppet/Chef?

(Asked by: username_0 on 2018-01-23)

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).

**Tags:** terminology


---

## 1 answers

### Answer by username_1 on 2018-01-23. Score: 0 | Accepted answer

From [ubuntu documentation](https://help.ubuntu.com/community/Tasksel):

> 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':

* [Ansible Tutorial](https://knpuniversity.com/screencast/ansible/php-nginx-mysql)
* [Chef Official Tutorial](https://learn.chef.io/modules/create-a-web-app-cookbook#/) (using apache, but moving to nginx is a matter of changing the web server cookbook used)
* [Puppet tutorial](https://jamesmcfadden.co.uk/using-vagrant-and-puppet-to-build-a-php-nginx-and-mysql-environment)
* [Salt tutorial](https://muchbits.com/salt-state-example3.html)


---

