[[!meta title="Install additional software"]]

Tails includes a
[[coherent but limited set of applications|doc/about/features]]. 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|https://www.debian.org/distrib/packages]].

[[!toc levels=2]]

Installing additional software packages
=======================================

<div class="caution">

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

</div>

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
[[<span class="guilabel">Additional software packages</span> persistence feature|doc/first_steps/persistence/configure#additional_software]] instead.

<div class="tip">

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

</div>

To install additional software packages:

1. [[Set up an administration password|doc/first_steps/startup_options/administration_password]].

2. Open a [[root terminal|doc/first_steps/startup_options/administration_password#open_root_terminal]].

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

       apt-get update

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

       apt-get install [package]

   For example, to install the package `ikiwiki`, execute:

       apt-get install ikiwiki

   <div class="note">

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

   </div>

<a id="repository"></a>

Configuring additional APT repositories
=======================================

<div class="caution">

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

</div>

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 <span class="filename">apt-sources.list.d</span> folder in your
   persistent volume:

       sudo install -d -m 755 /live/persistence/TailsData_unlocked/apt-sources.list.d

1. Edit <span class="filename">/live/persistence/TailsData_unlocked/persistence.conf</span>,
   the configuration of the persistent volume, as root and add the
   <span class="filename">apt-sources.list.d</span> folder as a persistence
   feature of type `link`:

       /etc/apt/sources.list.d	source=apt-sources.list.d,link

1. Write your additional `sources.list` files in the
   <span class="filename">apt-sources.list.d</span> folder. For example, to add
   the `non-free` sections of Debian Jessie, backports, and security
   updates, you can create a file named
   <span class="filename">/live/persistence/TailsData_unlocked/apt-sources.list.d/non-free.list</span>
   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
   <span class="filename">.list</span> and may only contain the following
   characters: letters, digits, underscore, hyphen, and period.

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

1. Restart Tails to apply the changes.
