Beruflich Dokumente
Kultur Dokumente
centos-docses@googlegroups.com Ultima actualizacin: 19 de diciembre de 2006 Fecha de creacin: 26 de septiembre de 2006 Grupo de Usuarios de Linux en Cienfuegos, Cuba. 1
Indice
Repositorio de paquetes.....................................................................................4 Qu es un repositorios de paquetes ?..........................................................4 Cmo crear un repositorio ?.........................................................................4 Cmo crear el repositorio a partir de los CDs de CentOS-4.4 ?...................4 1. Habilitar un espacio pblico en nuestra red LAN...................................5 2. Crear estructura de directorios del repositorio......................................6 3. Copiar paquetes RPMs de los cds de CentOS-4.4 al repositorio.............8 4. Crear directorio repodata........................................................................9 5. Configuracin de las estaciones de trabajo...........................................10 6. Actualizar estaciones de trabajo de la red con yum..............................10 Cmo publicar los Cds de CentOS-4.4 en el repositorio para su descarga ? .......................................................................................................................12 Cmo delegar la mantencin del repositorio ?...........................................13 Revisiones realizadas........................................................................................16
Repositorio de paquetes
Qu es un repositorios de paquetes ?
Es un directorio, con determinada estructura que contiene paquetes para una distribucin de Linux. Esta estructura permite que varios clientes simultneamente puedan servirse de los paquetes ah archivados y de esa forma administrar la instalacin y actualizacin de los programas en su sistema. Un repositorio es una solucin efectiva cuando tenemos varias estaciones de trabajo (Ej. RedHat, CentOS, Mandrake, etc.) que necesitan instalar programas y mantenerse actualizadas.
Nuestra solucin es: 1. Crear un repositorio local en nuestra red LAN con los paquetes rpm que vienen en los cds de instalacin de CentOS-4.4. 2. Configurar las estaciones de trabajo para automticamente desde el repositorio creado. Para esto necesitamos: 1. Habilitar un espacio pblico en nuestra red LAN. Ej. Instalar un Servidor Web, Servidor FTP, etc. 2. Crear estructura de directorios del repositorio. Organiza la informacin y crea el mecanismo para adicionar nuevos juegos de actualizaciones. 3. Copiar paquetes RPMs de los cds de CentOS-4.4 al repositorio. 4. Crear directorio repodata del repositorio. Es donde se encuentran los ficheros que describen nuestro repositorio y el cual es utilizado por yum para recuperar la informacin necesaria de los paquetes solicitados. 5. Configuracin de las estaciones de trabajo. Referencia el repositorio desde las estaciones de trabajo. Con ello, los clientes quedan listos para interactuar con el repositorio. 6. Actualizar estaciones de trabajo con yum. que se actualicen
Nota: Los detalles de la configuracin de cada uno de estos servidores no es objetivo de este documento. Refirase a la documentacin oficial de cada uno para los detalles. Una vez instalado el Servidor Web Apache se nos debe crear el directorio: /var/www/html/ Una vez instalado el Servidor FTP vsftpd se debe crear el directorio: /var/ftp/ En ambos casos, el contenido que se copie dentro de estos directorios estar pblico. 4
Luego, desde cualquier estacin de trabajo de nuestra red usted debe tener acceso a: 1. http://servidor/ Para el caso del Servidor Web. Se debe mostrar la pgina de bienvenida de CentOS como prueba de que el Servidor Web est listo para servir informacin. 2. ftp://servidor/ Para el caso del Servidor FTP. Se debe mostrar una lista de directorios con el directorio pub. Nota: la palabra servidor hace referencia al nombre de la computadora donde se instal el Servidor Web o FTP. Tambin se podra utilizar la direccin IP de la computadora. En este documento utilizaremos la palabra servidor para hacer referencia a la computadora donde se instala el repositorio. Usted puede hacer los cambios que estime conveniente y alterar la configuracin segn sus necesidades. Lo importante en este paso es lograr un punto pblico en el sistema de archivo de una computadora accesible, desde nuestra red LAN, donde ubicar posteriormente el repositorio.
mkdir /var/ftp/pub/yum-repos/ Nota: Todos los comandos en esta seccin deben ser ejecutados como el usuario root. Nota: En los ejemplos siguientes asumiremos que se instal el Servidor FTP para publicar el repositorio. En caso de haber instalado el Servidor Web u alguna otra va de publicacin, el camino al repositorio debe ser reajustado segn la va seleccionada. Luego creamos el directorio para la distribucin a la cual le haremos el repositorio, ejecutando el comando: mkdir /var/ftp/pub/yum-repos/centos/ Ahora creamos el directorio referente a la versin de CentOS. Es en este paso donde tambin definimos el mecanismo que nos permitir ms adelante adaptar nuevas actualizaciones a nuestro repositorio. Veamos los comandos y la explicacin: mkdir /var/ftp/pub/yum-repos/centos/4.4/ Crea el directorio referente a la ltima actualizacin de CentOS-4. Agrupa informacin especfica de la liberacin. Ej. la llave GPG que firma los paquetes y el fichero yumgroups.xml. mkdir /var/ftp/pub/yum-repos/centos/4.4/os/ Crea directorio que agrupa informacin del sistema operativo. Ej, diferentes arquitecturas. mkdir /var/ftp/pub/yum-repos/centos/4.4/os/i386/ Crea directorio referente a la arquitectura de los paquetes. Dentro de este directorio copiaremos ms adelante los paquetes rpm que vienen en los cds de instalacin. ln -s /var/ftp/pub/yum-repos/centos/4.4/ /var/ftp/pub/yumrepos/centos/4/ Crea enlace simblico a la ltima actualizacin de CentOS-4. Aqu est la clave para el mantenimiento. Cuando salga el prximo juego de actualizaciones (versin 4.5, en este caso) este enlace debe ser actualizado para que apunte al directorio de la versin 4.5 una vez que est listo para su publicacin en el repositorio. El directorio 4.5 se crea de la misma forma que describimos para la versin 4.4. De esta forma los clientes podrn actualizar sus paquetes con el nuevo juego de 6
actualizaciones. En el fichero de configuracin los clientes apuntan al enlace simblico 4/. Nota: Es necesario que tanto el Servidor Web como el Servidor FTP acepten, en su configuracin, los enlaces simblicos para que este mecanismo funcione. Consulte la documentacin del Servidor seleccionado en caso que no le funcione el enlace simblico. Atajo: Puede crear todos los directorios con un solo comando ejecutando: mkdir -p /var/ftp/pub/yum-repos/centos/4.4/os/i386/
Para el caso que hayamos usado un Servidor Web: /var/www/html/yum-repos/centos/4.4/ /var/www/html/yum-repos/centos/4.4/os/ /var/www/html/yum-repos/centos/4.4/os/i386/ Para el caso que hayamos usado el Servidor FTP: /var/ftp/pub/yum-repos/centos/4.4/ /var/ftp/pub/yum-repos/centos/4.4/os/ /var/ftp/pub/yum-repos/centos/4.4/os/i386/
Lo primero que vamos a copiar son la llave GPG de la distribucin CentOS-4 que viene en el CD-1 de instalacin y el fichero yumgroups.xml. Para esto ponemos el CD-1 de CentOS-4.4 en el lector de cd y ejecutamos los siguientes comandos: mount /dev/cdrom /media/cdrom cp /media/cdrom/RPM-GPG-KEY-centos4 /var/ftp/pub/yumrepos/centos/4.4/ cp /media/cdrom/yumgroups.xml /var/ftp/pub/yumrepos/centos/4.4/ y aprovechando que tenemos el primer disco montado para copiar los paquetes RPM del primer disco al directorio i386 del repositorio. Para esto ejecutamos el comando: 7
cp -v /media/cdrom/CentOS/RPMS/*.rpm /var/ftp/pub/yumrepos/centos/4.4/os/i386/ Inmediatamente que presionemos la tecla Enter comenzarn a copiarse los paquetes rpm. Luego que terminemos de copiar este primer cd lo desmontamos con el comando: umount /dev/cdrom y luego repetimos los pasos anteriores para los discos 2, 3 y 4 de CentOS-4.4. Al finalizar la copia de los cuatro cds habremos copiado un total de 1499 paquetes y habremos ocupado un total aproximado a 2GB de espacio en disco.
Posteriormente que haya creado el fichero hgalo pblico para que los usuarios de su red LAN puedan descargarlos y copiarlo en sus computadoras. Para esto puede ejecutar el comando: cp /root/CentOS-Local.repo /var/ftp/pub/yum-repos/centos/
apunta a un sistema de repositorios espejos en Internet de los cuales se puede actualizar el sistema. Como no tenemos Internet en nuestra red o es muy lenta la conexin y se nos hace difcil conectarnos para descargar paquetes de los repositorios externos, podemos desactivar los repositorios del fichero y as evitar los mensajes de error. Para eso editamos el fichero /etc/yum.repos.d/CentOS-Base.repo y agregamos la lnea: enabled=0 en cada uno de los repositorios para desactivarlos. En el caso que la opcin ya exista debemos asegurarnos que sea igual a 0. Despus de modificado, el fichero /etc/yum.repos.d/CentOS-Base.repo debe parecerse al siguiente:
# # # # # # # # # # # # CentOS-Base.repo This file uses a new mirrorlist system developed by Lance Davis for CentOS. The mirror system uses the connecting IP address of the client and the update status of each mirror to pick mirrors that are updated to and geographically close to the client. You should use this for CentOS updates unless you are manually picking other mirrors. If the mirrorlist= does not work for you, as a fall back you can try the remarked out baseurl= line instead.
[base] name=CentOS-$releasever Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4 #released updates [update] name=CentOS-$releasever Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4 #packages used/produced in the build but not released [addons] name=CentOS-$releasever Addons mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons #baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4 #additional packages that may be useful [extras] name=CentOS-$releasever Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
10
gpgcheck=1 enabled=0 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever Plus mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centospl us #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4 #contrib - packages by Centos Users [contrib] name=CentOS-$releasever Contrib mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib #baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
En el caso que posteriormente desee utilizar los repositorios de Internet sustituya enabled=0 por enabled=1. Es posible que tambin se encuentre el fichero CentOS-Media.repo dentro de /etc/yum.repos.d/. Este fichero es generalmente usado en los casos que tenemos la instalacin de CentOS en DVD, pues nos permite utilizarlo como un repositorio. Generalmente trae un solo repositorio y viene desactivado por defecto.
ficheros isos debajo del directorio /root/. Los cuatro discos ocuparn un total aproximado de 2.2GB de espacio en disco. El prximo paso es crear el fichero md5sum, que contiene la suma md5 de cada uno de los ficheros. Esto permite que al descargar los ficheros se pueda comprobar que la descarga fue satisfactoria antes de grabar los isos a cd. Para esto ejecutamos el comando: md5sum /root/CentOS-4.4-i386-bin*.iso > md5sum y ahora el fichero /root/md5sum debe contener lo siguientes: 9f4ec5284ef5ddcc4cccb354b06cf1c5 fad51d008528fcf1deedf01c3cb76d00 238a204021797057763aeed7e27c2683 451c7f81d7f324e4ac0fd9281a96264d CentOS-4.4-i386-bin1of4.iso CentOS-4.4-i386-bin2of4.iso CentOS-4.4-i386-bin3of4.iso CentOS-4.4-i386-bin4of4.iso
Una vez que tengamos este paso creamos el directorio, en el repositorio, donde ubicaremos los ficheros isos y md5sum de la distribucin CentOS-4.4 que hemos creado. Para esto ejecutamos el comando: mkdir /var/ftp/pub/yum-repos/centos/4.4/iso/ y finalmente movemos los ficheros del directorio /root/ para nuestro repositorio con el comando: mv -v /root/CentOS-4.4-i386-bin*.iso /var/ftp/pub/yumrepo/centos/4.4/iso/ En caso que tenga dificultad al acceder a los ficheros desde la red LAN, revise los permisos de acceso del directorio que contiene los isos.
repositorio. En este documento utilizaremos el nombre de usuario repoadmin. 2. Ajustar los permisos de acceso del repositorio a mantener. El usuario repoadmin necesita tener permisos de escritura, lectura y ejecucin en el directorio del repositorio. De esta forma, el usuario repoadmin ser el propietario del directorio /var/ftp/pub/yum-repos/, mientras que dejamos los permisos de lectura y ejecucin para el resto de los usuarios. Para esto ejecutamos los comandos siguientes: chown -R repoadmin:root /var/ftp/pub/yum-repos/ para especificar el propietario del directorio, de forma recursiva. chmod -R 755 /var/ftp/pub/yum-repos/ para especificar los permisos de acceso al directorio, de forma recursiva. 3. Permitirle a la persona seleccionada que realice su tarea de mantencin. Ajustes preliminares en la estacin de trabajo responsable de mantener el repositorio: 1. Tener una copia local del repositorio que se desea mantener. 2. Actualizar repositorio de forma local. Continuando con el ejemplo anterior, en el caso que sea liberada la versin CentOS-4.5 y se desee actualizar el repositorio que tiene la versin de CentOS-4.4. La persona encargada de mantener el repositorio (el administrador del repositorio) realiza el proceso de crear el repositorio 4.5 localmente en su estacin de trabajo y realiza los cambios necesarios para que el enlace simblico que antes apuntaba a la versin 4.4 apunte a la versin 4.5 (consulte la seccin Crear estructura de directorios del repositorio). Todos estos cambios se realizan en la estacin de trabajo de la persona encargada de mantener el repositorio, en el servidor todava se mantiene la versin 4.4. En caso de alguna falla, el repositorio del servidor se mantiene intacto. Esta configuracin permite que se pueda trabajar en la solucin de la falla antes de publicar la informacin en el servidor. Solo se debe publicar la informacin en el servidor cuando el administrador del repositorio comprob, en su estacin de trabajo, que el repositorio de la nueva actualizacin est funcionando correctamente. 3. Sincronizar repositorio local con repositorio remoto. En este paso el administrador del repositorio sincroniza el contenido del directorio que contiene su repositorio local con el directorio remoto que tiene el repositorio en el servidor. 13
La sincrona entre directorios la podemos realizar con el comando rsync. En el caso que se haya creado el repositorio en el directorio /home/repoadmin/yum-repos/ de la estacin de trabajo del administrador del repositorio y que se mantenga el directorio /var/ftp/pub/yum-repos/ en el servidor, podemos ejecutar el comando siguiente para sincronizar el directorio del repositorio en el servidor con el de la estacin de trabajo del administrador del repositorio: rsync -avc /home/repoadmin/yum-repos/ repoadmin@servidor:/var/ftp/pub/yum-repos Aqu se nos debe pedir la contrasea del usuario repoadmin que fue fijada en el servidor donde se cre la cuenta y luego el proceso de sincronizacin comenzar. Nota: El slash (/) final, tanto en el origen como en el destino, tienen su significado. En el ejemplo anterior la direccin de origen termina en slash pero la de destino no. Consulte la pgina man del comando rsync para ms informacin, puede que encuentre otras opciones tiles. Al terminar la ejecucin de este comando el directorio remoto debe quedar sincronizado con el del servidor. En este punto, cuando las estaciones de trabajo ejecuten el comando yum update comenzarn a interactuar con la nueva versin del repositorio que el administrador prepar localmente en su estacin de trabajo y luego copi al servidor. Nota: Es posible que durante el proceso de sincronizacin falle el proceso de actualizacin en algunos clientes. Esto se debe a que los paquetes son copiados por la red de una computadora a otra y puede darse el caso que en ese momento se solicite instalar o actualizar un paquete que no ha sido copiado todava. En estos casos, yum aborta la instalacin o actualizacin de los paquetes que no se hayan copiado completamente o simplemente no se hayan copiado. La solucin es esperar y volverlo a intentar ms tarde.
14
Revisiones realizadas
Una revisin est dada por sugerencias que modifican el estado anterior del documento. Para llevar un historial de estas y las personas que han colaborado con sus ideas creamos la siguiente tabla: Ao 2006 2006 Mes Octubre Noviembre Da 14 21 Autor Jess Aneiros Sosa Alain Reguera Delgado
15