Which additional software can I install in Tails?

Tails includes a limited set of applications but you can install more software.

This software is distributed in packages that are made available from the Debian repositories, which are similar to an app store.

To know which packages are available in Debian:

  • Browse locally with the Synaptic Package Manager:

    1. Set up an administration password when you start Tails.

    2. Choose Applications ▸ System Tools ▸ Synaptic Package Manager.

    3. Wait until Synaptic finishes downloading new package information from the Debian servers.

    4. You can:

      • Browse the packages by sections from the left sidebar.

      • Search on titles and descriptions of packages with the Search button.

  • Search the Internet for alternatives to other software.

    For example: "debian alternatives to photoshop".

  • Ask a friend who is knowledgeable about Linux.

  • Search the Debian website.

Being careful about what you install

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

If you are unsure:

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

  • Some software might, for example, modify the firewall and break the security built in Tails. But other software like games or office tools are probably fine.

  • Software not officially included in Tails might have not been tested for security. We also cannot provide support or documentation for it.

  • Only applications that are packaged for Debian can be installed and they are under public scrutiny.

Installing additional software

To install a package using Synaptic:

  1. Set up an administration password when you start Tails.

  2. Choose Applications ▸ System Tools ▸ Synaptic Package Manager.

  3. Click Search and search for the name of the package.

  4. Right-click on the name of the package in the search results and choose Mark for Installation.

  5. Synaptic calculates the additional changes for your package to work. Click Mark to confirm those changes.

  6. Click Apply to download, install, and configure the package.

If you are comfortable with the command line, you can use the apt command instead.

Installing additional software automatically when starting Tails

To do so, you need to enable the Additional Software persistence feature.

After a package is installed using Synaptic or apt, a notification appears to ask if you want to install this package every time you start Tails in the future.

  • If you choose Add to Persistent Storage, the package is saved in the persistent storage and will be reinstalled automatically every time you start Tails.

    The package will also be updated automatically when you connect to the Internet.

  • If you choose Install Only Once, the package is also saved in the persistent storage but won't be reinstalled automatically every time you start Tails.

    The same package can be reinstalled faster for some time because you won't have to download it again.

Additional configuration

Some packages require additional configuration to work. To keep the configuration across Tails sessions, you can use the Dotfiles persistence feature.

Checking your list of additional software

To see which packages are installed automatically every time you start Tails, choose Applications ▸ System Tools ▸ Additional Software.

Click the button to remove a package from the list.

The same list is also available from the configuration of the persistent storage, by clicking on the button of the Additional Software feature.

Removing additional software

When you installed the package, if you chose:

  • Install Only Once, you can remove it by restarting Tails.

  • Add to Persistent Storage, you can remove it:

    • Using Additional Software:

      1. Choose Applications ▸ System Tools ▸ Additional Software.

      2. Click the to the right of the name of the package.

    • Using Synaptic:

      1. Set up an administration password when you start Tails.

      2. Choose Applications ▸ System Tools ▸ Synaptic Package Manager.

      3. Click Search and search for the name of the package.

      4. Right-click on the name of the package in the search results and choose Mark for Removal.

      5. Click Apply to remove the package.

    • From the command line using apt.

    After the package is removed, a notification appears to ask if you want to remove this package from your list of additional software.

Freeing space in your persistent storage

After you installed many packages that you are not using anymore, you can free some space in your persistent storage:

  1. Set up an administration password when you start Tails.

  2. Choose Applications ▸ System Tools ▸ Root Terminal to open a Root Terminal.

  3. Execute the following command:

    apt clean
    

Configuring additional APT repositories (for advanced users)

The packages available in Debian are submitted to public scrutiny.

Configuring additional APT repositories might break the security built in Tails and might install software that has not even been approved by Debian. Be even more careful with what you install.

This step is usually not needed to install additional software and might be necessary only in very rare occasions.

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. Set up an administration password when you start Tails.

  2. Create an apt-sources.list.d folder in your persistent volume:

    sudo install -d -m 755 /live/persistence/TailsData_unlocked/apt-sources.list.d
    
  3. 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
    
  4. 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/ jessie non-free
    deb tor+http://ftp.us.debian.org/debian/ jessie-backports non-free
    deb tor+http://security.debian.org/ jessie/updates non-free
    

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

  5. 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
    
  6. Restart Tails to apply the changes.