Product SiteDocumentation Site

A.12. %packages (required) - Package Selection

Use the %packages command to begin a Kickstart section which describes the software packages to be installed. This section must end with an %end statement.
You can specify packages by environment, group, or by their package names. Several environments and groups that contain related packages are defined. See the repodata/comps.xml file in your installation source for environment and group definitions.
The comps.xml file contains a structure describing available environments (marked by the <environment> tag) and groups (the <group> tag). Each entry 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, and the packages marked optional must be specifically included even when the group is selected.
You can specify a package group or environment using either its ID (the <id> tag) or name (the <name> tag).

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 for which the package was built - for example, glibc.i686. The --multilib option also must be specified in the Kickstart file; see the available options below.

Important

Initial Setup does not run after a system is installed from a Kickstart file unless a desktop environment and the X Window System were included in the installation and graphical login was enabled. This means that by default, no users except for root will be created. You can either create a user with the user option in the Kickstart file before installing additional systems from it (see Section A.5.8, “user (optional) - Create User Account” for details) or log into the installed system with a virtual console as root and add users with the useradd command.
Specifying Environments, Groups and Packages
Specifying an Environment
In addition to groups, you specify an entire environment to be installed:
%packages
@^Infrastructure Server
%end
This command will install all packages which are part of the Infrastracture Server environment. All available environments are described in the comps.xml file.
Specifying Groups
Specify groups, one entry to a line, starting with an @ symbol, 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
%end
The Core and Base groups are always selected - it is not necessary to specify them in the %packages section.
The comps.xml file also defines groups called Conflicts (variant) for each variant of Fedora. This group contains all packages which are known to cause file conflicts, and is intended to be excluded.
Specifying Individual Packages
Specify individual packages by name, one entry to a line. You can use the asterisk character (*) as a wildcard in package names. For example:
%packages
sqlite
curl
aspell
docbook*
%end
The docbook* entry includes the packages docbook-dtds, docbook-simple, docbook-slides and others that match the pattern represented with the wildcard.
Excluding Environments, Groups, or Packages
Use a leading dash (-) to specify packages or groups to exclude from the installation. For example:
%packages
-@Graphical Internet
-autofs
-ipa*fonts
%end

Important

Installing all available packages using only * in a Kickstart file is not supported, even if you exclude the @Conflicts (variant) group.
You can change the default behavior of the %packages section by using several options. Some options work for the entire package selection, others are used with only specific groups.
Common Package Selection Options
The following options are available for the %packages. To use an option, append it to the start of the package selection section. For example:
%packages --multilib --ignoremissing
--nocore
Do not install the @Core group.
--ignoremissing
Ignore any packages, groups and environments missing in the installation source, instead of halting the installation to ask if the installation should be aborted or continued.
--excludedocs
Do not install any documentation contained within packages. In most cases, this will exclude any files normally installed in the /usr/share/doc* directory, but the specific files to be excluded depend on individual packages.
--multilib
Configure the installed system for multilib packages (that is, to allow installing 32-bit packages on a 64-bit system) and install packages specified in this section as such.
Normally, on a 64-bit system, only packages for this architecture (marked as x86_64) and packages for all architectures (marked as noarch) would be installed. When you use this option, packages for 32-bit systems (marked as i686) will be automatically installed as well, if available.
This only applies to packages explicitly specified in the %packages section. Packages which are only being installed as dependencies without being specified in the Kickstart file will only be installed in architecture versions in which they are needed, even if they are available for more architectures.
Options for Specific Package Groups
The options in this list only apply to a single package group. Instead of using them at the %packages command in the Kickstart file, append them to the group name. For example:
%packages
@Graphical Internet --optional
%end
--nodefaults
Only install the group's mandatory packages, not the default selections.
--optional
Install packages marked as optional in the group definition in the comps.xml file, in addition to installing the default selections.
Note that some package groups, such as Scientific Support, do not have any mandatory or default packages specified - only optional packages. In this case the --optional option must always be used, otherwise no packages from this group will be installed.