The sources.list is the file that tells your Debian/Ubuntu where to search for software.

File Description

The file is located in /etc/apt/sources.list , or might be split in multiple files stored in /etc/apt/sources.list.d/ . The format is

TYPE LOCATION DIST COMPONENTS

The definition for these sections are:

TYPE
deb or deb-src
LOCATION
The link to the repository
DIST
Distribution you are using
COMPONENTS
List of components

An example of such an entry is:

deb http://ftp.de.debian.org/debian/ sid main contrib restricted universe multiverse non-free

The tools apt-get|aptitude|synaptic|SoftwareCenter (or whatever you like to install software) will look at these files to search for updates and new packages.

Some entries for Debian unstable

Here are some entries from my configuration that might be of interest. I’m using Debian:unstable.

Debian

deb http://ftp2.de.debian.org/debian/ sid main contrib non-free
deb-src http://ftp2.de.debian.org/debian/ sid main contrib non-free

deb http://ftp2.de.debian.org/debian/ testing main contrib non-free
deb-src http://ftp2.de.debian.org/debian/ testing main contrib non-free

deb http://ftp2.de.debian.org/debian/ stable main contrib non-free
deb-src http://ftp2.de.debian.org/debian/ stable main contrib non-free

deb http://security.debian.org stable/updates main contrib non-free
deb http://security.debian.org testing/updates main contrib non-free

deb http://www.debian-multimedia.org/ stable main
deb http://www.debian-multimedia.org/ testing main
deb http://www.debian-multimedia.org/ unstable main

deb http://ftp.de.debian.org/debian/ sid main contrib non-free
deb-src http://ftp.de.debian.org/debian/ sid main contrib non-free

deb http://ftp.de.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.de.debian.org/debian/ testing main contrib non-free

deb http://ftp.de.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.de.debian.org/debian/ stable main contrib non-free
deb http://ftp2.de.debian.org/debian/ experimental main

deb http://ftp2.de.debian.org/debian/ oldstable main contrib non-free

Aptosid

Aptosid is a Debian fork, based on unstable:

deb ftp://ftp.spline.de/pub/aptosid/debian/ sid main fix.main contrib fix.contrib non-free fix.non-free vdr
deb-src ftp://ftp.spline.de/pub/aptosid/debian/ sid main fix.main contrib fix.contrib non-free fix.non-free vdr

GRML

GRML is based on Debian:unstable, and comes with some special tools for sysadmins and text tools users:

deb     http://deb.grml.org/ grml-stable main
deb-src http://deb.grml.org/ grml-stable main

Opera

If you want to use Opera:

deb http://deb.opera.com/opera/ stable non-free #Opera Browser (final releases)
deb http://deb.opera.com/opera-beta/ stable non-free #Opera Browser (beta releases)

R

For those of you interested in the GNU R-Project:

deb http://ftp5.gwdg.de/pub/misc/cran/bin/linux/debian/ squeeze-cran/

my repository

Not sure if anybody but me cares about it..

deb http://apt.binfalse.de binfalse main

NO_PUBKEY

For some repository you need to have special GPG keys in your keyring, otherwise you’ll see an error such as:

$ aptitude update
[...]
W: GPG error: http://apt.binfalse.de binfalse InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY E81BC3078D2DD9BD

In that case you can usually add these keys to your keyring by executing the following to command:

key=E81BC3078D2DD9BD
gpg --keyserver pgpkeys.mit.edu --recv-key $key
gpg -a --export $key | sudo apt-key add -

Just replace the contents of the $key variable with the corresponding key id.