]>
Commit | Line | Data |
---|---|---|
24f6490f | 1 | <?xml version="1.0" encoding="utf-8" standalone="no"?> |
81cf16a2 DK |
2 | <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" |
3 | "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ | |
5abbf5bb DK |
4 | <!ENTITY % aptent SYSTEM "apt.ent"> %aptent; |
5 | <!ENTITY % aptverbatiment SYSTEM "apt-verbatim.ent"> %aptverbatiment; | |
6 | <!ENTITY % aptvendor SYSTEM "apt-vendor.ent"> %aptvendor; | |
24f6490f AL |
7 | ]> |
8 | ||
9 | <refentry> | |
5e80de29 AL |
10 | |
11 | <refentryinfo> | |
12 | &apt-author.jgunthorpe; | |
13 | &apt-author.team; | |
14 | &apt-email; | |
15 | &apt-product; | |
16 | <!-- The last update date --> | |
6c069a22 | 17 | <date>2014-01-18T00:00:00Z</date> |
5e80de29 | 18 | </refentryinfo> |
24f6490f AL |
19 | |
20 | <refmeta> | |
21 | <refentrytitle>sources.list</refentrytitle> | |
22 | <manvolnum>5</manvolnum> | |
f0599b9c | 23 | <refmiscinfo class="manual">APT</refmiscinfo> |
24f6490f AL |
24 | </refmeta> |
25 | ||
26 | <!-- Man page title --> | |
27 | <refnamediv> | |
28 | <refname>sources.list</refname> | |
dabb215c | 29 | <refpurpose>List of configured APT data sources</refpurpose> |
24f6490f AL |
30 | </refnamediv> |
31 | ||
32 | <refsect1><title>Description</title> | |
0ca491a7 JR |
33 | <para> |
34 | The source list <filename>/etc/apt/sources.list</filename> is designed to support | |
35 | any number of active sources and a variety of source media. The file lists one | |
36 | source per line, with the most preferred source listed first. The information available | |
37 | from the configured sources is acquired by <command>apt-get update</command> | |
38 | (or by an equivalent command from another APT front-end). | |
39 | </para> | |
40 | <para> | |
41 | Each line specifying a source starts with type (e.g. <literal>deb-src</literal>) | |
42 | followed by options and arguments for this type. | |
43 | Individual entries cannot be continued onto a following line. Empty lines | |
44 | are ignored, and a <literal>#</literal> character anywhere on a line marks | |
45 | the remainder of that line as a comment. | |
46 | </para> | |
24f6490f AL |
47 | </refsect1> |
48 | ||
7e154433 MV |
49 | <refsect1><title>sources.list.d</title> |
50 | <para>The <filename>/etc/apt/sources.list.d</filename> directory provides | |
6823d85b EL |
51 | a way to add sources.list entries in separate files. |
52 | The format is the same as for the regular <filename>sources.list</filename> file. | |
53 | File names need to end with | |
54 | <filename>.list</filename> and may only contain letters (a-z and A-Z), | |
55 | digits (0-9), underscore (_), hyphen (-) and period (.) characters. | |
44477002 JR |
56 | Otherwise APT will print a notice that it has ignored a file, unless that |
57 | file matches a pattern in the <literal>Dir::Ignore-Files-Silently</literal> | |
0ca491a7 | 58 | configuration list - in which case it will be silently ignored.</para> |
7e154433 MV |
59 | </refsect1> |
60 | ||
24f6490f | 61 | <refsect1><title>The deb and deb-src types</title> |
0ca491a7 JR |
62 | <para>The <literal>deb</literal> type references a typical two-level Debian |
63 | archive, <filename>distribution/component</filename>. The | |
64 | <literal>distribution</literal> is generally an archive name like | |
3805b0a7 DK |
65 | <literal>stable</literal> or <literal>testing</literal> or a codename like |
66 | <literal>&stable-codename;</literal> or <literal>&testing-codename;</literal> | |
0ca491a7 | 67 | while component is one of <literal>main</literal>, <literal>contrib</literal> or |
3805b0a7 | 68 | <literal>non-free</literal>. The |
0ca491a7 | 69 | <literal>deb-src</literal> type references a Debian distribution's source |
24f6490f AL |
70 | code in the same form as the <literal>deb</literal> type. |
71 | A <literal>deb-src</literal> line is required to fetch source indexes.</para> | |
72 | ||
24f6490f | 73 | <para>The format for a <filename>sources.list</filename> entry using the |
5f4331c4 | 74 | <literal>deb</literal> and <literal>deb-src</literal> types is:</para> |
24f6490f | 75 | |
796a0eff | 76 | <literallayout>deb [ options ] uri suite [component1] [component2] [...]</literallayout> |
24f6490f | 77 | |
181d5870 MV |
78 | <para>Alternatively a rfc822 style format is also supported: |
79 | <literallayout> | |
7f316a3f | 80 | Types: deb deb-src |
75c10df1 | 81 | URIs: http://example.com |
7dd62ea9 | 82 | Suites: stable testing |
6c069a22 | 83 | Sections: component1 component2 |
e67b9a23 MV |
84 | Description: short |
85 | long long long | |
181d5870 MV |
86 | [option1]: [option1-value] |
87 | ||
7f316a3f MV |
88 | Types: deb |
89 | URIs: http://another.example.com | |
90 | Suites: experimental | |
6c069a22 | 91 | Sections: component1 component2 |
7dd62ea9 | 92 | Enabled: no |
e67b9a23 MV |
93 | Description: short |
94 | long long long | |
7dd62ea9 | 95 | [option1]: [option1-value] |
181d5870 MV |
96 | </literallayout> |
97 | </para> | |
98 | ||
24f6490f AL |
99 | <para>The URI for the <literal>deb</literal> type must specify the base of the |
100 | Debian distribution, from which APT will find the information it needs. | |
796a0eff MV |
101 | <literal>suite</literal> can specify an exact path, in which case the |
102 | components must be omitted and <literal>suite</literal> must end with | |
0ca491a7 JR |
103 | a slash (<literal>/</literal>). This is useful for the case when only a |
104 | particular sub-section of the archive denoted by the URI is of interest. | |
796a0eff | 105 | If <literal>suite</literal> does not specify an exact path, at least |
24f6490f AL |
106 | one <literal>component</literal> must be present.</para> |
107 | ||
796a0eff | 108 | <para><literal>suite</literal> may also contain a variable, |
24f6490f | 109 | <literal>$(ARCH)</literal> |
0ca491a7 JR |
110 | which expands to the Debian architecture (such as <literal>amd64</literal> or |
111 | <literal>armel</literal>) used on the system. This permits architecture-independent | |
24f6490f AL |
112 | <filename>sources.list</filename> files to be used. In general this is only |
113 | of interest when specifying an exact path, <literal>APT</literal> will | |
114 | automatically generate a URI with the current architecture otherwise.</para> | |
115 | ||
796a0eff MV |
116 | <para>In the traditional style sources.list format since only one |
117 | distribution can be specified per line it may be necessary to have | |
118 | multiple lines for the same URI, if a subset of all available | |
119 | distributions or components at that location is desired. APT will | |
120 | sort the URI list after it has generated a complete set internally, | |
121 | and will collapse multiple references to the same Internet host, | |
122 | for instance, into a single connection, so that it does not | |
123 | inefficiently establish an FTP connection, close it, do something | |
124 | else, and then re-establish a connection to that same host. This | |
125 | feature is useful for accessing busy FTP sites with limits on the | |
126 | number of simultaneous anonymous users. APT also parallelizes | |
127 | connections to different hosts to more effectively deal with sites | |
128 | with low bandwidth.</para> | |
24f6490f | 129 | |
0ca491a7 | 130 | <para><literal>options</literal> is always optional and needs to be surrounded by |
30fd3c9f DK |
131 | square brackets. It can consist of multiple settings in the form |
132 | <literal><replaceable>setting</replaceable>=<replaceable>value</replaceable></literal>. | |
0ca491a7 JR |
133 | Multiple settings are separated by spaces. The following settings are supported by APT |
134 | (note however that unsupported settings will be ignored silently): | |
3d1be93d DK |
135 | <itemizedlist> |
136 | <listitem><para><literal>arch=<replaceable>arch1</replaceable>,<replaceable>arch2</replaceable>,…</literal> | |
0ca491a7 | 137 | can be used to specify for which architectures information should |
30fd3c9f | 138 | be downloaded. If this option is not set all architectures defined by the |
4b42f43b | 139 | <literal>APT::Architectures</literal> option will be downloaded.</para></listitem> |
463c8d80 | 140 | |
3d1be93d DK |
141 | <listitem><para><literal>arch+=<replaceable>arch1</replaceable>,<replaceable>arch2</replaceable>,…</literal> |
142 | and <literal>arch-=<replaceable>arch1</replaceable>,<replaceable>arch2</replaceable>,…</literal> | |
143 | which can be used to add/remove architectures from the set which will be downloaded.</para></listitem> | |
463c8d80 DK |
144 | |
145 | <listitem><para><literal>lang=<replaceable>lang1</replaceable>,<replaceable>lang2</replaceable>,…</literal>, | |
146 | <literal>lang+=<replaceable>lang1</replaceable>,<replaceable>lang2</replaceable>,…</literal> and | |
147 | <literal>lang-=<replaceable>lang1</replaceable>,<replaceable>lang2</replaceable>,…</literal> functioning in | |
148 | the same way as the <literal>arch</literal>-options described before. They can be used to specify for | |
149 | which languages apt will acquire metadata, like translated package descriptions, for. If not specified, the | |
150 | default set is defined by the <literal>Acquire::Languages</literal> config option.</para></listitem> | |
151 | ||
152 | <listitem><para><literal>target=<replaceable>target1</replaceable>,<replaceable>target2</replaceable>,…</literal>, | |
153 | <literal>target+=<replaceable>target1</replaceable>,<replaceable>target2</replaceable>,…</literal> and | |
154 | <literal>target-=<replaceable>target1</replaceable>,<replaceable>target2</replaceable>,…</literal> again functioning in | |
155 | the same way as the <literal>arch</literal>-options described before. They can be used to specify which | |
156 | targets apt will try to acquire from this source. If not specified, the default set is defined by | |
157 | the <literal>APT::Acquire::Targets</literal> configuration scope.</para></listitem> | |
158 | ||
4b42f43b | 159 | <listitem><para><literal>trusted=yes</literal> can be set to indicate that packages |
4d704f20 | 160 | from this source are always authenticated even if the <filename>Release</filename> file |
4b42f43b DK |
161 | is not signed or the signature can't be checked. This disables parts of &apt-secure; |
162 | and should therefore only be used in a local and trusted context. <literal>trusted=no</literal> | |
4d704f20 | 163 | is the opposite which handles even correctly authenticated sources as not authenticated.</para></listitem> |
4b42f43b | 164 | </itemizedlist></para> |
30fd3c9f | 165 | |
24f6490f AL |
166 | <para>It is important to list sources in order of preference, with the most |
167 | preferred source listed first. Typically this will result in sorting | |
168 | by speed from fastest to slowest (CD-ROM followed by hosts on a local | |
169 | network, followed by distant Internet hosts, for example).</para> | |
170 | ||
171 | <para>Some examples:</para> | |
172 | <literallayout> | |
e1dd65c9 DK |
173 | deb http://ftp.debian.org/debian &stable-codename; main contrib non-free |
174 | deb http://security.debian.org/ &stable-codename;/updates main contrib non-free | |
24f6490f AL |
175 | </literallayout> |
176 | ||
177 | </refsect1> | |
178 | ||
179 | <refsect1><title>URI specification</title> | |
180 | ||
aec22160 | 181 | <para>The currently recognized URI types are: |
24f6490f | 182 | <variablelist> |
aec22160 | 183 | <varlistentry><term><command>file</command></term> |
24f6490f AL |
184 | <listitem><para> |
185 | The file scheme allows an arbitrary directory in the file system to be | |
186 | considered an archive. This is useful for NFS mounts and local mirrors or | |
187 | archives.</para></listitem> | |
188 | </varlistentry> | |
189 | ||
aec22160 | 190 | <varlistentry><term><command>cdrom</command></term> |
24f6490f | 191 | <listitem><para> |
6f33340f | 192 | The cdrom scheme allows APT to use a local CD-ROM drive with media |
24f6490f AL |
193 | swapping. Use the &apt-cdrom; program to create cdrom entries in the |
194 | source list.</para></listitem> | |
195 | </varlistentry> | |
196 | ||
aec22160 | 197 | <varlistentry><term><command>http</command></term> |
24f6490f AL |
198 | <listitem><para> |
199 | The http scheme specifies an HTTP server for the archive. If an environment | |
200 | variable <envar>http_proxy</envar> is set with the format | |
201 | http://server:port/, the proxy server specified in | |
202 | <envar>http_proxy</envar> will be used. Users of authenticated | |
203 | HTTP/1.1 proxies may use a string of the format | |
5f4331c4 | 204 | http://user:pass@server:port/. |
24f6490f AL |
205 | Note that this is an insecure method of authentication.</para></listitem> |
206 | </varlistentry> | |
207 | ||
aec22160 | 208 | <varlistentry><term><command>ftp</command></term> |
24f6490f AL |
209 | <listitem><para> |
210 | The ftp scheme specifies an FTP server for the archive. APT's FTP behavior | |
211 | is highly configurable; for more information see the | |
0ca491a7 | 212 | &apt-conf; manual page. Please note that an FTP proxy can be specified |
24f6490f | 213 | by using the <envar>ftp_proxy</envar> environment variable. It is possible |
0ca491a7 | 214 | to specify an HTTP proxy (HTTP proxy servers often understand FTP URLs) |
dabb215c | 215 | using this environment variable and <emphasis>only</emphasis> this |
0ca491a7 | 216 | environment variable. Proxies using HTTP specified in |
24f6490f AL |
217 | the configuration file will be ignored.</para></listitem> |
218 | </varlistentry> | |
219 | ||
aec22160 | 220 | <varlistentry><term><command>copy</command></term> |
24f6490f AL |
221 | <listitem><para> |
222 | The copy scheme is identical to the file scheme except that packages are | |
223 | copied into the cache directory instead of used directly at their location. | |
0ca491a7 | 224 | This is useful for people using removable media to copy files around with APT.</para></listitem> |
24f6490f AL |
225 | </varlistentry> |
226 | ||
aec22160 | 227 | <varlistentry><term><command>rsh</command></term><term><command>ssh</command></term> |
24f6490f | 228 | <listitem><para> |
0ca491a7 JR |
229 | The rsh/ssh method invokes RSH/SSH to connect to a remote host and |
230 | access the files as a given user. Prior configuration of rhosts or RSA keys | |
231 | is recommended. The standard <command>find</command> and <command>dd</command> | |
232 | commands are used to perform the file transfers from the remote host. | |
233 | </para></listitem> | |
24f6490f | 234 | </varlistentry> |
71bba383 | 235 | |
aec22160 | 236 | <varlistentry><term>adding more recognizable URI types</term> |
71bba383 | 237 | <listitem><para> |
0ca491a7 JR |
238 | APT can be extended with more methods shipped in other optional packages, which should |
239 | follow the naming scheme <package>apt-transport-<replaceable>method</replaceable></package>. | |
240 | For instance, the APT team also maintains the package <package>apt-transport-https</package>, | |
241 | which provides access methods for HTTPS URIs with features similar to the http method. | |
242 | Methods for using e.g. debtorrent are also available - see &apt-transport-debtorrent;. | |
71bba383 DK |
243 | </para></listitem> |
244 | </varlistentry> | |
24f6490f AL |
245 | </variablelist> |
246 | </para> | |
247 | </refsect1> | |
248 | ||
249 | <refsect1><title>Examples</title> | |
250 | <para>Uses the archive stored locally (or NFS mounted) at /home/jason/debian | |
251 | for stable/main, stable/contrib, and stable/non-free.</para> | |
252 | <literallayout>deb file:/home/jason/debian stable main contrib non-free</literallayout> | |
253 | ||
254 | <para>As above, except this uses the unstable (development) distribution.</para> | |
255 | <literallayout>deb file:/home/jason/debian unstable main contrib non-free</literallayout> | |
256 | ||
257 | <para>Source line for the above</para> | |
258 | <literallayout>deb-src file:/home/jason/debian unstable main contrib non-free</literallayout> | |
259 | ||
30fd3c9f DK |
260 | <para>The first line gets package information for the architectures in <literal>APT::Architectures</literal> |
261 | while the second always retrieves <literal>amd64</literal> and <literal>armel</literal>.</para> | |
262 | <literallayout>deb http://ftp.debian.org/debian &stable-codename; main | |
263 | deb [ arch=amd64,armel ] http://ftp.debian.org/debian &stable-codename; main</literallayout> | |
264 | ||
24f6490f AL |
265 | <para>Uses HTTP to access the archive at archive.debian.org, and uses only |
266 | the hamm/main area.</para> | |
267 | <literallayout>deb http://archive.debian.org/debian-archive hamm main</literallayout> | |
268 | ||
269 | <para>Uses FTP to access the archive at ftp.debian.org, under the debian | |
e1dd65c9 DK |
270 | directory, and uses only the &stable-codename;/contrib area.</para> |
271 | <literallayout>deb ftp://ftp.debian.org/debian &stable-codename; contrib</literallayout> | |
24f6490f AL |
272 | |
273 | <para>Uses FTP to access the archive at ftp.debian.org, under the debian | |
274 | directory, and uses only the unstable/contrib area. If this line appears as | |
5f4331c4 | 275 | well as the one in the previous example in <filename>sources.list</filename> |
24f6490f AL |
276 | a single FTP session will be used for both resource lines.</para> |
277 | <literallayout>deb ftp://ftp.debian.org/debian unstable contrib</literallayout> | |
278 | ||
3805b0a7 DK |
279 | <para>Uses HTTP to access the archive at ftp.tlh.debian.org, under the |
280 | universe directory, and uses only files found under | |
281 | <filename>unstable/binary-i386</filename> on i386 machines, | |
282 | <filename>unstable/binary-amd64</filename> on amd64, and so | |
283 | forth for other supported architectures. [Note this example only | |
284 | illustrates how to use the substitution variable; official debian | |
285 | archives are not structured like this] | |
286 | <literallayout>deb http://ftp.tlh.debian.org/universe unstable/binary-$(ARCH)/</literallayout> | |
24f6490f AL |
287 | </para> |
288 | </refsect1> | |
289 | ||
290 | <refsect1><title>See Also</title> | |
5e80de29 | 291 | <para>&apt-cache; &apt-conf; |
24f6490f AL |
292 | </para> |
293 | </refsect1> | |
294 | ||
295 | &manbugs; | |
24f6490f AL |
296 | |
297 | </refentry> | |
298 |