====== Server ======
===== Initial setup =====
* Install regular RHEL5
* Install mrepo and createrepo packages for "el5"
* http://dag.wieers.com/rpm/packages/mrepo/
* http://dag.wieers.com/rpm/packages/createrepo/
* As of mrepo-0.8.6, you don't need the RHEL4 RHN software (it's included in the package), so you can skip the rest of this section.
* If you **do** have access to a RHEL4 system:
* Copy the contents from rhel4_system:/usr/share/rhn to rhel5_system:/usr/share/mrepo/rhn
* If you **do not** have access to a RHEL4 system:
* Fetch the up2date RPM package from CD 2 in the RHEL4 set
* rhel4_system# mount -oloop RHEL4-U4-i386-ES-disc2.iso /mnt
* rhel4_system# scp /mnt/RedHat/RPMS/up2date-4.4*rpm rhel5_system:/tmp
* rhel5_system# rpm2cpio up2date-4.4*rpm | cpio -ivmud
* rhel5_system# mkdir -p /usr/share/mrepo/rhn ; cp -r ./usr/share/rhn/* /usr/share/mrepo/rhn/
* //Alternatively, use the tarfile mentioned on [[http://lists.rpmforge.net/pipermail/tools/2007-July/000900.html|the RPM-tools mailing list]]//
* You need to change the paths in **/usr/bin/rhnget** to point to the RHEL4 up2date. This can be done easily with the following command:
sed -i s,/usr/share/rhn/,/usr/share/mrepo/rhn/,g /usr/bin/rhnget
===== Configuration =====
Create the file /etc/mrepo.conf.d/rhel5-server.conf and configure a repository for RHEL5 i386 and x86_64:
[rhel5-server]
name = Red Hat Server $release ($arch)
release = 5
arch = i386 x86_64
metadata = repomd yum repoview
### ISO images
iso = rhel-$release-server-$arch-disc?.iso
### Additional repositories
### Your mileage may vary, depending on your entitlements
### If you try any other channel than updates, you might also need to make sure you have the proper entitlements on RHN
updates = rhns:///rhel-$arch-server-$release
#fastrack = rhns:///rhel-$arch-server-fastrack-$release
#supplementary = rhns:///rhel-$arch-server-supplementary-$release
#virtualization = rhns:///rhel-$arch-server-vt-$release
#rhn-tools = rhns:///rhn-tools-rhel-$arch-server-$release
[Server]
name= Server
baseurl=http://192.168.100.209/dump/file
enabled=1
gpgcheck=0
===== Usage =====
* You need a systemid file to get access to RHN. You have three possibilities:
* Enter your RHN username and password when running mrepo for the first time
* **or** fetch a systemid file from a running server with has a RHN entitlement for the proper version and architecture and put it in /var/mrepo/rhel5-server-$arch/systemid
* **or** use /usr/bin/gensystemid to create an entitlement and systemid file
* Populate your repository with the command **mrepo -uvvv** (u is for update, vvv is for extra verbosity)
* If you want to save some time downloading from RHN, and already have the ISOs for RHEL5, you can copy the contents of the CD /RedHat/RPMS/*.rpm to the /var/mrepo/rhel5-server-$arch/updates folder before running mrepo
* When your repository has been populated, use **mrepo -gvvv** to generate the yum repository structure at /var/www/mrepo
===== Troubleshooting =====
==== CentOS 5 ====
If you get an error like: rhnget: "Unknown error that needs more debugging occured with channel rhel-i386-server-5. Skipping.\n'up2date'"
Make sure /etc/sysconfig/rhn/sources is not empty and has an "up2date default" line as a minimum.
# CentOS NOTE: This file is deprecated and no longer used, all system management
# is now handled via yum, look at yum's configs to manage repositories etc
#
#
up2date default
# EOF
==== SElinux ====
You might have an issue with the web server not being able to show you the files in the yum repository. This is not due to a missing //FollowSymlinks// in your Apache config, but due to SElinux enforcements. Verify this with a peek at your Apache error log at /var/log/httpd/error.log. If it's trying to tell you that the symlinks doesn't exist, then try this:
chcon -Rh --reference /var/www/html /var/www/mrepo
This has been documented in /usr/share/doc/mrepo*/docs/selinux.txt.
==== RHEL 5.1 ====
You may have the CentOS5 issue reported above, and may need to generate the up2date-uuid file.
* Find unique uuid of your system:
# uuidgen
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX
The file /etc/sysconfig/rhn/up2date-uuid should read:
uuid[comment]=Universally Unique ID for this server
rhnuuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
====== Client ======
===== Configuration =====
* Modify /etc/yum/pluginconf.d/rhnplugin.conf and change enabled=1 to enabled=0.
* Create the file /etc/yum.repos.d/mrepo.repo and configure RHEL to update through your new yum repository:
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=http:///mrepo/rhel-$basearch-server-$releasever
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
===== Usage =====
Yum update, yum install and other yum commands should work as you should be used to now.