Tutorial Como Hacer Un Repositorio Local en PCLinuxOS
por ArkA
por ArkA
Hola que tal(?)
Lo primermo que tenemos que tener en cuenta es saber que es un repositorio, asi que voy a hacer una breve reseña...
La palabra repositorio deriva de la palabra repositorium (latin) que significa alacena o armario, y bueno un repositorio no es mas que eso un "armario" centralizado de informacion, en este caso de paquetes para una distribucion....
una vez explicado esto procedo a explicar los beneficios de tener un repositorio local...
La utilidad de un repositorio local se encuentra cuando no se tiene una conexion rapida de internet o esta conexion es lenta en ciertos horarios del dia (lease al mediodia) o si se quiere recomendar una distribucion especifica a alguien q no tiene internet y quiere instalar paquetes, que hacemos ante esta situacion? bueno lo que tenemos que hacer primero es encontrar las direcciones de los repositorios de nuestra distro en internet, para el caso de pclinuxos los repositorios son los siguientes:
*http://spout.ussg.indiana.edu/linux/pclinuxos/pclinuxos/apt/
*http://ftp.heanet.ie/pub/pclinuxos/apt/
*http://distro.ibiblio.org/pub/linux/distributions/texstar/pclinuxos/apt/
*http://www.gtlib.gatech.edu/pub/metalab/distributions/texstar/pclinuxos/apt/
*ftp://ftp.belnet.be/pub/mirror/pclinuxonline.com/apt/
*ftp://ftp.ch.debian.org/mirror/pclinuxos/apt/
*http://ftp.sh.cvut.cz/MIRRORS/pclinuxos/apt/
*http://ftp.nl.freebsd.org/os/Linux/distr/texstar/pclinuxos/apt/
*ftp://ftp.pbone.net/pub/pclinuxos/apt/
*http://linuxstation.net/pub/pclinuxos/apt/
*http://ftp.leg.uct.ac.za/pub/linux/pclinuxos/apt/
*http://mirror.pacific.net.au/pub1/linux/texstar/pclinuxos/apt/
*ftp://mirror.internode.on.net/pub/pclinuxos/apt/
luego necesitamos alrededor de 40gb libres en nuestro disco, una conexion a internet, y necesitaremos instalar los siguientes programas del repositorio de pclinuxos: rsync y createrepo
una vez que tenemos instalados todos los pragramas y verificamos el espacio en disco procedemos a usar rsync para descargar los archivos del repositorio que mas nos guste.
BAJANDO Y CONFIGURANDO EL REPOSITORIO
*Creamos la carpeta repositorio en algun lugar por ejemplo en /mnt/datos.
*Luego abrimos una consola y escribimos rsync -av --progress --delete --exclude=SRPM*/ ftp.heanet.ie::pub/pclinuxos/apt/ /mnt/datos/PCLinuxOS-repo
-av es para q este en archive mode y sea verboso (o sea q nos indique todo el tiempo q es lo q esta haciendo)
--progress muestra el progreso de la transferencia de archivos
--delete borra los archivos q se encuentran en la carpeta de destino y q no corresponden con la lista de archivos del servidor
--exclude=SRPM* le indica a rsync que escluya cierto tipo de paquetes, en este caso q excluya los SRPM q son las fuentes de algunos programas
/ftp.heanet.ie::pub/pclinuxos/apt/ le indica el repositorio o la direccion desde donde tiene q bajar los archivos (puede ser cualkier repositorio)
/mnt/datos/PCLinuxOS-repo le indica adonde tiene q guardar los archivos (puede ser cualkier carpeta, en este caso es un ejemplo)
una vez escrito el comando, apretamos enter y rsync se va a conectar al repositorio va a mirar la lista de archivos y va a comenzar a bajar los archivos mostrando el progreso de cada uno, si tenemos q apagar la maquina o algo lo q hacemos es cancelar el comando con control+c y se va a detener pero si lo arrancamos otra vez va a continuar desde donde se habia quedado.
Una vez q rsync termine de bajar todos los archivos (puede llevar bastante tiempo debido a q son alrededor de 30 gb), se puede actualizar el repositorio mediante el mismo comando, q automaticamente elimina los paquetes viejos y baja los nuevos.
Cuando finalicemos de bajar el repositorio y tenerlo bien actualizado tenemos q instalar el programa createrepo q esta en el manejador de paquetes.
Luego abrimos una consola y nos dirigimos a la carpeta donde hayamos guardado el repositorio (nuestro caso seria cd /mnt/datos/PCLinuxOS-repo/)
una vez ahi hacemos
[lab@ServerLab PCLinuxOS-repo]$ cd pclinuxos/2007/
nos ponemos como root
y luego ejecutamos el siguiente comando
[root@ServerLab 2007]# createrepo base/
y les va a generar esta salida
Saving Primary metadata
Saving file lists metadata
Saving other metadata
luego si ingresamos a la carpeta base y hacemos un ls nos vamos a dar cuenta q hay una carpeta dice repodata, esta carpeta contiene en su interior varios archivos de extension .xml, estos archivos son necesarios para q synaptic/apt-get puedan leer la informacion de los paquetes y cargar la lista de paquetes.
hasta aca ya tenemos el repositorio totalmente funcional.
CONFIGURANDO SYNAPTIC
Ingrsamos a synaptic que es nuestro manejador de paquetes predeterminado y nos dirigimos al menu settings y hacemos clic en repositories.
Nos va a aparecer otra ventana en la cual tenenmos la lista de repositorios y abajo del todo tres botones, uno q dice New, otro q dice Cancel, y otro q dice Ok.
Hacemos clic en New y se nos van a habilitar tres campos en blanco.
en el que dice url tenemos q poner la direccion de la carpeta donde esta guardado el repositorio, en nuestro caso seria asi la direccion
file:/mnt/datos/PCLinuxOS-repo/
luego en el segundo campo que dice Distribution escribimos
pclinuxos/2007
y en el tercer y ultimo campo "Sections" escribimos las secciones q qremos q esten en nuestro repositorio, en nuestro caso la eleccion fue
main extra nonfree kde kde4 (se escribe tal cual esta escrito ahi).
una vez echo esto buscamos el repositorio que estaba chequeado y lo "deschequeamos" , luego hacemos clic en ok y nos va a salir un cartel que nos avisa q la informacion del repositorio ah cambiado y que debemos actualizarlo para ver los paquetes correctamente, hacemos clic en Ok y luego hacemos clic en el boton reload.
Si siguieron paso a paso este tutorial y no saltearon ningun paso eh hicieron todo correctamente deberian encontrar el repositorio bajar los archivos de información y actualizar la lista de paquetes correctamente, y ya podemos probar la velocidad de tenerlo local.
CONFIGURANDO EL REPOSITORIO EN UNA LAN (SIN PROXY)
Cuando ya tengamos el repositorio debidamente configurado y actualizado le podemos dar su verdadera utilidad, distribuirlo en una red de computadoras, si bien todas pueden tener internet, la transferencia va a ser mucho mas veloz por la red q por internet.
Lo primero q tenemos q hacer es levantar una red entre las maquinas (samba, NIS, NFS, etc) o un servidor apache2 en el server, todo esto se explica en otro tutorial por eso no vamos a profundizar mas q en darles los nombres.
En nuestro caso elegimos apache, en la carpeta /var/www/html hacemos un enlace simbolico (acceso directo) a la carpeta q esta conteniendo nuestro repositorio local y luego probamos a ver si via navegador web podemos ver las carpetas, para esto es necesario escribir la direccion ip del servidor en el navegador y tendrian q aparecer las carpetas q tenemos en apache.
una vez q esto este funcionando correctamente, nos dirigimos a alguna de las maquinas clientes y probamos si podemos ver las carpetas via navegador web, si esto funciona abrimos el synaptic de dicha pc, vamos al menu settings y luego a repositories, se va a abrir la lista de repositorios, hacemos clic en new y donde dice url escribimos "http://ip.del.servidor/PCLinuxOS-repo" (sin las comillas), en distribution escribimos "pclinuxos/2007", y en sections escribimos "main extra nonfree kde kde4".
"Deschequeamos" el repositorio q estaba chequeado y chequeamos el nuestro, le damos Ok y nos va a aparecer el cartelito q nos informa q la informacion del repositorio ah cambiado y debemos hacer clic en reaload para actualizarla, hacemos eso y voilà ya tenemos nuestro repositorio funcionando a velocidad "copada".
CONFIGURANDO EL REPOSITORIO EN UNA LAN (CON PROXY)
En nuestro caso, tenemos un proxy entonces si usamos la configuracion anterior no va a funcionar, porq la pc se va a dirigir al proxy con esa ip y el proxy no lo va a dejar pasar asi q no va a encontrar los archivos necesarios para actualizar la informacion del registro.
Lo que debemos hacer es en la maquina cliente q ya tiene q tener configurado el proxy, ejecutar el drakconf o "configure your computer", ir a la seccion network & internet, y alli a "setup a proxy server for files and web browsing" y cuando ingresemos vamos a ver un recuadro q dice "no proxy for (coma separated list)" y ahi ponemos la ip del servidor y le damos aceptar.
Luego camos a synaptic al menu settings y a repositories y hacemos lo mismo q en el paso anterior.
Le hacemos clic al boton reload y voilà ya funciona el repositorio.
****************************
Y aca les dejo el Scrip que hice para actualizarlo automaticamente
lo llame
repo-update.sh:
#!/bin/bash
export RSYNC_PROXY='200.49.224.88:1280' && echo 'iniciando la actualizacion de archivos' && rsync -av --progress --delete --exclude=SRPM*/ ftp.heanet.ie::pub/pclinuxos/apt/ /mnt/datos/PCLinuxOS-repo && cd /mnt/datos/PCLinuxOS-repo/pclinuxos/2007/ && echo 'Creando Los Archivos Necesarios para el Repositorio' && createrepo base
cd /home/lab
******************************
Listo.
Espero q les sirva, este es mi primer post!!

