Minimal install is not minimal
Minimal install is not minimal
I'm installing CentOS 7 as a pv-hvm guest. On a clean, minimal, install it uses ~120 MB of RAM. A CentOS 6 minimal install uses ~75MB of RAM.
After a quick look I found some cruft, removing it helps (~20MB):
-iprutils
-postfix
-NetworkManager
-avahi
I don't need any of these packages on most systems I'll be running. I haven't had lots of time to spend on it, but what is the proper way to exclude these packages during installation? I'm using kickstart so I'd prefer to do it there, rather than rolling my own media.
Thanks!
After a quick look I found some cruft, removing it helps (~20MB):
-iprutils
-postfix
-NetworkManager
-avahi
I don't need any of these packages on most systems I'll be running. I haven't had lots of time to spend on it, but what is the proper way to exclude these packages during installation? I'm using kickstart so I'd prefer to do it there, rather than rolling my own media.
Thanks!
Re: Minimal install is not minimal
It also installs sixteen iwl firwmare packages (Intel Wireless LAN).
Ugh.
Ugh.
Re: Minimal install is not minimal
Ah, these are part of core as "default" packages. Kickstart has a --nodefaults option:
For posterity, I found this by checking the group information on the core package list: yum groupinfo core
Additionally, the RHEL 7 installation documentation was helpful as well.
Code: Select all
%packages --nobase
@core --nodefaults
%end
Additionally, the RHEL 7 installation documentation was helpful as well.
Re: Minimal install is not minimal
Actually, that kickstart configuration isn't working. Am I doing something wrong?
Code: Select all
%packages --nobase
@core --nodefaults
%end
Re: Minimal install is not minimal
I've read the RedHat manual (chapter 23) on kickstart multiple times now. The kickstart code you presented
works for me, at least as far as it results in a loaded system. However, it does not exclude the default packages. Default core packages like aic94xx-firmware are loaded. The result is just the same as if I used the following kickstart code.
Both kickstart codes result in the system loading 298 packages.
It gets weirder...
The above kickstart code results in the system loading 464 packages.
I thought the "base" group was always loaded unless the "--nobase" option was given to the "%packages" directive.
In my mind, kickstart code #1 should have the fewest packages loaded, while kickstart codes 2 & 3 should have the same number of packages loaded, and more packages loaded than code #1.
Either there are some bugs in the kickstart package loader, or I have a real misunderstanding of how the packages are supposed to be selected and deselected.
Can anyone else confirm or deny this is a bug? Any help or pointers would be much appreciated!
Thanks!
--Don
Code: Select all
%packages --nobase
@core --nodefaults
%end
Code: Select all
%packages
@core
%end
It gets weirder...
Code: Select all
%packages
@base
@core
%end
I thought the "base" group was always loaded unless the "--nobase" option was given to the "%packages" directive.
In my mind, kickstart code #1 should have the fewest packages loaded, while kickstart codes 2 & 3 should have the same number of packages loaded, and more packages loaded than code #1.
Either there are some bugs in the kickstart package loader, or I have a real misunderstanding of how the packages are supposed to be selected and deselected.
Can anyone else confirm or deny this is a bug? Any help or pointers would be much appreciated!
Thanks!
--Don
Re: Minimal install is not minimal
It's definitely not behaving like it's supposed to (as per Redhat's documentation).
Could you report your findings here?
http://bugs.centos.org/view.php?id=7388
I opened it last night. It would help if someone else could report the same problem.
Could you report your findings here?
http://bugs.centos.org/view.php?id=7388
I opened it last night. It would help if someone else could report the same problem.
Re: Minimal install is not minimal
My list for a minimal kickstart:
#packages to install
%packages --nobase --excludedocs
#do not install base
@core
-aic94xx-firmware
-iwl6000g2a-firmware
-iwl2030-firmware
-iwl100-firmware
-iwl6000-firmware
-iwl2000-firmware
-libertas-sd8686-firmware
-ivtv-firmware
-libertas-usb8388-firmware
-iwl5000-firmware
-alsa-firmware
-iwl6000g2b-firmware
-iwl7260-firmware
-libertas-sd8787-firmware
-iwl6050-firmware
-iwl135-firmware
-iwl105-firmware
-iwl1000-firmware
-iwl5150-firmware
-iwl4965-firmware
-iwl3160-firmware
-iwl3945-firmware
-alsa-tools-firmware
-alsa-lib
-btrfs-progs
-cronie-anacron
-cronie
-crontabs
-kexec-tools
-plymouth-scripts
-ModemManager-glib
-NetworkManager
-NetworkManager-glib
-NetworkManager-tui
-postfix
-wpa_supplicant
%end
#packages to install
%packages --nobase --excludedocs
#do not install base
@core
-aic94xx-firmware
-iwl6000g2a-firmware
-iwl2030-firmware
-iwl100-firmware
-iwl6000-firmware
-iwl2000-firmware
-libertas-sd8686-firmware
-ivtv-firmware
-libertas-usb8388-firmware
-iwl5000-firmware
-alsa-firmware
-iwl6000g2b-firmware
-iwl7260-firmware
-libertas-sd8787-firmware
-iwl6050-firmware
-iwl135-firmware
-iwl105-firmware
-iwl1000-firmware
-iwl5150-firmware
-iwl4965-firmware
-iwl3160-firmware
-iwl3945-firmware
-alsa-tools-firmware
-alsa-lib
-btrfs-progs
-cronie-anacron
-cronie
-crontabs
-kexec-tools
-plymouth-scripts
-ModemManager-glib
-NetworkManager
-NetworkManager-glib
-NetworkManager-tui
-postfix
-wpa_supplicant
%end
Re: Minimal install is not minimal
Yeah, I'm striping out a bunch of stuff manually as well. The nice thing is it supports wildcards. For example:
That's a 240 package, 784 MB disk space, and ~100 MB RAM usage installation.
Code: Select all
%packages --nobase
@core --nodefaults
-aic94xx-firmware*
-alsa-*
-iwl*firmware
-NetworkManager*
-iprutils
%end
Re: Minimal install is not minimal
I found a configuration I'm happy with for the time being:
216 packages, ~88 MB RAM, 730 MB disk space.
Code: Select all
%packages --nobase
@core --nodefaults
-aic94xx-firmware*
-alsa-*
-biosdevname
-btrfs-progs*
-dhclient
-dhcp*
-dracut-network
-iprutils
-ivtv*
-iwl*firmware
-libertas*
-kexec-tools
-NetworkManager*
-plymouth*
-postfix
%end