[CentOS-devel] DVD split media

Mon Jun 30 08:17:46 UTC 2014
Anssi Johansson <centos at miuku.net>

28.6.2014 4.21, Anssi Johansson kirjoitti:
> So it looks like the lists may need to be tweaked a bit, but for the
> most part they should be okay.

I took a slightly different approach to this problem. This time I based 
my rpm list on what actually got installed. I also noticed that the 
comps file mentions a number of packages that are actually not 
selectable from the installer, such as irssi. My previous list included 
those optional unselectable packages as well, but it turns out this 
wasn't such a good idea. I think DVD1 should contain only packages that 
can actually be installed with the installer. If someone needs more 
packages than that, he/she can install them with yum, or download the 
2nd DVD as well and install from there.

There are only nine "Base Environments" that can be selected from the 
installer, namely these:

Minimal Install
Infrastructure Server
File and Print Server
Basic Web Server
Virtualization Host
Server with GUI
Gnome Desktop
KDE Plasma Workspaces
Development and Creative Workstation

I did a full install of each, selecting all the Add-Ons for Selected 
Environment, and recorded which rpms got installed. Actually I did two 
installs of each to bring a little bit of variety to the mix: the first 
one got installed with addons 1, 3, 5... and the second one got 
installed with addons 2, 4, 6..., and finally I merged the package lists 
of the two variants into one.

The lists are available at http://miuku.net/tmp/7packages/ (see the 
7packages_* files).

I had already determined a list of packages that the installer might 
pull in by itself in some specific situations, such as when installing 
on encrypted filesystems. A list of these can be found at 
http://miuku.net/tmp/7packages/7pkgs-exotic.txt

There is also a number of language packs that get installed based on 
language support. That list is at 
http://miuku.net/tmp/7packages/7pkgs-langpacks.txt

Combining all of the above, I ended up with a list of 2947 packages. 
This list led to a nice split of 3.2GB / 2.8GB for each DVD.

I also moved a few metapackages from the DVD2 candidate list to DVD1, 
namely those listed at 
http://miuku.net/tmp/7packages/7pkgs-metapackages.txt . Most of the 
packages that are required by those metapackages were already on DVD1. 
These are not all the metapackages, but only the ones I thought might be 
the most useful. Having these metapackages on DVD1 might be more 
relevant for CentOS 7.next -- if someone has installed libreoffice with 
"yum install libreoffice" and then later on does an upgrade from CentOS 
7.next's DVD1, he/she would be annoyed if the libreoffice metapackage 
was on DVD2, even if all the other libreoffice packages were on DVD1.

I now had a list of 2952 packages, but I knew the metapackages I added 
will pull in a few more packages. I also knew that if someone does not 
select all the addon groups from the installer, it may affect package 
dependency resolution by using some alternative package to satisfy the 
dependencies.

I used a brute force approach to determine which packages would be 
brought in if the package installation order was different. I randomized 
the candidate package list, and installed each package on the list (and 
its dependencies) one by one. I repeated this process 17 times. You may 
be surprised by this, but each of those 17 installations ended up with a 
slightly different installed package set, even if the set of packages to 
install was the same for every install round, only in different order. 
The list of packages that got added at this phase is at 
http://miuku.net/tmp/7packages/7pkgs-first-round-additions.txt

At this stage I set up a feedback loop, where any new packages added 
during one installation round were added as input for the next 
installation round. I let this run for a night, and in the morning I was 
happy to notice that the script hadn't found any new packages that would 
need to be added.

Here's the final split according to my proposal:
$ du -s dvd*
3339792	dvd1
2822120	dvd2

$ wc -l c7-dvd*
   2987 c7-dvd1-rpms.txt
   5478 c7-dvd2-rpms.txt
   8465 total

Here's my proposal for the split:
http://miuku.net/tmp/7packages/c7-dvd1-rpms.txt
http://miuku.net/tmp/7packages/c7-dvd2-rpms.txt


N.B. I set up a local mirror for these installs, I did not do 50+ CentOS 
installs using buildlogs.c.o as the installation source..