jueves, 6 de septiembre de 2012

Migrando de Sofware propietario a Sofware Libre

Migrar es también elevar una versión de un producto software a otra de más alto nivel, o bien el movimiento de una arquitectura a otra en este caso para linux.
En tal sentido quiero señalar algunas caracteristicas de la migración de Software Privativo a Software Libre,
  • Si la migración de software se hace de forma desigual, es muy probable que los usuarios rechacen el cambio o que incluso se opongan a el.
  • Sortear una serie de inconvenientes para migrar con éxito. Para realizar este tipo de migración, ha de considerar siempre realizarlo en dos pasos, migrando inicialmente los servicios y, posteriormente, los usuarios. En este punto difiero de algunos autores y concuerdo con la opinion de la compañera Diana Martinez donde señala " Migrar lo más fácil, lo que tenga menor impacto funcional como los equipos y servicios."
Por otro lado en base a mi experiencia y recomendaciones de expertos, siempre que se realice una migración de algún servidor, es importante que el técnico o administrador encargado de dicho servidor sea participativo en la migración. De esta manera podrá aprender durante la migración las tareas básicas de administración del nuevo sistema.

Tambien debemos realizar un claro diagnóstico de la situación de partida o escenario. Se debe definir con la misma precisión la situación que esperamos encontrar al terminar la migración, y justificar el por qué de la migración, realizar un análisis de costos de la migración y proyectar los ahorros factibles, con el correr del tiempo, en pago de licencias.
Y una ultima recomendacion seria Describir el plan de migración. Convertir los archivos a un formato abierto o mantener equipo dentro de la red funcionando con el software específico para manejar esos archivos. Finalmente, contar con un equipo técnico que pueda brindar asesoramiento a los usuarios luego de la migración, evacuar consultas y solucionar problemas que puedan surgir.

Comunidades del Software Libre VasLibre "Ficha Tecnica"




Nombre




Logo


Descripción/Misión/Objetivos:
Comunidad de usuarios GNU/Linux, inicialmente
conformada por personas residenciadas en Valencia,
con el objetivo de difundir el uso del software libre,
sin apoyar específicamente distribución alguna.
Actividades/Proyectos:
1. Editan una revista bimensual denominada
Ezine Cotejo, en la cual hacen entrevistas a
personas involucradas con el software libre,
proporciona información sobre programación,
aplicaciones y recursos libres.


2. Tienen una página Web denominada
vaslibre.org, donde publican artículos e
información relacionada al software libre.
3. Promueven foros, charlas y encuentros
relacionados con el software libre.  

Fecha de creación:
23/09/2005. VASLibre (Valencia/Venezuela Software Libre) nació de la nada, de un solo pensamiento, como un pensamiento radical, donde muchos de nosotros teníamos la misma meta, construir un grupo fuerte y solidario, contando para ello con una buena base de colaboradores.
Juan Carlos Karroum
Observaciones:
La iguana que aparece en nuestro logo se llama Hetu, y nuestro servidor Wadameka (iguana en Pemón)
Los textos y/o trabajos escritos en la página http://vaslibre.org.ve/ están bajo Licencia - Creative Commons:



AUTENTIFICACIÓN SSH CON LLAVE PRIVADA (PRIVATE KEY)

Aqui comparto con ustedes cómo configurar la autenticación basada en llave compartida sin contraseña con SSH y SCP.

Primero vamos ha verificar que podemos conectarnos al servidor normalmente, utilizando la contraseña correspondiente.

$ ssh usuario@ipservidor

Si no se han podido conectar, verifiquen que el usuario existe en el servidor remoto y que la contraseña es la correcta. Despues de la conexion exitosa, nos desconectamos para trabajar en nuestro sistema local.

Ahora procedemos a generar la llave unica en nuestro sistema local. Es posible que ya exista una llave, asi que verificamos si existe el archivo id_dsa.pub dentro de ~/.ssh

 $ ls -l ~/.ssh 
-rwx--xr-x 1 user user 668 Feb 12 16:07 id_dsa 
-rwx--xr-x 1 user user 599 Feb 12 16:07 id_dsa.pub

Como generar la llave dsa
La generacion de la llave publica/privada es muy sencillo. Solo les recomiendo cuando les pide ingresar la contraseña dejarla en blanco, ya que la idea es hacer el login automatico, de lo contrario hay que ingresar la contraseña cada vez que ejecuten ssh/scp.
$ ssh-keygen -t dsa
Generating public/private dsa key pair. 
Enter file in which to save the key (/home/user/.ssh/id_dsa):      #Presionamos enter Enter passphrase (empty for no passphrase):                 # Presionamos enter Enter same passphrase again:                                            # Presionamos enter Your identification has been saved in /home/user/.ssh/id_dsa.
Your public key has been saved in /home/user/.ssh/id_dsa.pub. 
The key fingerprint is:
 8f:c3:cb:40:e6:e9:10:f0:0f:68:d2:90:56:eb:1d:94 user@host
Ya sea que tengan una llave anteriormente o la hayan generado es hora de copiar la llave al server tecleando:
scp /root/.ssh/id_dsa.pub root@ipservidor:/root/.ssh/
scp /root/.ssh/id_rsa.pub root@ipservidor:/root/.ssh/
$ ssh-copy-id -i ~/.ssh/id_dsa.pub usuario@ipservidor:

Ahora ya es posible conectarnos via ssh o scp sin ingresar la contraseña para cada conexion. Es necesario asegurarnos de que los archivos con la llave publica permanezcan a salvo de terceros, cambiamos los permisos y restringimos el acceso a los directorios.

$ chmod 600 ~/.ssh/id_dsa ~/.ssh/id_dsa.pub

Los permisos en los archivos deberian ser como los siguientes:
 $ ls -l ~/.ssh
-rw------- 1 user user 668 Feb 13 19:26 id_dsa 
-rw------- 1 user user 599 Feb 13 19:26 id_dsa.pub

Este metodo de conexion de llave publica/privada no necesita cargar el demonio ssh-agent para conectar. Por lo tanto es muy necesario mantener seguros los servidores donde guardamos las llaves.

Ahora si queremos Generar la llave Rsa
Es lo mismo lo que cambia es el nombre.

$ ssh-keygen -t rsa
Generating public/private dsa key pair. 
Enter file in which to save the key (/home/user/.ssh/id_rsa):      #Presionamos enter Enter passphrase (empty for no passphrase):                 # Presionamos enter Enter same passphrase again:                                            # Presionamos enter Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub. 
The key fingerprint is:
 8f:c3:cb:40:e6:e9:10:f0:0f:68:d2:90:56:eb:1d:94 user@host
Ya sea que tengan una llave anteriormente o la hayan generado es hora de copiar la llave al server tecleando:
$ scp /root/.ssh/id_dsa.pub root@ipservidor:/root/.ssh/
$ scp /root/.ssh/id_rsa.pub root@ipservidor:/root/.ssh/
$ ssh-copy-id -i ~/.ssh/id_rsa.pub usuario@ipservidor:

miércoles, 29 de agosto de 2012

Motivos que impulsan al desarrollo del Sofware Libre en Venezuela

Motivos tecnológicos.
La Independencia tecnológica es un concepto que tiene relación con la capacidad que tiene el país para tomar sus decisiones y no depender de aquellas áreas que son estratégicas. Por ejemplo al momento que nosotros como pais podemos manipular nuestro software, ensamblar y configurar telefonos moviles como Orinokia, computadoras como las VIT, tambien  Las “canaimitas”, como se ha popularizado el término, son para fortalecer los procesos educativos, en el área científico-tecnológico, en la educación inicial. Alli dejamos de ser dependientes de tecnologias extranjeras, claro hasta cierto punto. Tambien esta el caso del Satelite Simón Bolivar que a nivel de telecomunicaciones disponemos de nuestra propia tecnologia, y podemos ir desplazando la utilizacion de satelites extranjeros. Algo muy importante que ha estado sucediendo es la trasferencia tecnologica que se ha estado impartiendo a profesionales Venezolanos y si la sabemos aprovechar podriamos utilizarla como punto de partida a nuevas insvestigaciones.

Por otro lado la soberanía tecnológica no se decreta, se construye. Este tema es nuevo para la nación, sin embargo, esta se construye de acuerdo con las necesidades que surgen en el país y las posibles soluciones que se le acrediten a éstas para afianzar el proyecto nacional.

Motivos sociales.
Podemos darnos cuenta segun las encuestas que  éxito del software libre se debe en su mayor parte a Internet y el papel tan importante que desenpeña CANTV como empresa prestadora de servicios de Telecomunicaciones, ya que Internet ha permitido que nosotros los venezolanos y demas personas interesadas en los varios componentes del software libre se pongan fácilmente en contacto con otras. Internet de esta manera actúa como un catalizador ( dijiera un "quimico"), que acelera el desarrollo y sintetiza el conocimiento en ́áreas muy específicas. Todo aquel que ha estado en el mundo del SL sabe que sin internet es demasiado dificil avanzar con Linux
El siguiente link están muy detalladas ciertas estadísticas en materia tecnológica que se relacionan con el parrafo anterior http://www.venezueladeverdad.gob.ve/content/independencia-tecnol%C3%B3gica

Un motivo social es el copyleft permite a programadores voluntarios contribuir y sentirse involucrados en el desarrollo de software, formando parte de un proyecto mucho más grande, como el desarrollo del núcleo de un sistema operativo. Además, se aseguran de que cualquier derivado que surja de su esfuerzo en el futuro permanecerá accesible a ellos gracias al copyleft. Por consiguiente, el desarrollo de software con copyleft deja clara su intención de nunca ocultar o abusar de cualquier conocimiento que se aporte. A su vez, el copyleft también garantiza que las compañías y programadores que se deciden a colaborar no puedan crear sus propias versiones privativas del trabajo para tomar ventaja sobre otros. En su lugar, la competitividad se basa en otros aspectos del suministro de productos comerciales con copyleft
Motivos económicos.
Los intereses lucrativos van mas allá del verdadero impulso que debería tener el software libre. Ciertos usuarios de Linux, se han dedicado en hacerse expertos en integración de aplicaciones en SL; eso es bueno que aprendan y estoy de acuerdo, pero solo piensan en cobrar millonadas de dinero y no generan conocimientos, no tienen principios ni valores sociales, entonces ellos estan siendo esclavos de su propio conocimientos sin darse cuenta. En mi opinion la explotación comercial de trabajos con copyleft difiere de la explotación comercial tradicional que se obtiene de los Derechos de Propiedad Intelectual. La explotación de trabajos con copyleft puede conseguirse, por ejemplo, construyendo un modelo de servicios -incluyendo asesor y soporte alrededor del trabajo con copyleft. Generalmente, se espera que un negocio “copyleft” genere unos beneficios económicos más bajos que un negocio que utilice trabajos privados. Las empresas que trabajan con productos propietarios pueden generar ingresos exclusivamente con las ventas, las licencias individuales y transferibles, y los lucrativos litigios sobre derechos del trabajo.
Yo opino que existe una relacion entre libertad y costo. Por que?
Es habitual que los usuarios confundan el software libre con el software gratuito. Es importante distinguir entre las libertades que nos proporciona un software y el coste del mismo. Un programa, por el simple hecho de ser gratuito, no es ni mucho menos libre. Eso ya lo tenemos claro, ya que lo hemos discutido en foros anteriores.
Pongamos un ejemplo, Internet Explorer de Microsoft es un programa gratuito pero no es libre, ya que no da a sus usuarios la posibilidad de estudiarlo (incluyendo el acceso a su código fuente), ni de mejorarlo, ni de hacer públicas estas mejoras con el código fuente correspondiente, de manera que todo el mundo se pueda beneficiar.

Existe una distinción fundamental entre los programas que garantizan los derechos de distribución y modificación, y los que no los garantizan que consideramos propietarios. Respecto al coste, cualquier software libre se puede vender, siempre y cuando se respeten las libertades originales que lo definen. Por ejemplo, la empresa francesa Mandrake o la
norteamericana Novell venden distribuciones de GNU/Linux, y se trata de software libre porque
conserva las libertades que lo definen.

Infiriendo que los valores del Software Libre van más alla de la Tecnología, además del coste económico por no ser necesario pagar licencias, los beneficios de utilizar Software Libre son muchos más: la ética y la filosofía del trabajo en equipo y la creación del conocimiento compartido, son valores que transcienden al software y a la tecnología y que podemos extrapolar a cualquier ámbito de la sociedad”.
En cuanto a la situación del Software Libre en Veezuela, considero que su evolución en los últimos años ha sido “meteórica, pasando de ser algo de frikis a tener respaldo con formación y empresas, incluso el minsterio de tecnologìa esta desarrollando SL”.  “No obstante, el camino por recorrer es muy largo, ya que es la ciudadanía quien tiene que conocerlo y usarlo para que realmente tenga una proyección real de uso y difusión. En ello, la administración tiene mucho que ver y aunque se oyen iniciativas a favor del Software Libre; la realidad es que queda mucho aún para que su uso esté totalmente normalizado.


jueves, 16 de agosto de 2012

Debian cumple años

Tal día como hoy, hace 19 años, Ian Murdock anunciaba oficialmente el nacimiento de Debian GNU/linux. Una distribución creada “from scratch” y en torno a la cual pronto se generaría una comunidad de usuarios y desarrolladores que empezarían a sentar los pilares del Sistema Operativo Universal, uno de los más estables, seguros y extendidos del universo GNU.
Noticia original: http://www.esdebian.org/noticias/48685/debian-ya-mayor-edad
De mi parte celebro junto con la comunidad Debian GNU/Linux

martes, 14 de agosto de 2012

UML es un "lenguaje de modelado"


      Es importante remarcar que UML es un "lenguaje de modelado" para especificar o para describir métodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo.
UML no puede compararse con la programación estructurada, pues UML significa Lenguaje Unificado de Modelado, no es programación, solo se diagrama la realidad de una utilización en un requerimiento. Mientras que, programación estructurada, es una forma de programar como lo es la orientación a objetos, sin embargo, la programación orientada a objetos viene siendo un complemento perfecto de UML, pero no por eso se toma UML sólo para lenguajes orientados a objetos.
    En consecuencia es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio, funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y compuestos reciclados.

viernes, 10 de agosto de 2012

ImapSync Migra tu correo zimbra

Hola amigos, en esta oportunidad quiero compartir con ustedes un script mucho más eficiente y totalmente funcional, anteriormente dentro de este mismo blog había publicado un escript menos robusto. A partir de allí necesitaba optimizarlo, para que cumpla completamente la función de replicar los datos, desde un servidor de correo hacia otro servidor, e incluso mantener los Backup y redundancia entre ambos.
Hay soluciones que hacen esto en el mercado, Zimbra como empresa ofrece suite para este tipo de requerimientos, pero valen dinero, como es Licencia Open Source tenemos el código y ciertas libertades, claro con diferencias muy notables a lo que es una Licencia GPL. Entonces pensando un poquito, dedicando valiosos días de trabajo, buscando en foros y pidiendo ayuda a compañeros logre cubrir mis requerimientos, ja ja ja y pues economizar aproximadamente unos 50,000 Dolares $ por cuestión de licencia, sin contar otros miles por implementación y soporte, en fin, ¡logre ahorrarcelos a mi empresa - perfeccione mas mis conocimientos y lo mejor que puedo compartir con ustedes los frutos y mi experiencia¡, me ha funcionado del todo bien. Lo estoy utilizando con Debian GNU/Linux 5.0.10 (lenny) Kernel 2.6.26-2-486 y Zimbra 6.0.16 GA Release.
Partiendo del script, lo modifique, para que de un servidor a otro migre por lotes las cuentas de cada usuario, sin necesidad de conocer la contraseña de la cuenta de correo, entonces; utilizo la clave y usuario de admin de la consola zimbra para validar la autoridad de cada servidor, empiezo a migrar toda la información de las cuentas de correo tanto calendario, borradores, contactos, y toda la información relacionada con la cuenta.
En este caso, lo estoy utilizando con 1870 cuentas de correo, los dos servidores o equipos son idénticos en cuanto a sistema operativo y kernel. Además estoy aprovechando esta funcionalidad para realizar los respaldos del correo en otro servidor, y así garantizar el servicio en caso de falla.  Esto me brinda otro servidor que va a funcionar como backup, además de estar redundante y poder garantizar el servicio a la hora de ofrecer alta disponibilidad.

Procedamos...

Creamos un archivo migracion.sh y pegamos lo siguiente:
#!/bin/bash
logfile="imapsynlog.txt"
host1=10.40.25.8
#host1 is Source
host2=10.40.10.65
#host2 is Dest
domain=midominio.gob.ve
#domain is where email account is
#everything after @ symbol
###### Do not modify past here
#######################################
date=`date +%X_-_%x`
echo "" >> $logfile
echo "------------------------------------" >> $logfile
echo "IMAPSync started.. $date" >> $logfile
echo "" >> $logfile
{ while IFS=';' read u1; do
user=$u1
echo "Syncing User $user"
date=`date +%X_-_%x`
echo "Start Syncing User $u1"
echo "Starting $u1 $date" >> $logfile
imapsync --maxsize 52428800 --buffersize 52428800 --fastio1 --fastio2 --nofoldersizes --nosyncacls --subscribe --syncinternaldates --noauthmd5 --authmech2 PLAIN --exclude '(?i)\b(Junk|Spam|Trash)\b' --regexflag 's/\\\\(?!Answered|Flagged|Deleted|Seen|Recent|Draft)[^\s]*\s*//ig' --regextrans2 's,:,-,g' --regextrans2 's,\",'\'',g' --regextrans2 's,\s+(?=/|$),,g' --regextrans2 's,^(Briefcase|Calendar|Contacts|Emailed Contacts|Notebook|Tasks)(?=/|$), $1 Folder,ig' --host1 $host1 --host2 $host2 --user1 "$user" --user2 "$user" --authuser1 "admin" --password1 "1234abc" --authuser2 "admin" --password2 "1234abc" --regextrans2 's,\",-,g' --regextrans2 's,&AAo-|&AA0ACg-|&AA0ACgANAAo-(?=/|$),,g' --ssl1 --authmech1 PLAIN --ssl2
date=`date +%X_-_%x`
echo "User $user done"
echo "Finished $user $date" >> $logfile
echo "" >> $logfile
done ; } < userlist.txt
date=`date +%X_-_%x`
echo "" >> $logfile
echo "IMAPSync Finished.. $date" >> $logfile
echo "------------------------------------" >> $logfile

Lo guardamos.
Ahora debemos crear el archivo userlist.txt y debe contener lo siguiente:
fperez
cmatos
loropeza
fsantos

guardamos el archivo userlist.txt en la misma carpeta donde tenemos el script, lo ejecutamos con #sh migracion.sh
Nota: El archivo solo debe contener el nombre de la cuenta sin la @, y una sola cuenta por linea, claro amigos si necesitan también importar por lotes los password la nomenclatura seria usuario;password ejemplo lmendez;123456 (solo una cuenta por linea sin colocar nada al final de cada linea), y habria que modificar el script, si lo necesitan también puedo publicarlo.

No te olvides de darle clic en los anuncios de este blog, de esta forma contribuyes con mi trabajo, para asi poder seguir cooperando con la comunidad.