RHEL7: How to get started with package groups.

Share this link

Presentation

The package groups are a well-known feature of the yum command to group multiple packages under a single name.

Even though yum will be replaced with dnf in future releases of RHEL, the syntax and features will stay the same (at least this is the case in Fedora 22 where you can replace yum with dnf without any problem).

Three kinds of package groups exist:

  • environment package groups describe a type of global configuration containing other package groups: Minimal Install, Compute Node, Infrastructure Server, GNOME Desktop, etc.
  • top-level package groups bring a set of package groups belonging to the same domain: Security Tools, Development Tools, System Administration Tools, etc.
  • simple package groups contain packages on a particular topic: web-server, network-file-system-client, etc.

Also, inside a package group, there are potentially three different categories:

  • mandatory package groups/packages are always installed.
  • default package groups/packages are normally installed except if specified otherwise.
  • optional package groups/packages are only installed on demand.

Note: While some yum subcommands groupinfo, grouplist and groupinstall were written with only one word in RHEL 6, RHEL 7 now accepts one or two words: yum groupinfo/yum group info, yum grouplist/yum group list, yum groupinstall/yum group install, etc.

Package Group Management

To get the list of all the environment and top-level package groups, type:

# yum group list ids
Loaded plugins: fastestmirror, langpacks
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
...
Available environment groups:
 Minimal Install (minimal)
 Compute Node (compute-node-environment)
 Infrastructure Server (infrastructure-server-environment)
 File and Print Server (file-print-server-environment)
 Basic Web Server (web-server-environment)
 Virtualization Host (virtualization-host-environment)
 Server with GUI (graphical-server-environment)
 GNOME Desktop (gnome-desktop-environment)
 KDE Plasma Workspaces (kde-desktop-environment)
 Development and Creative Workstation (developer-workstation-environment)
Available Groups:
 Compatibility Libraries (compat-libraries)
 Console Internet Tools (console-internet)
 Development Tools (development)
 Graphical Administration Tools (graphical-admin-tools)
 Legacy UNIX Compatibility (legacy-unix)
 Scientific Support (scientific)
 Security Tools (security-tools)
 Smart Card Support (smart-card)
 System Administration Tools (system-admin-tools)
 System Management (system-management)
Done

Note1: By specifying the ids option, you get the system name of each package group between parenthesis. This name, called the Group ID, is easier to use because generally shorter and without any spaces. It is also the name used by Kickstart during the installation.
Note2: To get the list of all the package groups, you need to add the hidden argument: # yum group list ids hidden
Note3: With the Group ID, you don’t need to use the group subcommand anymore, at least for the install and remove options:

  • yum install @security-tools = yum group install security-tools
  • yum remove @^web-server-environment = yum group remove web-server-environment
  • the @^ prefix is reserved for environment groups.

To list the packages in an environment group (here “Minimal Install“), type:

# yum group info "Minimal Install"
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
...
Environment Group: Minimal Install
 Environment-Id: minimal
 Description: Basic functionality.
 Mandatory Groups:
   +core
 Optional Groups:
   +debugging

Note1: The core package group contains the smallest possible installation, also called Minimal Install.
Note2: The base package group, with the help of the core package group, allows to build a basic installation, also called Infrastructure Server.

To get the list of the packages belonging to a package group (here “Web Server“), type:

# yum group info "Web Server"
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
...
Group: Web Server
 Group-Id: web-server
 Description: Allows the system to act as a web server, and run Perl and Python web applications.
 Mandatory Packages:
   +httpd
 Default Packages:
   +crypto-utils
   +httpd-manual
   +mod_fcgid
   +mod_ssl
 Optional Packages:
   certmonger
   libmemcached
   memcached
   mod_auth_kerb
   mod_auth_mellon
   mod_nss
   mod_revocator
   mod_security
   mod_security_crs
   perl-CGI
   perl-CGI-Session
   python-memcached
   squid

Note: The + indicates which packages will be installed.

To install a package group (here “Web Server“), type:

# yum group install "Web Server"

Now, if we request some information about the Web Server package group, we get:

# yum group info "Web Server"
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
...
Group: Web Server
 Group-Id: web-server
 Description: Allows the system to act as a web server, and run Perl and Python web applications.
 Mandatory Packages:
   =httpd
 Default Packages:
   =crypto-utils
   =httpd-manual
   =mod_fcgid
   =mod_ssl
 Optional Packages:
   certmonger
   libmemcached
   memcached
   mod_auth_kerb
   mod_auth_mellon
   mod_nss
   mod_revocator
   mod_security
   mod_security_crs
   perl-CGI
   perl-CGI-Session
   python-memcached
   squid

Note: The = indicates installed packages as a part of the package group.

To install all the packages belonging to a package group (here “Web Server”), type:

# yum --setopt=group_package_types=mandatory,default,optional groupinstall "Web Server"

Source: RHEL 7 System Administrator’s guide.

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5.00 out of 5)
Loading...

RHCSA7: Task of the day

Allowed time: 5 minutes.
Create a user called tom. Create a directory named /private. Use an acl to only allow access (rwx) to tom to the private directory.

RHCE7: Task of the day

Allowed time: 10 minutes.
Configure a httpd server that executes a Perl script in the /var/www/cgi-bin directory displaying "Hello!".

Poll for favorite RHEL 7 book

What is your favorite RHEL 7 book to prepare RHCSA & RHCE exams?

View Results

Loading ... Loading ...

Poll for most difficult RHCSA 7 topic

What do you think is the most difficult RHCSA 7 topic?

View Results

Loading ... Loading ...

Poll for most difficult RHCE 7 topic

What do you think is the most difficult RHCE 7 topic?

View Results

Loading ... Loading ...

Recent Comments