Tails includes a coherent but limited set of applications. More applications can be installed as on any Debian system. Only applications that are packaged for Debian can be installed. To know if an application is packaged for Debian, and to find the name of the corresponding software packages, you can search for it in the Debian package directory.

Installing additional software packages

The packages included in Tails are carefully tested for security. Installing additional packages might break the security built in Tails. Be careful with what you install.

Since Tails is amnesic, any additional software package needs to be reinstalled in each working session. To install the same software packages automatically at the beginning of every working session use the Additional software packages persistence feature instead.

Packages that use the network need to be configured to go through Tor. They are otherwise blocked from accessing the network.

To install additional software packages:

  1. Set up an administration password.

  2. Open a root terminal.

  3. Execute the following command to update the lists of available packages:

    apt update
  4. To install an additional package, execute the following command, replacing [package] with the name of the package that you want to install:

    apt install [package]

    For example, to install the package ikiwiki, execute:

    apt install ikiwiki

    You can also write multiple package names to install several packages at the same time. If a package has dependencies, those will be installed automatically.

Configuring additional APT repositories

The packages included in Tails are carefully tested for security. Configuring additional APT repositories might break the security built in Tails. Be careful with what you install.

Sometimes, you might need to configure additional APT repositories. For example, to install packages from the non-free section of Debian. To do so:

  1. Create a apt-sources.list.d folder in your persistent volume:

    sudo install -d -m 755 /live/persistence/TailsData_unlocked/apt-sources.list.d
  2. Edit /live/persistence/TailsData_unlocked/persistence.conf, the configuration of the persistent volume, as root and add the apt-sources.list.d folder as a persistence feature of type link:

    /etc/apt/sources.list.d  source=apt-sources.list.d,link
  3. Write your additional sources.list files in the apt-sources.list.d folder. For example, to add the non-free sections of Debian Jessie, backports, and security updates, you can create a file named /live/persistence/TailsData_unlocked/apt-sources.list.d/non-free.list with the following content:

    deb tor+http://ftp.us.debian.org/debian/ stretch non-free
    deb tor+http://ftp.us.debian.org/debian/ stretch-backports non-free
    deb tor+http://security.debian.org/ stretch/updates non-free

    File names must end with .list and may only contain the following characters: letters, digits, underscore, hyphen, and period.

  4. Correct the ownership and permissions of your additional sources.list files to be owned by root and only readable by others. For example:

    chown root:root /live/persistence/TailsData_unlocked/apt-sources.list.d/non-free.list
    chmod 644 /live/persistence/TailsData_unlocked/apt-sources.list.d/non-free.list
  5. Restart Tails to apply the changes.