Crear nuestro propio repositorio de paquetes para distribuirlo en una red local usando ‘urpmi’ y ‘apache’.


Vamos a crear un repositorio local (en un equipo de nuestra LAN) para actualizar o instalar programas a otros equipos sin necesidad de que éstos estén conectados a internet.

La idea es por un lado ganar velocidad en la instalación de programas ya que lo hacemos desde uno de nuestros ordenadores; y por otro lado no saturar el acceso a internet.

Para conseguirlo bajaremos en uno de los equipos todos los rpms que nos interesen y luego los distribuiremos a los demás equipos de nuestra LAN.
Para ello usaremos ‘urpmi’.

Indice:

1.Introduccion
2.Actualizacion de repositorios.
3.Instalar el servidor apache.
4.Configurar servidor apache para nuestro repositorio.
5.Crear la base de datos.
6.Prueba del repositorio desde otro ordenador.

1.Introduccion

Antes de iniciar el manual hay que tener claro que es un repositorio local. Un repositorio local es un servidor o dispositivo donde encontramos almacenados los programas que incluye una distribución, además de los paquetes que el usuario quiera almacenar para facilitar la distribución de dichos paquetes para otros ordenadores.

También podemos crear uno o varios repositorios de actualizaciones, y al realizar la búsqueda de los paquetes en el administrador de soportes de software, encontraremos los paquetes más actualizados.

Los problemas que nos podemos encontrar a la hora de instalar paquetes sin tener un repositorio local sería la perdida de tiempo al buscar los lugares más adecuados para encontrar las actualizaciones.

Otro de los problemas es que si no tenemos internet, no podemos descargar los paquetes, mientras que mediante un repositorio local que los tenga, el usuario que desee adquirir los paquetes, no tiene necesidad de conectarse a internet, ya que mediante un sistema de red puede acceder a la transferencia de los archivos.

Si la conexión es demasiado baja parea los ordenadores que hay conectados, y no queremos sobrecargarla tanto, desde un sólo ordenador podríamos aprovechar la línea para descargar los paquetes y meterlos en el repositorio, desde donde el resto de ordenadores se los descargaría.

La situación más común donde se suelen crear repositorios locales es en un conjunto de estaciones de trabajo conectadas en red, para facilitar el mantenimiento de todos los equipos y ser actualizados. Por ejemplo, en una empresa de 10 ordenadores con un servidor, a la hora de actualizar los equipos se podría hacer un script en el que cada X tiempo lanzase la ejecución de los paquetes del repositorio en cada estación de trabajo.

Los pasos que tendremos que hacer son los siguientes:

-Actualizar los repositorios en mandrake, conservando los rpm bajados.
-Instalacion del servidor apache.
-Configuracion del servidor Apache, para servir los rpm.
-Crear la base de datos de los rpm.
-Probar el experimento desde otro equipo.

2.Actualizacion de repositorios.

Para actualizar los repositorios primero, tendremos que añadirlos, si no lo tenemos añadidos. Para ello lo mejor es acudir a alguna pagina que nos facilite la operación. La que nosotros podemos recomendar es http://easyurpmi.zarb.org/

Solo hay que seguir los pasos que nos va diciendo:

Seleccionaremos de la lista la version de nuestro sistema operativo, la arquitectura de nuestro procesador y el sistema que usaremos para instalar los paquetes (normalmente urpmi). Despues pulsamos a ir al paso 2.

Aquí seleccionaremos qué repositorios añadiremos. Los basicos son contrib, main y updates. Estos normalmente hay que tenerlos añadidos. Y seleccionamos de que mirror deseamos bajarlo, lo mejor suele ser buscar uno cercano a nuestro propio pais. Hecho esto pulsaremos en “Ir al paso 3”

Ahora solo hay que copiar lo que aparecera en el recuadro gris, siendo root.

Y esto nos añadira los soportes necesarios para bajarnos casi cualquier paquete y las actualizaciones.

El siguiente paso seria actualizar los paquetes que tuvieramos instalados, para ello escribiriamos en la consola (siempre como root) :

# urpmi –auto-select –noclean

con auto-select, urpmi seleccionara todos los paquetes que tenemos instalados y los actualizará.

La opcion –noclean es muy importante para nuestro proposito, puesto que hace que despues de bajar e instalar los paquetes, estos no sean borrados de nuestro sistema.

Una vez instalado los paquetes, examinaremos el directorio /var/cache/urpmi/rpms/ dentro veremos todas los rpm que se han bajado e instalado en nuestro sistema.

3.Instalar el servidor apache.

Comprobamos si el apache se encuentra instalado, y para ello nos metemos en cualquier navegador web, como x ejemplo konkeror y ponemos en la barra de direcciones alguna de las siguientes:

http://127.0.0.1/
http://localhost/
http:// IP del equipo en el que te encuentres/ En nuestro caso seria, por ejemplo:(http://192.168.0.22/)

Debería aparecernos la web del Apache con sus características.
En el caso de que no este instalado, nada mas facil que escribir :

# urpmi apache –noclean

Nos puede decir que hace faltan unos paquetes de dependencias, le diremos que si y ya esta. Observamos de nuevo la opcion de noclean, para ahorrarnos el tener que bajarlo si queremos instalarlo en otro equipo de la red.
Ahora comprobaremos si tenemos el servicio corriendo, si es asi bien, si no, lo pondremos en marcha.

Para mirar su estado:
# /etc/init.d/httpd status
Para iniciarlo, si esta parado:
# /etc/init.d/httpd start
Para reiniciarlo:
# /etc/init.d/httpd restart

Ya tenemos nuestro servidor apache instaldo y corriendo, ahora en el siguiente apartado lo configuraremos.

4.Configurar el servidor apache para nuestro repositorio.

Puesto que esto no es un manual de apache, no diremos como se configura para hacer grandes cosas. Aunque quizas si te interese saber donde estan los archivos de configuracion del servidor, los encontraras en /etc/httpd/conf/

A nosotros lo que nos interesa es saber cual sera la raiz de nuestro servidor y donde tendremos que colocar los rpm que queramos distribuir. La raiz de nuestro servidor se encuentra en la carpeta local /var/www/html/ , todo lo que queramos distribuir tiene que estar dentro de este directorio.

El siguiente paso, podría ser crear una pagina web de inicio informando a los usuarios de los paquetes que tenemos disponibles y lo que habria que teclear para 1.- para añadir el repositorio a su ordenador, y 2.- proceder a instalar las actualizaciones; de esta forma facilitamos las instrucciones y comandos a realizar en cada máquina que acceda a nuestro repositorio. (algo parecido a como lo hicimos con el ‘easy urpmi’).

La orden que tendremos que indicar, para que el usuario pegue como root deberá ser la siguiente

#urpmi.addmedia <nombre_repositorio> –update <direccion_rpms> with <direccion_hdlist>

Mas adelante explicaremos con detenimiento lo que tendremos que poner y que significa cada parametro.

5.Crear la base de datos.

Bueno, ya tenemos el trabajo casi hecho, ya solo falta mover los paquetes y crear los ficheros de la base de datos.

Primero crearemos el arbol de directorios de nuestros paquetes, dentro de /var/www/html/

por ejemplo podriamos crear /var/www/html/repositorio/updates/10.1/rpms
hemos puesto 10.1 puesto que nosotros usamos la mandrake 10.1, tambien tendremos que crear donde iran los archivos de listas, lo ideal seria la siguiente localizacion

# mkdir -p /var/www/html/repositorio/updates/10.1/media_info

Ahora moveremos los paquetes que se guardaron cuando actualizamos la carpeta de nuestro repositorio, basta con que pongamos:

# mv /var/cache/urpmi/rpm/* /var/www/html/repositorio/updates/10.1/rpms

Con esto moveremos todos los paquetes, ahora nos situaremos en la carpeta media_info y crearemos la base de datos con el comando genhdlist:

# genhdlist ../rpms

Si hacemos ahora un ls, veremos los ficheros que hemos creado:

# ls

hdlist.cz list synthesis.hdlist.cz

Una vez creadas todas las carpetas, nos dedicaremos a cambiarle el propietario como usuario y tambien como grupo, para ello utilizaremos los siguientes comandos:

#chown apache:apache /var/www/html -R

Con esto, todos lo que hay dentro de la carpeta html sera propiedad de los usuario apache y del grupo apache, y nos aseguramos de que despues no haya ningun problema.

Pues ya esta todo hecho, ahora solo falta que expliquemos el comando para añadir el repositorio

#urpmi.addmedia <nombre_repositorio> –update <direccion_rpms> with <direccion_hdlist>

El comando urpmi.addmedia sirve para añadir un nuevo repositorio.
nombre_repositorio pondremos el nombre que queramos asignar a nuestro repositorio.

‘–update’ con esta opcion indicaremos que nuestro repositorio es para actualizaciones

‘<direccion_rpms>’ pondremos la direccion web de la carpeta de nuestro rpms, ej: http://192.168.1.19/repositorio/updates/10.1/rpms

‘with’ es para indicar el archivo de fuentes

‘direccion_hdlist’ indicaremos la ruta del archivo de listas de forma relativa al directorio de los rpm, ej: ../media_info/hdlist.cz

Una vez puesto eso en la pagina web creada, ya tenemos todo hecho. Ahora solo queda probarlo.

6.Prueba del repositorio desde otro ordenador.

Nos metemos en la herramienta de configuracion del sistema o centro de control mandrake tambien llamado, y buscamos la opcion “Elegir de donde se descargan los paquetes de software cuando se actualiza el sistema”.

Y deshabilitariamos todos los repositorios existentes excepto el que hemos creado anteriormente.

Ahora para probarlo, nos vamos a otro ordenador de la red y abrimos un explorador cualquiera, ponemos en la barra de direccion http://direccion_ip_del_servidor y se abrira la pagina que creamos anteriormente, ahora copiamos el comando que nos indica y abriremos una consola, nos pondremos como usuario root y pegaremos lo que copiamos de la pagina.

Si todo esta bien hecho, agregara sin ningun fallo el repositorio. Ahora actualizaremos nuestro equipo, poniendo:

# urpmi –update –auto-select

Y actualizara todos los paquetes desde el servidor que hemos
creado.

Nosotros hacemos así las actualizaciones e instalación de los ordenadores de las aulas del instituto y funciona muy bien.

Espero que te haya servido de ayuda.

Realizado por los alumnos de segundo del Ciclo Superior de Administración de Sistemas Informáticos del IES Leopoldo Queipo de Melilla.

Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=2239 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.