32.5. Package Selection

Warning

You can use a kickstart file to install every available package by specifying * in the %packages section. Red Hat does not support this type of installation.
In previous releases of Red Hat Enterprise Linux, this functionality was provided by @Everything, but this option is not included in Red Hat Enterprise Linux 6.
Use the %packages command to begin a kickstart file section that lists the packages you would like to install (this is for installations only, as package selection during upgrades is not supported).
You can specify packages by group or by their package names. The installation program defines several groups that contain related packages. Refer to the variant/repodata/comps-*.xml file on the Red Hat Enterprise Linux 6.9 Installation DVD for a list of groups. Each group has an id, user visibility value, name, description, and package list. If the group is selected for installation, the packages marked mandatory in the package list are always installed, the packages marked default are installed if they are not specifically excluded elsewhere, and the packages marked optional must be specifically included elsewhere even when the group is selected.
Specify groups, one entry to a line, starting with an @ symbol, a space, and then the full group name or group id as given in the comps.xml file. For example:
%packages
@X Window System
@Desktop
@Sound and Video
Note that the Core and Base groups are always selected by default, so it is not necessary to specify them in the %packages section.

Warning

When performing a minimal installation using the @Core group, the firewall (iptables/ip6tables) will not be configured on the installed system. This presents a security risk. To work around this issue, add the authconfig and system-config-firewall-base packages to your package selection as described below. The firewall will be configured properly if these packages are present.
A minimal installation's %packages section which will also configure the firewall will look similar to the following:
%packages
@Core
authconfig
system-config-firewall-base
See the Red Hat Customer Portal for details.
Specify individual packages by name, one entry to a line. You can use asterisks as wildcards to glob package names in entries. For example:
sqlite
curl
aspell
docbook*
The docbook* entry includes the packages docbook-dtds, docbook-simple, docbook-slides and others that match the pattern represented with the wildcard.
Use a leading dash to specify packages or groups to exclude from the installation. For example:
-@ Graphical Internet
-autofs
-ipa*fonts

Important

To install a 32-bit package on a 64-bit system, you will need to append the package name with the 32-bit architecture the package was built for. For example:
glibc.i686
Using a kickstart file to install every available package by specifying * will introduce package and file conflicts onto the installed system. Packages known to cause such problems are assigned to the @Conflicts (variant) group, where variant is Client, ComputeNode, Server or Workstation. If you specify * in a kickstart file, be sure to exclude @Conflicts (variant) or the installation will fail:
*
-@Conflicts (Server)
Note that Red Hat does not support the use of * in a kickstart file, even if you exclude @Conflicts (variant).
The section must end with the %end command.
The following options are available for the %packages option:
--nobase
Do not install the @Base group. Use this option to perform a minimal installation, for example, for a single-purpose server or desktop appliance.
--nocore
Disables installation of the @Core package group which is otherwise always installed by default. Disabling the @Core package group should be only used for creating lightweight containers; installing a desktop or server system with --nocore will result in an unusable system.

Note

Using -@Core to exclude packages in the @Core package group does not work. The only way to exclude the @Core package group is with the --nocore option.
--resolvedeps
The --resolvedeps option has been deprecated. Dependencies are now always resolved automatically.
--ignoredeps
The --ignoredeps option has been deprecated. Dependencies are resolved automatically every time now.
--ignoremissing
Ignore the missing packages and groups instead of halting the installation to ask if the installation should be aborted or continued. For example:
%packages --ignoremissing