[CentOS] Question about Mirrors

Sun Oct 12 11:17:53 UTC 2008
Rudi Ahlers <rudiahlers at gmail.com>

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