In the RH 5.2 Cookbook section 11.4.3 explains maintaining package repositories 
for system service. I know this is probably a large topic with many ways of 
maintaining systems but I am curious if this method is used out in the real 
world. If not what, what is a common method? As you can tell from the question 
you have a newbie on your hands. Thanks Matt



11.4.3 Updating packages on the server
The RPMs are located in the /Server subdirectory of the install tree. Beneath 
this directory,
there is a subdirectory named /repodata which contains repository files used by 
yum.
Whenever a new set of RPMs is added to the /Server directory, you must rebuild 
the
repository data with the createrepo command.
On the controller, first install the createrepo RPM with:
# yum install createrepo
...
Running Transaction
Installing: createrepo ######################### [1/1]
Installed: createrepo.noarch 0:0.4.4-2.fc6
Complete!

Note: Red Hat signs each RPM with a private GPG key, which is compared to your 
public
key each time a package is installed. This method ensures that the RPM is a 
genuine,
unaltered package. When installing an RPM, if you ever see a message similar to 
the
following, it means that either the correct GPG key has not been imported, or 
the package
itself has been altered by a third party:
Header V3 DSA signature: NOKEY, key ID 897da07a
158 The Virtualization Cookbook for Red Hat Enterprise Linux 5.2

Next, back up the current repository and create a new one with the createrepo 
command:
# cd /nfs/rhel5.2/Server
# mv repodata repodata.orig
# createrepo /nfs/rhel5.2/Server
96/2480 - system-config-network-1.3.97-1.el5.noarch.rpm
...
It should take about five minutes to build the new repository data, depending 
on the number of
RPMs.

You now have a new repository based on the RPMs in /nfs/rhel5.2/Server. Repeat 
this
procedure any time an RPM (or set of RPMs) change. You can also use this to 
create multiple
RPM repositories, based on anything you like. For example, you can have a 
repository named
"test" containing the latest packages from RHN, as well as a "production" 
repository based on
an official RHEL update. You can then create a .repo file on the client 
pointing to either
repository, based on the role of that client.

For example, on the server:
# cd /nfs/rhel5.2
# cp -a Server Server.production
# cp -a Server Server.test

Now, any time you update an RPM in /nfs/rhel5.2/Server.test/, run createrepo on 
that
directory. On the client, in the /etc/yum.repos.d/ directory you can have:
/etc/yum.repos.d/rhel5.2.production.repo:
[RHEL5.2]
name=RHEL 5.2 production
baseurl=file:///nfs/rhel5.2/Server.production/

Or you can have:
/etc/yum.repos.d/rhel5.test.repo:
[RHEL5.2]
name=RHEL 5.2 test
baseurl=file:///nfs/rhel5.2/Server.test/

Note that this method requires maintaining separate copies of each directory of 
RPMs, which
can fill the /nfs directory on the controller quickly. Red Hat provides a 
separate product
named Satellite which maintains a single tree, while managing the RPM version 
differences



Matthew Dazzo
Sr MVS Systems Programmer
Publishers Clearing House
Port Washington NY
516-944-4816


----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390
----------------------------------------------------------------------
For more information on Linux on System z, visit
http://wiki.linuxvm.org/

Reply via email to