Scroll to navigation

apt-p2p(8) System Manager's Manual apt-p2p(8)


apt-p2p — apt helper for peer-to-peer downloads of Debian packages


Normally apt-p2p is run from init.d using twistd, in which case no apt-p2p options can be specified on the command-line, and all configuration variables are read from the default config file locations of $HOME/.apt-p2p/apt-p2p.conf and /etc/apt-p2p/apt-p2p.conf. The command is then:

twistd -y /path/to/apt-p2p [twistd options ...]

For a detailed listing of the twistd options, see twistd(1)

apt-p2p can also be run without twistd by executing:

apt-p2p [options ...]

In this case, you can specify the options documented below on the command-line.


apt-p2p is a helper for downloading Debian packages files with APT. It will download any needed files from other Apt-P2P peers in a peer-to-peer manner, and so reduce the strain on the Debian mirrors.


In order for APT to send it's requests to apt-p2p, the sources.list entries must be modified to point to the local apt-p2p address. Unless you have changed the default port, then adding "localhost:9977/" to the beginning of each entry should be sufficient. For example, if your sources.list contains a line like this:

deb etch main contrib non-free

then replace it with this:

deb http://localhost:9977/ etch main contrib non-free

You can do the same with 'deb-src' lines as well, and apt-p2p will be used to download and share your source packages as well.


It is VERY important that Apt-P2P's ports be reachable by other peers. This is needed both to share files with others, and to connect to others through the DHT to find peers for files. If you aren't accessible by others, you will not only not share anything, but your performance during downloading will be affected.

Apt-P2P uses a default port of 9977, over both TCP and UDP, for it's communication. You can change this port in the /etc/apt-p2p/apt-p2p.conf file, and use different ports for TCP and UDP, if desired. Whatever port you use, make sure to forward it through your NAT or firewall to improve your performance and share with others. Information on port forwarding can be found here:

(link to URL


Apt-P2P is not designed to function as a downloader for multiple clients on a private network. Apt-P2P checks the source of incoming requests and only responds to those from the localhost. For more information:

(link to URL


These programs follow the usual GNU command line syntax, with short options starting with a single dash ('-'), and long options starting with two dashes ('--'). A summary of options is included below.

the filename to use for the configuration file, options found in this file are combined with those in $HOME/.apt-p2p/apt-p2p.conf and /etc/apt-p2p/apt-p2p.conf (see apt-p2p.conf(5) for the format of the file)
the filename to print log messages to, or '-' to log to standard output, if not specified then /var/log/apt-p2p.log will be used
print a help message describing the invocation of the program
print the version of the program


apt-p2p.conf(5), twistd(1)


This manual page was written by Cameron Dale <> for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.