Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
apt-rpm: tu propio update server

Red Hat
Por sinner
departamento apt-get-no-solo-funciona-en-debian , Sección Tecnología
Puesto a las Wed Sep 3rd, 2003 at 11:24:08 AM CET

Hace varios meses, explicaba como apt-get-izar una Red Hat. Es decir, la habilitación de una Red Hat para usar el apt-get , para evitar caer en las garras de Debian. Ahora, toca la continuación:

Como construirse un apt-update server para Red Hat. Nota, el apt-update server no tiene que ser ni Red Hat ni Debian ni Gentoo ni... de hecho, el mio es un server Mandrake (juas!)

 


Empecemos suponiendo que ya tenes tu Red Hat funcionando con apt-get y controlas apt-get con los ojos cerrados . O eso o tienes un post-it en el monitor. Como resulta que los servidores de apt-rpm con las actualizaciones están algo saturados (malas lenguas indican que se debe a mi artículo sobre el apt-rpm), necesitas un servidor de actualizaciones apt-get-izado rápido y accesible; estás pidiendo a gritos tener tu propio servidor de apt-update.

Ingredientes

  • un ordenador con Linux instalado y tenga el suficiente espacio en disco. Calcula unos 3 GB por versión de RedHat que quieras tener en el update server, para no tener problemas de espacio.
  • el demonio crond funcionando en el sistema
  • el demonio ftpd (o el httpd , a elegir uno. En el artículo, utilizo ftpd. Para httpd, cambia el árbol de directorios a uno usable por apache)
  • tener en tu sistema el programa rsync
  • los programas genbasedir-0.5, makeapt.sh y syncRH80.sh , disponibles en este tar.gz
  • Necesitarás saber usar un editor (el $EDITOR) y moverte por los directorios como Pedro por su casa.
  • Opcionalmente, necesitarás acceso a un servidor de correo/utilizar un servidor de correo.
  • Imprescindible: una imagen de perejil, para poder verla al final y decir eso de "¡rico, rico!"

Preparación

Empieza creando un arbol de directorios donde acabarás almacenando los rpms que vayas a albergar en tu equipo. Por ejemplo, para los updates de RedHat 8.0 yo utilizo este árbol de directórios:

/var/ftp/pub/redhat/linux/updates/8.0/en/os
/var/ftp/pub/redhat/linux/updates/8.0/en/os/RPMS
/var/ftp/pub/redhat/linux/updates/8.0/en/os/SRPMS
/var/ftp/pub/redhat/linux/updates/8.0/en/os/i386
/var/ftp/pub/redhat/linux/updates/8.0/en/os/i686

Evidentemente, puedes tener en el mismo servidor los updates para diferentes distribuciones o versiones de una distribución apt-get-izada. Solo es cuestión de tener espacio en disco.

El siguiente paso radica en encontrar un servidor con el que puedas sincronizar las actualizaciones. Es recomendable pedir permiso al administrador del servidor antes de empezar a sincronizarse con el servidor. Aquí tienes una lista no exhaustiva con algunos servidores que ofrecen servicio de rsync.

Una vez ya tenemos los datos del servidor con rsync a usar, procederemos a editar el pequeño script llamado syncRH80.sh (y lo guardas en /usr/local/sbin/ ) para bajarnos las actualizaciones. Este script, que está en el tar.gz que te indiqué al principio, usa un servidor de rsync que uso yo. Cámbialo para que se adapte al servidor de rsync que vayas a usar y, si es necesario, cambiad también la ruta a la localización del árbol de directorios que contendrá las actualizaciones.

Ponlo en marcha

Utiliza este script syncRH80.sh por primera vez desde la linea de comandos, como un usuario que tenga permisos de lectura y escritura sobre el árbol de directorios /var/ftp/pub/redhat/linux/updates/8.0/ y pueda ejecutar programas de /usr/local/sbin/. Por ejemplo, este usuario puede ser el usuario BOFH.

[BOFH@updates-aptget ]$ /usr/local/sbin/syncRH80.sh

La primera vez que lo utilices, como se bajará todos los paquetes actualizados que contenga el servidor remoto, tardará un buen rato. Prepárate para ello, disfrutando de tu refresco favorito y dedica este tiempo muerto en culturizarte, hechando unas risas en la Tira Ecol

Cuando acabe la transferencia de archivos, te toca convertir esos directorios en un repositorio "apt-get-izado". Para ello, necesitas los scripts makeapt.sh y genbasedir-0.5 del tar.gz anterior. Sitúalos en /usr/local/sbin/ . Estos scripts los encontré en la web de Tuxfamily, y los adapté a las necesidades de mis servidores (maravillas de la licencia GPL). Repito, esos scripts están modificados para que funcionen en mi sistema, con los directorios aquí especificados. Una revisión de los scripts con vuestro $EDITOR, os servirá para comprobar las rutas de los ejecutables, las variables utilizadas por los scripts y los directorios usados en los scripts. Adáptalos a tus necesidades.

Cuando los hayas comprobado y editado, apt-get-iza los directórios con la orden:

[BOFH@updates-aptget ]$ /usr/local/sbin/makeapt.sh all

Tras esta acción, ya puedes añadir a los /etc/apt/sources.list de tus máquinas Red Hat 8.0 unas líneas similares a las siguientes:

# Red Hat Linux 8.0 updates
rpm ftp://updates-aptget.tu-red.org pub/redhat/8.0/en/i386 updates

Estas líneas asumen que tu servidor apt-get-izado se llama updates-aptget.tu-red.org, que este servidor tiene habilitado el ftp y que usas el mismo árbol de directorios que los explicados en este tutorial.

Ahora, tienes que escribir un pequeño script para que lance el sistema de actualización de tu servidor de updates. Para ello, nada como tener un script llamado /usr/local/sbin/aptsync.sh y que contenga algo como lo siguiente:

  ----------------- Inicio del Script ----------------- 
#! /bin/bash
# (C) 2002 Sinner from the Prairy <sinner@escomposlinux.org>
# Este script se ofrece sin garantía alguna.
# Si te funciona, ¡perfecto! Si no te funciona, mala suerte.
# Este script se distribuye bajo la licencia GPL de la FSF
# http://www.fsf.org/licenses/licenses.html

# Este script descarga las actualizaciones de Red Hat 8.0 
# en el servidor de updates apt-get-izado.

# Este script lo ejecuta crond, y se dedica a bajarse 
# los nuevos paquetes del servidor remoto via rsync
# y luego regenera los ficheros auxiliares 
# que lo habilitan como servidor apt-get-izado

echo ----------------------------------
echo Syncing RH 8.0
echo ----------------------------------
/usr/local/sbin/syncRH80.sh
/usr/local/sbin/makeapt3.sh all

# La siguiente parte es opcional. Utilízala si quieres.
# Envio del resultado al email del administrador
cat /home/BOFH/rsync.log | mailto -s "Updates de Red Hat 8.0" BOFH@tu-red.org
-----------------  Fin del Script ----------------- 

Seguidamente, como usuario BOFH (el usuario con permisos de escritura sobre el árbol de directorios que creamos al principio) editamos el crontab (recordemos: " crontab -e ") de este usuario BOFH y lo dejamos así:

 -----------------  Inicio del crontab ----------------- 
# RH 8.0 updates
-0 20 * * *     /usr/local/sbin/rsync.sh > /home/BOFH/rsync.log
  -----------------  Fin del crontab ----------------- 

Obsérvese que se hace un hábil uso del comando "mailto". Este programa se encuentra, en el paquete "metamail" (aunque el nombre del paquete puede variar entre distribuciones). Un adecuado uso de google o rpmfind nos ayudarán a localizar el paquete correcto. Y el hábil Libertoniano se dará cuenta que el crond realizará las actualizaciones diariamente a una hora determinada. Cambia el horario de las actualiaciones según te convenga.

Y esto ya está. Ya tenes un potente servidor de updates via apt-get para Red Hat 8.0. Ya puedes ir a ver la imágen del perejil y decir "¡rico, rico".

Para otras versiones de RedHat o para otras distribuciones que usen apt-get, el sistema es parecido... y lo dejo como ejercicio para el lector (¡siempre quise decir eso!).

Salut,
Sinner

< La aventura de comprar un portátil (116 comments) | Bruselas promociona el código abierto (12 comments) >
Enlaces Relacionados
· escomposlinux.org
· apt-get-izar una Red Hat
· en este tar.gz
· ofrecen servicio de rsync
· la Tira Ecol
· Tuxfamily
· ftp://updates-aptget.tu-red.or g
· la imágen del perejil
· More on Red Hat
· Also by sinner

Encuesta
apt-rpm sirve para...
· que Red Hat funcione como es debido 23%
· elimiar las dependencias de los rpms 5%
· evitar usar Debian 10%
· que te pique el GNUsanillo de Debian 28%
· comprender que la verdad está en Mandrake 16%
· ¡mira la de cosas que hace la Rubia con apt-get! 15%

Votos: 59
Resultados | Otras Encuestas

Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

Ver: Modo: Orden:
apt-rpm: tu propio update server | 14 comentarios (13 temáticos, 1 editoriales, 0 ocultos)
What is your bidding my master (3.00 / 2) (#2)
por pbenavent a las Tue Sep 2nd, 2003 at 12:30:40 PM CET
(Información Usuario) http://www.benavent.org

Me comprometí con Sinner a probar esto en el servidor de mi LAN casera. Resulta que soy un redhatero que utiliza Debian.

El software que utilizó es principalmente comercial y exige RH. Sobre todo me gusta aprender, así que el server casa es Debian. Creo que son las dos distribuciones más importantes hoy en dia.

Mi portátil es RH con APT y es lo mejor de los dos mundos, el reto es montar un repositorio de APT+RPMS sobre la Debian.

Probaré el artículo de Sinner y las conclusiones en Libertonia ... pero sin prisas, que mi mujer me mata.

--
"El hombre es la medida de todas las cosas"
Protágoras


apt-rpm: tu propio update server | 14 comentarios (13 temáticos, 1 editoriales, 0 ocultos)
Ver: Modo: Orden:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda