summaryrefslogtreecommitdiffstats
path: root/dselect/methods/media/README.media
blob: 42be9418eef8139d2ec5ec6e037f3076cb6c0e8d (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
101
102
103
104
105
106
Installation method for multiple binary media
---------------------------------------------

 This directory contains a method to be used within dselect in order to
 access Debian binary packages stored across multiple binary media
 (CDs, DVDs, BDs, or USBs).

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

 It is possible to access the following binary directories within
 «dists/stable»:

  . main
  . contrib
  . non-free-firmware
  . 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 media
----------------------

 A unique name is associated to each media disc. This name should correspond
 with the label on the front of the media disc. The name is also available on
 the media disc, so the system can find out which media disc is inserted into
 the computer at any time.

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

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

Preparing multiple binary media discs
-------------------------------------

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

 Additionally the package needs to gain information which media disc is
 currently used. Thus each media disc contains the file «.disk/info»
 which contains the symbolic name for the media disc 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 media discs 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
-------------

 Media disc 1 .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-firmware/binary-amd64/Packages.cd.gz
                  non-free/binary-amd64/Packages.cd.gz

 Media disc 2 .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-firmware/binary-amd64/Packages.cd.gz
                  non-free/binary-amd64/Packages.cd.gz

 Media disc 3 .disk/info = "Debian GNU/Linux non-free-amd64"
     dists/stable/main/binary-amd64/Packages.cd.gz
                  contrib/binary-amd64/Packages.cd.gz
                  non-free-firmware/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».

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

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

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