The yum grouplist command

The yum grouplist command can identify available package groups from the configured repositories. However, through a terminal window, the list is considerable when the language support is factored into the equation. For a Linux CentOS 6.4 x86_64 install, there are 206 package groups. Here are a few commands that may help.

To determine the number of package groups that exist. Piping the result of yum grouplist through the wc (“word count”) command, results in 206. If the space is not accounted for, then the number will be 214, which includes the descriptions of the groups as well as done.

yum grouplist | grep '^[[:space:]]' | wc -l

Modifying the above command so that only the lines that include a “]” will be counted, result in 123. The groups that contain a “]” are all language groups.

yum grouplist | grep '^[[:space:]]' | grep ']' | wc -l

Modifying the previous command so that only the lines that do NOT include a “]” will be counted, result in 83. The groups that do NOT contain a “]” are should not be language groups.

yum grouplist | grep '^[[:space:]]' | grep -v ']' | wc -l

The logic is confirmed that only packages that contain a “]” are language packages by the numbers determined above. 206 (total groups) = 123 (language groups) + 83 (other groups)

To list group packages that do NOT contain language groups, a command from above without piping through the wc command will do the trick.

yum grouplist | grep '^[[:space:]]' | grep -v ']' 

The purpose of the above commands was to get an accurate count of packages, as well as, display the list. There is an easier command to list group packages that are not language groups, however, including lines such as “Available Groups:”

yum grouplist | grep -v ']' 

The result of this command may look like this

Loaded plugins: fastestmirror, security
Setting up Group Process
Loading mirror speeds from cached hostfile
Installed Groups:
Additional Development
Base
Console internet tools
Debugging Tools
Desktop Debugging and Performance Tools
Desktop Platform
Directory Client
E-mail server
Fonts
General Purpose Desktop
Graphical Administration Tools
Hardware monitoring utilities
Java Platform
Large Systems Performance
Legacy UNIX compatibility
Legacy X Window System compatibility
NFS file server
Network Infrastructure Server
Network file system client
Networking Tools
Performance Tools
Perl Support
Scientific support
Server Platform
Web Server
X Window System
Installed Language Groups:
Available Groups:
Backup Client
Backup Server
CIFS file server
Client management tools
Compatibility libraries
Desktop
Desktop Platform Development
Development tools
Dial-up Networking Support
Directory Server
Eclipse
Emacs
FCoE Storage Client
FTP server
Graphics Creation Tools
High Availability
High Availability Management
Identity Management Server
Infiniband Support
Input Methods
Internet Applications
Internet Browser
KDE Desktop
Load Balancer
Mainframe Access
Messaging Client Support
MySQL Database client
MySQL Database server
Network Storage Server
Office Suite and Productivity
PHP Support
PostgreSQL Database client
PostgreSQL Database server
Print Server
Printing client
Remote Desktop Clients
Resilient Storage
Ruby Support
SNMP Support
Scalable Filesystems
Security Tools
Server Platform Development
Smart card support
Storage Availability Tools
System Management
System administration tools
Systems Management Messaging Server support
TeX support
Technical Writing
TurboGears application framework
Virtualization
Virtualization Client
Virtualization Platform
Virtualization Tools
Web Servlet Engine
Web-Based Enterprise Management
iSCSI Storage Client
Available Language Groups:
Done