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 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 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/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/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/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