Inicio > Linux > CreacionRepositorioYUM

CreacionRepositorioYUM

Miércoles, 10 de noviembre de 2010

Creación de un repositorio YUM para Red Hat 4 y 5

En este documento pretendo explicar una forma rápida y sencilla de crearnos nuestro propio repositorio de paquetes RPM. El acceso al repositorio será vía web.

Crearemos un repositorio distinto por cada versión de SO (4 y/o 5) y arquitectura (32 bits y/o 64 bits). Los repositorios para Red Hat 4 serán accesibles mediante la herramienta up2date y los de Red Hat 5 mediante yum.

Para crear los repositorios necesitamos instalarnos las herramientas:

  • createrepo: es la encargada de generar los repositorios para YUM
  • repoview: genera unas páginas HTML indice con el contenido del repositorio. Estas páginas se generan dentro de una carpeta repoview y nos permite navegar por los paquetes del repositorio y obtener información sobre ellos.
  • yum-arch: esta herramienta la necesitamos para Red Hat 4 para generar unos ficheros .hdr que usa up2date.

Dado que el repositorio va a ser accesible vía web, también necesitamos un servidor web, en este caso yo voy a utilizar el servidor Apache.

Los repositorios se van a crear en un servidor con Red Hat 5 con el repositorio EPEL configurado (en este repositorio están disponibles las herramientas mencionadas con anterioridad).

La instalación de estas herramientas la hacemos con el siguiente comando:

yum install createrepo repoview yum-arch

A continuación nos creamos los directorios que albergarán el repositorio. Estos directorios deberán ser accesibles vía web.  Crearemos un directorio por cada repositorio.

Una vez creados los directorios hemos de copiar dentro de ellos los diferentes paquetes RPM que queremos dejar disponibles en el repositorio.

Nota:  Si tenemos activado SELinux, hemos de revisar el contexto de los ficheros *.rpm copiados, ya que por defecto se les asigna uno que los deja inaccesibles para el Apache.

Una vez copiados los RPMs que nos interesen y cada vez que se haga una modificación ejecutaremos los siguientes comandos para generar/actualizar el repositorio:

createrepo -d $dir
repoview $dir

siendo $dir el directorio del repositorio.

Además, en el caso de actualizar los repositorios de Red Hat 4 también ejecutaremos:

yum-arch $directorio

Al ejecutar esta herramienta obtenemos un aviso de que esta deprecated, pero es la forma que he encontrado para crear el repositorio en Red Hat 4.

Configuración del repositorio en los clientes

El activar el repositorio en los clientes depende de si vamos a usar Red Hat 4 (up2date) o Red Hat 5 (yum).

Red Hat 4 (up2date)

Nos hemos de crear un fichero /etc/yum.repos.d/myRepo.repo con el siguiente aspecto:

[myRepo]
name=myRepo Repository for Enterprise Linux 4 - $basearch
baseurl=http://$urlrepositorio
enabled=1
gpgcheck=0

Además hemos de dar de alta el repositorio en la configuración de los sources de up2date (/etc/sysconfig/rhn/sources) añadiendo las siguientes líneas al fichero mencionado con anterioridad:

#BEGIN myRepo
yum myRepo http://$urlrepositorio
#END myRepo

Con esto ya está dado de alta el repositorio en nuestro cliente.

Nuestro repositorio no tiene activado el uso de GPG. En caso de querer utilizar paquetes firmados con GPG hay que hacer más cosas, pero eso se escapa de los objetivos de esta documentación. Para poder utilizar este repositorio no firmado  es necesario pasar el parámetro –nosig al up2date para que no compruebe la firma GPG. Se podriá desactivar esta comprobación de forma global para todos los repositorios RPM, pero esto puede ser demasiado radical.

Red Hat 5 (Yum)

Nos hemos de crear un fichero /etc/yum.repos.d/myRepo.repo con el siguiente aspecto:

[myRepo]
name=myRepo Repository for Enterprise Linux 5 - $basearch
baseurl=http://$urlrepositorio
enabled=1
gpgcheck=0

A semejanza del repositorio EPEL (y supongo que otros) se podría crear un paquete RPM que se encargara de configurar el nuevo repositorio en nuestros clientes.

Linux , , , ,

  1. Sin comentarios aún.
  1. Sin trackbacks aún.