viernes, 28 de marzo de 2014

Convertir videos en Linux

Aplicaciones para editar Video:
1.- Pitivi
2.- Kino
3.- OpenShot

Aplicaciones para convertir Videos:
1.- Winff
2- Transmageddon
3.- Avidemux

Comandos para convertir Videos:

ffmpeg -i input.ogv -ab 128k -vcodec libx264 output.avi
ffmpeg -i video.ogv -vcodec mpeg4 -sameq -acodec libmp3lame video.avi
mencoder video.ogv -ovc lavc -oac mp3lame -o video.avi
Vamos a ver algunas descripciones de los parámetros usados anteriormente.

ffmpeg:
herramienta que vamos a usar
-i:
archivo de entrada (el que queremos convertir)
-ab 128k:
acá indicamos la tasa de bits, debemos probar con otras como 64 para ver cual se adapta dependiendo del video
-vcodec:
acá indicamos los codecs que deseamos utilizar para el video
output.avi:
nombre que le daremos al video convertido
-sameq:
indicamos que el archivo de salida debe tener la misma calidad que el archivo de entrada
-acodec:
codec de audio que vamos a utilizar
Para más información sobre ffmpeg o mencoder podemos hacer uso de la herramienta man para eso escribimos en la terminal man ffmpeg o man mencoder

jueves, 27 de marzo de 2014

Configuración de Canaima 4.0 en VIT M2421

Configuración en Canaima 4.0

Se debe ir al Menu -> Accesorios -> Terminal y entrar como root.
Una vez que estan como root colocar el siguiente comando

 #aptitude install firmware-realtek

Luego de finalizar la instalación reinciamos y listo.
Este es el único inconveniente que se puede presentar luego de haber instalado Canaima 4.0

miércoles, 12 de marzo de 2014

Configuración de tarjeta de video nvidia.

   Lamentablemente, el driver privativo para las tarjetas NVIDIA todavía sigue prestando mayor rendimiento que su equivalente libre (NOUVEAU). Hay que seguir los siguientes pasos para solventar los inconvenientes que presentan los equipos que poseen estas tarjetas y le instalamos Software Libre.

    Primero averigüemos cuál es la versión del kernel que está corriendo en tu pc. En el menú Aplicaciones > Herramientas del Sistema > Monitor del Sistema, ubica la pestaña "Sistema". Allí verás algo como:

-------------------------
    nvidia
-------------------------

    Para éste ejemplo, la versión del kernel es 2.6.32-5-686.

    También puedes obtener la versión del kernel directamente de la consola con el siguiente comando:
-------------------------
    uname -r
-------------------------

    Luego, procedemos a instalar los paquetes nvidia-glx, nvidia-settings, nvidia-xconfig y nvidia-kernel-VERSIÓN-DE-KERNEL, que en mi caso es nvidia-kernel-2.6.32-5-686. Podemos hacerlo a través del gestor de paquetes synaptic, o con el siguiente comando en consola (con permisos de root):
-------------------------
    aptitude install nvidia-glx nvidia-settings nvidia-xconfig nvidia-kernel-2.6.32-5-686
-------------------------
Seguidamente, configuramos el archivo de configuraciones /etc/X11/xorg.conf:
-------------------------
    nvidia-xconfig
-------------------------

    (opcional) Si queremos evitar que salga en logo de NVIDIA al inicio del sistema, podemos editar el archivo /etc/X11/xorg.conf. En la sección "Device", podemos agregar la línea:

-------------------------
    Option              "NoLogo" "true"

    Para que quede:

    Section "Device"
        Identifier            "Device0"
        Driver                "nvidia"
        Option               "NoLogo" "true"
        VendorName   "NVIDIA Corporation"
    EndSection
-------------------------

Actulizamos nuestro initramfs para que cargue los nuevos drivers (nvidia) y olvide los viejos (nouveau). Al instalar el paquete nvidia-glx, se agrega una entrada al blacklist de los módulos de kernel que evita que nouveau se cargue al inicio en los próximos booteos.
-------------------------
    update-initramfs -u
-------------------------

    Reiniciamos la PC.

Para comprobar que tenemos cargados los drivers privativos, podemos verificar la salida del siguiente comando:
-------------------------
    glxinfo | grep "OpenGL vendor string:"
-------------------------

    Si la salida es "NVIDIA Corporation", todo está bien.

martes, 11 de marzo de 2014

Instalación y Configuración de Zabbix en Debian Squeezy


Objetivo
Implementar un sistema de monitoreo para la Plataforma Tecnológica tu empresa o institución.

Objetivos Específicos
1.-Determinar la situación actual.
2.-Definir los requerimientos necesarios.
3.-Observar posibles soluciones y seleccionar una herramienta de monitoreo.
4.-Crear un ambiente robusto para realizar pruebas.
5.-Implementar el sistema de monitoreo en la Plataforma Tecnológica de Canaima.
6.-Socializar todos los conocimientos adquiridos con esta practica.
7.-Selección del Sistema de Monitoreo
8.-Para solucionar esta problemática se seleccionó a Zabbix como sistema de monitoreo ya que este cuenta con lo siguiente:

Es una solución de cogido abierto.
1.-Monitorización distribuida mediante una interfaz WEB muy amigable.
2.-Autenticación de usuarios segura.
3.-Detección por rangos IP, servicios y SNMP.
4.-Notificaciones por correos, sms, etc.
5.-Escalabilidad superior a 100000 dispositivos y con 1000000 de monitores.
6.-Visualización de mapas, gráficos, vistas personalizadas, etc.
7.-Almacenamiento de datos en Oracle, MySQL, PostgreSQL y SQLite.
Entre otras.
Instalación de Zabbix
La instalación se hizo en 11 pasos

Paso 1
Para instalar Zabbix es necesario cubrir los siguientes requerimientos de software:

Un servidor web con soporte PHP. (para la administración WEB).

1.-Apache
2.-PHP
3.-PHP modules
4.-php truetype support
5.-php bc sopport
6.-php xml support
7.-php sesioim support
8.-php socket support
9.-php miltibyte support
10.-MySQL php-mysql
Herramientas de compilación necesarias
Para ello se ejecutar lo siguiente como root:

-------------------------
#aptitude install apache2 php5 libapache2-mod-php5 php5-gd php5-mysql mysql-server libmysql++-dev libsnmp-dev libcurl4-openssl-dev libiksemel-dev openssh-server libssh2-1-dev build-essential fping
-------------------------

Durante el proceso de instalación y configuración de paquetes aparecerá una pantalla para colocar la contraseña para el usuario root de MySQL, introducimos la contraseña y en la próxima pantalla la confirmamos.

Paso 2
Crear el usuario Zabbix de la siguiente manera:


-------------------------
#adduser –disabled-password –disabled-login zabbix
-------------------------

Paso 3
Descargar los archivos fuentes de la ultima versión de Zabbix desde www.zabbix.org. Para este caso se instaló zabbix-1.8.10. En una consala excribes:

-------------------------
#wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/1.8.10/zabbix-1.8.10.tar.gz
-------------------------

seguidamente:

-------------------------
#tar xzf zabbix-1.8.2.tar.gz
-------------------------

luego ejecutar,

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

$mysql -u root -p
-------------------------

Luego debes colocar la clave que insertaste durante la instalación de MySQL.


Paso 4 Crear la base de datos
Ejecutar los siguientes comandos:

-------------------------
#create database zabbix character set utf8

#grant all privileges on zabbix.* to ‘zabbix’@'localhost’ identified by ‘zabbix’

#quit
-------------------------

Paso 5 Importar las plantillas
Abrir la siguiente ruta:

-------------------------
#cd zabbix-1.8.2/create/
-------------------------

luego ejecuta:

-------------------------
#mysql -p zabbix < schema/mysql.sql
-------------------------

Introducir la clave de MySQL

-------------------------
#mysql -p zabbix < data/data.sql
-------------------------

Introducir la clave de MySQL

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

#mysql -p zabbix < data/images_mysql.sql
-------------------------


Introducir la clave de MySQL

Como se puede observar en los tres casos deben introducir la clave MySQL


Paso 6 Es hora de Configurar, Compilar e Instalar
Como estamos en el directorio zabbix-1.8.2/create/, ejecutar

-------------------------
#cd ..
-------------------------


Ahora ya estamos en la carpeta zabbix-1.8.2

Ejecutar el siguiente comando:

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

#./configure –enable-server –enable-agent –with-mysql –with-net-snmp –with-libcurl –with-jabber
-------------------------


Ya todo está preparado para compilar e instalar las fuentes. Ejecuta como root:

-------------------------
#make install
-------------------------

Se podrá observar que los binarios fueron instalados en los directorios /usr/local/bin y /usr/local/sbin


Paso 7 Declaración de puertos de Zabbix

Debes editar el archivo de servicios, puedes usar el editor que desees en este caso use vim

-------------------------
#vim /etc/services
-------------------------

Una vez abierto el archivo agrega las siguientes líneas

-------------------------
zabbix-agent    10050/tcp                       # Zabbix Agent
zabbix-agent    10050/udp                      # Zabbix Agent
zabbix-trapper  10051/tcp                       # Zabbix Trapper
zabbix-trapper  10051/udp                      # Zabbix Trapper
-------------------------


Guarda los cambios.

Ahora debes crear el directorio donde se almacenaran los ficheros de configuracion y le asignas el propietario de la siguiente manera:


-------------------------
Para definir los paremetros de conexion con la base de datos MySQL, deditar el archivo del servidor zabbix, de la siguiente forma:


#vim /etc/zabbix/zabbix_server.conf
-------------------------

modificas las siguientes líneas para que queden así:


-------------------------
–> DBUser=zabbix
–> DBPassword=zabbix
-------------------------

Guardas los cambios.

Paso 8 Para que el servidor Zabbix y el agente arranquen de forma predeterminada durante el inicio del sistema

-------------------------
#cp /home/moises/zabbix-1.8.10/misc/init.d/debian/zabbix-* /etc/init.d/
-------------------------

Luego debes editar el script de inicio del servidor Zabbix

-------------------------
#vim /etc/init.d/zabbix-server
-------------------------

y modificas las siguientes variables

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

–> PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin (esta la debes agregar)

–> DAEMON=/usr/local/sbin/${NAME}
-------------------------

Ahora debes asignar los permisos a ambos scripts

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

#chmod 755 /etc/init.d/zabbix-*

#update-rc.d zabbix-server defaults
#update-rc.d zabbix-agent defaults
-------------------------

Inicias el servidor zabbix y el agente zabbix

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

#/etc/init.d/zabbix-server start

#/etc/init.d/zabbix-agent start
-------------------------

Paso 9 Instalación de la interfaz Web del servidor Zabbix
Primero abres la ruta

-------------------------
#cd /var/www
-------------------------

y eliminas el archivo index.html

-------------------------
#rm index.html
-------------------------

seguidamente copias estos archivos

-------------------------
#cp -R /home/zabbix/zabbix-1-8-10/frontends/php/*
-------------------------

Ahora debes configurar algunos parámetros de PHP, para ello editas el archivo php.ini que se encuentra en la ruta /etc/php5/apache2/php.ini, como se muestra a continuación:

-------------------------
vim /etc/php5/apache2/php.ini
-------------------------

Los valores por defecto son los siguientes:

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

–> max_execution_time = 30


–> max_input_time = 60

–> post_max_size = 8M
-------------------------

y debes modificarlo para que queden así:

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

–> max_execution_time = 300


–> max_input_time = 600

–> post_max_size = 32M
-------------------------

También debes designar la configuración regional, para este caso es América/Caracas, quedando así:

-------------------------
–> date.timezone = América/Caracas
-------------------------


Cierra el archivo y guarda los cambio


Listo! ahora reinicias el servidor apache

-------------------------
#apache2ctl restart
-------------------------

Paso 10 Configuración vía WEB


Desde tu navegador accede a Zabbix de la siguiente manera direccion_ip/index, en este caso accedo desde monitoreo.canaima.net.ve/index. Siges los pasos del asistente que a continuación se listan:


Se muestra en pantalla una introduccion, luego le das en siguiente.
Acepta la licencia y luego presionas en siguiente.
Compruebas que los requisitos de Zabbix estén correctos (en ok) y luego presionas en siguiente.
Configura la conexión a la base de datos, introduciendo el nombre, usuario y contraseña. Luego haz una prueba (test) de la conexión y si todo es correcto presiona el botón siguiente.
Puedes dejar de forma predeterminada los detalles del servidor Zabbix y pulsa el botón siguiente.
Debes comprobar el resumen de la pre instalación y luego presionas el botón siguiente.
Ahora te saldrá un error, esto se soluciona de la siguiente manera:
Primero descarga el archivo zabbix.conf.php haciendo clic en el botón save configuration file (guardar el archivo de configuración).
Luego copia el archivo en la siguiente ruta: /var/www/conf/ osea, al hacer un ls a la ruta /var/www/conf debe contener estos archivos: COPYING, maintenance.inc.php, zabbix.conf.php, zabbix.conf.php.example.
Ahora pulsa el botón reintentar (retry) y para finalizar pulsas el botón siguiente dos veces y finalizar.


Paso 11 Primera prueba al servidor Zabbix

debes iniciar como usuario administrador

Usuario= admin

Contraseña= zabbix

Una vez iniciada la sesión accede a la pestaña Configuración y seleccionas la opción Hosts. Allí marcamos el host que aparece que es nuestro servidor Zabbix y luego abajo en el desplegable eliges Activate selected. Pulsa sobre Go y acepta el mensaje de confirmación que aparece. Ahora podrás ver que el estado habrá cambiado de no monitorizado a monitorizado.

Script para instalar agente zabbix en MV Lenny

continuación les presento un script para instalar el agente zabbix en maquinas virtuales lenny de la plataforma tecnológica del proyecto Canaima. Es un script muy sencillo y lo que hace es cambiar provisionalmente el archivo /etc/apt/sources.list y lo deja solo con el repositorio deb http://archive.debian.org/debian/ lenny main, ya que los respo como por ejemplo, deb http://debian.cantv.net/debian lenny main contrib non-free no están disponibles. Luego que se hace la instalación, se configura el agente para que sea monitoreado por metiche.canaima.org.ve y por ultimo devuelve el sources.list que ya existía.

Cree un archivo .sh con la siguiente información, luego lo corren y listo se empieza a monitorear la maquina virtual.

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

#!/bin/bash 

# Crea un sources.list temporal
mv /etc/apt/sources.list /etc/apt/sources2.list
cd /etc/apt/
touch sources.list
echo "deb http://archive.debian.org/debian/ lenny main" >> sources.list

# Actualiza los sources.list
aptitude update

# Instala en Agente Zabbix
aptitude install -y zabbix-agent

# Modifica el Archivo de Configuracion del Agente Zabbix para que sea
# monitoreado por metiche de la plataforma en producción.
cd /etc/zabbix/
sed -i 's|Server=localhost|Server=metiche.canaima.org.ve,192.168.2.12,190.9.129.40|g' zabbix_agentd.conf
sed -i 's|#ServerPort=10051|ServerPort=10051|g' zabbix_agentd.conf
sed -i 's|Hostname=localhost|Hostname=$HOSTNAME|g' zabbix_agentd.conf

# Reinicia el Agente Zabbix
/etc/init.d/zabbix-agent restart

# Devuelve el sources.list original
mv /etc/apt/sources2.list /etc/apt/sources.list
aptitude update

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



Script para instalar el agente zabbix en MV Squeeze

Como en el caso de la instalación del agente zabbix en maquinas virtuales lenny, acá hay un pequeño script para la instalación del agente zabbix en maquinas Squeeze. Cree un archivo .sh con la siguiente información:

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

#!/bin/bash 

# Actualiza el sources.list
aptitude update

# Instala en Agente Zabbix
aptitude install -y zabbix-agent

# Modifica el Archivo de Configuracion del Agente Zabbix para que sea
# monitoreado por metiche de la plataforma en producción.
cd /etc/zabbix/
sed -i 's|Server=localhost|Server=metiche.canaima.org.ve,192.168.2.12,190.9.129.40|g' zabbix_agentd.conf
sed -i 's|#ServerPort=10051|ServerPort=10051|g' zabbix_agentd.conf
sed -i 's|Hostname=localhost|Hostname=$HOSTNAME|g' zabbix_agentd.conf

# Reinicia el Agente Zabbix
/etc/init.d/zabbix-agent restart

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

Recuperando la clave de un usuario de una maquina virtual basada en Xen 3

Esta receta se puede usar para recuperar la clave de un usuario de una maquina virtual basada en Xen 3. Esto sirve para el caso de que tengamos acceso al contenedor pero no a la maquina virtual. También lo pueden usar para recuperar la clave de root de la maquina virtual. 

Lo primero que debemos averiguar es cual es el loop que esta usando esta maquina virtual, eso lo pueden hacer con el siguiente comando:

-------------------------
contenedor:/home/usuario#losetup -a
/dev/loop1: [fe03]:67114596 (/home/maquinas/tu_maquina_virtual1)
/dev/loop3: [fe03]:12980 (/home/maquinas/tu_maquina_virtual2)
/dev/loop4: [fe03]:12975 (/home/maquinas/tu_maquina_virtual3)
/dev/loop5: [fe03]:12982 (/home/maquinas/tu_maquina_virtual4)
/dev/loop6: [fe03]:18703 (/home/maquinas/tu_maquina_virtual5)
/dev/loop7: [fe03]:67114277 (/home/maquinas/tu_maquina_virtual6)
/dev/loop8: [fe03]:67114283 (/home/maquinastu_maquina_virtual7/)
-------------------------

Como ejemplo usaremos tu_maquina_virtual3, para cambiarle el password a un usuario llamado juanito

Luego apaga la maquina virtual

-------------------------
contenedor:/home/usuario#xm destroy tu_maquina_virtual3
-------------------------

Luego buscar la información geometrica del disco, pueden usar este comando:

-------------------------
contenedor:/home/usuario#fdisk -lu /dev/loop4

Disk /dev/loop14: 3221 MB, 3221225472 bytes
255 heads, 63 sectors/track, 391 cylinders, total 6291456 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x00092d83

       Device Boot      Start         End      Blocks   Id  System
/dev/loop4p1              63      385559      192748+  83  Linux
/dev/loop4p2          385560     1381589      498015   82  Linux swap / Solaris
<strong>/dev/loop4p3         1381590     6281414     2449912+  83  Linux</strong>
-------------------------

El loop que contiene la partición raiz de la maquina virtual es el /dev/loop4p3, esta información es importante ya que nos permite calcular cual es el limite o sector que delimita el comienzo de la partición. 

limite = 1381590*512
limite = 707374080

A continuación montan la partción en /mnt/ con el siguiente comando:

-------------------------
contenedor:/home/usuario#mount -o loop,offset=707374080 /home/maquinas/tu_maquina_virtual3 /mnt/
-------------------------

Luego hagan un chroot a /mnt/ y crean una jaula para que todos los procesos que surjan a partir de ese momento trabajen creyendo que "/mnt/" es "/" ... 

-------------------------
contenedor:/home/usuario#chroot /mnt/
contenedor:/#
-------------------------

Luego cambian la clave de juanito

-------------------------
contenedor:/#passwd juanito
-------------------------

Salir de la jaula

-------------------------
contenedor:/#exit
contenedor:/home/usuario#
-------------------------

Desmonten la partición 

-------------------------
contenedor:/home/usuario#umount /mnt/
-------------------------

Ahora prenden la maquina virtual 

-------------------------
contenedor:/home/usuario#xm create /etc/xen/tu_maquina_virtual3.cfg -c
-------------------------

Listo ya han cambiado el password del usuario juanito. 

== para Xen 4.0 ==

Para la versión de Xen disponible en Squeeze, parece ser más sencillo recuperar acceso a una máquina virtual.

En la mayoría de nuestros contenedores, el procedimiento se limita a montar el volumen lógico correspondiente, sin parámetros especiales ni nada por el estilo de la siguiente manera:

-------------------------
 caracas:/# mount /dev/mapper/aulavirtual-disk /mnt
-------------------------

Una vez montado el volumen lógico, podemos seguir haciendo lo mismo que hicimos más arriba:

-------------------------
caracas:/# chroot /mnt
caracas:/# passwd
Enter new UNIX password: 
Retype new UNIX password: 
caracas:/# exit
-------------------------

Como se nota, este procedimiento es substancialmente más simple que el inherente a máquinas en Xen 3.0.

Referencias
http://joaquin.blogs.canaima.org.ve/?p=11
http://e1th0r.gulmer.org.ve/?p=343

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