When `yum groupinstall` Says Group Does Not Exist
We’ve got some Linux VMs that point at a private set of repositories for Yum updates. Recently I went to build an system and wanted to add a graphical desktop. When I executed yum groupinstall Desktop
this error came back:
Warning: Group Desktop does not exist.
Error: No packages in any requested group available to install or update
Turns out it’s not uncommon to have private repos that haven’t had their groups created. Sure enough, a yum grouplist
showed no groups available:
Error: No group data available for configured repositories
The problem here is: I don’t own the repos and can’t update their configuration with groups, and our policy is that I couldn’t just add another external repo for the VM to use. But, something I did have access to was another Linux VM whose repos pointed to the standard Unbreakable Linux Network.
On that machine, I could list out all the components of the Desktop
group with the yum groupinfo
command:
yum groupinfo Desktop
...
Group: Desktop
Description: A minimal desktop that can also be used as a thin client.
Mandatory Packages:
NetworkManager
NetworkManager-gnome
alsa-plugins-pulseaudio
at-spi
control-center
dbus
gdm
gdm-user-switch-applet
gnome-panel
gnome-power-manager
gnome-screensaver
gnome-session
gnome-terminal
gvfs-archive
gvfs-fuse
gvfs-smb
metacity
nautilus
notification-daemon
polkit-gnome
xdg-user-dirs-gtk
yelp
Default Packages:
control-center-extra
eog
gdm-plugin-fingerprint
gnome-applets
gnome-media
gnome-packagekit
gnome-vfs2-smb
gok
openssh-askpass
orca
pulseaudio-module-gconf
pulseaudio-module-x11
rhn-setup-gnome
vino
Optional Packages:
sabayon-apply
tigervnc-server
xguest
Usually a yum groupinstall
grabs just the Mandatory and Default Packages and installs them all in turn. Copying and pasting this list of packages into a editor made it easy to multi-select the CR/LF and tabs and replace them with a single space. Then it was easy to create a “non-group” install command:
yum install -y NetworkManager NetworkManager-gnome alsa-plugins-pulseaudio at-spi control-center dbus gdm gdm-user-switch-applet gnome-panel gnome-power-manager gnome-screensaver gnome-session gnome-terminal gvfs-archive gvfs-fuse gvfs-smb metacity nautilus notification-daemon polkit-gnome xdg-user-dirs-gtk yelp control-center-extra eog gdm-plugin-fingerprint gnome-applets gnome-media gnome-packagekit gnome-vfs2-smb gok openssh-askpass orca pulseaudio-module-gconf pulseaudio-module-x11 rhn-setup-gnome vino
This worked great because all those packages were in my private repo; it was only the group definitions that were missing. Once I ran that big command (and a few more for the other groups I wanted to install), my VM was running a GUI login just fine.