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]#