LinuxCommandLibrary

tasksel

Install pre-defined software task collections

SYNOPSIS

tasksel [options] [task]
tasksel --list-tasks
tasksel --install task
tasksel --remove task

PARAMETERS

--list-tasks or -t
    Displays a list of all available tasks with their current installation status (installed or not).

--task-desc or -s
    Shows a detailed description of the specified task, explaining what it includes.

--install or -i
    Installs the specified task, including all associated packages and their dependencies.

--remove or -r
    Removes the specified task, along with packages that are no longer required by other installed software.

--new-install or -n
    Runs tasksel in a special mode primarily used during initial system installation to prompt for task selection.

--task-packages or -p
    Lists all individual packages that constitute the specified task, without installing them.

--version
    Displays the version information of the tasksel command.

--help
    Shows a help message with a summary of available options and usage examples.

DESCRIPTION

tasksel is a high-level command-line utility for Debian and Ubuntu-based systems that simplifies the installation of predefined groups of related software packages, known as "tasks" or "collections". These tasks represent common server roles or desktop environments, such as a LAMP server, Mail server, or a GNOME desktop environment.

It streamlines the setup of complex environments by automatically handling the selection and installation of all necessary components and their dependencies. Instead of manually installing numerous individual packages, users can select a task, and tasksel, in conjunction with apt, manages the entire process. It is particularly valuable during the initial system installation phase to quickly configure a functional system, but it can also be used post-installation to add or remove functionalities. This abstraction significantly reduces complexity for users seeking to deploy common configurations without deep knowledge of individual package dependencies, ensuring all required components for a specific function are installed coherently.

CAVEATS

tasksel is specifically designed for Debian and Ubuntu-based systems and is not available on other Linux distributions like Red Hat or Fedora. While it simplifies installation, it offers less granular control over individual package choices compared to lower-level tools like apt or dpkg. Removing a task does not necessarily uninstall all packages installed by that task if they are still dependencies for other installed software or if they were manually marked for installation. Users should still have a basic understanding of the underlying apt package management system for advanced scenarios or troubleshooting.

INTERACTIVE MODE

When executed without any command-line arguments (e.g., just tasksel), it launches an ncurses-based interactive interface. This graphical menu allows users to visually browse through available tasks, read their descriptions, and easily select or deselect tasks using arrow keys and the spacebar. This mode is often preferred for desktop users or during interactive system installations.

TASKS CONCEPT

A 'task' in tasksel represents a logical grouping of packages that collectively provide a specific functionality or environment. These tasks are defined in special `.desc` files located typically in /usr/share/tasksel/. These files specify the packages to be installed, their priority, and a human-readable description. This modular approach makes it easy for maintainers to define and update common software configurations and for users to quickly deploy them.

HISTORY

tasksel originated within the Debian project as a crucial utility to simplify the selection and installation of common software collections during the operating system installation process. Its development aimed to provide an intuitive interface, especially for new users, to set up specific system roles (e.g., web server, desktop environment) without requiring extensive knowledge of individual package names and their dependencies. It has been a standard and integral component of Debian and its derivatives, including Ubuntu, for many years, evolving alongside the apt package management system to streamline and automate common deployment scenarios.

SEE ALSO

apt(8), apt-get(8), dpkg(8), aptitude(8), dselect(8)

Copied to clipboard