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


Argh! Pedacho de troll! (3.00 / 2) (#3)
por man ls a las Tue Sep 2nd, 2003 at 05:48:33 PM CET
(Información Usuario)

Bueno, quizás exagero un poco, pero esto
RedHat... bla bla... Debian... bla bla... Creo que son las dos distribuciones más importantes hoy en dia.
hasta un novato como yo sabe que es como mínimo temerario. Para empezar, un poco yanqui-céntrico: Red-Hat será muy importante en su casa, pero fuera ni mucho menos, ¿no os parece?. Y si siguiéramos las palabras del profeta, la más importante sería GNU/Linex (por la groria), si bien debía estar pedo cuando lo dijo.

¿Por qué hay que elegir sólo dos, con todas las que hay?

[ Padre ]


Interprétame bien, por favor (3.00 / 2) (#4)
por pbenavent a las Tue Sep 2nd, 2003 at 06:46:28 PM CET
(Información Usuario) http://www.benavent.org

Al referirme a que son las más importantes me refería a que en todos los flames-wars sobre distros aparecen estas dos... y otras, pero estas dos, siempre.

Y RH está muy extendida en las empresas por que hay muchos productos que el fabricante decide certificar sobre RH. Tal vez ahora con UnitedLinux cambie la cosa, pero el asunto de SCO no creo que ayude a que un fabricante de un software de pago se anime a certificar sus productos con UnitedLinux.

Ah! y por cierto, para que veas que estoy de acuerdo en que hay muchas más -y una de las ventajas del software libre es la posibilidad de que se creen distros especializadas- utilice durante bastante tiempo Trustix con su swup (software updater) ... una anécdota, en la lista de Trustix alguién se quejaba de que se utilizará rpm y swup y pidió el paso a .deb diciéndo que era muchísimo mejor, le dijeron que solo está mejor documentado, y bueno, en la ultima especificación (1.3) de la Linux Standard Base sigue siendo el formato RPM el estandar, aunque a mi me siga gustando el APT para resolver dependencias...

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


No te lo tomes tan en serio (3.00 / 2) (#5)
por man ls a las Tue Sep 2nd, 2003 at 08:34:44 PM CET
(Información Usuario)

que no es para tanto. Como ya dije exageré un poco con lo de troll, pero es que me gustaba la frase "pedacho de troll". La próxima vez tendré más cuidado.

Por otro lado, man_ls es una cuenta fantasma creada por el melenas para hacerse coro a sí mismo (Mandgggake es lo mejor, KDE ni te cuento, urpmi mola...), así que ¡las culpas a él! :-)

[ Padre ]


 
Mandrake URPMI Server? (3.00 / 1) (#7)
por sinner a las Wed Sep 3rd, 2003 at 02:53:46 PM CET
(Información Usuario) http://www.escomposlinux.org/sinner/

Hola,

Igual os va a interesar otro artículo, parecido a éste, que me gustaría escribir:

cómo montar un Mandrake URPMI Server.

Es decir: crea repositorios de tus propios paquetes, accesibles via urpmi.

Así, tenemos artículos para todos.


Salut,
Sinner


--
Sinner from the Prairy
Pogüered bai Mandrake
BOFHers Syndicate http://bofhers.org
[ Padre ]


y ya que te pones ... (4.00 / 1) (#8)
por pbenavent a las Wed Sep 3rd, 2003 at 03:48:44 PM CET
(Información Usuario) http://www.benavent.org

Decía más arriba que unas de las razones de utilizar Debian era aprender (en el trabajo, en casa, todo RH...)

La creación desde cero de rpm's una de las cosas que tengo en la cartera aprender, y ya que te pones podíamos perfilar un tercer artículo en esa línea, creo que hay dos caminos:
  • construir el rpm a partir del fuente, creando un fichero de especificaciones (spec file). Aquí el reto parece que está en escribir el fichero de especificaciones...
  • aplicaciones que crean rpms a partir de software ya instalado en tu equipo (que podría resultar difícil de obtener o simplemente que sólo tienes tú porque tú lo has desarrollado)
Hay algunas notas, como esta de ti mismo, Sinner, y sobre todo esta de Octubre del 2.002 (...como pasa el tiempo, ¿cuanto tiempo llevamos en Libertonia?)

Con eso cerraríamos la saga rpms 8-))))
  1. La guerra de las in-dependencias huyendo del infierno de las dependencias
  2. El server contra ataca desde tu Estrella de la Muerte pon tus rpms para todos tus satélites
  3. El retorno del BOFH la fuerza es poderosa en mi, hago mis propios rpms...


¿ Un artículo sobre crear rpms desde cero con spec files ?

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


Construir rpm's (3.00 / 1) (#11)
por La Mula Francis (la.mula.francisCHIRIVITAgmail.com) a las Thu Sep 4th, 2003 at 05:45:35 PM CET
(Información Usuario) http://semana.org

Yo, como no tengo mucha idea de linux[1], me encontraba con el problema de compilar e instalar programas no "debianizados" y luego saber como desinstalarlos. (wineX de transgaming, mplayer, juegos para mi sobrina...)

Pero el amigo Poldark (a ver cuando haces acto de presencia por aqui, que ya no se te lee!!!) me paso un ¿script?¿programa? llamado checkinstall.

Ahora con hacer un ./configure -opcionesquequiera y luego checkinstall, respondo a tres preguntas y me crea un *.deb (o rpm a elegir) me lo instala y me dice el nombre para luego desinstalarlo fácilmente.

[1]Aunque parezca mentira, debian ha sido para mi la mas sencilla de todas las que he probado.(Suse, Mandrake y Corelinux, mas fáciles de configurar, pero una puta locura a la hora de las dependecias)




Hiiiiiiiii haaaaaaaaaaa!hiiiiiiiiiii haaaaaaaaaaaaa!
[ Padre ]


Olvido (3.00 / 1) (#12)
por La Mula Francis (la.mula.francisCHIRIVITAgmail.com) a las Thu Sep 4th, 2003 at 05:47:00 PM CET
(Información Usuario) http://semana.org

Por supuesto faltaba el make... el checkinstall va en vez de make install.




Hiiiiiiiii haaaaaaaaaaa!hiiiiiiiiiii haaaaaaaaaaaaa!
[ Padre ]


Checkinstall y dependencias en MDK y RH (3.50 / 2) (#13)
por sinner a las Thu Sep 4th, 2003 at 06:31:58 PM CET
(Información Usuario) http://www.escomposlinux.org/sinner/

Hola,

En Debian, podias haber hecho "apt-get install checkinstall", que te viene de serie. En Mandrake, "urpmi checkinstall", que tambien viene de serie. Y en RedHat, o bien haces "rpm -ivh checkinstall*" o, si tienes apt4rpm, "apt-get install checkinstall".

De hecho, tienes un articulo en Libertonia sobre el checkinstall:
http://libertonia.escomposlinux.org/story/2002/10/25/53113/319

Checkinstall te sirve para .deb, .rpm /tgz

Y sobre las dependencias en Mandrake: si utilizas urpmi, no tienes esos problemas.

Y sobre las dependencias en Red Hat si utilizas apt4rpm, no tienes esos problemas.

Vamos, que cambiarse de distribucion por no conocer las herramientas que te vienen de serie (en el caso del urpmi) o facilmente instalables (en el caso de apt4rpm para RedHat), es complicarse la vida innecesariamente.


Salut,
Sinner


--
Sinner from the Prairy
Pogüered bai Mandrake
BOFHers Syndicate http://bofhers.org
[ Padre ]


Si se que tienes razon. (2.00 / 1) (#14)
por La Mula Francis (la.mula.francisCHIRIVITAgmail.com) a las Thu Sep 4th, 2003 at 09:15:33 PM CET
(Información Usuario) http://semana.org

Pero cuando probe mandrake la seis algo, no había nada de eso. Y era una locura tratar de instalar algo. Que si no tienes no-se-que, te lo instalas y el no-se-que te pide el yo-que-se-cual ...

Imagino que con la serie 9 será todo mas facil.

También es verdad que era muy novato (lo sigo siendo).




Hiiiiiiiii haaaaaaaaaaa!hiiiiiiiiiii haaaaaaaaaaaaa!
[ Padre ]


 
Mola el URPMIServerDrake (2.00 / 1) (#9)
por man ls a las Wed Sep 3rd, 2003 at 05:16:51 PM CET
(Información Usuario)

Me gustaría mucho saber cómo funciona eso por dentro. Ponlo arriba en tu lista de pendientes, ¿vale? ¡Porfa venga va!

[ Padre ]


 
Exactamente. (2.00 / 1) (#10)
por toomany a las Thu Sep 4th, 2003 at 08:43:36 AM CET
(Información Usuario) http://www.toomany.net

Ahora mismo (como muy bien sabe Sinner ;-)), estoy tomando primeros contactos con Mandrake. Antes había usado durante muchísimos años Debian, y la verdad, es una maravilla lo bien hecha que está (mdk), y lo maravilloso que puede llegar a ser la utilidad "urpmi" (ala apt).
Tampoco debemos olvidar que no sólo de GNU/Linux se alimenta el hombre, y también tenemos varios sabores de *BSD.
En definitiva, que yo no diría ni una cosa ni la otra, sino más bien que en cada situación, uno usa la distro o Unix que mejor se adapta a su problema.


Have a nice day ;-) TooManySecrets
[ Padre ]


 
Solo Red Hat y Debian ? (none / 0) (#6)
por Envite a las Wed Sep 3rd, 2003 at 01:19:27 PM CET
(Información Usuario)

Pregunta por la SuSE en Alemania, o por la Linex en Extremadura...
No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a decirlo.
Voltaire

[ Padre ]


 
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