lunes, 10 de marzo de 2014

Guía para la implementación de repositorios espejos oficiales de Canaima GNU/Linux

-¿Qué Conocimientos Deben acumularse Parr Comprender la Gestión de repositorios?
  • PGP o su implementación libre gnupg, su uso y gestión en el sistema Debian.
  • debmirror
  • cron
-Criterios


Para convertirse en un espejo oficial de Canaima, se deberían cumplir con los siguientes criterios:
  • El sitio debe estar disponible las 24 horas del día. La máquina no debe estar demasiado cargada de trabajo. 
  • Debe tener una conectividad decente. Son preferibles los anchos de banda equivalentes a conexiones de tipo T1.  
  • Los encaminadores que haya delante del servidor no deberían tener bloqueos globales de acceso o grandes limitaciones de ancho de banda. 
  • El servidor debe ser capaz de sostener el tráfico, es decir, debe tener límites razonables sobre los demonios HTTP, FTP y rsync, incluido el número máximo de conexiones en general y el número máximo de conexiones desde una IP única.  
  • Espacio en disco suficiente (con espacio adicional para la expansión); vea la página del tamaño de las réplicas.
Estos sólo son criterios que hay que tomar en cuenta para la implementación de los repositorios espejos oficiales de canaima, si el sitio no cuenta con uno de estos criterios de igual forma lo tomaremos en cuenta. sin embargo, es deseable que el sitio tenga un historial de trabajo como el antes descrito.

Todas las solicitudes para ser réplicas oficiales, incluyendo información exacta sobre el consumo de ancho de banda y cualquier limitación, se deberían enviar por correo electrónico a espejo@canaima.softwarelibre.gob.ve

Creación de un repositorio espejo de Canaima

0.- Resumen Para La recreación de repositorios espejos de Canaima


* Directorio de Trabajo: / home / espejo

Requieren Permisos de root
-------------------------
adduser espejo
-------------------------

-------------------------
wget http://paquetes.canaima.softwarelibre.gob.ve/pool/main/c/canaima-llaves/canaima-llaves_4.0+1_all.deb
-------------------------

Requieren Permisos de root
-------------------------
dpkg -i canaima-llaves_4.0 + 1_all.deb
-------------------------

-------------------------
gpg --import /usr/share/keyrings/CANAIMA-ACTIVE-98E6DA28.gpg
-------------------------

-------------------------
gpg --import /usr/share/keyrings/CANAIMA-ACTIVE-EA5B0719.gpg 
-------------------------

-------------------------
gpg --import /usr/share/keyrings/CANAIMA-ACTIVE-F0754964.gpg
-------------------------

-------------------------
cp /home/espejo/.gnupg/pubring.gpg /home/espejo/.gnupg/trustedkeys.gpg
-------------------------

Requieren Permisos de root
-------------------------
mkdir / var / repo / canaima
chown -c espejo.espejo / var / repo / canaima
-------------------------

-------------------------
debmirror --debug --progress --verbose --source --host=paquetes.canaima.softwarelibre.gob.ve
 --section=main,aportes,no-libres --method=rsync --root=:paquetes --dist=roraima,kerepakupai,auyantepui
 --arch=i386,amd64 --rsync-options=-aIL /var/repo/canaima
-------------------------

1.- Crear un usuario dedicado


Crear un usuario dedicado a la gestión de repositorios y sus procesos: autenticación, sincronización, etc.. (Se requiere permisos de root)

-------------------------

~ # Adduser espejo
Adicion de usuario `espejo '...
Adicion nuevo de la ONU `espejo grupo» (1007) ...
Añadiendo nuevo usuario `espejo '(1005) con el grupo` espejo' ...
Introduzca la nueva Contraseña de UNIX: 
Vuelva a Escribir la nueva Contraseña de UNIX: 
passwd: password updated successfully
Cambio de la Información del Usuario párr espejo
Introduzca el valor nuevo o pulso ENTER Para El Defecto
Nombre Completo []: Espejo Distribucion Canaima    
Número de habitación []: 
Teléfono de Trabajo []: 
Teléfono De Casa []: 
Otro []: 
¿Es correcta del la información? [Y / n] Y

-------------------------

2.- Descargar las llaves GPG de los repositorios de Canaima 

Descargar las llaves PGP de los repositorios de Canaima GNU / Linux.

-------------------------

~ $ Wget http://paquetes.canaima.softwarelibre.gob.ve/pool/main/c/canaima-llaves/canaima-llaves_4.0+1_all.deb
--2013-08-26 11: 46: 27-- http://paquetes.canaima.softwarelibre.gob.ve/pool/main/c/canaima-llaves/canaima-llaves_4.0+1_all.deb
Resolver paquetes.canaima.softwarelibre.gob.ve ... 190.9.128.108
Conexión a paquetes.canaima.softwarelibre.gob.ve | 190.9.128.108 |: 80 ... Conectado.
Petición HTTP Enviada, esperando Respuesta ... 200 OK
Longitud: 9.238 (9.0K) [application / x-debian-paquete]
Guardar en: `canaima-llaves_4.0 + 1_all.deb '

100%[============================================================================================================>] 9238 --.- K / s en 0.002s  

08/26/2013 11:46:27 (4.29 MB / s) - `canaima-llaves_4.0 + 1_all.deb 'salvado [9238/9238]

-------------------------

3.- Instalar las Llaves GPG

Instalar el paquete recién descargado. (Se requiere permisos de root)

-------------------------

~ # dpkg -i canaima-llaves_4.0 + 1_all.deb
(Reading database ... 20344 files and directories currently installed.)
Preparing to replace canaima-llaves 4.0+1 (using canaima-llaves_4.0+1_all.deb) ...
Removiendo llaves del repositorio oficial de Canaima
Unpacking replacement canaima-llaves ...
Setting up canaima-llaves (4.0+1) ...
Añadiendo llaves del repositorio oficial de Canaima
Removiendo llaves obsoletas del repositorio oficial de Canaima
 
-------------------------

4. Importar las llaves al contexto del usuario dedicado

Una vez las llaves de Canaima han sido instaladas, éstas pueden verificarse en el directorio /usr/share/keyrings.

-------------------------


~$ ls /usr/share/keyrings/
CANAIMA-ACTIVE-98E6DA28.gpg  CANAIMA-ACTIVE-F0754964.gpg      debian-archive-keyring.gpg
CANAIMA-ACTIVE-EA5B0719.gpg  CANAIMA-DEPRECATED-56F68C2A.gpg  debian-archive-removed-keys.gpg


-------------------------

Se encontrarán aquí las llaves gpg tanto de los repositorios de Debian (preexistentes desde la instalación del servidor donde se trabaja), como las recién instaladas correspondientes a los repositorios de Canaima.

¿Cuál es el motivo que existan unas llaves gpg para Debian? Debian usa estas llaves para su trabajo local, por ejemplo, para los procesos que se llevan en la gestión de paquetes mediante el sistema apt.

Una vez verificadas, pueden importarse una por una en el directorio de trabajo del usuario creado para el propósito de gestión del espejo.

En nuestro caso, cada llave pertenece a un repositorio específico, a saber: 



  •     98E6DA28: "Proyecto Canaima GNU/Linux (Repositorio principal) <repositorios@canaima.softwarelibre.gob.ve>"
  •     EA5B0719: "Proyecto Canaima GNU/Linux (Actualizaciones de seguridad) <seguridad@canaima.softwarelibre.gob.ve>"
  •     F0754964: "Metadistribución Canaima GNU/Linux (Repositorio Unificado) <paquetes@canaima.softwarelibre.gob.ve>"
La llave 'CANAIMA-DEPRECATED-56F68C2A.gpg' corresponde a un repositorio cuyo funcionamiento es obsoleto.

Importamos cada llave con los pasos que se muestran a continuación.

-------------------------

~$ gpg --import /usr/share/keyrings/CANAIMA-ACTIVE-98E6DA28.gpg
gpg: directory `/home/espejo/.gnupg' created
gpg: new configuration file `/home/espejo/.gnupg/gpg.conf' created
gpg: WARNING: options in `/home/espejo/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/home/espejo/.gnupg/secring.gpg' created
gpg: keyring `/home/espejo/.gnupg/pubring.gpg' created
gpg: /home/espejo/.gnupg/trustdb.gpg: trustdb created
gpg: key 98E6DA28: public key "Proyecto Canaima GNU/Linux (Repositorio principal) <repositorios@canaima.softwarelibre.gob.ve>" imported
gpg: Total number processed: 1
gpg:               imported: 1


-------------------------


Si se nota, en el primer proceso de importación de llave, se crea el directorio /home/espejo/.gnupg.

-------------------------

~$ gpg --import /usr/share/keyrings/CANAIMA-ACTIVE-EA5B0719.gpg 
gpg: key EA5B0719: public key "Proyecto Canaima GNU/Linux (Actualizaciones de seguridad) <seguridad@canaima.softwarelibre.gob.ve>" imported
gpg: Total number processed: 1
gpg:               imported: 1

-------------------------

-------------------------


~$ gpg --import /usr/share/keyrings/CANAIMA-ACTIVE-F0754964.gpg 
gpg: key F0754964: public key "Metadistribucion Canaima GNU/Linux (Repositorio Unificado)
<paquetes@canaima.softwarelibre.gob.ve>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

-------------------------


Luego, debe asegurarse que el contenido del archivo /home/espejo/.gnupg/trustedkeys.gpg sea el mismo del archivo recién actualizado /home/espejo/.gnupg/pubring.gpg. El primero será consultado por 'gpgv' (aplicación que usa debmirror para hacer la validación de las llaves gpg). El segundo corresponde al anillo de llaves públicas de los repositorios de Canaima que, el usuario 'espejo' debe disponer a la hora de autenticar sus comunicaciones con los servicios indicados.

-------------------------


~$ cp /home/espejo/.gnupg/pubring.gpg /home/espejo/.gnupg/trustedkeys.gpg

-------------------------

Esto se hace para evitar errores de este tipo:

-------------------------

sent 120 bytes  received 553 bytes  1346.00 bytes/sec
total size is 197  speedup is 0.29
gpgv: keyblock resource `/home/espejo/.gnupg/trustedkeys.gpg': file open error
gpgv: Signature made Thu Aug  1 16:08:31 2013 VET using DSA key ID 98E6DA28
[GNUPG:] ERRSIG CEC1AE6898E6DA28 17 2 00 1375389511 9
[GNUPG:] NO_PUBKEY CEC1AE6898E6DA28
gpgv: Can't check signature: public key not found
Release signature does not verify.
Errors:
 Release signature does not verify
Failed to download some Release or Release.gpg files!
WARNING: releasing 1 pending lock...
-------------------------

5.- Recrear Por primera vez el espejo de Canaima

El proceso principal de sincronización se lleva a cabo mediante el comando debmirror. Sin embargo, existen otras formas de llevar a cabo este proceso.

Para entender cómo se gestiona debmirror, hablaremos de los parámetros usados en nuestro proceso:


  • --debug: modo depuración
  • --progress: muestra el avance de la descarga de los elementos
  • --verbose: muestra el progreso entre archivos descargados
  • --source: incluye la fuente en el repositorio
  • --host=paquetes.canaima.softwarelibre.gob.ve: define el host remoto desde donde se recreará el espejo
  • --section=main,aportes,no-libres: especifica las secciones de Debian o Canaima a sincronizar. (En Debian, típicamente se tienen: main,contrib,non-free)
  • --method=rsync: especifica el método para la descarga de los archivos
  • --root=:paquetes: especifica el directorio en el host remoto que representa la raíz del archivo Debian o Canaima.
  • --dist=roraima,kerepakupai,auyantepui: especifica la distribución de Debian o Canaima a sincronizar. (En Debian, típicamente se tienen: wheezy, jessie, sid)
  • --arch=i386,amd64: especifica las arquitecturas a sincronizar.
  • --rsync-options=-aIL: especifica opciones alternativas de rsync.
  • -- / Var / repo / canaima: Definir el camino Donde se recreará y actualizará el repositorio espejo
Como vimos, este trabajo se hará desde el repositorio principal paquetes.canaima.softwarelibre.gob.ve.

-------------------------

~$ debmirror --debug --progress --verbose --source --host=paquetes.canaima.softwarelibre.gob.ve --section=main,aportes,no-libres --method=rsync --root=:paquetes --dist=roraima,kerepakupai,auyantepui --arch=i386,amd64 --rsync-options=-aIL /var/repo/canaima
Mirroring to /var/repo/paquetes from rsync://anonymous@paquetes.canaima.softwarelibre.gob.ve/canaima/
Arches: i386,amd64
Dists: roraima,kerepakupai,auyantepui
Sections: usuarios
Including source.
Pdiff mode: use
Download at most 200 files per rsync call.
Will clean up AFTER mirroring.
Attempting to get lock, this might take 2 minutes before it fails.
Get Release files.
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/roraima/
dists/roraima/Release
        8259 100%    7.88MB/s    0:00:00 (xfer#1, to-check=0/4)

sent 119 bytes  received 8614 bytes  17466.00 bytes/sec
total size is 8259  speedup is 0.95
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/roraima/Release.gpg
         197 100%  192.38kB/s    0:00:00 (xfer#1, to-check=0/4)

sent 120 bytes  received 553 bytes  448.67 bytes/sec
total size is 197  speedup is 0.29
gpgv: Signature made Thu Aug  1 16:08:31 2013 VET using DSA key ID 98E6DA28
[GNUPG:] SIG_ID fAd73pOJRtG4q1nXjOmr04NVvKU 2013-08-01 1375389511
[GNUPG:] GOODSIG CEC1AE6898E6DA28 Proyecto Canaima GNU/Linux (Repositorio principal) <repositorios@canaima.softwarelibre.gob.ve>
gpgv: Good signature from "Proyecto Canaima GNU/Linux (Repositorio principal) <repositorios@canaima.softwarelibre.gob.ve>"
[GNUPG:] VALIDSIG BCD029F1BF7C96F5336A8AE6CEC1AE6898E6DA28 2013-08-01 1375389511 0 4 0 17 2 00 BCD029F1BF7C96F5336A8AE6CEC1AE6898E6DA28
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/kerepakupai/
dists/kerepakupai/Release
       14350 100%   13.69MB/s    0:00:00 (xfer#1, to-check=0/4)

sent 127 bytes  received 14707 bytes  29668.00 bytes/sec
total size is 14350  speedup is 0.97
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/kerepakupai/Release.gpg
         197 100%  192.38kB/s    0:00:00 (xfer#1, to-check=0/4)

sent 128 bytes  received 555 bytes  455.33 bytes/sec
total size is 197  speedup is 0.29
gpgv: Signature made Thu Aug 22 15:11:02 2013 VET using DSA key ID 98E6DA28
[GNUPG:] SIG_ID SPDhg36aHquC2h3bvL2+JDOkyZ4 2013-08-22 1377200462
[GNUPG:] GOODSIG CEC1AE6898E6DA28 Proyecto Canaima GNU/Linux (Repositorio principal) <repositorios@canaima.softwarelibre.gob.ve>
gpgv: Good signature from "Proyecto Canaima GNU/Linux (Repositorio principal) <repositorios@canaima.softwarelibre.gob.ve>"
[GNUPG:] VALIDSIG BCD029F1BF7C96F5336A8AE6CEC1AE6898E6DA28 2013-08-22 1377200462 0 4 0 17 2 00 BCD029F1BF7C96F5336A8AE6CEC1AE6898E6DA28
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/auyantepui/
dists/auyantepui/Release
        8286 100%    7.90MB/s    0:00:00 (xfer#1, to-check=0/4)

sent 125 bytes  received 8648 bytes  17546.00 bytes/sec
total size is 8286  speedup is 0.94
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/auyantepui/Release.gpg
         197 100%  192.38kB/s    0:00:00 (xfer#1, to-check=0/4)

sent 126 bytes  received 560 bytes  457.33 bytes/sec
total size is 197  speedup is 0.29
gpgv: Signature made Thu Aug  1 16:08:44 2013 VET using DSA key ID 98E6DA28
[GNUPG:] SIG_ID pYCPqQLNt7hCULFFrvXZ4tAChqk 2013-08-01 1375389524
[GNUPG:] GOODSIG CEC1AE6898E6DA28 Proyecto Canaima GNU/Linux (Repositorio principal) <repositorios@canaima.softwarelibre.gob.ve>
gpgv: Good signature from "Proyecto Canaima GNU/Linux (Repositorio principal) <repositorios@canaima.softwarelibre.gob.ve>"
[GNUPG:] VALIDSIG BCD029F1BF7C96F5336A8AE6CEC1AE6898E6DA28 2013-08-01 1375389524 0 4 0 17 2 00 BCD029F1BF7C96F5336A8AE6CEC1AE6898E6DA28
Get Packages and Sources files and other miscellany.
CURRENT dists/auyantepui/usuarios//usr/bin/debmirror: Created directory: dists/auyantepui/usuarios/
CURRENT dists/auyantepui/usuarios/binary-i386//usr/bin/debmirror: Created directory: dists/auyantepui/usuarios/binary-i386/
CURRENT .temp/dists/auyantepui/usuarios//usr/bin/debmirror: Created directory: .temp/dists/auyantepui/usuarios/
CURRENT .temp/dists/auyantepui/usuarios/binary-i386//usr/bin/debmirror: Created directory: .temp/dists/auyantepui/usuarios/binary-i386/
dists/auyantepui/usuarios/binary-i386/Packages.gz needs fetch
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
./
dists/
dists/auyantepui/
dists/auyantepui/usuarios/
dists/auyantepui/usuarios/binary-i386/
dists/auyantepui/usuarios/binary-i386/Packages.gz
       96802 100%    6.59MB/s    0:00:00 (xfer#1, to-check=0/6)

sent 240 bytes  received 97237 bytes  64984.67 bytes/sec
total size is 96802  speedup is 0.99
dists/auyantepui/usuarios/binary-i386/Release needs fetch
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/auyantepui/usuarios/binary-i386/
dists/auyantepui/usuarios/binary-i386/Release
         131 100%  127.93kB/s    0:00:00 (xfer#1, to-check=0/6)

sent 224 bytes  received 542 bytes  510.67 bytes/sec
total size is 131  speedup is 0.17
CURRENT dists/auyantepui/usuarios/binary-amd64//usr/bin/debmirror: Created directory: dists/auyantepui/usuarios/binary-amd64/
CURRENT .temp/dists/auyantepui/usuarios/binary-amd64//usr/bin/debmirror: Created directory: .temp/dists/auyantepui/usuarios/binary-amd64/
dists/auyantepui/usuarios/binary-amd64/Packages.gz needs fetch
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/auyantepui/usuarios/
dists/auyantepui/usuarios/binary-amd64/
dists/auyantepui/usuarios/binary-amd64/Packages.gz
       96212 100%    2.29MB/s    0:00:00 (xfer#1, to-check=0/6)

sent 233 bytes  received 96639 bytes  64581.33 bytes/sec
total size is 96212  speedup is 0.99
dists/auyantepui/usuarios/binary-amd64/Release needs fetch
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/auyantepui/usuarios/binary-amd64/
dists/auyantepui/usuarios/binary-amd64/Release
         132 100%  128.91kB/s    0:00:00 (xfer#1, to-check=0/6)

sent 226 bytes  received 544 bytes  513.33 bytes/sec
total size is 132  speedup is 0.17
CURRENT dists/auyantepui/usuarios/source//usr/bin/debmirror: Created directory: dists/auyantepui/usuarios/source/
CURRENT .temp/dists/auyantepui/usuarios/source//usr/bin/debmirror: Created directory: .temp/dists/auyantepui/usuarios/source/
dists/auyantepui/usuarios/source/Sources.gz needs fetch
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/auyantepui/usuarios/
dists/auyantepui/usuarios/source/
dists/auyantepui/usuarios/source/Sources.gz
       28683 100%   27.35MB/s    0:00:00 (xfer#1, to-check=0/6)

sent 220 bytes  received 29095 bytes  58630.00 bytes/sec
total size is 28683  speedup is 0.98
dists/auyantepui/usuarios/source/Release needs fetch
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/auyantepui/usuarios/source/
dists/auyantepui/usuarios/source/Release
         133 100%  129.88kB/s    0:00:00 (xfer#1, to-check=0/6)

sent 214 bytes  received 539 bytes  502.00 bytes/sec
total size is 133  speedup is 0.18
CURRENT dists/kerepakupai/usuarios//usr/bin/debmirror: Created directory: dists/kerepakupai/usuarios/
CURRENT dists/kerepakupai/usuarios/binary-i386//usr/bin/debmirror: Created directory: dists/kerepakupai/usuarios/binary-i386/
CURRENT .temp/dists/kerepakupai/usuarios//usr/bin/debmirror: Created directory: .temp/dists/kerepakupai/usuarios/
CURRENT .temp/dists/kerepakupai/usuarios/binary-i386//usr/bin/debmirror: Created directory: .temp/dists/kerepakupai/usuarios/binary-i386/
dists/kerepakupai/usuarios/binary-i386/Packages.gz needs fetch
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/kerepakupai/
dists/kerepakupai/usuarios/
dists/kerepakupai/usuarios/binary-i386/
dists/kerepakupai/usuarios/binary-i386/Packages.gz
      123868 100%    2.19MB/s    0:00:00 (xfer#1, to-check=0/6)

sent 238 bytes  received 124300 bytes  83025.33 bytes/sec
total size is 123868  speedup is 0.99
dists/kerepakupai/usuarios/binary-i386/Release needs fetch
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/kerepakupai/usuarios/binary-i386/
dists/kerepakupai/usuarios/binary-i386/Release
         134 100%  130.86kB/s    0:00:00 (xfer#1, to-check=0/6)

sent 228 bytes  received 546 bytes  516.00 bytes/sec
total size is 134  speedup is 0.17
CURRENT dists/kerepakupai/usuarios/binary-amd64//usr/bin/debmirror: Created directory: dists/kerepakupai/usuarios/binary-amd64/
CURRENT .temp/dists/kerepakupai/usuarios/binary-amd64//usr/bin/debmirror: Created directory: .temp/dists/kerepakupai/usuarios/binary-amd64/
dists/kerepakupai/usuarios/binary-amd64/Packages.gz needs fetch
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/kerepakupai/usuarios/
dists/kerepakupai/usuarios/binary-amd64/
dists/kerepakupai/usuarios/binary-amd64/Packages.gz
      123896 100%    2.32MB/s    0:00:00 (xfer#1, to-check=0/6)

sent 237 bytes  received 124326 bytes  83042.00 bytes/sec
total size is 123896  speedup is 0.99
dists/kerepakupai/usuarios/binary-amd64/Release needs fetch
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/kerepakupai/usuarios/binary-amd64/
dists/kerepakupai/usuarios/binary-amd64/Release
         135 100%  131.84kB/s    0:00:00 (xfer#1, to-check=0/6)

sent 230 bytes  received 548 bytes  1556.00 bytes/sec
total size is 135  speedup is 0.17
CURRENT dists/kerepakupai/usuarios/source//usr/bin/debmirror: Created directory: dists/kerepakupai/usuarios/source/
CURRENT .temp/dists/kerepakupai/usuarios/source//usr/bin/debmirror: Created directory: .temp/dists/kerepakupai/usuarios/source/
dists/kerepakupai/usuarios/source/Sources.gz needs fetch
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/kerepakupai/usuarios/
dists/kerepakupai/usuarios/source/
dists/kerepakupai/usuarios/source/Sources.gz
       30126 100%   28.73MB/s    0:00:00 (xfer#1, to-check=0/6)

sent 224 bytes  received 30533 bytes  20504.67 bytes/sec
total size is 30126  speedup is 0.98
dists/kerepakupai/usuarios/source/Release needs fetch
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/kerepakupai/usuarios/source/
dists/kerepakupai/usuarios/source/Release
         136 100%  132.81kB/s    0:00:00 (xfer#1, to-check=0/6)

sent 218 bytes  received 543 bytes  507.33 bytes/sec
total size is 136  speedup is 0.18
CURRENT dists/roraima/usuarios//usr/bin/debmirror: Created directory: dists/roraima/usuarios/
CURRENT dists/roraima/usuarios/binary-i386//usr/bin/debmirror: Created directory: dists/roraima/usuarios/binary-i386/
CURRENT .temp/dists/roraima/usuarios//usr/bin/debmirror: Created directory: .temp/dists/roraima/usuarios/
CURRENT .temp/dists/roraima/usuarios/binary-i386//usr/bin/debmirror: Created directory: .temp/dists/roraima/usuarios/binary-i386/
dists/roraima/usuarios/binary-i386/Packages.gz needs fetch
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/roraima/
dists/roraima/usuarios/
dists/roraima/usuarios/binary-i386/
dists/roraima/usuarios/binary-i386/Packages.gz
       61969 100%   59.10MB/s    0:00:00 (xfer#1, to-check=0/6)

sent 222 bytes  received 62391 bytes  125226.00 bytes/sec
total size is 61969  speedup is 0.99
dists/roraima/usuarios/binary-i386/Release needs fetch
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/roraima/usuarios/binary-i386/
dists/roraima/usuarios/binary-i386/Release
         131 100%  127.93kB/s    0:00:00 (xfer#1, to-check=0/6)

sent 212 bytes  received 539 bytes  1502.00 bytes/sec
total size is 131  speedup is 0.17
CURRENT dists/roraima/usuarios/binary-amd64//usr/bin/debmirror: Created directory: dists/roraima/usuarios/binary-amd64/
CURRENT .temp/dists/roraima/usuarios/binary-amd64//usr/bin/debmirror: Created directory: .temp/dists/roraima/usuarios/binary-amd64/
dists/roraima/usuarios/binary-amd64/Packages.gz needs fetch
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/roraima/usuarios/
dists/roraima/usuarios/binary-amd64/
dists/roraima/usuarios/binary-amd64/Packages.gz
       60606 100%    4.13MB/s    0:00:00 (xfer#1, to-check=0/6)

sent 221 bytes  received 61026 bytes  40831.33 bytes/sec
total size is 60606  speedup is 0.99
dists/roraima/usuarios/binary-amd64/Release needs fetch
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/roraima/usuarios/binary-amd64/
dists/roraima/usuarios/binary-amd64/Release
         132 100%  128.91kB/s    0:00:00 (xfer#1, to-check=0/6)

sent 214 bytes  received 541 bytes  503.33 bytes/sec
total size is 132  speedup is 0.17
CURRENT dists/roraima/usuarios/source//usr/bin/debmirror: Created directory: dists/roraima/usuarios/source/
CURRENT .temp/dists/roraima/usuarios/source//usr/bin/debmirror: Created directory: .temp/dists/roraima/usuarios/source/
dists/roraima/usuarios/source/Sources.gz needs fetch
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/roraima/usuarios/
dists/roraima/usuarios/source/
dists/roraima/usuarios/source/Sources.gz
          20 100%   19.53kB/s    0:00:00 (xfer#1, to-check=0/6)

sent 208 bytes  received 429 bytes  424.67 bytes/sec
total size is 20  speedup is 0.03
dists/roraima/usuarios/source/Release needs fetch
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
dists/roraima/usuarios/source/
dists/roraima/usuarios/source/Release
         133 100%  129.88kB/s    0:00:00 (xfer#1, to-check=0/6)

sent 202 bytes  received 536 bytes  1476.00 bytes/sec
total size is 133  speedup is 0.18
Parse Packages and Sources files and add to the file list everything therein.
Download all files that we need to get (7113 MiB).
Get package files.
opening tcp connection to paquetes.canaima.softwarelibre.gob.ve port 873
sending daemon args: --server --sender -vvlLogDtprIe.iLsf --timeout=300 . canaima/ 
Repositorio rsync de canaima.softwarelibre.gob.ve:
- Aquellos usuarios que se sincronizen m\#303\#241s de una vez al d\#303\#255a podr\#303\#255an ser excluidos a futuro.
\#302\#241Gracias por utilizar Canaima GNU\Linux!

receiving incremental file list
delta-transmission enabled
./
pool/
pool/usuarios/
pool/usuarios/a/
pool/usuarios/a/adblock-plus/
pool/usuarios/a/adblock-plus/adblock-plus_2.1.1-2.debian.tar.gz
       16041 100%   15.30MB/s    0:00:00 (xfer#1, to-check=208/218)
pool/usuarios/a/adblock-plus/adblock-plus_2.1.1-2.dsc
        2048 100%    4.58kB/s    0:00:00 (xfer#2, to-check=207/218)
pool/usuarios/a/adblock-plus/adblock-plus_2.1.1.orig.tar.gz
      627695 100%  354.74kB/s    0:00:01 (xfer#3, to-check=206/218)
pool/usuarios/a/adblock-plus/xul-ext-adblock-plus_2.1.1-2_all.deb
      576362 100%  945.97kB/s    0:00:00 (xfer#4, to-check=205/218)
pool/usuarios/a/amigu/
pool/usuarios/a/amigu/amigu_0.6.3+4canaima9_all.deb
      494172 100%    1.19MB/s    0:00:00 (xfer#5, to-check=204/218)
pool/usuarios/a/amigu/amigu_0.7.2-6.debian.tar.gz
        4904 100%    4.68MB/s    0:00:00 (xfer#6, to-check=203/218)
pool/usuarios/a/amigu/amigu_0.7.2-6.dsc
        2033 100%    5.98kB/s    0:00:00 (xfer#7, to-check=202/218)
pool/usuarios/a/amigu/amigu_0.7.2-6_amd64.deb
      376774 100%  541.89kB/s    0:00:00 (xfer#8, to-check=201/218)
pool/usuarios/a/amigu/amigu_0.7.2-6_i386.deb
      376766 100%  403.44kB/s    0:00:00 (xfer#9, to-check=200/218)
pool/usuarios/a/amigu/amigu_0.7.2.orig.tar.gz
     1981908 100%  467.16kB/s    0:00:04 (xfer#10, to-check=199/218)
pool/usuarios/a/amigu/amigu_0.7.6-2.debian.tar.gz
        5330 100%    5.08MB/s    0:00:00 (xfer#11, to-check=198/218)
pool/usuarios/a/amigu/amigu_0.7.6-2.dsc
        1725 100%    7.08kB/s    0:00:00 (xfer#12, to-check=197/218)
pool/usuarios/a/amigu/amigu_0.7.6-2_amd64.deb
      378936 100%  597.83kB/s    0:00:00 (xfer#13, to-check=196/218)
pool/usuarios/a/amigu/amigu_0.7.6-2_i386.deb
      378916 100%  367.83kB/s    0:00:01 (xfer#14, to-check=195/218)
pool/usuarios/a/amigu/amigu_0.7.6.orig.tar.gz
     1983246 100%  650.36kB/s    0:00:02 (xfer#15, to-check=194/218)
pool/usuarios/a/asistente-actualizacion/
pool/usuarios/a/asistente-actualizacion/asistente-actualizacion_3.0-1_all.deb
      168954 100%   80.56MB/s    0:00:00 (xfer#16, to-check=193/218)
pool/usuarios/b/
pool/usuarios/b/base-files/
pool/usuarios/b/base-files/base-files_6.0+canaima9_amd64.deb
       64418 100%  273.51kB/s    0:00:00 (xfer#17, to-check=188/218)
pool/usuarios/b/base-files/base-files_6.0+canaima9_i386.deb
       80382 100%  193.34kB/s    0:00:00 (xfer#18, to-check=187/218)
pool/usuarios/b/base-files/base-files_6.0.1-1canaima15.debian.tar.gz
       20039 100%   35.45kB/s    0:00:00 (xfer#19, to-check=186/218)
pool/usuarios/b/base-files/base-files_6.0.1-1canaima15.dsc
        1054 100%    1.21kB/s    0:00:00 (xfer#20, to-check=185/218)
pool/usuarios/b/base-files/base-files_6.0.1-1canaima15_amd64.deb
       71822 100%   68.63kB/s    0:00:01 (xfer#21, to-check=184/218)
pool/usuarios/b/base-files/base-files_6.0.1-1canaima15_i386.deb
       71806 100%  389.57kB/s    0:00:00 (xfer#22, to-check=183/218)
pool/usuarios/b/base-files/base-files_6.0.1.orig.tar.gz
       72205 100%  192.66kB/s    0:00:00 (xfer#23, to-check=182/218)
pool/usuarios/b/base-files/base-files_7.1wheezy1canaima3.debian.tar.gz
       21723 100%   33.25kB/s    0:00:00 (xfer#24, to-check=181/218)
pool/usuarios/b/base-files/base-files_7.1wheezy1canaima3.dsc
        1038 100%    1.07kB/s    0:00:00 (xfer#25, to-check=180/218)
pool/usuarios/b/base-files/base-files_7.1wheezy1canaima3.orig.tar.gz
       54231 100%   46.25kB/s    0:00:01 (xfer#26, to-check=179/218)
pool/usuarios/b/base-files/base-files_7.1wheezy1canaima3_amd64.deb
       75370 100%  328.59kB/s    0:00:00 (xfer#27, to-check=178/218)
pool/usuarios/b/base-files/base-files_7.1wheezy1canaima3_i386.deb
       69522 100%  146.64kB/s    0:00:00 (xfer#28, to-check=177/218)
pool/usuarios/b/boost1.49/
pool/usuarios/b/boost1.49/boost1.49_1.49.0-3.2.debian.tar.gz
      105739 100%  139.92kB/s    0:00:00 (xfer#29, to-check=176/218)
pool/usuarios/b/boost1.49/boost1.49_1.49.0-3.2.dsc
        6030 100%    5.47kB/s    0:00:01 (xfer#30, to-check=175/218)
pool/usuarios/b/boost1.49/boost1.49_1.49.0.orig.tar.bz2
     7110656  14%  584.47kB/s    0:01:10  

...[sigue]

 -------------------------

- Tiempo de Reconstrucción del espejo de Canaima

En nuestro ejercicio, el repositorio espejo demoró 6,7 días en reconstruirse. Esto tomando en cuenta que trabajamos sobre un enlace de 6M, que provee servicios de Internet a 15 usuarios en horario de 8:00AM-5:00PM, y que durante las noches no es usado por nadie. 

En la actualidad, tal y como hemos mencionado, la suma de programas (binarios) correspondiente al repositorio entero de Canaima son 222G, de los cuales, 7G representan programas mantenidos expresamente por el proyecto Canaima -no únicamente programas desarrollados desde cero, sino adaptados desde otros proyectos, por ejemplo, Debian, Mozilla, etc. 

Los datos emitidos por el programa time son los siguientes:

-------------------------
reales 9751m40.228s
usuario 60m21.390s
sys 71m44.745s
-------------------------

-. 6. Automatizar la Gestión de espejos de Canaima

La automatización de la gestión de repositorios espejos puede hacerse con la utilidad del sistema cron. La idea es lanzar el mismo proceso empleado en el paso 5, con la periodicidad que se considere pertinente tomando en cuenta los factores de trabajo y desarrollo existentes en el sitio que implementa el espejo de Canaima. 

Tomando en cuenta que el repositorio paquetes.canaima.softwarelibre.gob.ve es una mixtura de los paquetes de Canaima y los paquetes de Debian, debe asumirse ahí la convergencia de dos ciclos de desarrollo. Por razones evidentes, la magnitud del desarrollo de Debian es mayor -cuantitativamente hablando. La frecuencia con que se actualizan estos repositorios suele incrementarse en ramas de menor estabilidad, o dicho de otra forma, de mayor desarrollo, de mayor pruebas, de mayor experimentación, de mayor cantidad de ensayos. Para Canaima esta situación es similar, sólo que en reducidas magnitudes. 

Dependiendo de todo esto, el equipo de trabajo que usará el repositorio espejo de Canaima podrá determinar con qué frecuencia desea sincronizar su archivo de paquetes con respecto al principal o maestro. 

El testimonio de Canaima --porque debe recordarse que Canaima es también un espejo de Debian-- dice que las actualizaciones o sincronizaciones contra los archivos de Debian se hacen una vez al día, de madrugada. Mayores datos estadísticos de este índole no se tienen aunque son necesarios. 

La utilidad cron es un planificador de tareas basado en tiempo que opera en base a un archivo de configuración.

Las tareas automatizadas vertidas en cron son inherentes al usuario del sistema que las crea.

Gestionar el cron se hace con dos comandos básicos: 
  • Para listar el contenido del cron, puede ejecutarse crontab -l
  • Para editar el contenido del cron, puede ejecutarse crontab -e.
Al editar el archivo, se puede especificar una línea de configuración que haga el lanzamiento del proceso de sincronización de repositorios, todos los días a las 22 horas (10 de la noche).

-------------------------
# m h  dom mon dow   command

0 22 * * * /usr/bin/debmirror --debug --progress --verbose --source 
--host=paquetes.canaima.softwarelibre.gob.ve --section=main,aportes,no-libres 
--method=rsync --root=:paquetes --dist=roraima,kerepakupai,auyantepui 
--arch=i386,amd64 --rsync-options=-aIL /var/repo/canaima

-------------------------
 Una leyenda más descriptiva del archivo:

  •  m: minuto
  •  h: hora
  •  dom: día de la semana
  •  mon: mes
  •  dow: día de la semana
  •  command: comando 

Para hacer más legible el contenido de cron, se puede optar por incluir todo el contenido del comando en un script de bash, con permisos de ejecución adecuados.
-------------------------

#!/bin/bash
# script: sincronizacion-espejo.sh

/usr/bin/debmirror --debug --progress --verbose --source \
--host=paquetes.canaima.softwarelibre.gob.ve \
--section=main,aportes,no-libres --method=rsync \
--root=:paquetes \
--dist=roraima,kerepakupai,auyantepui \
--arch=i386,amd64 \
--rsync-options=-aIL \
/var/repo/canaima

-------------------------

Y entonces, construir un cron de esa forma:


-------------------------

# m h  dom mon dow   command

0 22 * * * /home/espejo/sincronizacion-espejo.sh

-------------------------

- Por desarrollar
  1. Monitoreo de la red de servidores espejos de Canaima.
    1. Rutinas de monitoreo del estado de los servidores espejos de Canaima. Pueden monitorearse cuestiones como: disponibilidad del servidor, protocolos ofrecidos, protocolos disponibles, tiempo de respuesta, entre otras.
    2. Sitio Web con el listado de los servidores, su descripción e información sobre monitoreo.
  2. Guía para implementación de rsync en el servidor espejo.
  3. Guía recomendada para la implementación de host virtuales.
  4. Otras guías de implementación con métodos distintos a debmirror.
  5. Política de gestión de repositorios espejos.
    1. Criterios para la implementación de repositorios espejos.

- Referencias 

1 comentario:

  1. excelente aporte... estoy pensando en como hacer el manejo remoto de una red de 250 equipos y mas la actualización... si conoces algo sobre terminales ligeros te lo agradezco... saludos

    ResponderEliminar