/[ddp]/manuals/trunk/debian-faq/ftparchives.sgml
ViewVC logotype

Contents of /manuals/trunk/debian-faq/ftparchives.sgml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 9150 - (show annotations) (download) (as text)
Sat Mar 17 18:20:54 2012 UTC (14 months, 1 week ago) by taffit
File MIME type: text/x-sgml
File size: 16628 byte(s)
Remove useless (R): Debian is about free software, not trademark enforcement
1 <!-- retain these comments for translator revision tracking -->
2 <!-- Original version: $Revision: 1.49 $ -->
3 <chapt id="ftparchives">The Debian FTP archives
4
5 <sect id="dists">How many Debian distributions are there?
6
7 <p>There are three major distributions: the "stable" distribution, the
8 "testing" distribution, and the "unstable" distribution. The "testing"
9 distribution is sometimes `frozen' (see <ref id="frozen">). Next to these,
10 there is the "oldstable" distribution (that's just the one from before
11 "stable"), and the "experimental" distribution.
12
13 <p>Experimental is used for packages which are still being developed, and with
14 a high risk of breaking your system. It's used by developers who'd like to
15 study and test bleeding edge software. Users shouldn't be using packages from
16 here, because they can be dangerous and harmful even for the most experienced
17 people.
18
19 <p>See <ref id="choosing"> for help when choosing a Debian distribution.
20
21 <sect id="codenames">What are all those names like etch, lenny, etc.?
22
23 <p>They are just "codenames". When a Debian distribution is in the
24 development stage, it has no version number but a codename. The purpose
25 of these codenames is to make easier the mirroring of the Debian
26 distributions (if a real directory like <tt>unstable</tt> suddenly changed
27 its name to <tt>stable</tt>, a lot of stuff would have to be needlessly
28 downloaded again).
29
30 <p>Currently, <tt>stable</tt> is a symbolic link to <tt>&releasename;</tt>
31 (i.e. &debian; &release;) and <tt>testing</tt> is a symbolic link to
32 <tt>&testingreleasename;</tt>.
33 This means that <tt>&releasename;</tt> is the current stable
34 distribution and <tt>&testingreleasename;</tt> is the current testing distribution.
35
36 <p><tt>unstable</tt> is a permanent symbolic link to <tt>sid</tt>, as
37 <tt>sid</tt> is always the unstable distribution (see <ref id="sid">).
38
39 <sect1 id="oldcodenames">Which other codenames have been used in the past?
40
41 <p>Other codenames that have been already used are: <tt>buzz</tt> for
42 release 1.1, <tt>rex</tt> for release 1.2, <tt>bo</tt> for releases 1.3.x,
43 <tt>hamm</tt> for release 2.0, <tt>slink</tt> for release 2.1,
44 <tt>potato</tt> for release 2.2, <tt>woody</tt> for release 3.0,
45 <tt>sarge</tt> for release 3.1, <tt>etch</tt> for release 4.0, and
46 <tt>lenny</tt> for release 5.0, and
47 <tt>squeeze</tt> for release 6.0.
48 <!--
49 Enable when released (jfs):
50 <tt>wheezy</tt> for release 7.0
51 -->
52
53 <sect1 id="sourceforcodenames">Where do these codenames come from?
54
55 <p>So far they have been characters taken from the "Toy Story" movies by Pixar.
56 <list>
57 <item><em>buzz</em> (Buzz Lightyear) was the spaceman,
58 <item><em>rex</em> was the tyrannosaurus,
59 <item><em>bo</em> (Bo Peep) was the girl who took care of the sheep,
60 <item><em>hamm</em> was the piggy bank,
61 <item><em>slink</em> (Slinky Dog) was the toy dog,
62 <item><em>potato</em> was, of course, Mr. Potato,
63 <item><em>woody</em> was the cowboy,
64 <item><em>sarge</em> was the sergeant of the Green Plastic Army Men,
65 <item><em>etch</em> was the toy blackboard (Etch-a-Sketch),
66 <item><em>lenny</em> was the toy binoculars.
67 <item><em>squeeze</em> was the name for the three-eyed aliens.
68 <item><em>wheezy</em> was the name of the rubber toy penguin with
69 a red bow tie.
70
71 <!-- SID should be the last line always -->
72 <item><em>sid</em> was the boy next door who destroyed toys.
73 </list>
74
75 <!-- TODO
76 Q: Should we add the trademark info here? Maybe as a footnote
77 Mr. Potato is a Registered Trademark of Playskool, Inc.,
78 Pawtucket, R.I., a division of Hasbro Inc.
79 Slinky Dog is a trademark of Poof Products of Plymouth, Mich.,
80 Etch-a-Sketch is a trademark of The Ohio Art Company,
81 other characters might also be registered trademarks...
82 (jfs)
83 -->
84 <!--
85 more info in http://www.pixar.com/featurefilms/ts/
86 and http://www.pixar.com/featurefilms/ts2/
87 or
88 http://en.wikipedia.org/wiki/List_of_Toy_Story_characters
89 or better yet http://us.imdb.com/M/title-exact?Toy%20Story%20(1995)
90 or actually:
91 http://us.imdb.com/Title?0114709 for TS1
92 http://us.imdb.com/Title?0120363 for TS2
93 we shouldn't put the links in, Pixar needs no additional propaganda
94 -->
95 <!--
96 characters not used from Toy Story (yet):
97 - Andy (the kid)
98 - Snake
99 - Robot
100 - Scud (Sid's dog)
101 - Three Eyed Alien
102 - Rocky (the wrestling figure)
103 - Roller Bob (the remote control car)
104 - Legs (one of sid's mutant toys)
105 - Hand-in-the-box (one of sid's mutant toys)
106 - Duckie (one of sid's mutant toys)
107 and additional characters from Toy Story 2, also not yet used:
108 - Al (the propietor of Al's Toy Farm)
109 - Jessie (the Yodelling Cowgirl)
110 - Bullseye (Woody's toy horse)
111 - Zurg (the Evil Emperor)
112 - Hannah (owner of Jessie)
113 - Stinky Pete the Prospector (the old fat guy)
114 - Mrs. Davis (Andy's Mom)
115 - Barbie (the Tour Guide, probably under (c))
116 - Mrs. Potato Head
117 - Heimlich the Caterpillar
118 -->
119 <!-- (jfs) Just in case somebody misses the "What do we do when we finish
120 with Toy Story characters" thread see:
121 http://lists.debian.org/debian-devel/2002/debian-devel-200207/msg01133.html
122 I, suggested we followed with either Monster's Inc or "A Bug's life" :)
123 -->
124
125 <sect id="sid">What about "sid"?
126
127 <p><em>sid</em> or <em>unstable</em> is the place where most of the packages
128 are initially uploaded. It will never be released directly, because packages
129 which are to be released will first have to be included in <em>testing</em>,
130 in order to be released in <em>stable</em> later on. sid contains packages
131 for both released and unreleased architectures.
132
133 <p>The name "sid" also comes from the "Toy Story" animated motion picture:
134 Sid was the boy next door who destroyed toys :-)
135
136 <p><footnote>
137 <p>When the present-day sid did not exist, the FTP site organization had one
138 major flaw: there was an assumption that when an architecture is created in
139 the current unstable, it will be released when that distribution becomes the
140 new stable. For many architectures that isn't the case, with the result that
141 those directories had to be moved at release time. This was impractical
142 because the move would chew up lots of bandwidth.
143
144 <p>The archive administrators worked around this problem for several years
145 by placing binaries for unreleased architectures in a special directory
146 called "sid". For those architectures not yet released, the first time they
147 were released there was a link from the current stable to sid, and from
148 then on they were created inside the unstable tree as normal. This layout
149 was somewhat confusing to users.
150
151 <p>With the advent of package pools (see <ref id="pools">), binary packages
152 began to be stored in a canonical location in the pool, regardless of the
153 distribution, so releasing a distribution no longer causes large bandwidth
154 consumption on the mirrors (there is, however, a lot of gradual bandwidth
155 consumption throughout the development process).
156 </footnote>
157
158 <sect id="stable">What does the stable directory contain?
159
160 <p><list>
161 <item>stable/main/:
162 This directory contains the packages which formally constitute the most
163 recent release of the &debian; system.
164
165 <p>These packages all comply with the <url name="Debian Free Software
166 Guidelines" id="http://www.debian.org/social_contract#guidelines">,
167 and are all freely usable and distributable.
168
169 <item>stable/non-free/: This directory contains packages distribution of
170 which is restricted in a way that requires that distributors take careful
171 account of the specified copyright requirements.
172
173 <p>For example, some packages have licenses which prohibit commercial
174 distribution. Others can be redistributed but are in fact shareware
175 and not free software. The licenses of each of these packages must be
176 studied, and possibly negotiated, before the packages are included in
177 any redistribution (e.g., in a CD-ROM).
178
179 <item>stable/contrib/: This directory contains packages which are
180 DFSG-free and <em>freely distributable</em> themselves, but somehow depend
181 on a package that is <em/not/ freely distributable and thus available only
182 in the non-free section.
183 </list>
184
185 <sect id="testing">What does the testing distribution contain?
186
187 <p>Packages are installed into the `testing' directory after they have
188 undergone some degree of testing in <qref id="unstable">unstable</qref>.
189
190 <p>They must be in sync on all architectures where they have been built and
191 mustn't have dependencies that make them uninstallable; they also have to
192 have fewer release-critical bugs than the versions currently in testing.
193 This way, we hope that `testing' is always close to being a release
194 candidate.
195
196 <p>More information about the status of "testing" in general and the
197 individual packages is available at
198 <url id="http://www.debian.org/devel/testing">.
199
200 <sect1 id="frozen">What about "testing"? How is it `frozen'?
201
202 <p>When the "testing" distribution is mature enough, the release manager
203 starts `freezing' it. The normal propagation delays are increased to ensure
204 that as little as possible new bugs from "unstable" enter "testing".
205
206 <p>After a while, the "testing" distribution becomes truly `frozen'. This
207 means that all new packages that are to propagate to the "testing" are held
208 back, unless they include release-critical bug fixes. The "testing"
209 distribution can also remain in such a deep freeze during the so-called
210 `test cycles', when the release is imminent.
211
212 <p>We keep a record of bugs in the "testing" distribution that can hold off a
213 package from being released, or bugs that can hold back the whole release.
214 For details, please see <url name="current testing release information"
215 id="http://www.debian.org/releases/testing/">.
216
217 <p>Once that bug count lowers to maximum acceptable values, the frozen
218 "testing" distribution is declared "stable" and released with a version
219 number.
220
221 <p>With each new release, the previous "stable" distribution becomes
222 obsolete and moves to the archive. For more information please see
223 <url name="Debian archive" id="http://www.debian.org/distrib/archive">.
224
225 <sect id="unstable">What does the unstable distribution contain?
226
227 <p>The `unstable' directory contains a snapshot of the current development
228 system. Users are welcome to use and test these packages, but are warned
229 about their state of readiness. The advantage of using the unstable
230 distribution is that you are always up-to-date with the latest in GNU/Linux
231 software industry, but if it breaks: you get to keep both parts :-)
232
233 <p>There are also main, contrib and non-free subdirectories in `unstable',
234 separated on the same criteria as in `stable'.
235
236 <sect id="dirtree">What are all those directories at the Debian FTP archives?
237
238 <p>The software that has been packaged for &debian; is available in one
239 of several directory trees on each Debian mirror site.
240
241 <p>The <tt>dists</tt> directory is short for "distributions", and it is
242 the canonical way to access the currently available Debian releases
243 (and pre-releases).
244
245 <p>The <tt>pool</tt> directory contains the actual packages, see
246 <ref id="pools">.
247
248 <p>There are the following supplementary directories:
249 <taglist>
250 <tag><em>/tools/</em>:
251 <item>DOS utilities for creating boot disks, partitioning
252 your disk drive, compressing/decompressing files, and booting Linux.
253 <tag><em>/doc/</em>:
254 <item>The basic Debian documentation, such as this FAQ, the bug reporting
255 system instructions, etc.
256 <tag><em>/indices/</em>:
257 <item>various indices of the site (the Maintainers file and the override
258 files).
259 <tag><em>/project/</em>:
260 <item>mostly developer-only materials and some miscellaneous files.
261 </taglist>
262
263 <sect id="archsections">What are all those directories inside
264 <tt>dists/stable/main</tt>?
265
266 <p>Within each of the major directory trees<footnote>
267 <tt>dists/stable/main</tt>, <tt>dists/stable/contrib</tt>,
268 <tt>dists/stable/non-free</tt>, and <tt>dists/unstable/main/</tt>, etc.
269 </footnote>, there are three sets of subdirectories containing index files.
270
271 <p>There's one set of <tt>binary-<var>something</var></tt> subdirectories
272 which contain index files for binary packages of each available computer
273 architecture, for example <tt/binary-i386/ for packages which execute on
274 Intel x86 PC machines or <tt/binary-sparc/ for packages which execute on
275 Sun SPARCStations.
276
277 <p>The complete list of available architectures for each release is available
278 at <url name="the release's web page" id="http://www.debian.org/releases/">.
279 For the current release, please see <ref id="arches">.
280
281 <p>The index files in binary-* are called Packages(.gz, .bz2) and they include
282 a summary of each binary package that is included in that distribution.
283 The actual binary packages
284 reside in the top level <qref id="pools"><tt/pool/ directory</qref>.
285
286 <p>Furthermore, there's a subdirectory called source/ which
287 contains index files for source packages included in the distribution.
288 The index file is called Sources(.gz, .bz2).
289
290 <p>Last but not least, there's a set of subdirectories meant for the
291 installation system index files, they are at
292 <tt>debian-installer/binary-<var>architecture</var></tt>.
293
294 <sect id="source">Where is the source code?
295
296 <p>Source code is included for everything in the Debian system. Moreover,
297 the license terms of most programs in the system <em>require</em> that
298 source code be distributed along with the programs, or that an offer to
299 provide the source code accompany the programs.
300
301 <p>The source code is distributed in the <tt>pool</tt> directory
302 (see <ref id="pools">) together with all the architecture-specific
303 binary directories.
304 To retrieve the source code without having to be familiar with the
305 structure of the FTP archive, try a command like
306 <tt>apt-get source mypackagename</tt>.
307
308 <p>Some packages are only distributed as source code due to the restrictions
309 in their licenses. Notably, one such package is <tt>pine</tt>, see
310 <ref id="pine"> for more information.
311
312 <p>Source code may or may not be available for packages in the "contrib"
313 and "non-free" directories, which are not formally part of the Debian system.
314
315 <sect id="pools">What's in the <tt>pool</tt> directory?
316
317 <p>Packages are kept in a large `pool', structured according to the name
318 of the source package. To make this manageable, the pool is subdivided by
319 section (`main', `contrib' and `non-free') and by the first letter of the
320 source package name. These directories contain several files: the binary
321 packages for each architecture, and the source packages from which the binary
322 packages were generated.
323
324 <p>You can find out where each package is placed by executing a command like
325 <tt>apt-cache showsrc mypackagename</tt> and looking at the `Directory:'
326 line. For example, the <tt>apache</tt> packages are stored in
327 <tt>pool/main/a/apache/</tt>.
328
329 <p>Additionally, since there are so many <tt>lib*</tt>
330 packages, these are treated specially: for instance, libpaper packages are
331 stored in <tt>pool/main/libp/libpaper/</tt>.
332
333 <!-- joeyh doesn't want to maintain it so it's dead; need to integrate it
334 If you want more information, see the
335 <url id="http://people.debian.org/~joeyh/poolfaq"
336 name="Debian Package Pools FAQ">.
337 -->
338
339 <p><footnote>
340 <p>Historically, packages were kept in the subdirectory of <tt>dists</tt>
341 corresponding to which distribution contained them. This turned out to cause
342 various problems, such as large bandwidth consumption on mirrors when major
343 changes were made. This was fixed with the introduction of the package pool.
344
345 <p>The <tt>dists</tt> directories are still used for the index files
346 used by programs like <tt>apt</tt>.
347 </footnote>
348
349 <sect id="incoming">What is "incoming"?
350
351 <p>After a developer uploads a package, it stays for a short while in the
352 "incoming" directory before it is checked that it's genuine and allowed into
353 the archive.
354
355 <p>Usually nobody should install things from this place. However, in some
356 rare cases of emergency, the incoming directory is available at
357 <url id="http://incoming.debian.org/">. You can manually fetch packages,
358 check the GPG signature and MD5sums in the .changes and .dsc files,
359 and then install them.
360
361 <sect id="ownrepository">How do I set up my own apt-able repository?
362
363 <p>If you have built some private Debian packages which you'd like to install
364 using the standard Debian package management tools, you can set up your own
365 apt-able package archive. This is also useful if you'd like to share your
366 Debian packages while these are not distributed by the Debian project.
367 Instructions on how to do this are given in the <url name="Debian Repository
368 HOWTO"
369 id="http://www.debian.org/doc/manuals/repository-howto/repository-howto">.
370

  ViewVC Help
Powered by ViewVC 1.1.5