0

Let's create a repo for:

yum groupinstall "Desktop"

first, i create a folder named "test"

/root/Desktop/test

next i need to know what is inside of "Desktop" group.

yum groupinfo "Desktop"

result:

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

i suppose optional packages are to be ignored, for each of the mandatory and default packages, i am going to download them via yumdownloader

let's do just that:

 cd /root/Desktop/test

and then download each one:

# Mandatory Packages:
yumdownloader --resolve NetworkManager
yumdownloader --resolve NetworkManager-gnome
yumdownloader --resolve alsa-plugins-pulseaudio
yumdownloader --resolve at-spi
yumdownloader --resolve control-center
yumdownloader --resolve dbus
yumdownloader --resolve gdm
yumdownloader --resolve gdm-user-switch-applet
yumdownloader --resolve gnome-panel
yumdownloader --resolve gnome-power-manager
yumdownloader --resolve gnome-screensaver
yumdownloader --resolve gnome-session
yumdownloader --resolve gnome-terminal
yumdownloader --resolve gvfs-archive
yumdownloader --resolve gvfs-fuse
yumdownloader --resolve gvfs-smb
yumdownloader --resolve metacity
yumdownloader --resolve nautilus
yumdownloader --resolve notification-daemon
yumdownloader --resolve polkit-gnome
yumdownloader --resolve xdg-user-dirs-gtk
yumdownloader --resolve yelp
#Default Packages:
yumdownloader --resolve control-center-extra
yumdownloader --resolve eog
yumdownloader --resolve gdm-plugin-fingerprint
yumdownloader --resolve gnome-applets
yumdownloader --resolve gnome-media
yumdownloader --resolve gnome-packagekit
yumdownloader --resolve gnome-vfs2-smb
yumdownloader --resolve gok
yumdownloader --resolve openssh-askpass
yumdownloader --resolve orca
yumdownloader --resolve pulseaudio-module-gconf
yumdownloader --resolve pulseaudio-module-x11
yumdownloader --resolve rhn-setup-gnome
yumdownloader --resolve vino

okay, everything got downloaded to the 'test' folder. in this 'test' folder let's run this command to create a 'Desktop' group.

yum-groups-manager -n "Desktop" --id=desktop --save=Desktop.xml \
--mandatory  \
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  \
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

error:

yum-groups-manager: error: no such option: --default

let's remove the '--default' so i suppose everything is 'mandatory'

yum-groups-manager -n "Desktop" --id=desktop --save=Desktop.xml \
--mandatory  \
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

it created the file : Desktop.xml

let's see what it looks like :

[root@localhost test]# cat Desktop.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE comps PUBLIC "-//Red Hat, Inc.//DTD Comps info//EN" "comps.dtd">
<comps>

  <group>
   <id>desktop</id>
   <default>false</default>
   <uservisible>true</uservisible>
   <display_order>1024</display_order>
   <name>Desktop</name>
   <description></description>
    <packagelist>
      <packagereq type="mandatory">NetworkManager</packagereq>
      <packagereq type="mandatory">NetworkManager-gnome</packagereq>
      <packagereq type="mandatory">alsa-plugins-pulseaudio</packagereq>
      <packagereq type="mandatory">at-spi</packagereq>
      <packagereq type="mandatory">control-center</packagereq>
      <packagereq type="mandatory">control-center-extra</packagereq>
      <packagereq type="mandatory">dbus</packagereq>
      <packagereq type="mandatory">eog</packagereq>
      <packagereq type="mandatory">gdm</packagereq>
      <packagereq type="mandatory">gdm-plugin-fingerprint</packagereq>
      <packagereq type="mandatory">gdm-user-switch-applet</packagereq>
      <packagereq type="mandatory">gnome-applets</packagereq>
      <packagereq type="mandatory">gnome-media</packagereq>
      <packagereq type="mandatory">gnome-packagekit</packagereq>
      <packagereq type="mandatory">gnome-panel</packagereq>
      <packagereq type="mandatory">gnome-power-manager</packagereq>
      <packagereq type="mandatory">gnome-screensaver</packagereq>
      <packagereq type="mandatory">gnome-session</packagereq>
      <packagereq type="mandatory">gnome-terminal</packagereq>
      <packagereq type="mandatory">gnome-vfs2-smb</packagereq>
      <packagereq type="mandatory">gok</packagereq>
      <packagereq type="mandatory">gvfs-archive</packagereq>
      <packagereq type="mandatory">gvfs-fuse</packagereq>
      <packagereq type="mandatory">gvfs-smb</packagereq>
      <packagereq type="mandatory">metacity</packagereq>
      <packagereq type="mandatory">nautilus</packagereq>
      <packagereq type="mandatory">notification-daemon</packagereq>
      <packagereq type="mandatory">openssh-askpass</packagereq>
      <packagereq type="mandatory">orca</packagereq>
      <packagereq type="mandatory">polkit-gnome</packagereq>
      <packagereq type="mandatory">pulseaudio-module-gconf</packagereq>
      <packagereq type="mandatory">pulseaudio-module-x11</packagereq>
      <packagereq type="mandatory">vino</packagereq>
      <packagereq type="mandatory">xdg-user-dirs-gtk</packagereq>
      <packagereq type="mandatory">yelp</packagereq>
    </packagelist>
  </group>
</comps>

Now i need to create a 'group' in the repo ? based on info i read i am suppose to run this command to "create a group in the repo" i thought what i did was basically just that. i suppose there is another step ?

[root@localhost test]# createrepo -g /root/Desktop/test/Desktop.xml /root/Desktop/test/
Spawning worker 0 with 60 pkgs
Workers Finished
Gathering worker results

Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@localhost test]# 

okay, let's run ls to see what is in this folder test now..

[root@localhost test]# ls
alsa-lib-1.0.22-3.el6.i686.rpm
alsa-plugins-pulseaudio-1.0.21-3.el6.i686.rpm
alsa-plugins-pulseaudio-1.0.21-3.el6.x86_64.rpm
at-spi-1.28.1-2.el6.centos.i686.rpm
at-spi-1.28.1-2.el6.centos.x86_64.rpm
control-center-2.28.1-38.el6.i686.rpm
control-center-2.28.1-38.el6.x86_64.rpm
control-center-extra-2.28.1-38.el6.x86_64.rpm
dbus-1.2.24-7.el6_3.x86_64.rpm
Desktop.xml
eog-2.28.2-4.el6.x86_64.rpm
flac-1.2.1-6.1.el6.i686.rpm
gdm-2.30.4-39.el6.x86_64.rpm
gdm-plugin-fingerprint-2.30.4-39.el6.x86_64.rpm
gdm-user-switch-applet-2.30.4-39.el6.x86_64.rpm
gnome-applets-2.28.0-7.el6.centos.x86_64.rpm
gnome-media-2.29.91-6.el6.x86_64.rpm
gnome-packagekit-2.28.3-7.el6.x86_64.rpm
gnome-panel-2.30.2-14.el6.x86_64.rpm
gnome-power-manager-2.28.3-7.el6_4.x86_64.rpm
gnome-screensaver-2.28.3-24.el6_4.1.x86_64.rpm
gnome-session-2.28.0-18.el6.x86_64.rpm
gnome-terminal-2.31.3-8.el6.x86_64.rpm
gnome-vfs2-smb-2.24.2-6.el6.x86_64.rpm
gok-2.28.1-5.el6.x86_64.rpm
gvfs-archive-1.4.3-15.el6.x86_64.rpm
gvfs-fuse-1.4.3-15.el6.x86_64.rpm
gvfs-smb-1.4.3-15.el6.x86_64.rpm
libasyncns-0.8-1.1.el6.i686.rpm
libcanberra-0.22-1.el6.centos.i686.rpm
libcanberra-gtk2-0.22-1.el6.centos.i686.rpm
libgnomekbd-2.28.2-2.el6.i686.rpm
libgudev1-147-2.46.el6.i686.rpm
libogg-1.1.4-2.1.el6.i686.rpm
libsndfile-1.0.20-5.el6.i686.rpm
libtdb-1.2.10-1.el6.i686.rpm
libtool-ltdl-2.2.6-15.5.el6.i686.rpm
libudev-147-2.46.el6.i686.rpm
libvorbis-1.2.3-4.el6_2.1.i686.rpm
libwacom-0.5-4.el6.i686.rpm
libxkbfile-1.0.6-1.1.el6.i686.rpm
libxklavier-4.0-9.el6.i686.rpm
libXScrnSaver-1.2.2-2.el6.i686.rpm
libXtst-1.2.1-2.el6.i686.rpm
metacity-2.28.0-23.el6.i686.rpm
metacity-2.28.0-23.el6.x86_64.rpm
nautilus-2.28.4-19.el6.x86_64.rpm
NetworkManager-0.8.1-43.el6.x86_64.rpm
NetworkManager-gnome-0.8.1-43.el6.x86_64.rpm
notification-daemon-0.5.0-1.el6.x86_64.rpm
openssh-askpass-5.3p1-84.1.el6.x86_64.rpm
orca-2.28.2-1.el6.x86_64.rpm
polkit-gnome-0.96-3.el6.i686.rpm
polkit-gnome-0.96-3.el6.x86_64.rpm
pulseaudio-libs-0.9.21-14.el6_3.i686.rpm
pulseaudio-module-gconf-0.9.21-14.el6_3.x86_64.rpm
pulseaudio-module-x11-0.9.21-14.el6_3.x86_64.rpm
repodata
tcp_wrappers-libs-7.6-57.el6.i686.rpm
vino-2.28.1-8.el6_3.x86_64.rpm
xdg-user-dirs-gtk-0.8-7.el6.x86_64.rpm
yelp-2.28.1-17.el6_3.x86_64.rpm
[root@localhost test]# 

looks like a folder named 'repodata' has been created.

[root@localhost test]# cd repodata
[root@localhost repodata]# ls
02e6e67a0eedf0b7d561253fd5e7d71032a6e0054536b88e75563681822dd774-filelists.xml.gz
3fc84c02d6c0e033441e6f00353a98a7c2cc5530ff27f63206d5ef300890d9a0-primary.xml.gz
91fe015bc6db77cd159518699d5c70838143681955bf3d3c28804d08063c3f92-filelists.sqlite.bz2
af6d0c22babf5796feed2a24e1d74d5d0c6507f2625fbfa65c8acc8495856dc0-primary.sqlite.bz2
c18a67f5fc206032c0081bc55bee52a2ea258873c093cdb55cda89d68a7af4eb-other.xml.gz
c9913ed4169437a1728d021cce5d54f8b7bbf02e82fa5cab5345f653f97c64ae-other.sqlite.bz2
e5ad7753d9fe659de92967aaeb29de70e0cf4b9bc3e8a07970a236748299b486-Desktop.xml
f9c925984ac89f3772590032080c01bca01df81b9bf611041cfbaceaaf107114-Desktop.xml.gz
repomd.xml
[root@localhost repodata]# 

looks like lots of gibberish random stuff.

but anyway, now how exactly do i use this repo to install..

yum -y groupinstall "Desktop" 

to be more specific, how do i test it given that i already have it installed?

i just would like to ensure it won't fail when i re-install minimal linux and then try to install this from this repo.

0

You can use Media Repo

Insert Installation Media and Mount it using :

mount /dev/cdrom /mnt

Edit /etc/yum.repos.d/Media.repo

[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

Then just download and install using :

yum --disablerepo=\* --enablerepo=c6-media groupinstall "Desktop"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.