summaryrefslogtreecommitdiffstats
path: root/dselect/methods/multicd/README.multicd
blob: 19e5856b4a40f76d651b3caad454f596abf5962c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Installation method for multiple binary CDs
-------------------------------------------

 This directory contains a method to be used within dselect in order to
 access Debian binary packages stored across multiple binary CD-ROMs.

Acquiring package data
---------------------

 It is possible to access up to four binary directories within «dists/stable»:

  . main
  . contrib
  . non-free
  . local

 The selected method will try to read the «Packages.cd» file from each
 of these directories if it is available.

Identifying the CD-ROM
----------------------

 A unique name is associated to each CD. This name should correspond
 with the label on the front of the CD. The name is also available on
 the CD, so the system can find out which CD is in the drive at any
 time.

Installing the files
--------------------

 At the beginning of the installation the “multicd” method will sort
 the list of to-be-installed packages and install them CD by CD. If a
 different CD-ROM is required the user will be prompted to exchange
 the CD-ROM.

Preparing multiple binary CD-ROMs
---------------------------------

 Since the “multicd” method needs to know which packages are on which
 CD-ROMs one cannot use regular «Packages» files. An additional data
 field «X-Medium:» is required. The first CD-ROM from the set should
 contain all «Packages.cd» files. To be more convenient you should
 include the «Packages.cd» files on all CD-ROMs. This ensures that
 you do not have to start with the first CD-ROM all the time.

 Additionally the package needs to gain information which CD-ROM is
 currently used. Thus each CD-ROM contains the file «.disk/info»
 which contains the symbolic name for the CD-ROM as specified by
 «X-Medium:».

 In order to be able to create the modified «Packages.cd» files, you
 have to use the «-M medium» option of dpkg-scanpackages (supported
 in dpkg-dev since 1.15.5).

 To split the “main” distribution into two CD-ROMs you will need to
 create a «Packages.cd» file for each «binary-$arch» directory.
 Afterwards you simply append the second one to the first one and
 put the resulting «Packages.cd» file into both «binary-$arch»
 directories.

Sample Layout
-------------

 CD1 .disk/info = "Debian GNU/Linux binary-amd64"
     dists/stable/main/binary-all/
                       binary-amd64/Packages.cd.gz
                       binary-amd64/net/foo.deb
                  contrib/binary-amd64/Packages.cd.gz
                  non-free/binary-amd64/Packages.cd.gz

 CD2 .disk/info = "Debian GNU/Linux contrib-amd64"
     dists/stable/main/binary-amd64/Packages.cd.gz
                  contrib/binary-all/
                          binary-amd64/Packages.cd.gz
                          binary-amd64/net/foo.deb
                  non-free/binary-amd64/Packages.cd.gz

 CD3 .disk/info = "Debian GNU/Linux non-free-amd64"
     dists/stable/main/binary-amd64/Packages.cd.gz
                  contrib/binary-amd64/Packages.cd.gz
                  non-free/binary-all/
                           binary-amd64/Packages.cd.gz
                           binary-amd64/net/foo.deb

 To re-generate the Packages file you have to change directory into
 «dists/stable/$part» and issue «dpkg-scanpackages» as follows. It is
 assumed that you use regular compressed overrides files in
 «/pub/debian/indices».

 CD1: dpkg-scanpackages -M "Debian GNU/Linux binary-amd64" \
        binary-amd64 /pub/debian/indices/override.buster.gz \
        dists/stable/ > binary-amd64/Packages

 CD2: dpkg-scanpackages -M "Debian GNU/Linux contrib-amd64" \
        binary-amd64 /pub/debian/indices/override.buster.contrib.gz \
        dists/stable/ > binary-amd64/Packages

 CD3: dpkg-scanpackages -M "Debian GNU/Linux non-free-amd64" \
        binary-amd64 /pub/debian/indices/override.buster.non-free.gz \
        dists/stable/ > binary-amd64/Packages