<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-16976305</id><updated>2011-08-06T05:38:43.948-05:00</updated><title type='text'>www.eemsystems.com</title><subtitle type='html'>EEM SYSTEMS (http://eemsystems.com) es una empresa que se dedica al desarrolo e implementación de software haciendo énfasis en el uso de Sofware Abierto</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://eemsystems.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://eemsystems.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Julio</name><uri>http://www.blogger.com/profile/07298953983324190341</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-16976305.post-8774637362302040064</id><published>2010-11-08T20:55:00.002-05:00</published><updated>2010-11-08T21:07:12.224-05:00</updated><title type='text'>OpenVPN Debian (RoadWarriors)</title><content type='html'>&lt;div class="note" id="OpenVPN Debian (RoadWarriors)"&gt;&lt;a name="openvpn debian (roadwarriors)"&gt;&lt;/a&gt;&lt;h1&gt;OpenVPN Debian (RoadWarriors)&lt;/h1&gt;El objetivo es que los usuarios se puedan conectar con la oficina cuando están fuera de ella de forma segura y puedan hacer uso de todos los recursos en forma similar a cuando están en la misma.&lt;br /&gt;&lt;br /&gt;Instalación de OpenVPN paso a paso para soportar roadwarriors en Linux (Debian, similar para otras distribuciones) y Windows.  Basado en este post &lt;a style="color: rgb(52, 101, 164);" href="http://routerman.blogsome.com/2007/08/30/roadwarrior-en-openvpn-debian-etch/"&gt;http://routerman.blogsome.com/2007/08/30/roadwarrior-en-openvpn-debian-etch/&lt;/a&gt;  , pero actualizado en algunos detalles.   &lt;span style="font-size:large;"&gt;La parte del servidor Linux&lt;/span&gt; &lt;ul&gt;&lt;li dir="ltr"&gt;Instalar el openvpn y sus dependencias:  apt-get install openvpn  &lt;/li&gt;&lt;li dir="ltr"&gt;Copiar a &lt;a style="color: rgb(52, 101, 164);" href="http://desktop.eemsystems.com/etc/openvpn"&gt;/etc/openvpn&lt;/a&gt; algunos scripts que utilizaremos enseguida: cp -a &lt;a style="color: rgb(52, 101, 164);" href="http://desktop.eemsystems.com/usr/share/doc/openvpn/examples/easy-rsa"&gt;/usr/share/doc/openvpn/examples/easy-rsa&lt;/a&gt; &lt;a style="color: rgb(52, 101, 164);" href="http://desktop.eemsystems.com/etc/openvpn"&gt;/etc/openvpn&lt;/a&gt; &lt;/li&gt;&lt;li dir="ltr"&gt;Ir a la carpeta &lt;a style="color: rgb(52, 101, 164);" href="http://desktop.eemsystems.com/etc/openvpn/easy-rsa/2.0"&gt;/etc/openvpn/easy-rsa/2.0&lt;/a&gt;  &lt;/li&gt;&lt;li dir="ltr"&gt;Editar el archivo vars del anterior directorio y modificar los siguientes campos acorde a tus datos :&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt; # Don't leave any of these fields blank.   export KEY_COUNTRY="PA"   export KEY_PROVINCE="PA"   export KEY_CITY="Panama"   export KEY_ORG="Panama"   export &lt;a style="color: rgb(52, 101, 164);" href="http://desktop.eemsystems.com/KEY_EMAIL=%22me@myhost.mydomain"&gt;KEY_EMAIL="me@myhost.mydomain&lt;/a&gt;"   &lt;ul&gt;&lt;li dir="ltr"&gt;ejecutar: . vars  (hay un punto adelante de vars) &lt;/li&gt;&lt;li dir="ltr"&gt;ejecutar: ./clean-all (para eliminar cualquier cosa anterior) &lt;/li&gt;&lt;li dir="ltr"&gt;ejecutar: ./build-ca&lt;/li&gt;&lt;/ul&gt;  Esto último produce los siguientes archivos:&lt;br /&gt;&lt;a style="color: rgb(52, 101, 164);" href="http://desktop.eemsystems.com/etc/openvpn/easy-rsa/2.0/keys"&gt;/etc/openvpn/easy-rsa/2.0/keys&lt;/a&gt;# ls  ca.crt ca.key index.txt  serial  &lt;ul&gt;&lt;li dir="ltr"&gt;ejecutar: ./build-key-server servidor  (desde &lt;a style="color: rgb(52, 101, 164);" href="http://desktop.eemsystems.com/etc/openvpn/easy-rsa/2.0"&gt;/etc/openvpn/easy-rsa/2.0&lt;/a&gt; ) &lt;/li&gt;&lt;li dir="ltr"&gt;ejectutar: ./build-dh &lt;/li&gt;&lt;li dir="ltr"&gt;Esto produce algunos archivos adicionales:&lt;br /&gt;&lt;a style="color: rgb(52, 101, 164);" href="http://desktop.eemsystems.com/etc/openvpn/easy-rsa/2.0/keys"&gt;/etc/openvpn/easy-rsa/2.0/keys&lt;/a&gt;# ls&lt;/li&gt;&lt;/ul&gt; 01.pem ca.crt ca.key dh1024.pem index.txt index.txt.attr index.txt.old serial serial.old servidor.crt servidor.csr servidor.key * copiar ca.crt, servidor.crt, servidor.key, dh1024.pem de &lt;a style="color: rgb(52, 101, 164);" href="http://desktop.eemsystems.com/etc/openvpn/easy-rsa/2.0/keys"&gt;/etc/openvpn/easy-rsa/2.0/keys&lt;/a&gt; a  &lt;a style="color: rgb(52, 101, 164);" href="http://desktop.eemsystems.com/etc/openvpn"&gt;/etc/openvpn&lt;/a&gt;   &lt;ul&gt;&lt;li dir="ltr"&gt;Contenido del archivo server.conf que va en &lt;a style="color: rgb(52, 101, 164);" href="http://desktop.eemsystems.com/etc/openvpn"&gt;/etc/openvpn&lt;/a&gt;: &lt;/li&gt;&lt;li dir="ltr"&gt;*******************************************************************************&lt;/li&gt;&lt;/ul&gt; # puerto 5000 es recomendado en lugar del 1194 port 5000   proto udp dev tun persist-tun ca ca.crt cert servidor.crt key servidor.key dh dh1024.pem #Direcciones que se asignaran a los #clientes, el server es .1 server 10.1.1.0 255.255.255.0 ifconfig-pool-persist ipp.txt #Ruta para que los clientes alcancen la red local del server (1.0/24)  #ajustar de acuerdo a la red que se va a rutear push "route 192.168.1.0 255.255.255.0"                                             #Para que los clientes se visualicen entre ellos                                          client-to-client keepalive 10 120 comp-lzo user nobody group nogroup persist-key persist-tun status openvpn-status.log verb 4   &lt;ul&gt;&lt;li dir="ltr"&gt;******************************************************************************** &lt;/li&gt;&lt;li dir="ltr"&gt;editar &lt;a style="color: rgb(52, 101, 164);" href="http://desktop.eemsystems.com/etc/default/openvpn"&gt;/etc/default/openvpn&lt;/a&gt; : poner AUTOSTART="server" (para que cargue la configuración server.conf que hicimos anteriormente al iniciar) &lt;/li&gt;&lt;li dir="ltr"&gt;Generar las llaves de cada cliente (en nuestro caso edgardo) desde  &lt;a style="color: rgb(52, 101, 164);" href="http://desktop.eemsystems.com/etc/openvpn/easy-rsa/2.0"&gt;/etc/openvpn/easy-rsa/2.0&lt;/a&gt; &lt;/li&gt;&lt;li dir="ltr"&gt;./build-key edgardo &lt;/li&gt;&lt;li dir="ltr"&gt;Esto genera los archivos adicionales:&lt;br /&gt;edgardo.crt  edgardo.csr  edgardo.key&lt;/li&gt;&lt;/ul&gt;   en mi caso uso un firewall iptable. admito el acceso al puerto 5000:  $IPTABLES -A INPUT -s 0.0.0.0/0  -p UDP --dport 5000 -m state --state NEW   -j ACCEPT   &lt;span style="font-size:large;"&gt;La parte del Cliente Linux&lt;/span&gt; &lt;ul&gt;&lt;li dir="ltr"&gt;Copiar los archivos generados anteriormente (en el servidor) al directorio &lt;a style="color: rgb(52, 101, 164);" href="http://desktop.eemsystems.com/etc/openvpn"&gt;/etc/openvpn&lt;/a&gt; del cliente: &lt;/li&gt;&lt;/ul&gt;  ca.crt  edgardo.crt  edgardo.key     &lt;ul&gt;&lt;li dir="ltr"&gt;Contenido del archivo cliente.conf que va en &lt;a style="color: rgb(52, 101, 164);" href="http://desktop.eemsystems.com/etc/openvpn"&gt;/etc/openvpn&lt;/a&gt;: &lt;/li&gt;&lt;li dir="ltr"&gt;*****************************************************************************&lt;/li&gt;&lt;/ul&gt; client dev tun proto udp remote url_o_ip_del_servidor.com float #debido a que la IP de arriba es dinamica resolv-retry infinite nobind persist-key persist-tun ca ca.crt  cert edgardo.crt key edgardo.key comp-lzo &lt;ul&gt;&lt;li dir="ltr"&gt;*********************************************************************************** &lt;/li&gt;&lt;li dir="ltr"&gt;editar &lt;a style="color: rgb(52, 101, 164);" href="http://desktop.eemsystems.com/etc/default/openvpn"&gt;/etc/default/openvpn&lt;/a&gt; : poner AUTOSTART="cliente" (para que cargue la configuración cliente.conf que hicimos anteriormente al iniciar) &lt;/li&gt;&lt;li dir="ltr"&gt;Esto sería todo para el cliente Linux, reiniciar el openvpn en ambas máquinas y listo (/etc/init.d/openvpn restart)&lt;/li&gt;&lt;/ul&gt;   &lt;span style="font-size:large;"&gt;La parte del Cliente Windows&lt;/span&gt;  Instalar &lt;a style="color: rgb(52, 101, 164);" href="http://openvpn.net/release/openvpn-2.1.3-install.exe"&gt;http://openvpn.net/release/openvpn-2.1.3-install.exe&lt;/a&gt;  o la versión disponible en &lt;a style="color: rgb(52, 101, 164);" href="http://openvpn.net/index.php/open-source/downloads.html"&gt;http://openvpn.net/index.php/open-source/downloads.html&lt;/a&gt; donde quedó la instalación (archivos de programas o la que sea) hay un directorio llamado config, copiar ahí los siguientes archivos (eliminar todo lo existente primero) creados anteriormente: ca.crt edgardo.crt edgardo.key &lt;ul&gt;&lt;li dir="ltr"&gt;Además del siguiente archivo de configuración edgardo.ovpn (es simple texto) &lt;/li&gt;&lt;li dir="ltr"&gt;*************************************************************************************&lt;/li&gt;&lt;/ul&gt;##############################################&lt;br /&gt;# Sample client-side OpenVPN 2.0 config file #&lt;br /&gt;# for connecting to multi-client server.     #&lt;br /&gt;#                                            #&lt;br /&gt;# This configuration can be used by multiple #&lt;br /&gt;# clients, however each client should have   #&lt;br /&gt;# its own cert and key files.                #&lt;br /&gt;#                                            #&lt;br /&gt;# On Windows, you might want to rename this  #&lt;br /&gt;# file so it has a .ovpn extension           #&lt;br /&gt;##############################################&lt;br /&gt;&lt;br /&gt;# Specify that we are a client and that we&lt;br /&gt;# will be pulling certain config file directives&lt;br /&gt;# from the server.&lt;br /&gt;client&lt;br /&gt;&lt;br /&gt;# Use the same setting as you are using on&lt;br /&gt;# the server.&lt;br /&gt;# On most systems, the VPN will not function&lt;br /&gt;# unless you partially or fully disable&lt;br /&gt;# the firewall for the TUN/TAP interface.&lt;br /&gt;;dev tap&lt;br /&gt;dev tun&lt;br /&gt;&lt;br /&gt;# Windows needs the TAP-Win32 adapter name&lt;br /&gt;# from the Network Connections panel&lt;br /&gt;# if you have more than one.  On XP SP2,&lt;br /&gt;# you may need to disable the firewall&lt;br /&gt;# for the TAP adapter.&lt;br /&gt;;dev-node MyTap&lt;br /&gt;&lt;br /&gt;# Are we connecting to a TCP or&lt;br /&gt;# UDP server?  Use the same setting as&lt;br /&gt;# on the server.&lt;br /&gt;;proto tcp&lt;br /&gt;proto udp&lt;br /&gt;&lt;br /&gt;# The hostname/IP and port of the server.&lt;br /&gt;# You can have multiple remote entries&lt;br /&gt;# to load balance between the servers.&lt;br /&gt;&lt;br /&gt;remote url_o_ip_del_servidor.com 5000 ############ojo esta es la línea importante&lt;br /&gt;&lt;br /&gt;;remote my-server-2 1194&lt;br /&gt;&lt;br /&gt;# Choose a random host from the remote&lt;br /&gt;# list for load-balancing.  Otherwise&lt;br /&gt;# try hosts in the order specified.&lt;br /&gt;;remote-random&lt;br /&gt;&lt;br /&gt;# Keep trying indefinitely to resolve the&lt;br /&gt;# host name of the OpenVPN server.  Very useful&lt;br /&gt;# on machines which are not permanently connected&lt;br /&gt;# to the internet such as laptops.&lt;br /&gt;resolv-retry infinite&lt;br /&gt;&lt;br /&gt;# Most clients don't need to bind to&lt;br /&gt;# a specific local port number.&lt;br /&gt;nobind&lt;br /&gt;&lt;br /&gt;# Downgrade privileges after initialization (non-Windows only)&lt;br /&gt;;user nobody&lt;br /&gt;;group nobody&lt;br /&gt;&lt;br /&gt;# Try to preserve some state across restarts.&lt;br /&gt;persist-key&lt;br /&gt;persist-tun&lt;br /&gt;&lt;br /&gt;# If you are connecting through an&lt;br /&gt;# HTTP proxy to reach the actual OpenVPN&lt;br /&gt;# server, put the proxy server/IP and&lt;br /&gt;# port number here.  See the man page&lt;br /&gt;# if your proxy server requires&lt;br /&gt;# authentication.&lt;br /&gt;;http-proxy-retry # retry on connection failures&lt;br /&gt;;http-proxy [proxy server] [proxy port #]&lt;br /&gt;&lt;br /&gt;# Wireless networks often produce a lot&lt;br /&gt;# of duplicate packets.  Set this flag&lt;br /&gt;# to silence duplicate packet warnings.&lt;br /&gt;;mute-replay-warnings&lt;br /&gt;&lt;br /&gt;# SSL/TLS parms.&lt;br /&gt;# See the server config file for more&lt;br /&gt;# description.  It's best to use&lt;br /&gt;# a separate .crt/.key file pair&lt;br /&gt;# for each client.  A single ca&lt;br /&gt;# file can be used for all clients.&lt;br /&gt;&lt;br /&gt;ca ca.crt              ############ojo esta es la línea importante&lt;br /&gt;cert edgardo.crt      ############ojo esta es la línea importante&lt;br /&gt;key edgardo.key      ############ojo esta es la línea importante&lt;br /&gt;&lt;br /&gt;# Verify server certificate by checking&lt;br /&gt;# that the certicate has the nsCertType&lt;br /&gt;# field set to "server".  This is an&lt;br /&gt;# important precaution to protect against&lt;br /&gt;# a potential attack discussed here:&lt;br /&gt;#  http://openvpn.net/howto.html#mitm&lt;br /&gt;#&lt;br /&gt;# To use this feature, you will need to generate&lt;br /&gt;# your server certificates with the nsCertType&lt;br /&gt;# field set to "server".  The build-key-server&lt;br /&gt;# script in the easy-rsa folder will do this.&lt;br /&gt;ns-cert-type server&lt;br /&gt;&lt;br /&gt;# If a tls-auth key is used on the server&lt;br /&gt;# then every client must also have the key.&lt;br /&gt;;tls-auth ta.key 1&lt;br /&gt;&lt;br /&gt;# Select a cryptographic cipher.&lt;br /&gt;# If the cipher option is used on the server&lt;br /&gt;# then you must also specify it here.&lt;br /&gt;;cipher x&lt;br /&gt;&lt;br /&gt;# Enable compression on the VPN link.&lt;br /&gt;# Don't enable this unless it is also&lt;br /&gt;# enabled in the server config file.&lt;br /&gt;comp-lzo&lt;br /&gt;&lt;br /&gt;# Set log file verbosity.&lt;br /&gt;verb 3&lt;br /&gt;&lt;br /&gt;# Silence repeating messages&lt;br /&gt;;mute 20&lt;br /&gt; ***************************************************************************&lt;br /&gt;Opcionalmente se puede poner el OpenVPN GUI para iniciarse automáticamente copiando el acceso directo al menú de inicio.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16976305-8774637362302040064?l=eemsystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eemsystems.blogspot.com/feeds/8774637362302040064/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16976305&amp;postID=8774637362302040064' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/8774637362302040064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/8774637362302040064'/><link rel='alternate' type='text/html' href='http://eemsystems.blogspot.com/2010/11/openvpn-debian-roadwarriors.html' title='OpenVPN Debian (RoadWarriors)'/><author><name>Julio</name><uri>http://www.blogger.com/profile/07298953983324190341</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16976305.post-5453474642849477481</id><published>2010-08-16T16:06:00.003-05:00</published><updated>2010-08-16T17:14:11.573-05:00</updated><title type='text'>Mis estimados proveedores de Internet</title><content type='html'>Después de algunos meses sin sufrir graves problemas, con excepción de router de Cable and Wireless que me dejó 4 días sin trabajar (casi nada)  y el apagón de dns de CW (no me afecta directamente pues utilizo los de open dns), podemos decir que los servicios que tengo con ambos, Cables and Wireless y Cable Onda están relativamente estable (me da cierta aprensión decirlo ;-) ).&lt;br /&gt;&lt;br /&gt;Cable Onda tiene menos ruidos o tengo menos tiempos para jugar bzflag, una de dos. La verdad es que hemos visto mejoras en la reducción de ruidos.&lt;br /&gt;&lt;br /&gt;CW va bien por ahora, cambiaron sus equipos en la calle por lo que esperamos sobrevivir el invierno de este año sin mayores problemas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16976305-5453474642849477481?l=eemsystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eemsystems.blogspot.com/feeds/5453474642849477481/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16976305&amp;postID=5453474642849477481' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/5453474642849477481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/5453474642849477481'/><link rel='alternate' type='text/html' href='http://eemsystems.blogspot.com/2010/08/mis-estimados-proveedores-de-internet.html' title='Mis estimados proveedores de Internet'/><author><name>Julio</name><uri>http://www.blogger.com/profile/07298953983324190341</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16976305.post-2294966708465351377</id><published>2010-03-30T21:17:00.008-05:00</published><updated>2010-03-31T17:47:23.093-05:00</updated><title type='text'>Cable Onda es un asco</title><content type='html'>Primero queremos dejar constancia de que Cable and Wireless por fin se apiadó de las cajillas que estaban a voluntad de los elementos hace poco en frente de nuestra oficina. Esperamos en este invierno no tener los problemas de todos los años.&lt;br /&gt;&lt;br /&gt;Por otro lado he contratado para la casa los servicios de Cable Onda para internet. En corto el veredicto: Es lo peor, no puedes jugar ciertos juegos online porque la calidad de la internet no lo permite. Supuestamente tengo 2Mbits pero sólo si lo mides contra los servidores de ellos. Si utilizas por ejemplo http://www.speedtest.net/ la velocidad es de un 10% de lo nominal.&lt;br /&gt;&lt;br /&gt;Verdaderamente no recomiendo esto a menos que sea gratis y aún así si estás muy necesitado que no puedes pagar algo que sirva.&lt;br /&gt;&lt;br /&gt;Todas las medidas que he hecho muestran velocidades de 22 a 40 kbits.&lt;br /&gt;&lt;br /&gt;Acostumbro a trabajar a distancia usando nomachine y a jugar bzflag... Pero esto no sirve para nada... Esta gente de cable onda me está robando descaradamente.&lt;br /&gt;&lt;br /&gt;resultado de la medición:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.speedtest.net/result/766621965.png"&gt;http://www.speedtest.net/result/766621965.png&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.speedtest.net/result/766624152.png"&gt;http://www.speedtest.net/result/766624152.png&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Debo reconocer que por lo menos he cuidado siempre a mis clientes diciéndole que Cable Onda es para usos sin importancia y no para asuntos de trabajo. Por eso hemos soportado por tantos años a Cable and Wireless en la oficina... Porque los otros son peores !!!!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;hoy 31/03/2010 mi velocidad con Cable and Wireless en la oficina:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.speedtest.net/result/767644323.png"&gt;http://www.speedtest.net/result/767644323.png&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.speedtest.net/result/767646172.png"&gt;http://www.speedtest.net/result/767646172.png&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;aceptable !!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16976305-2294966708465351377?l=eemsystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eemsystems.blogspot.com/feeds/2294966708465351377/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16976305&amp;postID=2294966708465351377' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/2294966708465351377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/2294966708465351377'/><link rel='alternate' type='text/html' href='http://eemsystems.blogspot.com/2010/03/cable-onda-es-un-asco.html' title='Cable Onda es un asco'/><author><name>Julio</name><uri>http://www.blogger.com/profile/07298953983324190341</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16976305.post-7832127648221607018</id><published>2009-10-03T10:31:00.002-05:00</published><updated>2009-10-03T10:47:55.079-05:00</updated><title type='text'>cambiar codificación del código de iso-8859-1 a utf-8</title><content type='html'>La codificación predeterminada de muchas de las aplicaciones en Linux es la uft-8. La mayoría de nosotros hemos utilizado por varios años la codificación iso-8859-1 (latin1, europeo occidental).&lt;br /&gt;&lt;br /&gt;En nuestro caso hemos escrito mucho código python en iso-8859-1 y por lo general nuestras bases de datos utilizan iso-8859-1.&lt;br /&gt;&lt;br /&gt;Cambiar la codificación del código (en este caso python) resulta sencillo. El siguiente script bash en el directorio del código resuelve el problema&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;********************************************************************************&lt;br /&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;FILES=`ls *.py`;&lt;br /&gt;       &lt;br /&gt;        for FILE in $FILES; do&lt;br /&gt;             echo $FILE&lt;br /&gt;             sed -i 's/-*- coding: iso-8859-1 -*-/-*- coding: utf-8 -*-/g' $FILE&lt;br /&gt;             mv $FILE temp_$FILE&lt;br /&gt;             iconv --from-code=ISO-8859-1 --to-code=UTF-8 temp_$FILE&gt; $FILE&lt;br /&gt;             rm temp_$FILE&lt;br /&gt;        done&lt;br /&gt;&lt;br /&gt; *************************************************************************&lt;br /&gt;&lt;br /&gt;En el caso de la base de datos (Postgresql) se puede aplicar el comando sobre el dump y con eso se resuelve:&lt;br /&gt;&lt;br /&gt;iconv --from-code=ISO-8859-1 --to-code=UTF-8 dump_fuente.sql&gt; dump_utf-8.sql&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Si no se desea cambiar la codificación del sistema de base de datos se puede optar por cambiar la codificación hacia la base de datos:&lt;br /&gt;&lt;br /&gt;sql=sql.decode('utf-8').encode('iso-8859-1')  (esto es sólo necesario si el sql contiene simbolos que deban ser decodificado)&lt;br /&gt;&lt;br /&gt;y desde la misma a la inversa:&lt;br /&gt;&lt;br /&gt;s.decode('iso-8859-1').encode('utf-8')&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16976305-7832127648221607018?l=eemsystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eemsystems.blogspot.com/feeds/7832127648221607018/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16976305&amp;postID=7832127648221607018' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/7832127648221607018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/7832127648221607018'/><link rel='alternate' type='text/html' href='http://eemsystems.blogspot.com/2009/10/cambiar-codificacion-del-codigo-de-iso.html' title='cambiar codificación del código de iso-8859-1 a utf-8'/><author><name>Julio</name><uri>http://www.blogger.com/profile/07298953983324190341</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16976305.post-6755974691557055214</id><published>2009-09-16T09:59:00.004-05:00</published><updated>2009-09-16T17:32:55.845-05:00</updated><title type='text'>Cable and wireless Panama: la historia de nunca acabar</title><content type='html'>hoy tenemos la siguiente situación:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.speedtest.net/result/566757706.png"&gt;http://www.speedtest.net/result/566757706.png&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;subimos a 10 KB y bajamos 0.7 Mbits...  Me están robando los delincuentes de CW.&lt;br /&gt;&lt;br /&gt;La línea sigue igual, con ruidos.&lt;br /&gt;&lt;br /&gt;*******************************&lt;br /&gt;&lt;br /&gt;En horas de la tarde vino un técnico de CW, hizo algunas mejoras y se nota en nuestro test de velocidad&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.speedtest.net/result/567138006.png"&gt;http://www.speedtest.net/result/567138006.png&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Esperemos nos dure la alegría.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16976305-6755974691557055214?l=eemsystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eemsystems.blogspot.com/feeds/6755974691557055214/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16976305&amp;postID=6755974691557055214' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/6755974691557055214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/6755974691557055214'/><link rel='alternate' type='text/html' href='http://eemsystems.blogspot.com/2009/09/cable-and-wireless-panama-la-historia_16.html' title='Cable and wireless Panama: la historia de nunca acabar'/><author><name>Julio</name><uri>http://www.blogger.com/profile/07298953983324190341</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16976305.post-2544720132718115439</id><published>2009-09-11T09:18:00.002-05:00</published><updated>2009-09-11T09:32:15.588-05:00</updated><title type='text'>Cable and wireless Panama: la historia de nunca acabar</title><content type='html'>11 de septiembre, seguimos en las mismas. El último técnico que enviaron me dice que debo ser "optimista". Que me puede hacer pensar que un problema con el que llevo viviendo en cada época de lluvia durante los últimos años se resolverá pronto. Nada !!!&lt;br /&gt;&lt;br /&gt;Los ruidos en la línea siguen haciendo que el router de internet entre en alarma constantemente, incluso durante la madrugada, ya que para evitar que los delincuentes (comunes, no los de cw) corten la línea de teléfono para evitar que la alarma contra robos notifique cualquier eventualidad monitorizamos desde la casa que nuestros equipos en la oficina tengan servicio de internet (ya en una ocación nos fue de utilidad y pudimos frustrar un intento de robo a las 4:35 am).&lt;br /&gt;&lt;br /&gt;Ya no se que pensar.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16976305-2544720132718115439?l=eemsystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eemsystems.blogspot.com/feeds/2544720132718115439/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16976305&amp;postID=2544720132718115439' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/2544720132718115439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/2544720132718115439'/><link rel='alternate' type='text/html' href='http://eemsystems.blogspot.com/2009/09/cable-and-wireless-panama-la-historia_11.html' title='Cable and wireless Panama: la historia de nunca acabar'/><author><name>Julio</name><uri>http://www.blogger.com/profile/07298953983324190341</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16976305.post-730639955188988246</id><published>2009-09-09T08:38:00.003-05:00</published><updated>2009-09-09T08:46:52.147-05:00</updated><title type='text'>Cable and wireless Panama: la historia de nunca acabar</title><content type='html'>hoy es 9 de septiembre, estoy subiendo un archivo urgente, el archivo tiene 6 MB y  como los marranos de Cable and Wireless no han podido sustituir sus cables externos el archivo tomará unos 11 minutos.&lt;br /&gt;&lt;br /&gt;Me pregunto hasta cuando hay que soportar tanta inoperancia en estas compañías.  Lo digo en plural porque las otras son un asco también. Compiten en cual da el peor servicio o cual le roba más a sus clientes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16976305-730639955188988246?l=eemsystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eemsystems.blogspot.com/feeds/730639955188988246/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16976305&amp;postID=730639955188988246' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/730639955188988246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/730639955188988246'/><link rel='alternate' type='text/html' href='http://eemsystems.blogspot.com/2009/09/cable-and-wireless-panama-la-historia_09.html' title='Cable and wireless Panama: la historia de nunca acabar'/><author><name>Julio</name><uri>http://www.blogger.com/profile/07298953983324190341</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16976305.post-1471365076180056091</id><published>2009-09-07T08:37:00.002-05:00</published><updated>2009-09-07T08:39:11.761-05:00</updated><title type='text'>Cable and wireless Panama: la historia de nunca acabar</title><content type='html'>Hoy es 7 de septiembre, aún seguimos con los mismos problemas de intermitencia en el servicio de internet producto de la pésima condiciones de los cables de telefonía. El panel en la calle sigue con su bolsa negra y cuando arrecia la lluvia terminamos nuevamente sin teléfonos ni intenet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16976305-1471365076180056091?l=eemsystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eemsystems.blogspot.com/feeds/1471365076180056091/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16976305&amp;postID=1471365076180056091' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/1471365076180056091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/1471365076180056091'/><link rel='alternate' type='text/html' href='http://eemsystems.blogspot.com/2009/09/cable-and-wireless-panama-la-historia.html' title='Cable and wireless Panama: la historia de nunca acabar'/><author><name>Julio</name><uri>http://www.blogger.com/profile/07298953983324190341</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16976305.post-4073194666455738226</id><published>2009-08-26T15:53:00.002-05:00</published><updated>2009-08-26T15:58:06.418-05:00</updated><title type='text'>Cable and wireless Panama: No sirven los servidores dns</title><content type='html'>Hace varios años ya que los servidores dns de cw son un asco. Cuanta inoperancia !!!&lt;br /&gt;&lt;br /&gt;por suerte están los servidores dns de &lt;a href="http://www.opendns.com/"&gt;http://www.opendns.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Para colmo tenemos un servidor en su centro de datos, falló la electricidad y el supuesto banco de baterías y plantas eléctricas que debieron funcionar no funcionó.  que vaina !!!  o estos tipos son tarados o mala gente.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16976305-4073194666455738226?l=eemsystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eemsystems.blogspot.com/feeds/4073194666455738226/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16976305&amp;postID=4073194666455738226' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/4073194666455738226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/4073194666455738226'/><link rel='alternate' type='text/html' href='http://eemsystems.blogspot.com/2009/08/cable-and-wireless-panama-no-sirven-los.html' title='Cable and wireless Panama: No sirven los servidores dns'/><author><name>Julio</name><uri>http://www.blogger.com/profile/07298953983324190341</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16976305.post-2454010429220614499</id><published>2009-08-26T15:35:00.002-05:00</published><updated>2009-08-26T15:45:24.475-05:00</updated><title type='text'>Cable and wireless Panama: la historia de nunca acabar</title><content type='html'>Recuerdo los tiempos del Intel cuando estaba bien entrado el invierno siempre se dañaba el teléfono de la casa por varios  días o semanas. Apareció un coro en el gobierno mostrándonos lo maravillo y barato que serían los servicios de comunicación en manos de ineptos como la gente de Cable and Wireless Panamá.&lt;br /&gt;&lt;br /&gt;Hoy pagamos el triple y los problemas son exactamente los mismos.&lt;br /&gt;&lt;br /&gt;Actualmente llevo varios años de tortura con estos torpes, pues cada vez que se adentran los meses de lluvia pierdo las líneas telefónicas y la internet.&lt;br /&gt;&lt;br /&gt;Este año definitivamente cable and wireless envió al mejor de sus técnicos, definitivamente debe ser el mejor pues se le ocurrió pedirnos una bolsa plástica negra para cubrir el panel de cables en el poste electrico del frente.&lt;br /&gt;&lt;br /&gt;Lamentablemente eso no ha sido suficiente para que el servicio de internet funcione normalmente pues los puercos de cw deben cambiar el cableado en el área pues están podridos de viejos.&lt;br /&gt;&lt;br /&gt;Nuestra velocidad de internet que debe ser de 2 Mbits es una basura como indica la &lt;a href="http://www.speedtest.net/result/549256058.png"&gt;gráfica&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Denunciarlos en la entidad de protección al consumidor?  eso es una burla.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16976305-2454010429220614499?l=eemsystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eemsystems.blogspot.com/feeds/2454010429220614499/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16976305&amp;postID=2454010429220614499' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/2454010429220614499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/2454010429220614499'/><link rel='alternate' type='text/html' href='http://eemsystems.blogspot.com/2009/08/cable-and-wireless-panama-la-historia.html' title='Cable and wireless Panama: la historia de nunca acabar'/><author><name>Julio</name><uri>http://www.blogger.com/profile/07298953983324190341</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16976305.post-3429709712792699062</id><published>2007-11-07T09:00:00.000-05:00</published><updated>2007-11-08T13:20:17.843-05:00</updated><title type='text'>Por qué no debe elegir a Cable and Wireless Panamá como proveedor de internet</title><content type='html'>He sido cliente de Cable and Wireless desde el 2001, inicialmente los prefería porque el servicio era lo mejor de lo que existía en ese momento, pero con el tiempo esa percepción ha cambiado radicalmente.&lt;br /&gt;&lt;br /&gt;Hace unas semanas Cable and Wireless nos aumentó a 2Mbits la internet desde 768 kbits que teníamos. Ahí se iniciaron los problemas, a poco tiempo la velocidad se redujo a casi nada. Lo lamentable es que la actitud de esta empresa es considerar que todos fuera de Cable and Wireless somos tarados, lo que resulta gracioso, pues me parece que es justamente lo contrario.&lt;br /&gt;&lt;br /&gt;Después de varias visitas buscando poner el problema de nuestro lado decidieron buscar en su propia red y resolvieron los problemas.&lt;br /&gt;&lt;br /&gt;Pero cuando ya tenía nuevamente la velocidad de 1.7 Mbit (tomen en cuenta que con Cable and Wireless usted siempre saldrá perdiendo algo de ancho de banda), ahora resulta que nuevamente la velocidad es de 512Kbits. No sabemos si es porque ellos consideran que ya consumimos una cantidad de Gbytes que amerita reducirnos la velocidad, pues estos son los únicos proveedores del mundo, al menos que haya oído, que ofrecen un servicio fijo de internet con estas limitaciones.&lt;br /&gt;&lt;br /&gt;Acá viene la lista de por qué usted debe optar por cualquier otro proveedor de servicios de internet, posiblemente cable onda o telecarrier.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Pésimo servicio&lt;/li&gt;&lt;li&gt;Internet limitada (trágico para el que usa la internet para trabajar como nosotros)&lt;/li&gt;&lt;li&gt;Creen que sus clientes son estúpidos&lt;/li&gt;&lt;li&gt;Es una multinacional de las que en Europa ofrecen 20Mbits por lo que nos cobran a nosotros por 2Mbits con mal servicio y limitaciones&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Espero seguir ampliando esta lista en la medida que aumente mi mala experiencia con esta empresa o reciba experiencias negativas de otros usuarios.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Día 7 de noviembre:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Vino uno de los técnicos de Cable and Wireless, conectó su laptop al router y "comprobó" la velocidad contra una página de CW y cable onda, supuestamente el router tiene la velocidad de 1.7 Mbits...  Cuando le hizo la prueba contra:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.speedtest.net/"&gt;http://www.speedtest.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://velocidadip.com/"&gt;http://velocidadip.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;el resultado es la misma velocidad reducida de siempre.&lt;br /&gt;&lt;br /&gt;Nos preguntamos que clase de internet es esa? para que quiero tener 5000 Mbits a los servidores de Cable and Wireless?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Dia 8 de noviembre:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Recibo una llamada de Cable and Wireless, me piden que haga la prueba de speedtest.net contra un servidor en Managua porque "Nueva York" está muy lejos. Accedo a la prueba con el mismo resultado: Velocidad en 1/4 de lo contratado.&lt;br /&gt;&lt;br /&gt;Tengo la sensación de que me están robando.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16976305-3429709712792699062?l=eemsystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eemsystems.blogspot.com/feeds/3429709712792699062/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16976305&amp;postID=3429709712792699062' title='3 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/3429709712792699062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/3429709712792699062'/><link rel='alternate' type='text/html' href='http://eemsystems.blogspot.com/2007/11/por-qu-no-debe-elegir-cable-and.html' title='Por qué no debe elegir a Cable and Wireless Panamá como proveedor de internet'/><author><name>Julio</name><uri>http://www.blogger.com/profile/07298953983324190341</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16976305.post-115525438345590201</id><published>2006-08-10T18:57:00.000-05:00</published><updated>2006-08-10T18:59:43.466-05:00</updated><title type='text'>Máquina Virutal con Xen</title><content type='html'>Con la información que aparecen en:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://julien.danjou.info/xen.html"&gt;http://julien.danjou.info/xen.html&lt;/a&gt;&lt;br /&gt;&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;br /&gt;y en&lt;br /&gt;&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.debian-administration.org/articles/320"&gt;http://www.debian-administration.org/articles/320&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;pude hacer algunas pruebas utilizando Xen. En Debian hacer uso de Xen es relativamente simple, pero como siempre quería compilar mi propio kernel por lo que hice los respectivos patches.&lt;br /&gt;&lt;br /&gt;Todo parece funcionar muy bien y utiliza muy poco recursos del sistema&lt;br /&gt;&lt;br /&gt;Ahí está corriendo por ahora:&lt;span class="" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://polo.eemsystems.com/"&gt;http://polo.eemsystems.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16976305-115525438345590201?l=eemsystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eemsystems.blogspot.com/feeds/115525438345590201/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16976305&amp;postID=115525438345590201' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/115525438345590201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/115525438345590201'/><link rel='alternate' type='text/html' href='http://eemsystems.blogspot.com/2006/08/mquina-virutal-con-xen.html' title='Máquina Virutal con Xen'/><author><name>Julio</name><uri>http://www.blogger.com/profile/07298953983324190341</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16976305.post-115404205322145180</id><published>2006-07-27T17:48:00.000-05:00</published><updated>2006-07-28T19:34:26.640-05:00</updated><title type='text'>vmware, qemu, xen, uml</title><content type='html'>Hace exactamente un par de meses fuimos  víctimas de un robo en el que los ladrones se llevaron todos nuestros equipos. Gracias a rsync y los backups automáticos solo se perdió el equipo. La información y código pudo recuperarse sin mayores pérdidas. El tema llega porque uno de nuestros anteriores escritos trata sobre rsync.. una herramienta muy útil.&lt;br /&gt;&lt;br /&gt;Hablemos de virtualización. Tengo varios amigos que desean correr Linux para los que el vmware player parece ser la mejor solución, pues pueden correr su Linux dentro de windows sin mayores problemas y sin pagar pues vmware está ofreciendo el player sin costo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.vmware.com/products/player/"&gt;http://www.vmware.com/products/player/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Si a esto sumas que puedes definir tu máquina virtual si problemas en:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.easyvmx.com/easyvmx.shtml"&gt;http://www.easyvmx.com/easyvmx.shtml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ya estás listo para fiesta.&lt;br /&gt;&lt;br /&gt;Pero para el caso contrario, cuando quieres correr windows dentro de Linux o quieres correr otra distribución de Linux... qemu parece una buena opción.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://fabrice.bellard.free.fr/qemu/"&gt;http://fabrice.bellard.free.fr/qemu/&lt;/a&gt;&lt;span class="" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Lo he probado corriendo Ubuntu dentro de Debian y todo parece ir muy bien... sobre todo si activas el modulo del kernel kqemu que mejora mucho la velocidad de la máquina virtual.&lt;br /&gt;&lt;br /&gt;Hice además una prueba con wxp y parece que todo funciona de maravillas.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Los pasos para usar qemu&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;para crear una imagén de 5 gb:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;qemu-img create qemu-fedora.img 5G &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;para bootear la máquina virtual e instalar desde el cdrom&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;qemu -m 256 -cdrom /dev/cdrom -boot d qemu-fedora.img &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Luego de instalado, para arrancar la máquina virtual:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;qemu -m 256 d qemu-fedora.img -localtime -net user -net nic&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hace ya algunos meses hice algunas pruebas virtualizando Linux con Uml y todo anduvo bien.&lt;br /&gt;&lt;br /&gt;Pero viendo el impulso que está teniendo Xen en el área de la virtualización me animaré a hacer algunas pruebas más adelante.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16976305-115404205322145180?l=eemsystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eemsystems.blogspot.com/feeds/115404205322145180/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16976305&amp;postID=115404205322145180' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/115404205322145180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/115404205322145180'/><link rel='alternate' type='text/html' href='http://eemsystems.blogspot.com/2006/07/vmware-qemu-xen-uml.html' title='vmware, qemu, xen, uml'/><author><name>Julio</name><uri>http://www.blogger.com/profile/07298953983324190341</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16976305.post-112933407775858624</id><published>2005-10-14T18:54:00.000-05:00</published><updated>2005-10-14T18:54:37.776-05:00</updated><title type='text'>Postgresql</title><content type='html'>&lt;A HREF="http://postgresql.org"&gt;PostgreSQL&lt;/A&gt; es la base de datos Open Source m&amp;#225;s poderosa. Eso es lo que se dice por todas partes. Quienes la usamos todos los d&amp;#237;as podemos asegurar que es un pedazo de software extraordinario.&lt;BR&gt; &lt;BR&gt; PostgreSQL tiene todas las caracter&amp;#237;sticas necesaria para desarrollar aplicaciones empresariales complejas y distribuidas: Transacciones aisladas, un extenso lenguaje sql, procedimientos en una variedad extensas de lenguajes.&lt;BR&gt; &lt;BR&gt; Nosotros utilizamos PostgreSQL, preferiblemente, en servidores Linux. Pero para aquellos que a&amp;#250;n est&amp;#225;n amarrados al pasado existe la versi&amp;#243;n de PostgreSQL nativa para Windows. &lt;BR&gt; &lt;BR&gt; Tambi&amp;#233;n existe versi&amp;#243;n para windows del&amp;nbsp; &lt;A HREF="http://www.pgadmin.org/"&gt;pgadmin&lt;/A&gt;&amp;nbsp; nuestra herramienta favorita para trabajar con PostgreSQL.&lt;BR&gt; &lt;BR&gt; Por &amp;#250;ltimo compartimos unos ejemplos de funciones en postgreSQL que permiten ver la estructura general de las mismas: (alldates muy conveniente la encontr&amp;#233; usando google ;-) )&lt;BR&gt; &lt;BR&gt; &lt;BR&gt; create or replace function alldates(date,date) returns setof date&lt;BR&gt; as&lt;BR&gt; '&lt;BR&gt; declare&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s alias for $1;&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e alias for $2;&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d date;&lt;BR&gt; begin&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d := s;&lt;BR&gt; &lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while d &amp;lt;= e&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOOP&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return next d;&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select d + \'1 day\'::interval into d;&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END LOOP;&lt;BR&gt; &lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return null;&lt;BR&gt; end;&lt;BR&gt; '&lt;BR&gt; LANGUAGE 'plpgsql'&lt;BR&gt; &lt;BR&gt; &lt;BR&gt; &lt;BR&gt; CREATE TYPE returnhorario AS&lt;BR&gt; &amp;nbsp;&amp;nbsp; (&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; rempid int4,&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; rfecha date,&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; rhorai time,&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; rhoraf time,&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; rstatus int2);&lt;BR&gt; &lt;BR&gt; &lt;BR&gt; &lt;BR&gt; CREATE OR REPLACE FUNCTION horarioempleado(int4, date)&lt;BR&gt; &amp;nbsp; RETURNS returnhorario AS&lt;BR&gt; '&lt;BR&gt; declare&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; empleadoid alias for $1;&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fecha alias for $2;&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r returnhorario;&lt;BR&gt; begin&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select empleadoid,hd.fecha,hd.horai,hd.horaf,hd.status &lt;BR&gt; from horario h,horariodet hd&lt;BR&gt; where h.horarioid=hd.horarioid &lt;BR&gt; &lt;BR&gt; and h.empleadoid=empleadoid and&lt;BR&gt; (h.fechai&amp;lt;=fecha::date and h.fechaf&amp;gt;=fecha::date and &lt;BR&gt; hd.fecha=fecha::date) into r;&lt;BR&gt; &lt;BR&gt; 	if found then&lt;BR&gt; 		return r;&lt;BR&gt; 		exit;&lt;BR&gt; 	else&lt;BR&gt; 		select empleadoid,fecha,h.horai,h.horaf,0 &lt;BR&gt; from horario h&lt;BR&gt; where h.empleadoid=empleadoid and&lt;BR&gt; (h.fechai&amp;lt;=fecha::date and h.fechaf&amp;gt;=fecha::date) into r;&lt;BR&gt; 		if found then&lt;BR&gt; 			return r;&lt;BR&gt; 			exit;&lt;BR&gt; 		else&lt;BR&gt; 			select empleadoid,fecha,null,null into r;&lt;BR&gt; 			return r;&lt;BR&gt; 			exit;&lt;BR&gt; 		end if;&lt;BR&gt; &lt;BR&gt; 	end if;&lt;BR&gt; &lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return r;&lt;BR&gt; end;&lt;BR&gt; '&lt;BR&gt; &amp;nbsp; LANGUAGE 'plpgsql';&lt;BR&gt; &lt;BR&gt; &lt;BR&gt; CREATE OR REPLACE FUNCTION horarioempleado(int4, date,date)&lt;BR&gt; &amp;nbsp; RETURNS setof returnhorario AS&lt;BR&gt; '&lt;BR&gt; declare&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; empleadoid alias for $1;&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fechai alias for $2;&lt;BR&gt; 	fechaf alias for $3;&lt;BR&gt; 	r returnhorario;&lt;BR&gt; 	f record;&lt;BR&gt; 	&lt;BR&gt; begin&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt; &lt;BR&gt; 	for f in select alldates as fecha from alldates(fechai,fechaf) loop&lt;BR&gt; 	&lt;BR&gt; 	select * from horarioempleado(empleadoid,f.fecha) into r;&lt;BR&gt; 	return next r;&lt;BR&gt; 	end loop;&lt;BR&gt; 	return null;&lt;BR&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt; end;&lt;BR&gt; '&lt;BR&gt; &amp;nbsp; LANGUAGE 'plpgsql';&lt;BR&gt; &lt;BR&gt; &lt;BR&gt; ---------------------------------------------&lt;BR&gt; &lt;BR&gt; &lt;BR&gt; CREATE OR REPLACE FUNCTION sumatardanzast(int4, date,date)&lt;BR&gt; &amp;nbsp; RETURNS setof record as&lt;BR&gt; 'select sum(case&lt;BR&gt; when rstatus is null then ''0''::interval&lt;BR&gt; when entrada is null and rstatus=1 then ''0''::interval&lt;BR&gt; when entrada is null then rhoraf-rhorai&lt;BR&gt; when entrada-(rhorai+interval ''1 minute'')&amp;gt;=0 and rstatus=0 then entrada-rhorai&lt;BR&gt; else ''0''::interval end) as sumatardanza,&lt;BR&gt; &lt;BR&gt; sum(case&lt;BR&gt; when rstatus is null then ''0''::interval&lt;BR&gt; when salida is null and rstatus=1 then ''0''::interval&lt;BR&gt; when salida is null then rhorai-rhoraf&lt;BR&gt; else salida-rhoraf&lt;BR&gt; end) as sumast from horarioempleado($1,$2,$3) he left join &lt;BR&gt; &lt;BR&gt; (select * from vista_emp_es where empleadoid=$1 and f&amp;gt;=$2&lt;BR&gt; and f&amp;lt;=$3) ves on he.rfecha=ves.f;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt; &lt;BR&gt; '&lt;BR&gt; &amp;nbsp; LANGUAGE 'sql';&lt;BR&gt; &lt;BR&gt; &lt;BR&gt; &lt;BR&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16976305-112933407775858624?l=eemsystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eemsystems.blogspot.com/feeds/112933407775858624/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16976305&amp;postID=112933407775858624' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/112933407775858624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/112933407775858624'/><link rel='alternate' type='text/html' href='http://eemsystems.blogspot.com/2005/10/postgresql.html' title='Postgresql'/><author><name>Julio</name><uri>http://www.blogger.com/profile/07298953983324190341</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16976305.post-112811786525020317</id><published>2005-09-30T16:27:00.000-05:00</published><updated>2005-09-30T17:04:25.256-05:00</updated><title type='text'>Python, tal como lo vio en tv</title><content type='html'>&lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt; es  un lenguaje  de  programación  que combina  sencillez y  potencia.  Es un  lenguaje de alto nivel , verdaderamente  orientado a  objeto.&lt;br /&gt;&lt;br /&gt;Actualmente Python se utiliza para aplicaciones locales, aplicaciones web y para scripting.&lt;br /&gt;&lt;br /&gt;Nosotros lo utilizamos para aplicaciones web apoyadas en base de datos principalemente. Es impresionante la velocidad de ejecución del codigo en python en el Web, pues a pesar de que es un lenguaje interpretado cuando se combina con Apache y mod-python los módulos son precompilados en  seudo-código lo que aúmenta la velocidad de ejecución.&lt;br /&gt;&lt;br /&gt;Por qué Python? por qué no PHP?   esa pregunta me la hice cuanto tuve que aprender uno u otro y escogí lo mejor, prueba de ello es la cantidad de aplicaciones que usan, se refieren o son Python en &lt;a href="http://packages.debian.org/cgi-bin/search_packages.pl?keywords=python&amp;searchon=all&amp;amp;subword=1&amp;version=unstable&amp;amp;release=all&amp;page=1&amp;amp;number=all"&gt;Debian&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Algún día PHP será como Python... pero por ahora es una especie de "merjunge".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Vínculo" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16976305-112811786525020317?l=eemsystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eemsystems.blogspot.com/feeds/112811786525020317/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16976305&amp;postID=112811786525020317' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/112811786525020317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/112811786525020317'/><link rel='alternate' type='text/html' href='http://eemsystems.blogspot.com/2005/09/python-tal-como-lo-vio-en-tv.html' title='Python, tal como lo vio en tv'/><author><name>Julio</name><uri>http://www.blogger.com/profile/07298953983324190341</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16976305.post-112759490189369077</id><published>2005-09-24T15:35:00.000-05:00</published><updated>2005-09-30T16:27:15.146-05:00</updated><title type='text'>rsync, ssh, cron: mantener la sincronización entre equipos</title><content type='html'>Una preocupación constante es perder la información almacenada en las computadoras (codigo, documentos, etc) por diversos motivos: daños de los equipos, robos, vandalismo no intencionado (conocido como estupidez propia o ajena). Cualquier cosa puede pasar y seguro que pasará cuando no tenemos respaldo o si lo tenemos está lo suficientemente desactualizado para ser de utilidad.&lt;span class="" style="display: block;" id="formatbar_CreateLink" title="Vínculo" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Vínculo" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Vínculo" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;br /&gt;En Linux (muy probable en windows)  la solución perfecta se optiene combinando &lt;a href="http://www.openssh.com/"&gt;SSH&lt;/a&gt;, &lt;a href="http://samba.anu.edu.au/rsync/"&gt;RSYNC&lt;/a&gt; y &lt;a href="http://www.uwsg.iu.edu/usail/automation/cron.html"&gt;CRON&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;[En windows se puede usar una versión cygwin de rsync que funciona muy bien]&lt;br /&gt;&lt;br /&gt;Lo primero será instalar estas tres piezas de software,&lt;br /&gt;&lt;br /&gt;en Debian, la parte fácil:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;apt-get install ssh cron rsync&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para evitar que los extremos se pregunten por password debemos compartir la llave pública entre el equipo de destino y el equipo de origen.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;Generar la llave pública y privada en cada equipo ejecutando con el usuario adecuado: &lt;span style="color: rgb(255, 0, 0);"&gt;ssh-keygen -t rsa&lt;/span&gt; (pide un password, dejarlo en blanco)&lt;/li&gt;   &lt;li&gt;En el equipo que va a ejecutar el script copiar la llave pública del otro:&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;cd .ssh&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;ssh-copy-id -i id_rsa.pub usuario@el_otro_equipo&lt;/span&gt;&lt;br /&gt;&lt;/li&gt; &lt;/ul&gt; &lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;Por lo general como quiero tener la posiblidad de ejecutar el script desde cualquier equipo intercambio llaves entre uno y otro.&lt;br /&gt;&lt;br /&gt; Una vez se puede comprobar que se puede establecer una conexión ssh con el otro equipo:&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;ssh usuario@el_otro_equipo&lt;/span&gt;, sin necesidad de claves sabemos que todo está funcionando bien hasta aquí.&lt;br /&gt;&lt;br /&gt;Lo demás es la parte fácil, decidir que vamos a sincronizar o respaldar :&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="S2"&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 51);" class="S4"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(255, 204, 51);" class="S0"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 204, 51);" class="S5"&gt;"sincronizando equipos"&lt;/span&gt;&lt;br /&gt;&lt;span class="S8"&gt;rsync&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S7"&gt;-&lt;/span&gt;&lt;span class="S4"&gt;ar&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S4"&gt;-e&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S8"&gt;ssh&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S7"&gt;--&lt;/span&gt;&lt;span class="S8"&gt;delete&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S8"&gt;usuario&lt;/span&gt;&lt;span class="S7"&gt;@&lt;/span&gt;&lt;span class="S8"&gt;el_otro_equipo&lt;/span&gt;&lt;span class="S7"&gt;:/&lt;/span&gt;&lt;span class="S8"&gt;usr&lt;/span&gt;&lt;span class="S7"&gt;/&lt;/span&gt;&lt;span class="S4"&gt;local&lt;/span&gt;&lt;span class="S7"&gt;/&lt;/span&gt;&lt;span class="S8"&gt;lib&lt;/span&gt;&lt;span class="S7"&gt;/&lt;/span&gt;&lt;span class="S8"&gt;site-python&lt;/span&gt;&lt;span class="S7"&gt;/&lt;/span&gt;&lt;span class="S0"&gt; &lt;/span&gt;&lt;span class="S7"&gt;/&lt;/span&gt;&lt;span class="S8"&gt;usr&lt;/span&gt;&lt;span class="S7"&gt;/&lt;/span&gt;&lt;span class="S4"&gt;local&lt;/span&gt;&lt;span class="S7"&gt;/&lt;/span&gt;&lt;span class="S8"&gt;lib&lt;/span&gt;&lt;span class="S7"&gt;/&lt;/span&gt;&lt;span class="S8"&gt;site-python&lt;/span&gt;&lt;span class="S7"&gt;/&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S8"&gt;rsync&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S0"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S7"&gt;-&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S4"&gt;ar&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S0"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S4"&gt;-e&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S0"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S8"&gt;ssh&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S0"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S7"&gt;--&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S8"&gt;delete&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S0"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S8"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S0"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S8"&gt;usuario&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S7"&gt;@&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S8"&gt;el_otro_equipo&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S7"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S8"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S7"&gt;:/&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S8"&gt;home&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S7"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S8"&gt;usurio&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S7"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S8"&gt;sistemas&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S7"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S0"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S7"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S8"&gt;home&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S7"&gt;/usuario&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S8"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S7"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);" class="S8"&gt;sistemas&lt;/span&gt;&lt;span class="S7"&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S8"&gt;rsync&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S0"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S7"&gt;-&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S4"&gt;ar&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S0"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S4"&gt;-e&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S0"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S8"&gt;ssh&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S0"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S7"&gt;--&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S8"&gt;delete&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S0"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S8"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S0"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S8"&gt;usuario&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S7"&gt;@&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S8"&gt;el_otro_equipo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S7"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S8"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S7"&gt;:/&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S8"&gt;home&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S7"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S8"&gt;usuario&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S7"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S8"&gt;AAA_TRABAJO&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S7"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S0"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S7"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S8"&gt;home&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S7"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S8"&gt;usuario&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S7"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);" class="S8"&gt;AAA_TRABAJO&lt;/span&gt;&lt;/span&gt;&lt;span class="S7"&gt;&lt;span style="color: rgb(0, 0, 153);font-size:85%;" &gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    Al final podemos automatizar la sincronización haciendo uso del CRON.&lt;br /&gt;&lt;br /&gt;En Debian como en toda distribución de Linux encontramos el directorio /etc/cron.daily y otros más similares. Podemos copiar nuestro script en este directorio o hacer un link simbolico al mismo.&lt;br /&gt;&lt;br /&gt;  rsync solo transmite aquellos archivos que hayan cambiado.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16976305-112759490189369077?l=eemsystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eemsystems.blogspot.com/feeds/112759490189369077/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16976305&amp;postID=112759490189369077' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/112759490189369077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/112759490189369077'/><link rel='alternate' type='text/html' href='http://eemsystems.blogspot.com/2005/09/rsync-ssh-cron-mantener-la.html' title='rsync, ssh, cron: mantener la sincronización entre equipos'/><author><name>Julio</name><uri>http://www.blogger.com/profile/07298953983324190341</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16976305.post-112732603066789202</id><published>2005-09-21T12:58:00.000-05:00</published><updated>2005-09-22T15:21:13.516-05:00</updated><title type='text'>Los virus y Linux</title><content type='html'>Desde hace cierto tiempo buscar en google las palabras virus y Linux produce un conjunto de salidas que nos llevan a casi todos los vendedores de antivirus.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.google.com/search?hl=en&amp;q=virus+linux&amp;amp;btnG=Google+Search"&gt;http://www.google.com/search?hl=en&amp;q=virus+linux&amp;amp;btnG=Google+Search&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cual es el objetivo de estos vendedores de antivirus si todos los que hemos usado Linux durante años sabemos que no existen virus para Linux, con la excepción de los supuestos virus publicados por los creadores de antivirus?&lt;br /&gt;&lt;br /&gt;La respuesta es simple, quieren llevar al usuario a una simple conclusión: si voy a tener el mismo problema en Linux para que cambiar de sistema operativo. Justamente lo que desean los&lt;em&gt;&lt;/em&gt; vendedores de antivirus, hacer que el usuario se mantenga en la posición donde vender "anti-virus" produce el billete para tales compañias.&lt;br /&gt;&lt;br /&gt;Pero no sólo se aprestan estas compañías a disminuir ante el posible usuario la confianza en Linux, sino que lo hacen también con aplicaciones que corren en windows como el navegador &lt;a href="http://mozilla.org/"&gt;firefox&lt;/a&gt; que es una barrera para todos los gusanos, spyware, etc que llenan la internet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16976305-112732603066789202?l=eemsystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eemsystems.blogspot.com/feeds/112732603066789202/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16976305&amp;postID=112732603066789202' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/112732603066789202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16976305/posts/default/112732603066789202'/><link rel='alternate' type='text/html' href='http://eemsystems.blogspot.com/2005/09/los-virus-y-linux.html' title='Los virus y Linux'/><author><name>Julio</name><uri>http://www.blogger.com/profile/07298953983324190341</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
