VI Cayapa Canaima Barinas 2012




Gestión de configuración distribuída para la
         plataforma de Canaima

                          Ernesto Crespo
                          @_seraph1
Agenda

●   Control de versiones centralizado vs distribuido
●   ¿Qué es Etckeeper?
●   ¿Qué es Mercurial?
●   Comandos básicos de mercurial
●   Etckeeper
    ●   Instalación y configuración
    ●   Iniciar etckeeper
    ●   Primer commit
    ●   Estatus y log
    ●   Modificar archivo y reflejar cambios en el mercurial
    ●   Ver diferencias de archivos, revisiones,revertir cambios.
    ●   Subir a un repositorio central
Control de versiones centralizado vs distribuido
Sistemas de control de versiones
●   Centralizado
    ●   CVS
    ●   Subversion
●   Distribuido
    ●   Mercurial
    ●   Git
    ●   Bazaar
    ●   Darcs
Etckeeper

●   Colección de herramientas que permiten almacenar el directorio /etc
    en un repositorio de Control de versiones distribuído.
●   Refleja cambios automaticamente al final del proceso de instalación
    o actualización de paquetes por medio de dpkg,apt, rpm o yum.
●   Página del proyecto: http://kitenet.net/~joey/code/etckeeper/
●   Mantiene historicos de los archivos guardados en /etc para:
    ●   Documentación: Los mensajes de log son adjuntados a los
        cambios de los archivos de configuración como documentación.
    ●   Resolución de problemas: Permite recuperar configuraciones
        en /etc que se han borrado por error o dañado la configuración de
        un servicio.
Etckeeper

●   Mantiene historicos de los archivos guardados en /etc para:
    ●   Documentación de la configuración: Los mensajes de log
        son adjuntados a los cambios de los archivos de
        configuración como documentación.
    ●   Resolución de problemas: Permite recuperar
        configuraciones en /etc que se han borrado por error o
        dañado la configuración de un servicio.
Etckeeper

●   Maneja varios sistemas de control de versiones distribuídos
    como:
    ●   Git
    ●   Mercurial
    ●   Bazaar
    ●   Darcs
●   En la presentación se usa el sistema de control de versiones
    Mercurial
Mercurial
●   Sistema de control de versiones distribuido y
    multiplataforma, para desarrolladores de software.
●   Implementado principalmente en python.
●   Para acceder a repositorios usa ssh y/o http.
●   Se puede usar para controlar versiones de documentos,
    empaquetar para Debian, controlar versiones de archivos de
    configuración y desarrollo.
Comandos básicos de Mercurial
●   Listar comandos: hg
●   Clonar un repo: hg clone http://bitbucket.org/ecrespo/pyloro/
●   Ver log: hg log
●   Estatus del repositorio: hg status
●   Actualizar un repositorio: hg update
●   Commit: hg commit -m “Cambio de fecha”
●   Aplicar cambios: hg push http://bitbucket.org/ecrespo/pyloro/
Instalación y configuración

●   Instalación de etckeeper y mercurial
        apt-get install etckeeper mercurial
●   Configuración
    ●   Modificar archivo /etc/etckeeper/etckeeper.conf
         – Descomentar VCS="hg"
         – Comentar el resto de los VCS.
         – Agregar la opción del usuario:
           HG_COMMIT_OPTIONS="-u ecrespo@gmail.com"
    ●   Configurar Mercurial: Editar /etc/mercurial/hgrc
         –   Agregar: [ui]
             username = ecrespo@gmail.com
Iniciar etckeeper

●   Borrar cualquier registro inicial de control de versiones anterior sobre el directorio /etc
       etckeeper uninit
●   Inicializar el control de versiones con mercurial para etckeeper
       etckeeper init
       adding xdg/xfce4/panel/systray-4.rc
       adding xdg/xfce4/panel/xfce4-menu-5.rc
       adding xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
       adding xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml
       adding xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
       adding xdg/xfce4/xinitrc
       adding xml/catalog
       adding xml/docbook-xml.xml
       adding xml/docbook-xsl.xml
       adding xml/rarian-compat.xml
       adding xml/sgml-data.xml
       adding xml/xml-core.xml
Primer commit

    etckeeper commit "Inicializacion del control de versiones"
●   Instalar un paquete Debian:
       apt-get install lighttpd
       adding lighttpd/conf-available/15-fastcgi-php.conf
       adding lighttpd/conf-available/90-debian-doc.conf
       adding lighttpd/conf-available/README
       adding lighttpd/lighttpd.conf
       adding logrotate.d/lighttpd
       adding rc0.d/K01lighttpd
       adding rc1.d/K01lighttpd
       adding rc2.d/S20lighttpd
       adding rc3.d/S20lighttpd
       adding rc4.d/S20lighttpd
       adding rc5.d/S20lighttpd
       adding rc6.d/K01lighttpd
Estatus y log

●   Estatus del directorio /etc/
       hg status /etc/
       M ../etc/.etckeeper
●   Log del directorio /etc/
       hg log /etc/
       changeset: 1:ba22869a3179
       tag:      tip
       user:      ecrespo@gmail.com
       date:      Wed Jul 27 22:02:27 2011 -0430
       summary:        committing changes in /etc after apt run
       changeset: 0:f2a3f337ecc0
       user:      ecrespo@gmail.com
       date:      Wed Jul 27 21:54:21 2011 -0430
       summary:        Inicializacion del control de versiones
Modificar un archivo y reflejar cambio en el scv

●   Modificar archivo /etc/hosts, agregar un host:
●   Hacer commit:
       etckeeper commit "Se elimina el dominio del host jewel en /etc/hosts" /etc/hosts
●   Revisar log:
       hg log /etc/
       changeset: 2:6efc1189bd8b
       tag:        tip
       user:       ecrespo@gmail.com
       date:       Wed Jul 27 22:08:25 2011 -0430
       summary:          Se elimina el dominio del host jewel en /etc/hosts
       changeset: 1:ba22869a3179
       user:       ecrespo@gmail.com
       date:       Wed Jul 27 22:02:27 2011 -0430
       summary:          committing changes in /etc after apt run
       changeset: 0:f2a3f337ecc0
       user:       ecrespo@gmail.com
       date:       Wed Jul 27 21:54:21 2011 -0430
       summary:          Inicializacion del control de versiones
Ver diferencias en archivos
●   Diferencias en archivos del directorio /etc/:
       hg diff /etc/
       diff -r 6efc1189bd8b hosts
       --- a/hosts     Wed Jul 27 22:08:25 2011 -0430
       +++ b/hosts      Wed Jul 27 22:13:41 2011 -0430
       @@ -1,6 +1,6 @@
        127.0.0.1      localhost
        127.0.1.1      jewel   jewel
       -
       +127.0.0.1      sofia sofia
        # The following lines are desirable for IPv6 capable hosts
        ::1   ip6-localhost ip6-loopback
        fe00::0 ip6-localnet
●   Al ejecutar el commit y volver a hacer el diff ya no se muestran cambios por que se subieron al
    repositorio:
       etckeeper commit "Agregado el nombre sofia al host 127.0.0.1 en el archivo /etc/hosts"
       /etc/hosts
Revisar log

●   Al ejecutar la visualización del log aparece el cambio del host:
       hg log /etc/
          changeset: 3:452065708a7e
          tag:    tip
          user:    ecrespo@gmail.com
          date:    Wed Jul 27 22:16:13 2011 -0430
          summary: Agregado el nombre sofia al host 127.0.0.1 en el archivo /etc/hosts
          changeset: 2:6efc1189bd8b
          user:    ecrespo@gmail.com
          date:    Wed Jul 27 22:08:25 2011 -0430
          summary: Se elimina pdvsa.com del host jewel en /etc/hosts
          changeset: 1:ba22869a3179
          user:    ecrespo@gmail.com
          date:    Wed Jul 27 22:02:27 2011 -0430
          summary: committing changes in /etc after apt run
          changeset: 0:f2a3f337ecc0
          user:    ecrespo@gmail.com
          date:    Wed Jul 27 21:54:21 2011 -0430
          summary: Inicializacion del control de versiones
Ver cambios entre revisiones

●   Ver cambios entre la revisión 1 y 2 de /etc/hosts:
       hg diff -r 1 -r 2 /etc/hosts
       diff -r ba22869a3179 -r 6efc1189bd8b hosts
       --- a/hosts   Wed Jul 27 22:02:27 2011 -0430
       +++ b/hosts     Wed Jul 27 22:08:25 2011 -0430
       @@ -1,5 +1,5 @@
       127.0.0.1     localhost
       -127.0.1.1    jewel.dst.pdvsa.com   jewel
       +127.0.1.1     jewel   jewel
       # The following lines are desirable for IPv6 capable hosts
       ::1    ip6-localhost ip6-loopback
Revertir cambios
●   Revertir cambio de la versión 3 a la 2:
       hg revert -r 2 /etc/hosts
●   Archivo /etc/hosts final:
       127.0.0.1      localhost
       127.0.1.1      jewel jewel
       # The following lines are desirable for IPv6 capable hosts
       ::1   ip6-localhost ip6-loopback
       fe00::0 ip6-localnet
       ff00::0 ip6-mcastprefix
       ff02::1 ip6-allnodes
       ff02::2 ip6-allrouters
Subir el repositorio de /etc a servidor central
                 público (Bitbucket)
●   Subir a bitbucket:
       hg push https://bitbucket.org/ecrespo/configuracion-jewel
       http authorization required
       realm: Bitbucket.org HTTP
       user: ecrespo
       password:
       pushing to https://bitbucket.org/ecrespo/configuracion-jewel
       searching for changes
       remote: adding changesets
       remote: adding manifests
       remote: adding file changes
       remote: added 4 changesets with 5764 changes to 5759 files
       remote: bb/acl: ecrespo is allowed. accepted payload.
Commits en Bitbucket
Archivos en bitbucket
Subir el repositorio a un servidor Centralizado
             de Mercurial por ssh
●   Es necesario instalar en el equipo servidor central: etckeeper,
    mercurial y ssh
    apt-get install etckeeper mercurial openssh-server
●   Configurar etckeeper y mercurial como se ha explicado
●   Iniciarlizar etckeeper:
    etckeeper init
●   Se realiza el primer commit:
    etckeeper commit “Inicialización del control de versiones”
●   Se crea la clave ssh y se copiará al servidor ssh:
    ssh-keygen -t rsa -C “ecrespo@gmail.com” -f ernesto-identity
Subir el repositorio a un servidor Centralizado
             de Mercurial por ssh
●   Se copia la clave pública al servidor ssh:
    scp hg-ernesto-identity.pub ernesto@IP-servidor:.ssh
●   Se accede al servidor
●   Se agrega la clave pública al archivo authorized_keys:
    cd .ssh
    cat hg-ernesto-identity.pub >> authorized_keys
●   En el equipo que accederá al servidor, se crea el archivo .ssh/config,
    se agrega el host, el usuario y la clave privada que se va a usar para
    la conexión ssh:
    host IP-servidor
    user ernesto
    IdentityFile ~/.ssh/hg-ernesto-identity
Subir el repositorio a un servidor Centralizado
                 de Mercurial por ssh
●   Se verifica que se accede al servidor usando la llave pública:
    ssh IP-servidor -i ~/.ssh/hg-ernesto-identity -l ernesto
●   Se clona el directorio /etc al home del usuario (equipo del servidor):
    hg clone /etc/ conf-equipo-servidor
●   Se cambia el dueño y el grupo del repositorio recien clonado:
    chown -R ernesto.ernesto conf-equipo-servidor
●   Ahora se clona la configuración del servidor en el equipo cliente:
    hg clone ssh://ernesto@IP-servidor/repo/conf-equipo-servidor/
●   Las actualizaciones de los repositorios locales y remotos se pueden realizar de
    forma periódica por medio de cron
Propuesta

●   Tener un servidor de configuraciones centralizado con git,
    mercurial o bazaar.
●   Cada MV del proyecto tenga que usar etckeeper.
●   Crear una clave RSA para ssh y subir la clave pública al
    servidor.
●   Colocar los scripts al cron para automatizar las
    actualizaciones de los repositorios al servidor principal.
●   Es necesario también conocer que servicios maneja cada
    MV y sus datos críticos para tenerlos respaldados, y así
    poder recuperar un equipo o clonarlo de la forma más rápida
    y fácil posible.
Referencias:

●   Etckeeper con git:
    http://sysadmin.vazqueznanini.com.ar/herramientas/etckeeper

●   Etckeeper con bazaar:
    http://www.howtoforge.com/using-version-control-for-your-etc-directory-with-etckeeper-and-
    bazaar-on-debian-squeeze

●   Etckeeper con mercurial:
    http://ernesto-ecrespo.blogspot.com/2011/07/gestionar-los-archivos-de-configuracion.html

●   Tutorial de mercurial:
    http://ernesto-ecrespo.blogspot.com/2009/04/control-de-versiones-con-mercurial.html

●   Compartir repositorios mercurial:
    http://ernesto-ecrespo.blogspot.com/2011/12/compartir-repositorios-mercurial-por.html
Contacto

●   Blog: http://ernesto-ecrespo.blogspot.com
●   Twitter: @_seraph1
●   Correo: ecrespo@gmail.com
Creditos y Licencia

●   Contenido por: Ernesto Crespo
    http://ernesto-ecrespo.blogspot.com
    Licencia: Creative Common
●   Template de OpenOffice.org por: Raphaël
    Hertzog
    http://raphaelhertzog.com/go/ooo-template
    Licencia: GPL-2+
●   Imagen de Fondo por: Alexis Younes “ayo”
    http://www.73lab.com
    Licencia: GPL-2+

Gestión de configuración distribuída para la plataforma de Canaima

  • 1.
    VI Cayapa CanaimaBarinas 2012 Gestión de configuración distribuída para la plataforma de Canaima Ernesto Crespo @_seraph1
  • 2.
    Agenda ● Control de versiones centralizado vs distribuido ● ¿Qué es Etckeeper? ● ¿Qué es Mercurial? ● Comandos básicos de mercurial ● Etckeeper ● Instalación y configuración ● Iniciar etckeeper ● Primer commit ● Estatus y log ● Modificar archivo y reflejar cambios en el mercurial ● Ver diferencias de archivos, revisiones,revertir cambios. ● Subir a un repositorio central
  • 3.
    Control de versionescentralizado vs distribuido
  • 4.
    Sistemas de controlde versiones ● Centralizado ● CVS ● Subversion ● Distribuido ● Mercurial ● Git ● Bazaar ● Darcs
  • 5.
    Etckeeper ● Colección de herramientas que permiten almacenar el directorio /etc en un repositorio de Control de versiones distribuído. ● Refleja cambios automaticamente al final del proceso de instalación o actualización de paquetes por medio de dpkg,apt, rpm o yum. ● Página del proyecto: http://kitenet.net/~joey/code/etckeeper/ ● Mantiene historicos de los archivos guardados en /etc para: ● Documentación: Los mensajes de log son adjuntados a los cambios de los archivos de configuración como documentación. ● Resolución de problemas: Permite recuperar configuraciones en /etc que se han borrado por error o dañado la configuración de un servicio.
  • 6.
    Etckeeper ● Mantiene historicos de los archivos guardados en /etc para: ● Documentación de la configuración: Los mensajes de log son adjuntados a los cambios de los archivos de configuración como documentación. ● Resolución de problemas: Permite recuperar configuraciones en /etc que se han borrado por error o dañado la configuración de un servicio.
  • 7.
    Etckeeper ● Maneja varios sistemas de control de versiones distribuídos como: ● Git ● Mercurial ● Bazaar ● Darcs ● En la presentación se usa el sistema de control de versiones Mercurial
  • 8.
    Mercurial ● Sistema de control de versiones distribuido y multiplataforma, para desarrolladores de software. ● Implementado principalmente en python. ● Para acceder a repositorios usa ssh y/o http. ● Se puede usar para controlar versiones de documentos, empaquetar para Debian, controlar versiones de archivos de configuración y desarrollo.
  • 9.
    Comandos básicos deMercurial ● Listar comandos: hg ● Clonar un repo: hg clone http://bitbucket.org/ecrespo/pyloro/ ● Ver log: hg log ● Estatus del repositorio: hg status ● Actualizar un repositorio: hg update ● Commit: hg commit -m “Cambio de fecha” ● Aplicar cambios: hg push http://bitbucket.org/ecrespo/pyloro/
  • 10.
    Instalación y configuración ● Instalación de etckeeper y mercurial apt-get install etckeeper mercurial ● Configuración ● Modificar archivo /etc/etckeeper/etckeeper.conf – Descomentar VCS="hg" – Comentar el resto de los VCS. – Agregar la opción del usuario: HG_COMMIT_OPTIONS="-u ecrespo@gmail.com" ● Configurar Mercurial: Editar /etc/mercurial/hgrc – Agregar: [ui] username = ecrespo@gmail.com
  • 11.
    Iniciar etckeeper ● Borrar cualquier registro inicial de control de versiones anterior sobre el directorio /etc etckeeper uninit ● Inicializar el control de versiones con mercurial para etckeeper etckeeper init adding xdg/xfce4/panel/systray-4.rc adding xdg/xfce4/panel/xfce4-menu-5.rc adding xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml adding xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml adding xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml adding xdg/xfce4/xinitrc adding xml/catalog adding xml/docbook-xml.xml adding xml/docbook-xsl.xml adding xml/rarian-compat.xml adding xml/sgml-data.xml adding xml/xml-core.xml
  • 12.
    Primer commit etckeeper commit "Inicializacion del control de versiones" ● Instalar un paquete Debian: apt-get install lighttpd adding lighttpd/conf-available/15-fastcgi-php.conf adding lighttpd/conf-available/90-debian-doc.conf adding lighttpd/conf-available/README adding lighttpd/lighttpd.conf adding logrotate.d/lighttpd adding rc0.d/K01lighttpd adding rc1.d/K01lighttpd adding rc2.d/S20lighttpd adding rc3.d/S20lighttpd adding rc4.d/S20lighttpd adding rc5.d/S20lighttpd adding rc6.d/K01lighttpd
  • 13.
    Estatus y log ● Estatus del directorio /etc/ hg status /etc/ M ../etc/.etckeeper ● Log del directorio /etc/ hg log /etc/ changeset: 1:ba22869a3179 tag: tip user: ecrespo@gmail.com date: Wed Jul 27 22:02:27 2011 -0430 summary: committing changes in /etc after apt run changeset: 0:f2a3f337ecc0 user: ecrespo@gmail.com date: Wed Jul 27 21:54:21 2011 -0430 summary: Inicializacion del control de versiones
  • 14.
    Modificar un archivoy reflejar cambio en el scv ● Modificar archivo /etc/hosts, agregar un host: ● Hacer commit: etckeeper commit "Se elimina el dominio del host jewel en /etc/hosts" /etc/hosts ● Revisar log: hg log /etc/ changeset: 2:6efc1189bd8b tag: tip user: ecrespo@gmail.com date: Wed Jul 27 22:08:25 2011 -0430 summary: Se elimina el dominio del host jewel en /etc/hosts changeset: 1:ba22869a3179 user: ecrespo@gmail.com date: Wed Jul 27 22:02:27 2011 -0430 summary: committing changes in /etc after apt run changeset: 0:f2a3f337ecc0 user: ecrespo@gmail.com date: Wed Jul 27 21:54:21 2011 -0430 summary: Inicializacion del control de versiones
  • 15.
    Ver diferencias enarchivos ● Diferencias en archivos del directorio /etc/: hg diff /etc/ diff -r 6efc1189bd8b hosts --- a/hosts Wed Jul 27 22:08:25 2011 -0430 +++ b/hosts Wed Jul 27 22:13:41 2011 -0430 @@ -1,6 +1,6 @@ 127.0.0.1 localhost 127.0.1.1 jewel jewel - +127.0.0.1 sofia sofia # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ● Al ejecutar el commit y volver a hacer el diff ya no se muestran cambios por que se subieron al repositorio: etckeeper commit "Agregado el nombre sofia al host 127.0.0.1 en el archivo /etc/hosts" /etc/hosts
  • 16.
    Revisar log ● Al ejecutar la visualización del log aparece el cambio del host: hg log /etc/ changeset: 3:452065708a7e tag: tip user: ecrespo@gmail.com date: Wed Jul 27 22:16:13 2011 -0430 summary: Agregado el nombre sofia al host 127.0.0.1 en el archivo /etc/hosts changeset: 2:6efc1189bd8b user: ecrespo@gmail.com date: Wed Jul 27 22:08:25 2011 -0430 summary: Se elimina pdvsa.com del host jewel en /etc/hosts changeset: 1:ba22869a3179 user: ecrespo@gmail.com date: Wed Jul 27 22:02:27 2011 -0430 summary: committing changes in /etc after apt run changeset: 0:f2a3f337ecc0 user: ecrespo@gmail.com date: Wed Jul 27 21:54:21 2011 -0430 summary: Inicializacion del control de versiones
  • 17.
    Ver cambios entrerevisiones ● Ver cambios entre la revisión 1 y 2 de /etc/hosts: hg diff -r 1 -r 2 /etc/hosts diff -r ba22869a3179 -r 6efc1189bd8b hosts --- a/hosts Wed Jul 27 22:02:27 2011 -0430 +++ b/hosts Wed Jul 27 22:08:25 2011 -0430 @@ -1,5 +1,5 @@ 127.0.0.1 localhost -127.0.1.1 jewel.dst.pdvsa.com jewel +127.0.1.1 jewel jewel # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback
  • 18.
    Revertir cambios ● Revertir cambio de la versión 3 a la 2: hg revert -r 2 /etc/hosts ● Archivo /etc/hosts final: 127.0.0.1 localhost 127.0.1.1 jewel jewel # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
  • 19.
    Subir el repositoriode /etc a servidor central público (Bitbucket) ● Subir a bitbucket: hg push https://bitbucket.org/ecrespo/configuracion-jewel http authorization required realm: Bitbucket.org HTTP user: ecrespo password: pushing to https://bitbucket.org/ecrespo/configuracion-jewel searching for changes remote: adding changesets remote: adding manifests remote: adding file changes remote: added 4 changesets with 5764 changes to 5759 files remote: bb/acl: ecrespo is allowed. accepted payload.
  • 20.
  • 21.
  • 22.
    Subir el repositorioa un servidor Centralizado de Mercurial por ssh ● Es necesario instalar en el equipo servidor central: etckeeper, mercurial y ssh apt-get install etckeeper mercurial openssh-server ● Configurar etckeeper y mercurial como se ha explicado ● Iniciarlizar etckeeper: etckeeper init ● Se realiza el primer commit: etckeeper commit “Inicialización del control de versiones” ● Se crea la clave ssh y se copiará al servidor ssh: ssh-keygen -t rsa -C “ecrespo@gmail.com” -f ernesto-identity
  • 23.
    Subir el repositorioa un servidor Centralizado de Mercurial por ssh ● Se copia la clave pública al servidor ssh: scp hg-ernesto-identity.pub ernesto@IP-servidor:.ssh ● Se accede al servidor ● Se agrega la clave pública al archivo authorized_keys: cd .ssh cat hg-ernesto-identity.pub >> authorized_keys ● En el equipo que accederá al servidor, se crea el archivo .ssh/config, se agrega el host, el usuario y la clave privada que se va a usar para la conexión ssh: host IP-servidor user ernesto IdentityFile ~/.ssh/hg-ernesto-identity
  • 24.
    Subir el repositorioa un servidor Centralizado de Mercurial por ssh ● Se verifica que se accede al servidor usando la llave pública: ssh IP-servidor -i ~/.ssh/hg-ernesto-identity -l ernesto ● Se clona el directorio /etc al home del usuario (equipo del servidor): hg clone /etc/ conf-equipo-servidor ● Se cambia el dueño y el grupo del repositorio recien clonado: chown -R ernesto.ernesto conf-equipo-servidor ● Ahora se clona la configuración del servidor en el equipo cliente: hg clone ssh://ernesto@IP-servidor/repo/conf-equipo-servidor/ ● Las actualizaciones de los repositorios locales y remotos se pueden realizar de forma periódica por medio de cron
  • 25.
    Propuesta ● Tener un servidor de configuraciones centralizado con git, mercurial o bazaar. ● Cada MV del proyecto tenga que usar etckeeper. ● Crear una clave RSA para ssh y subir la clave pública al servidor. ● Colocar los scripts al cron para automatizar las actualizaciones de los repositorios al servidor principal. ● Es necesario también conocer que servicios maneja cada MV y sus datos críticos para tenerlos respaldados, y así poder recuperar un equipo o clonarlo de la forma más rápida y fácil posible.
  • 26.
    Referencias: ● Etckeeper con git: http://sysadmin.vazqueznanini.com.ar/herramientas/etckeeper ● Etckeeper con bazaar: http://www.howtoforge.com/using-version-control-for-your-etc-directory-with-etckeeper-and- bazaar-on-debian-squeeze ● Etckeeper con mercurial: http://ernesto-ecrespo.blogspot.com/2011/07/gestionar-los-archivos-de-configuracion.html ● Tutorial de mercurial: http://ernesto-ecrespo.blogspot.com/2009/04/control-de-versiones-con-mercurial.html ● Compartir repositorios mercurial: http://ernesto-ecrespo.blogspot.com/2011/12/compartir-repositorios-mercurial-por.html
  • 27.
    Contacto ● Blog: http://ernesto-ecrespo.blogspot.com ● Twitter: @_seraph1 ● Correo: ecrespo@gmail.com
  • 28.
    Creditos y Licencia ● Contenido por: Ernesto Crespo http://ernesto-ecrespo.blogspot.com Licencia: Creative Common ● Template de OpenOffice.org por: Raphaël Hertzog http://raphaelhertzog.com/go/ooo-template Licencia: GPL-2+ ● Imagen de Fondo por: Alexis Younes “ayo” http://www.73lab.com Licencia: GPL-2+