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.

1 Answer 1

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"

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .