Home > How To, Linux > Crear Repositorio de CentOS

Crear Repositorio de CentOS

October 7th, 2009 roml Leave a comment Go to comments

En la vida de todo administrador de sistemas, ocurren situaciones que nos hacen reflexionar acerca del uso que le estamos dando a nuestra red, y donde comenzamos a valorar cada bit que usamos en nuestra red. Es por este motivo que hace unos 6 meses decidí tomarme en serio el echo de montar dos repositorios locales de CentOS, uno en la oficina, y el otro en nuestro datacenter, ya que TODAS las instalaciones que realizo las hago a través de la red y muchas haciendo uso del Kickstart de Red Hat, ya uqe es mas eficiente que realizarlo usando discos. A la fecha no se si es posible realizar instalaciones totalmente remotas en Debian (estoy CASI TOTALMENTE seguro que solo se puede por el cochino debootstrap) mientras que los Red Hat based Systems me permiten realizar estas instalaciones desde repositorios http.

Pero bueno ese tema no viene al caso de este How To, cabe destacar que necesitarás unos 30GB de espacio en disco, si quieres hacer un repositorio de 32 bits y otro de 64 bits.

Los pasos son para un repositorio de CentOS v.5

  • mkdir -pv /var/www/html/centos/5/os/i386/CentOS/RPMS/
  • mkdir -pv /var/www/html/centos/5/os/x86_64/CentOS/RPMS/
  • createrepo /var/www/html/centos/5/os/i386/
  • createrepo /var/www/html/centos/5/os/x86_64/

Esta es la configuración básica del árbol de archivos, ahora es necesario sincronizar con un repositorio para ello debemos buscar de la lista de repositorios de CentOS cualquier espejo de tipo RSYNC.

  • Abrimos nuestro Crontab con el comando crontab -e
  • Agregamos lo siguiente:

0 21 * * * /usr/bin/rsync -avrt  rsync://mirror.clarkson.edu/centos/5/updates/*  –exclude=debug/ /var/www/html/centos/5/updates/
0 22 * * * /usr/bin/rsync -avrt  rsync://mirror.clarkson.edu/centos/5/centosplus/*  –exclude=debug/ /var/www/html/centos/5/centosplus/
0 21 * * * /usr/bin/rsync -avrt  rsync://mirror.clarkson.edu/centos/5/addons/*  –exclude=debug/ /var/www/html/centos/5/addons/
0 22 * * * /usr/bin/rsync -avrt  rsync://mirror.clarkson.edu/centos/5/extras/*  –exclude=debug/ /var/www/html/centos/5/extras/
0 21 * * * /usr/bin/rsync -avrt  rsync://mirror.clarkson.edu/centos/5/fasttrack/*  –exclude=debug/ /var/www/html/centos/5/fasttrack/
0 22 * * * /usr/bin/rsync -avrt  rsync://mirror.clarkson.edu/centos/5/os/*  –exclude=debug/ /var/www/html/centos/5/os/

Este crontab lo que hará es sincronizar nuestro repositorio con el mirror de Clarkson.edu todos los días a las 10pm, para mantenernos siempre actualizados.

Ahora bien una vez echo esto debemos editar también en cada uno de nuestros servidores el archivo de repositorios de yum para que las actualizaciones las hagamos de forma local.

vi /etc/yum.repos.d/CentOS-Base.repo

Comentaremos los BASE y los UPDATE y colocaremos los siguientes:

[base]
name=CentOS-$releasever – Base
baseurl=http://192.168.*.*/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
#released updates
[update]
name=CentOS-$releasever – Updates
baseurl=http://192.168.*.*/centos/$releasever/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

Una vez echo esto estaremos listos, solo queda hacer un yum update e iniciar nuestro apache para que el repositorio este disponible.

Comparte y Disfruta:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • BarraPunto
  • FriendFeed
  • HelloTxt
  • Identi.ca
  • LinkedIn
  • MySpace
  • Netvibes
  • Technorati
  • Tumblr
  • Twitter