Commit | Line | Data |
---|---|---|
1479465f GJ |
1 | Installation methods for multiple binary CDs |
2 | -------------------------------------------- | |
3 | ||
4 | This package provides three new methods to be used within dselect in | |
5 | order to access Debian binary packages stored across multiple binary CD | |
6 | ROMs. It will install itself into the methods directory from dselect | |
7 | so the user will be able to use them immediately. | |
8 | ||
9 | These are the three new methods: | |
10 | ||
11 | . Multiple binary CD-ROMs | |
12 | ||
13 | . Multiple binary CD-ROMs, accessed through NFS | |
14 | ||
15 | . Multiple binary CD-ROMs, pre-mounted | |
16 | ||
17 | Acquiring package data | |
18 | --------------------- | |
19 | ||
20 | Since this method is derived from the 'mounted' method the user is | |
21 | able to access up to five binary directories within 'dists/stable': | |
22 | ||
23 | . main | |
24 | . contrib | |
25 | . non-free | |
26 | . non-US | |
27 | . local | |
28 | ||
29 | The selected method will try to read the 'Packages.cd' file from each | |
30 | of these directories if it is available. | |
31 | ||
32 | Identifying the CD-ROM | |
33 | ---------------------- | |
34 | ||
35 | A unique name is associated to each CD. This name should correspond | |
36 | with the label on the front of the CD. The name is also available on | |
37 | the CD, so the system can find out which CD is in the drive at any | |
38 | time. | |
39 | ||
40 | Installing the files | |
41 | -------------------- | |
42 | ||
43 | At the beginning of the installation the 'multicd' package will sort | |
44 | the list of to-be-installed packages and install them CD by CD. If a | |
45 | different CD-ROM is required the user will be prompted to exchange | |
46 | the CD-ROM. | |
47 | ||
48 | Preparing multiple binary CD-ROMs | |
49 | --------------------------------- | |
50 | ||
51 | Since the 'multicd' methods need to know which packages are on which | |
52 | CD-ROMs one cannot use regular 'Packages' files. An additional data | |
53 | field "X-Medium:" is required. The first CD-ROM from the set should | |
54 | contain all 'Packages.cd' files. To be more convenient you should | |
55 | include the 'Packages.cd' files on all CD-ROMs. This ensures that | |
56 | you don't have to start with the first CD-ROM all the time. | |
57 | ||
58 | Additionally the package needs to gain information which CD-ROM is | |
59 | currently used. Thus each CD-ROM contains the file '.disk/info' | |
60 | which contains the symbolic name for the CD-ROM as specified by | |
61 | "X-Medium:". | |
62 | ||
63 | In order to be able to create the modified 'Packages.cd' files, you | |
64 | have to use the '-M medium' option of dpkg-scanpackages (supported | |
65 | in dpkg-dev >= 1.15.5). | |
66 | ||
67 | To split the 'main' distribution into two CD-ROMs you'll need to | |
68 | create a 'Packages.cd' file for each 'binary-$arch' directory. | |
69 | Afterwards you simply append the second one to the first one and | |
70 | put the resulting 'Packages.cd' file into both 'binary-$arch' | |
71 | directories. | |
72 | ||
73 | Sample Layout | |
74 | ------------- | |
75 | ||
76 | CD1 .disk/info = "Debian GNU/Linux binary-i386" | |
77 | dists/stable/main/binary-all/ | |
78 | binary-i386/Packages.cd.gz | |
79 | binary-i386/net/foo.deb | |
80 | contrib/binary-i386/Packages.cd.gz | |
81 | non-free/binary-i386/Packages.cd.gz | |
82 | non-US/binary-i386/Packages.cd.gz | |
83 | ||
84 | CD2 .disk/info = "Debian GNU/Linux contrib-i386" | |
85 | dists/stable/main/binary-i386/Packages.cd.gz | |
86 | contrib/binary-all/ | |
87 | binary-i386/Packages.cd.gz | |
88 | binary-i386/net/foo.deb | |
89 | non-free/binary-i386/Packages.cd.gz | |
90 | non-US/binary-i386/Packages.cd.gz | |
91 | ||
92 | CD3 .disk/info = "Debian GNU/Linux non-free-i386" | |
93 | dists/stable/main/binary-i386/Packages.cd.gz | |
94 | contrib/binary-i386/Packages.cd.gz | |
95 | non-free/binary-all/ | |
96 | binary-i386/Packages.cd.gz | |
97 | binary-i386/net/foo.deb | |
98 | non-US/binary-all/ | |
99 | ||
100 | To re-generate the Packages file you have to chdir into | |
101 | 'dists/stable/$part' and issue 'dpkg-scanpackages' as follows. It's | |
102 | assumed that you use regular compressed overrides files in | |
103 | /pub/debian/indices. | |
104 | ||
105 | CD1: dpkg-scanpackages -M "Debian GNU/Linux binary-i386" \ | |
106 | binary-i386 /pub/debian/indices/override.hamm.gz \ | |
107 | dists/stable/ > binary-i386/Packages | |
108 | ||
109 | CD2: dpkg-scanpackages -M "Debian GNU/Linux contrib-i386" \ | |
110 | binary-i386 /pub/debian/indices/override.hamm.contrib.gz \ | |
111 | dists/stable/ > binary-i386/Packages | |
112 | ||
113 | CD3: dpkg-scanpackages -M "Debian GNU/Linux non-free-i386" \ | |
114 | binary-i386 /pub/debian/indices/override.hamm.non-free.gz \ | |
115 | dists/stable/ > binary-i386/Packages | |
116 | ||
117 | Please direct comments to Martin Schulze <joey@infodrom.north.de> |