Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Como crear un repositorio Linux Centos en tu LAN

DriveMeca creando un repositorio Linux Centos en la LAN
Crece la cantidad de equipos en nuestra LAN (incluidos los servidores) y a su vez disminuye el ancho de banda que tenemos para conectarnos a Internet. Si hacemos el estudio, mucho de lo que ya se descarga se hace una y otra vez volviéndose una tarea "costosa". Soluciones hay varias (proxy, denegar paginas, etc) pero para nuestro caso lo que queremos es optimizar la descarga de paquetes RPM para nuestros servidores Linux Centos.
Nuestra solución y tema del articulo de este día es configurar un repositorio Linux Centos en tu LAN.
El esquema es el siguiente: Configuraremos un servidor Linux Centos compartiendo un repositorio de paquetes al cual se conectaran otros servidores Linux Centos a descargar paquetes por medio del comando yum (que a su vez lo hará por ftp) antes que descargarlos de internet. Este esquema también se puede aplicar a equipos aislados sin salida a internet.

Requerimientos

  • Servidor Linux Centos: 10.8.0.1
  • Cliente Linux Centos: 10.8.0.xx

Creamos el repositorio en el servidor

-Creamos el directorio donde descargaremos los rpms
mkdir /var/ftp/pub/reponet

Articulo sugeridoComo instalar paquetes del dvd de centos 7 de forma local

-Instalamos dependencias incluida createrepo, el comando que nos habilita el repositorio a compartir
yum install createrepo vsftpd

-Editamos la configuracion de vsftpd y permitimos conexiones anonimas
vi /etc/vsftpd/vsftpd.conf
#anonymous_enable=NO

-Activamos y ejecutamos el servicio vsftpd
systemctl enable vsftpd.service
systemctl start vsftpd.service

-Nos creamos el .repo
vi /etc/yum.repos.d/reponet.repo
[reponet]
name=Repositorio en red de Centos 7
baseurl=file:///var/ftp/pub/reponet
gpgcheck=0
enabled=1

-Descargamos los paquetes. Es recomendable buscar un servidor (mirror) cercano a nuestro servidor para que la descarga no demore tanto (en mi caso escojo uno de Colombia). El listado lo pueden consultar en este URL. Tiempo para ir por un café ;-)

rsync -avz rsync://mirror.edatel.net.co/centos/7/os/x86_64/Packages/ /var/ftp/pub/reponet/

-Creamos la metadata del repositorio
createrepo -v /var/ftp/pub/reponet/

-Verificamos ya nos aparezca el repositorio listado
yum repolist

-Limpiamos cache
yum clean all

Configuramos clientes


-Instalamos el cliente ftp
yum --disablerepo=\* --enablerepo=c7-media install ftp

-Creamos el .repo apuntando al servidor Linux Centos con el nuevo repositorio de RPM
vi /etc/yum.repos.d/reponet.repo
[reponet]
name=Repositorio en red de Centos 7
baseurl=ftp://10.8.0.1/pub/reponet
gpgcheck=0
enabled=1

-Verificamos ya nos aparezca listado el repositorio

yum repolist

-Ya podemos instalar / actualizar paquetes desde nuestro repositorio en LAN, en este caso instalare perl con sus dependencias

yum --disablerepo=\* --enablerepo=reponet install perl

-Es importante actualizar el repositorio. Para esto nos creamos una tarea en el cron. En mi ejemplo la configuro para ejecutarse a las 11.30pm cada dia

vi /var/spool/cron/root
30 23 * * * rsync -avz rsync://mirror.edatel.net.co/centos/7/os/x86_64/Packages/ /var/ftp/pub/reponet/

-Reiniciamos el servicio de cron

systemctl restart crond.service

Muy bien, ya hemos terminado y tenemos un servidor Linux Centos compartiendo un repositorio que se actualiza todas las noches al que se pueden conectar nuestros servidores Centos en la LAN. Ya conocias esta solucion?, lo haces de otra forma, cual?, escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.
Share/Bookmark