One of the several tasks that a Linux user is bound to handle is software installation. There are possibly two methods especially on Debian/Ubuntu Linux systems you can use for installing software. The first is installing individual packages using package management tools such as apt-get, apt, aptitude and synaptic.

The other is by using Tasksel, is a simple and easy-to-use tool developed for Debian/Ubuntu that provides users an interface to enable them to install a group of related packages such as LAMP Server, Mail Server, DNS Server, etc. as a single pre-configured task. It works comparably to meta-packages, you will find nearly all tasks in tasksel present in meta-packages.

How To Install and Use Tasksel in Debian and Ubuntu

To install tasksel, simply run the command below:

$ sudo apt-get install tasksel

After installing Tasksel, it enables you to install one or more predefined group of packages. User need to run it from the command line with a few arguments, it provides a graphical user interface as well where one can select software to install.

The general syntax of running tasksel from the command line is:

$ sudo tasksel install task_name $ sudo tasksel remove task_name $ sudo tasksel command_line_options

To start the tasksel user interface, issue the command below:

$ sudo tasksel

Where you see an asterisk (*) without the red highlighter, it means that software is already installed.

To install one or more software, use the Up and Down arrows to move the red highlighter, press the Space bar to select the software and use the Tab key to move the to <ok> . Then hit Enter button to install the selected software as shown in the screencast below.

Alternatively, you can list all tasks from the command line as well, by using the command below. Note that in the first column of the list, u (uninstalled) means software is not installed and i (installed) means software is installed.

$ sudo tasksel --list-tasks

Sample Output

u manual Manual package selection u kubuntu-live Kubuntu live CD u lubuntu-live Lubuntu live CD u ubuntu-gnome-live Ubuntu GNOME live CD u ubuntu-live Ubuntu live CD u ubuntu-mate-live Ubuntu MATE Live CD u ubuntustudio-dvd-live Ubuntu Studio live DVD u ubuntustudio-live Ubuntu Studio live CD u xubuntu-live Xubuntu live CD u cloud-image Ubuntu Cloud Image (instance) u dns-server DNS server u edubuntu-desktop-gnome Edubuntu desktop u kubuntu-desktop Kubuntu desktop u kubuntu-full Kubuntu full u lamp-server LAMP server u lubuntu-core Lubuntu minimal installation u lubuntu-desktop Lubuntu Desktop u mail-server Mail server u mythbuntu-backend-master Mythbuntu master backend u mythbuntu-backend-slave Mythbuntu slave backend u mythbuntu-desktop Mythbuntu additional roles u mythbuntu-frontend Mythbuntu frontend u postgresql-server PostgreSQL database u samba-server Samba file server u tomcat-server Tomcat Java server i ubuntu-desktop Ubuntu desktop ...

You can find a full description of all tasks in /usr/share/tasksel/*.desc and /usr/local/share/tasksel/*.desc files.

Let’s install some group of software packages such LAMP, Mail Server, DNS Server etc..

Install LAMP stack Using Tasksel

As an example, we shall cover the installation of LAMP (Linux, Apache, MySQL and PHP) stack in Ubuntu 16.04.

You can either use the user interface or the command line option, but here, we shall utilize the command line option as follows:

$ sudo tasksel install lamp-server

While the Mysql package is being installed, you will be prompted to configure Mysql by setting a root password. Simply enter a strong and secure password, then hit the Enter key to proceed.

Wait for the installation to complete. After all is done, you can test the LAMP stack installation as follows.

$ sudo task --list-tasks | grep “lamp-server” i lamp-server LAM server

Similarly you can also install Mail Server or DNS Server as shown:

$ sudo tasksel install mail-server $ sudo tasksel install dns-server

Look through the tasksel package man page for more usage options.

$ man tasksel

As a conclusion, tasksel is a simple and easy-to-use interface for users to install software on their Debian/Ubuntu Linux systems.

However, which method of software installation i.e using apt-get/apt/aptitude package management tools or tasksel, do you actually prefer and why? Let us know via the comment section below, as well as any suggestions or other vital feedback.