yum – Instalación de repositorio local

por | 22 junio, 2015

A veces es necesario disponer de un repositorio local donde tener localizados y accesibles los paquetes de instalación que nos vemos descargando de Internet o incluso un volcado de todos los rpm del DVD de instalación original para poder utilizarlos sin acceso a Internet.

1. Crear directorio de repositorio local y volcar el él los rpm del repositorio

Supongamos que queremos crear un repositorio local en el disco duro del contenido del DVD de Centos 5.9. Lo primero es crear el directorio que contendrá los archivos y volcarlos allí:

# mkdir /var/repo/Centos/5.9/i386/

En nuestro caso volcamos allí los 2712 ficheros rpm contenidos en la carpeta CentOS del primer DVD y los 61 rpm del mismo direcorio del DVD2 de instalación.

2. Crear un archivo de definición del repositorio.

Un repositorio local accesible con resolución de dependencias mediante yum,  precisa de un archivo xml que define los archivos del repositorio. Para crear este archivo XML se utiliza la utilidad createrepo. Aunque parezca extraño normalmente createrepo no se instala por defecto en el sistema base y hay que instalarlo a mano. En nuestro caso para Centos5:

[root@localhost CentOS]# rpm -vih createrepo-0.4.11-3.el5.noarch.rpm
advertencia:createrepo-0.4.11-3.el5.noarch.rpm: CabeceraV3 DSA signature: NOKEY, key ID e8562897
Preparando...               ########################################### [100%]
   1:createrepo             ########################################### [100%]
[root@localhost CentOS]#

 Nos posicionamos en el directorio del repositorio y creamos el archivo del repositorio:

# cd /var/repo/Centos/5.9/i386
# createrepo .

Con lo anterior se crea un subdirectorio llamado repodada el cual contiene los índices correspondientes.

3. Crear un archivo .repo para yum.

Ahora hay que decirle a yum que utilice este repositoio. yum guarda esta información en archivos ubicados en /etc/yum.repos.d

Creamos allí un archivo llamado por ejemplo:  Centos-Local.repo con el siguiente contenido:

[centos-local]
gpgcheck=0
name=Centos 5.9 Local $releasever - $basearch - DVD
baseurl=file:///var/repo/Centos/5.9/i386/

Con gpgcheck=0 indicamos que no vamos a usar certificado gpg.

 4. Verificación

[root@localhost repodata]# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
centos-local                                                                                |  951 B     00:00     
centos-local/primary                                                                        | 983 kB     00:00     
centos-local                                                                                             2771/2771
repo id                                      repo name                                                       status
centos-local                                 Centos 5.9 Local 5 - i386 - DVD                                 2.771
repolist: 2.771
[root@localhost repodata]#

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *