[FrontPage] [TitleIndex] [WordIndex

This is a read-only archived version of wiki.centos.org

Crear repositorios locales

Si usted ha descargado, creado o reconstruido paquetes RPM localmente (como se explica en es/TipsAndTricks/YumAndRPM ) usted puede necesitar un lugar para ponerlos de forma tal que estos sean accesibles desde todas las computadoras de su red local.

Este procedimiento explicará cómo configurar un recurso compartido NFS que contiene un repositorio local de paquetes construidos/reconstruidos/descargados y cómo acceder a ellos de una manera uniforme desde otros sistemas con la misma versión de la distribución. Uno puede seguir un procedimiento similar para habilitar espejos locales del sistema operativo, sus actualizaciones, etc. Esto nos permite evitar la descarga de los paquetes relacionados desde los servidores espejos y controlar, hasta que hayan sido probadas, la disponibilidad de las actualizaciones para las computadoras locales.

El ejemplo cubrirá la arquitectura i386 para CentOS4. Para otras arquitecturas y versiones, podemos seguir algo similar. Además, es posible usar otros medios de suministrar acceso al repositorio, tal como los servidores httpd y/o ftp.

Convenciones en la sección de línea de comando:

Pasos a seguir:

1. Cear una estructura de directorio en el servidor, digamos que server1.

[root@server1 ~]# mkdir -p /share/CentOS/4/local/i386/RPMS

2. Si createrepo no está instalado, y no lo está por defecto, instálelo

[root@server1 ~]# yum install createrepo

3. Construir un conjunto de paquetes nuevos desde `foo-1.2.3.4-1.el4.src.rpm`.

ArtWork/WikiDesign/icon-admonition-info.png

NOTA: Alternativamente puede obtener paquetes desde otros fuentes confiables.

[builduser@server1 ~]$ rpmbuild --rebuild /path/to/srpm/foo-1.2.3.4-1.el4.src.rpm

Esto crea (por ejemplo):

/home/builduser/rpmbuild/RPMS/foo-1.2.3.4-1.el4.i386.rpm
/home/builduser/rpmbuild/RPMS/foo-devel-1.2.3.4-1.el4.i386.rpm
/home/builduser/rpmbuild/RPMS/foo-docs-1.2.3.4-1.el4.i386.rpm

4. Mover los ficheros a el repositorio y construya los metadatos.

[root@server1 ~]# mv /home/builduser/rpmbuild/RPMS/foo* /share/CentOS/4/local/i386/RPMS
[root@server1 ~]# chown -R root.root /share/CentOS/4/local
[root@server1 ~]# createrepo /share/CentOS/4/local/i386
[root@server1 ~]# chmod -R o-w+r /share/CentOS/4/local

ArtWork/WikiDesign/icon-admonition-info.png

NOTA: Los pasos 3 y 4 son independientes para cada uno de los paquetes adicionados al repositorio.

5. Crear `/etc/yum.repos.d/local.repo`.

ArtWork/WikiDesign/icon-admonition-info.png

NOTA: El ejemplo asume que el plugin yum-plugin-protectbase está instalado y que su repositorio está habilitado por defecto, de forma protegida, y es permitido reemplazar los paquetes principales. Además asume que sus paquetes no están firmados con GPG.

[local]
name=CentOS-$releasever - local packages for $basearch
baseurl=file:///raid/RH/CentOS/$releasever/local/$basearch
enabled=1
gpgcheck=0
protect=1

Para repositorios vía HTTP o FTP la línea de baseurl debe ser modificada según corresponda.

6. Instalar paquetes en el servidor para probar el repositorio.

ArtWork/WikiDesign/icon-admonition-info.png

NOTA: Estos paquetes pueden ser eliminados más tarde si no son necesarios en el servidor.

[root@server1 ~]# yum install foo foo-devel foo-docs

7. Exportar el directorio vía NFS – si es que ya no está en un directorio compartido.

ArtWork/WikiDesign/icon-admonition-info.png

NOTA: Puede que necesite instalar e iniciar NFS, y/o reiniciarlo si usted no lo ha estado usando.

Cambie la dirección IP para ajustarse a su red local. Use "rw" en lugar de "ro" si usted desea que el recurso compartido tenga permisos de escritura para algunos clientes privilegiados.

[root@server1 ~]# echo "/share 192.168.1.0/24(ro,async)' >>/etc/exports
[root@server1 ~]# exportfs -r

8. Entrar a la computadora del cliente (ej, client1) como root y configure el punto de montaje NFS y la configuración de yum.

ArtWork/WikiDesign/icon-admonition-info.png

NOTA: Para que este ejemplo funcione como se muestra, el paquete autofs es necesario (yum install autofs). Una alternativa sería crear /share y montar NFS en /etc/fstab. El ejemplo asume que usted tiene ssh/scp trabajando para root. Usted necesitará un DNS que trabaje con los nombres de las computadoras locales o configurar /etc/hosts con las direcciones IP y nombres de sus computadoras.

[root@client1 ~]# scp server1:/etc/yum.repos.d/local.repo /etc/yum.repos.d/
[root@client1 ~]# ln -s /net/server1/share /share

9. Comprobar la configuración – debería ser capaz de ver el repositorio.

[root@client1 ~]# ls /share/CentOS/4/local

10. Instalar paquetes en el cliente.

[root@client1 ~]# yum install foo foo-devel foo-docs

Repita los tres últimos pasos para los clientes adicionales que lo necesiten.


2023-09-11 07:23