Aanmaken lokalen Yum Repository

  RedHat/Centos (rpm based)

Soms is het handig om eigen yum repository’s te hebben. dit kan een repo zijn van eigen rpm maar ook bv base installatie dvd van redhat of centos. Of bv een deel van RPM’s van epel. Je hebt alleen een webserver nodig en disk ruimte om de rpm’s kwijt te kunnen. Voor deze handleiding gaan we uit van een RHEL5.7 DVD. deze willen we als yum repo aan bieden.

Base install

Maak een directory structuur onder de webserver root. het maakt niet uit hoe de structuur er uit ziet.

# mkdir -v /var/www/html/redhat/RHEL57/x86_64/RPMS

mount de installatie DVD of iso (Mounten van een ISO). Copier alle rpms van de DVD in deze directory.

# cp /media/Server/*.rpm /var/www/html/redhat/RHEL57/x86_64/RPMS

aanmaken base repository headers:

we gaan nu de repo headers aanmaken dit doe je met createrepo, en die vind je in createrepo-0.x.xx-x.el5.noarch.rpm

createrepo /var/www/html/redhat/RHEL57/x86_64/

Client config

Je hebt nu een yum repo, deze hoef je alleen nog maar bekend te maken op de client systemen. maak een file aan in /etc/yum.repos.d bv rhel-base.repo

vi /etc/yum.repos.d/rhel-base.repo
[rhel5]
name=RedHat Enterprise Linux $releasever - $basearch
baseurl=http://lsrv3106.linux.rabobank.nl/redhat/5/os/x86_64
enabled=1
gpgcheck=0

Updates

Persoonlijk zou ik voor de updates een aparte Repo aan maken. dit gaat op exact de zeflde marniet met alleen andere directory structuur. Je zou zelfs die update automatische iedere nacht kunnen over halen middels rsync. vergeet daarna niet om createrepo op nieuwe te draaien. '”`UNIQ–google-00000001-QINU`”‘

Problemen

ALs je snel achter rpm’s toevoegd aan je repository, bij een klant hebben we veel eigen rpm’s gebouwd. en een aantal rpm’s uit epel worden gebruikt. deze staan in een aparte structuur. kan je op de client te maken krijgen met de lokale cache. run dan op de client

# yum makecache

dit forceert yum om de repos opnieuwe uit te lezen en zijn locale cache te updaten.