| 1 | <!-- -*- mode: sgml; mode: fold -*- --> |
| 2 | <!doctype refentry PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [ |
| 3 | |
| 4 | <!ENTITY % aptent SYSTEM "apt.ent"> |
| 5 | %aptent; |
| 6 | |
| 7 | ]> |
| 8 | |
| 9 | <refentry> |
| 10 | &apt-docinfo; |
| 11 | |
| 12 | <refmeta> |
| 13 | <refentrytitle>sources.list</> |
| 14 | <manvolnum>5</> |
| 15 | </refmeta> |
| 16 | |
| 17 | <!-- Man page title --> |
| 18 | <refnamediv> |
| 19 | <refname>sources.list</> |
| 20 | <refpurpose>Package resource list for APT</> |
| 21 | </refnamediv> |
| 22 | |
| 23 | <RefSect1><Title>Description</> |
| 24 | <para> |
| 25 | The package resource list is used to locate archives of the package |
| 26 | distribution system in use on the system. At this time, this manual page |
| 27 | documents only the packaging system used by the Debian GNU/Linux system. |
| 28 | This control file is located in <filename>/etc/apt/sources.list</> |
| 29 | <para> |
| 30 | The source list is designed to support any number of active sources and a |
| 31 | variety of source media. The file lists one source per line, with the |
| 32 | most preferred source listed first. The format of each line is: |
| 33 | <literal/type uri args/. The first item, <literal/type/, determines the |
| 34 | format for <literal/args/. <literal/uri/ is a Universal Resource Identifier |
| 35 | (URI), which is a superset of the more specific and well-known Universal |
| 36 | Resource Locator, or URL. The rest of the line can be marked as a comment |
| 37 | by using a #. |
| 38 | </RefSect1> |
| 39 | |
| 40 | <RefSect1><Title>The deb and deb-src types</> |
| 41 | <para> |
| 42 | The <literal/deb/ type describes a typical two-level Debian archive, |
| 43 | <filename>distribution/component</>. Typically, <literal/distribution/ is |
| 44 | generally one of <literal/stable/, <literal/unstable/, or |
| 45 | <literal/testing/, while component is one of <literal/main/, |
| 46 | <literal/contrib/, <literal/non-free/, or <literal/non-us/. The |
| 47 | <literal/deb-src/ type describes a debian distribution's source code in |
| 48 | the same form as the <literal/deb/ type. A <literal/deb-src/ line is |
| 49 | required to fetch source indexes. |
| 50 | <para> |
| 51 | The format for a <filename/sources.list/ entry using the <literal/deb/ |
| 52 | and <literal/deb-src/ types are: |
| 53 | <literallayout>deb uri distribution [component1] [componenent2] [...]</literallayout> |
| 54 | <para> |
| 55 | The URI for the <literal/deb/ type must specify the base of the Debian |
| 56 | distribution, from which APT will find the information it needs. |
| 57 | <literal/distribution/ can specify an exact path, in which case the |
| 58 | components must be omitted and <literal/distribution/ must end with a |
| 59 | slash (/). This is useful for when only a particular sub-section of the |
| 60 | archive denoted by the URI is of interest. If <literal/distribution/ does |
| 61 | not specify an exact path, at least one <literal/component/ must be present. |
| 62 | <para> |
| 63 | <literal/distribution/ may also contain a variable, <literal/$(ARCH)/, |
| 64 | which expands to the Debian architecture (i386, m68k, powerpc, ...) |
| 65 | used on the system. This permits architecture-independent |
| 66 | <filename/sources.list/ files to be used. In general this is only of |
| 67 | interest when specifying an exact path, <literal/APT/ will automatically |
| 68 | generate a URI with the current architecture otherwise. |
| 69 | <para> |
| 70 | Since only one distribution can be specified per line it may be necessary |
| 71 | to have multiple lines for the same URI, if a subset of all available |
| 72 | distributions or components at that location is desired. |
| 73 | APT will sort the URI list after it has generated a complete set |
| 74 | internally, and will collapse multiple references to the same Internet |
| 75 | host, for instance, into a single connection, so that it does not |
| 76 | inefficiently establish an FTP connection, close it, do something else, |
| 77 | and then re-establish a connection to that same host. This feature is |
| 78 | useful for accessing busy FTP sites with limits on the number of |
| 79 | simultaneous anonymous users. APT also parallizes connections to |
| 80 | different hosts to more effectively deal with sites with low bandwidth. |
| 81 | <para> |
| 82 | It is important to list sources in order of preference, with the most |
| 83 | preferred source listed first. Typically this will result in sorting |
| 84 | by speed from fastest to slowest (CD-ROM followed by hosts on a local |
| 85 | network, followed by distant Internet hosts, for example). |
| 86 | <para> |
| 87 | Some examples: |
| 88 | <literallayout> |
| 89 | deb http://http.us.debian.org/debian stable main contrib non-free |
| 90 | deb http://http.us.debian.org/debian dists/stable-updates/ |
| 91 | </literallayout> |
| 92 | </RefSect1> |
| 93 | |
| 94 | <RefSect1><title>URI specification</title> |
| 95 | <para> |
| 96 | The currently recognized URI types are cdrom, file, http, and ftp. |
| 97 | <VariableList> |
| 98 | <VarListEntry><term>file</term> |
| 99 | <ListItem><Para> |
| 100 | The file scheme allows an arbitrary directory in the file system to be |
| 101 | considered an archive. This is useful for NFS mounts and local mirrors or |
| 102 | archives. |
| 103 | </VarListEntry> |
| 104 | |
| 105 | <VarListEntry><term>cdrom</term> |
| 106 | <ListItem><Para> |
| 107 | The cdrom scheme allows APT to use a local CDROM drive with media |
| 108 | swapping. Use the &apt-cdrom; program to create cdrom entries in the |
| 109 | source list. |
| 110 | </VarListEntry> |
| 111 | |
| 112 | <VarListEntry><term>http</term> |
| 113 | <ListItem><Para> |
| 114 | The http scheme specifies an HTTP server for the archive. If an environment |
| 115 | variable <EnVar/http_proxy/ is set with the format |
| 116 | http://server:port/, the proxy server specified in |
| 117 | <EnVar/http_proxy/ will be used. Users of authenticated HTTP/1.1 proxies |
| 118 | may use a string of the format http://user:pass@server:port/ |
| 119 | Note that this is an insecure method of authentication. |
| 120 | </VarListEntry> |
| 121 | |
| 122 | <VarListEntry><term>ftp</term> |
| 123 | <ListItem><Para> |
| 124 | The ftp scheme specifies an FTP server for the archive. APT's FTP behavior |
| 125 | is highly configurable; for more information see the |
| 126 | &apt-conf; manual page. Please note that a ftp proxy can be specified |
| 127 | by using the <EnVar/ftp_proxy/ environment variable. It is possible to |
| 128 | specify a http proxy (http proxy servers often understand ftp urls) using |
| 129 | this method and ONLY this method. ftp proxies using http specified in the |
| 130 | configuration file will be ignored. |
| 131 | </VarListEntry> |
| 132 | |
| 133 | <VarListEntry><term>copy</term> |
| 134 | <ListItem><Para> |
| 135 | The copy scheme is identical to the file scheme except that packages are |
| 136 | copied into the cache directory instead of used directly at their location. |
| 137 | This is useful for people using a zip disk to copy files around with APT. |
| 138 | </VarListEntry> |
| 139 | |
| 140 | <VarListEntry><term>rsh</term><term>ssh</term> |
| 141 | <ListItem><Para> |
| 142 | The rsh/ssh method invokes rsh/ssh to connect to a remote host |
| 143 | as a given user and access the files. No password authentication is |
| 144 | possible, prior arrangements with RSA keys or rhosts must have been made. |
| 145 | Access to files on the remote uses standard <command/find/ and <command/dd/ |
| 146 | commands to perform the file transfers from the remote. |
| 147 | </VarListEntry> |
| 148 | </VariableList> |
| 149 | </RefSect1> |
| 150 | |
| 151 | <RefSect1><title>Examples</title> |
| 152 | <para> |
| 153 | Uses the archive stored locally (or NFS mounted) at /home/jason/debian |
| 154 | for stable/main, stable/contrib, and stable/non-free. |
| 155 | <literallayout>deb file:/home/jason/debian stable main contrib non-free</literallayout> |
| 156 | <para> |
| 157 | As above, except this uses the unstable (development) distribution. |
| 158 | <literallayout>deb file:/home/jason/debian unstable main contrib non-free</literallayout> |
| 159 | <para> |
| 160 | Source line for the above |
| 161 | <literallayout>deb-src file:/home/jason/debian unstable main contrib non-free</literallayout> |
| 162 | <para> |
| 163 | Uses HTTP to access the archive at archive.debian.org, and uses only the |
| 164 | hamm/main area. |
| 165 | <literallayout>deb http://archive.debian.org/debian-archive hamm main</literallayout> |
| 166 | <para> |
| 167 | Uses FTP to access the archive at ftp.debian.org, under the debian |
| 168 | directory, and uses only the stable/contrib area. |
| 169 | <literallayout>deb ftp://ftp.debian.org/debian stable contrib</literallayout> |
| 170 | <para> |
| 171 | Uses FTP to access the archive at ftp.debian.org, under the debian |
| 172 | directory, and uses only the unstable/contrib area. If this line appears as |
| 173 | well as the one in the previous example in <filename/sources.list/, |
| 174 | a single FTP session will be used for both resource lines. |
| 175 | <literallayout>deb ftp://ftp.debian.org/debian unstable contrib</literallayout> |
| 176 | <para> |
| 177 | Uses HTTP to access the archive at nonus.debian.org, under the debian-non-US |
| 178 | directory. |
| 179 | <literallayout>deb http://nonus.debian.org/debian-non-US stable/non-US main contrib non-free</literallayout> |
| 180 | <para> |
| 181 | Uses HTTP to access the archive at nonus.debian.org, under the |
| 182 | debian-non-US directory, and uses only files found under |
| 183 | <filename>unstable/binary-i386</> on i386 machines, |
| 184 | <filename>unstable/binary-m68k</> on m68k, and so |
| 185 | forth for other supported architectures. [Note this example only |
| 186 | illustrates how to use the substitution variable; non-us is no longer |
| 187 | structured like this] |
| 188 | <literallayout>deb http://ftp.de.debian.org/debian-non-US unstable/binary-$(ARCH)/</literallayout> |
| 189 | </RefSect1> |
| 190 | |
| 191 | <RefSect1><Title>See Also</> |
| 192 | <para> |
| 193 | &apt-cache; &apt-conf; |
| 194 | </RefSect1> |
| 195 | |
| 196 | &manbugs; |
| 197 | &manauthor; |
| 198 | |
| 199 | </refentry> |