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