On Fri, Oct 10, 2008 at 11:22 PM, Filipe Brandenburger <filbranden at gmail.com> wrote: > Hi, > > On Fri, Oct 10, 2008 at 17:10, Rudi Ahlers <rudiahlers at gmail.com> wrote: >> How do I actually keep a local repository on the LAN, which can be >> used by other hosts with yum & HTTP installations? >> I currently use mrepo for this purpose, but it puts everything in >> different folders, like so: > > I was also using mrepo for that, but I gave up because "yum > groupinstall" does not work with it, and I also found it a little > awkward to keep multiple releases (5.1, 5.2) with it, which is > something that I want since I want to upgrade the test machines to 5.2 > before I do it on the production environment. > > I rolled a script that uses rsync to do that. > > See this: > > # Instructions on how to mirror CentOS: > # http://www.centos.org/modules/tinycontent/index.php?id=22 > > # MirrorList: > # http://www.centos.org/modules/tinycontent/index.php?id=13 > > Basically these are the commands I use: > > centos_mirror=rsync.arcticnetwork.ca::centos # closest one to me, you > may want to change this > > echo "===> Mirroring CentOS 5.2 (x86_64 and i386)" > rsync -azH --delete "$centos_mirror"/5.2/ \ > /var/www/mirror/centos/5.2/ \ > --include '/*/x86_64/' --include '/*/i386/' --exclude '/*/*/' \ > -v || error=yes > > > echo "" > echo "===> Mirroring CentOS 4.7 (x86_64 only, no isos, no cluster suite)" > rsync -azH --delete "$centos_mirror"/4.7/ \ > /var/www/mirror/centos/4.7/ \ > --include '/*/x86_64/' --exclude '/*/*/' \ > --exclude '/isos/' --exclude '/csgfs/' \ > -v || error=yes > > echo "" > echo "===> Mirroring CentOS GPG keys" > rsync -azH -L "$centos_mirror"/"RPM-GPG-KEY-*" \ > /var/www/mirror/centos/ \ > -v || error=yes > > > I tweaked the rsync includes/excludes because I want to have CentOS 5 > for both i386 and x86_64, and CentOS 4 for x86_64 only. > > Then in yum.conf I comment mirrorlist= and uncomment baseurl= and > replace "mirror.centos.org" with "mirror.mydomain.net". This is the > [base] section of my CentOS-Base.repo: > > [base] > name=CentOS-$releasever - Base > #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os > baseurl=http://mirror.mydomain.net/centos/$releasever/os/$basearch/ > gpgcheck=1 > gpgkey=http://mirror.mydomain.net/centos/RPM-GPG-KEY-CentOS-5 > priority=1 > > > This is what I have in httpd.conf: > > <Directory /var/www/mirror> > Options FollowSymLinks Indexes > AllowOverride None > </Directory> > > <VirtualHost *:80> > ServerName mirror.mydomain.net > DocumentRoot /var/www/mirror > ErrorLog logs/mirror-error_log > CustomLog logs/mirror-access_log combined > </VirtualHost> > > > And then I manually create the symbolic links from 5 -> 5.2 and 4 -> > 4.7. When 5.3 is out, I will manually change the script to mirror it > instead of 5.2 and then change the symbolic link when I'm ready to > upgrade all the servers. It's some work, but it has to be done only > every 6 months, and it gives me the amount of control that I need. > > I hope that helps! :-) > > Filipe > _______________________________________________ Ok, just to understand this better. This is a script that you run via a crontab, right? And you simply save all the files in /var/www/mirror - right? I suppose I could just change the entry in httpd.conf to use /data/mirror/ instead, and then rsync everything to /data/mirror/centos/5/x86_64/5 - which is then a symlink to /data/mirror/centos/5.2/x86_64/ How can I exclude the graphics stuff like X, KDE, Gnome, etc? -- Kind Regards Rudi Ahlers