Disminuyendo el tiempo que toma comprimir un archivo en Linux

Bueno, seguramente todos los que andamos en el mundo de Linux conocemos bien al comando gzip.
Este comando hace algo muy importante y simple: comprime la información contenida en un archivo.
Realmente las tasas de compresión de gzip son buenas, tan buenas que es el compresor al momento por excelencia en nuestro mundo de Linux. Casi todas las aplicaciones se comprimen por gzip, por más que hayan programas que compriman más en términos de tamaño o que compriman más rápido.

Hablando de rapidez, descubrí un día que el comando gzip usa solamente un procesador, lanza un sólo hilo para realizar la compresión, a pesar de que tu equipo tenga 2, 4, 8, 16 procesadores, o lo que sea, gzip hace uso de uno sólo.

Esto no es eficiente, si tengo un equipo con 4 procesadores por ejemplo, mejor fuera que se lanzaran 4 hilos de este programa y que el proceso de compresión fuera más rápido ya que normalmente es demorado por su necesidad de encontrar cadenas similares para comprimir.

Para esto, existe una alternativa 100% compatible con gzip, se llama “pigz”, es un paquete que puedes instalar con yum install pigz

Luego de instalado, simplemente en vez de utilizar gzip para comprimir, uso pigz, es un drop in, es decir, puedo simplemente sustituir “gzip” por “pigz” y lograr la compresión.

Por ejemplo si quiero hacer un tar podría usar:
tar cf – /etc | gzip -c -> etc.tar.gz

Esto comprimirá como siempre se ha hecho, con gzip. Con un sólo hilo, y por tanto como siempre le hemos visto de rápido o lento.

Ahora, lo mismo lo quiero hacer con pigz? así:
tar cf – /etc | pigz -c -> etc.tar.gz

y ya… pigz determinará cuántos procesadores tienes y lanzará tantos hilos de pigz como procesadores tengas, y el proceso será mucho más rápido, te lo prometo.

Aquí un ejemplo, esto es hecho en mi laptop que tiene 2 procesadores:

eperez@eperez ~$ ls -lh t
-rw-rw-r–. 1 eperez eperez 17M Jun 10 20:52 t

Como puedes ver el archivo t tiene 17M de tamaño, vamos a comprimirlo con gzip y medir cuánto demoró.
eperez@eperez ~$ time gzip -c t > t.gzip

real 0m9.533s
user 0m9.339s
sys 0m0.060s

Ahora vamos a hacer lo mismo con pigz:
eperez@eperez ~$ time pigz -c t > t.pigz

real 0m5.064s
user 0m9.416s
sys 0m0.119s

te fijas, tomó 9.5 segundos comprimir los 17MB usando el gzip y tomó 5segundos comprimir los 17MB usando pigz (sin embargo el tiempo de usuario fue muy similar).

pigz hizo uso de los dos procesadores, el tiempo se dividió entre ambos.. y gzip sólo usó uno…

Lógico, si tienes más procesadores puedes notar que los tiempos bajan bastante..

suerte y dale uso!

El cobro no autorizado del “grupo tvcable”

Puedes creerlo? TVcable te ha comenzado a cobrar por un servicio que no solicitaste expresamente, te lo cobra por defecto, porque no dijiste que no! Eso no es correcto!
Son 99centavos? sí, pero multiplícalo por decenas de miles de usuarios y verás la plata.

En mi caso, les puse una denuncia en la supertel porque los descarados no quieren devolver el dinero que cobraron sin mi autorización

Te sugiero que si tienes tvcable, le pongas una denuncia a la supertel y además les llames y les digas que le pusistes la denuncia, tienen que parar este descaro y obtener la aprobación explícita del usuario, no está bien que incluyan un servicio sólo porque un usuario no dijo que no.

Puedes entrar a http://www.supertel.gob.ec/index.php/component/option,com_facileforms/Itemid,317/

Esto le mandé a la supertel, por supuesto puedes redactarlo mejor, yo ando molestísimo:

este mes noto que sin que yo lo haya solicitado, me están realizando un débito por un servicio que nunca contraté ni solicité. Le llaman mensualidad asistencia pc int 2.1.

Debo aclarar que nunca solicité el servicio, se me ha comenzado a cargar por defecto, por no decir que no quiero. Sin embargo la ley es clara, para cobrárseme por un servicio debo haberlo solicitado, no se me puede cobrar sin yo haberlo solicitado, y el hecho de que yo no haya respondido, ya sea por no haber leído una factura o por no estar en el país o por lo que sea no les dá a tvcable ningún derecho a cobrarme un servicio que no he solicitado.

requiero que inmediatamente tvcable me devuelva a mí, y a todos los usuarios que no haya solicitado expresamente el servicio le devuelva el dinero.
Y deben educarse un poco los proveedores, no pueden incluir servicios no solicitados y cobrarlos por defecto, por omisión.. deben proveer servicios que el usuario explícitamente acepte.

Google acaba de activar ipv6 para su record www

Bueno, ya son las 720PM del 5 de Junio del 2012, pero en tiempo universal coordinado (UTC) son las 00:20 horas del 6 de Junio, y hace unos 5 minutos acabo de verificar el record www de google y ya responde a IPv6, en la tarde también monitoreé a facebook y ya tenían ipv6 para www.facebook.com

Aquí el record tal y como le veo resolviendo a google:

eperez@eperez ~$ host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 74.125.137.105
www.l.google.com has address 74.125.137.106
www.l.google.com has address 74.125.137.147
www.l.google.com has address 74.125.137.103
www.l.google.com has address 74.125.137.104
www.l.google.com has address 74.125.137.99
www.l.google.com has IPv6 address 2607:f8b0:4002:801::1011

No se están manejando con aliases, posiblemente no estén haciendo geolocalización para ipv6.
Aquí vemos un ping a su record www.google.com con ipv6:

eperez@eperez ~$ ping6 www.google.com
PING www.google.com(atl14s07-in-x13.1e100.net) 56 data bytes
64 bytes from atl14s07-in-x13.1e100.net: icmp_seq=1 ttl=56 time=126 ms
64 bytes from atl14s07-in-x13.1e100.net: icmp_seq=2 ttl=56 time=150 ms
64 bytes from atl14s07-in-x13.1e100.net: icmp_seq=3 ttl=56 time=129 ms
^C
— www.google.com ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 126.351/135.574/150.511/10.662 ms

resize2fs en vivo

No lo había probado antes, pero hoy requería de extender el LV de la partición raíz de un server virtual, pues como ya saben ando en el tema de IPv6 y este server de pruebas que tenía se le agotó el espacio para realizar mis experimentos con DNS. Es un server CentOS-6 con lvm, no sé si funcione para CentOS-5

Así que caramba, busqué y me dí cuenta que no tienes que tener desmontada la partición / para extenderla.. simplemente le extendí el LV y luego le hice un :
resize2fs /dev/dsk/root

y me redimensionó perfectamente la raíz. Bueno, por seguridad lo hice en modo 1, pero habría que probar si en otro modo igual funciona.

IPv6 en mi red local

Bueno, ayer el router que usaba para mis experimentos decidió no arrancar, y cometí un error que me tomará tiempo arreglar y fue que le puse una flash incorrecta..

De todas formas hoy opté por seguir trabajando en ipv6, pues es mi objetivo ipv6 de ahora en adelante. Y la verdad es que he notado que es fácil.

1- Desde hace varios años tengo la posibilidad de usar IPv6 en los servidores nuestros en Canadá y le uso en varios de ellos.
2- Ya todos los servicios de nuestro servidor de EcuaLinux.com están trabajando dual stack, IPv6 e IPv4. Y llevan tiempo así y funciona de maravillas.
3- En la casa en mi estación de trababajo tengo IPv6 de forma permanente desde hace varios días. Pues sólo le activaba para probar mis servicios, pero me parece que es hora de ya tenerle permanentemente.
4- Ayer en el router monté IPv6, pero alguna burrada fuera del tema de ipv6 me ha hecho tener un bonito ladrillo blanco..

hoy me senté, tomé una motherboard mini-itx Via C3, de hace VARIOS años, con 512MB de RAM y un disco duro de estado sólido de 2GB. Y le monté debian como ruteador. En sustitución del router que tengo que arreglar.

A este debian entonces le implementé IPv6 y le configuré para que sirviera IPv6 en toda mi red local. Y en este momento todas las máquinas de mi red local obtienen una IPv6 y pueden navegar transparentemente vía IPv6 a toda la internet.

Es una maravilla, realmente super transparente, pero lógico, la labor que me ha tocado no ha sido de 3 minutos, vamos, que tengo un enojo conmigo mismo.. las IPv6 son bien feas, algo así:
2001:470:bf07:2c2:ee55:f9ff:feb0:368f

en qué se diferencia de esta?:
2001:470:df07:2c2:ee55:f9ff:feb0:368f

Bueno, pues es que no sólo son dos, se trabajan con varias máscaras, redes y el chorro de cosas, y entre tantas letras y números para mi ambas eran iguales, cuando eran dos prefijos y por tanto dos redes diferentes y perdí miserablemente muchas horas (y no miento, posiblemente 4 ó 5 horas) por esta tontera.

Oh sí, por si no le viste la diferencia, Bf07 no es lo mismo que Df07 (mira el 3er grupo de ambas IPs).

Este post, al igual que todos los de los últimos días, lo estoy haciendo por IPv6, porque ya www.ecualinux.com resuelve a ambas IPs, y el browser prioriza ipv6:

[eperez@eperez ~]$ host www.ecualinux.com
www.ecualinux.com has address 174.142.111.28
www.ecualinux.com has IPv6 address 2607:f748:1200:ff00::11

Mira cómo hago ping6 (el 6 es que el ping irá por ipv6):

[eperez@eperez ~]$ ping6 www.ecualinux.com
PING www.ecualinux.com(2607:f748:1200:ff00::11) 56 data bytes
64 bytes from 2607:f748:1200:ff00::11: icmp_seq=1 ttl=53 time=141 ms
64 bytes from 2607:f748:1200:ff00::11: icmp_seq=2 ttl=53 time=147 ms
64 bytes from 2607:f748:1200:ff00::11: icmp_seq=3 ttl=53 time=144 ms
64 bytes from 2607:f748:1200:ff00::11: icmp_seq=4 ttl=53 time=166 ms
64 bytes from 2607:f748:1200:ff00::11: icmp_seq=5 ttl=53 time=158 ms
64 bytes from 2607:f748:1200:ff00::11: icmp_seq=6 ttl=53 time=140 ms
^C
— www.ecualinux.com ping statistics —
6 packets transmitted, 6 received, 0% packet loss, time 5006ms
rtt min/avg/max/mdev = 140.020/149.719/166.651/9.736 ms

Qué raras las IPs eh? feísimas, es que están en hexadecimal, porque si lo pusieran en binario o en decimal serían números un poco…. laaaaaaaargos.

Habrán 2^128 IPs, es decir, algo así como:
340,282,366,920,938,000,000,000,000,000,000 direcciones IPs, no caben en tu mente, en serio, puede que lo veas y reconozcas los números separados, pero este numero no te cabe en el coco.

son Trescientos cuarenta trillones doscientos ochenta y dos mil billones novecientos veinte millones novecientos treinta y ocho mil trillones de billones de millones… o no? no sé el número, luego le busco.

Vamos a ver… otra forma de medir cuántas IPv6 habrán es darte una comparación:
– Somos casi 7mil millones de personas, a cada uno nos tocaría algo así como 2^95 IPs (ya 2^95 es difícil de concebir)
– Podríamos asignarle una IPv6 a CADA ÁTOMO de la tierra y todavía quedarían IPv6 para asignarle IPv6 a átomos de 100 tierras más.

Ahora, nadie quita que son números más complejos que los que antes usábamos con ipv4 eh? Quizá sea problema de acostumbrarnos, pero yo persiento ciertas dificultades con estos números, a no ser que se invente algo para poder manejarlos mejor.
Antes cuando querías hacer un ping a un equipo de la red decías:
“hazle ping a 192.168.2.46”, en palabras sería: “hazle ping a ciento noventa y dos punto ciento sesenta y ocho punto dos punto cuarenta y seis”

Fácil eh? ahora, hazle ping a:
2001:470:df07:2c2:ee55:f9ff:feb0:368f

ahhh no, pero dilo en palabras, y luego escríbelo, a ver si no te equivocas.

Comencemos a disfrutar IPv6!

Ya puse IPv6 en mi red local

Bueno, hoy me llegó un equipo que soportaba IPv6 y me pasé toda la tarde echándolo a andar.
Obtuve un rango de IPv6 (un /64 que es más que suficiente para dar ips a cuanta cosa se te ocurra en tu LAN) y al momento sólo había usado una IP de ese /64, pero bueno, aprendiendo y leyendo pude ponerle IPv6 a todos los equipos de mi LAN!

Sí!
Bueno, hay peligros, ahora me toca ver, cómo asegurar toda la red? porque ahora todas y cada una de las máquinas de mi red tendrán IPv6, ya no es como antes que todos los equipos quedaban detrás de un firewall, ahora estarán públicos. Y si antes habían problemas, ahora cuántos no habrán?

Bueno, la idea es que ya puedo echar a andar IPv6 en las LAN y eso me contenta.

Pero algo malo pasó, pero sé que tendrá solución, y es que el router se negó a arrancar luego de que le mandé a reiniciar, para mí que se bloqueó, porque no hice nada del otro mundo y estaba funcionando.

Ya es tarde, mañana o pasado seguiré viendo este tema, pero ya le tengo una total confianza a IPv6.

Seguimos en IPv6

Bueno, en nuestra empresa www.ecualinux.com desde el año que pasó hemos soportado varios sitios con ipv6 y le seguimos soportando continuamente, si tuvieras ipv6, puedes acceder a estos sitios por ipv6, sino, por la vieja ipv4… llama a tu proveedor y pregúntale cuándo te pondrán ipv6?

www.ecualinux.com
www.ecualug.org
www.easyteck.com
www.ernestoperez.com

Un interesante estudio publicado por la FLACSO sobre el tema de la migración de cubanos a Ecuador

Me he leído con mucho interés este artículo, y me parece sumamente interesante a los efectos de que expone lo que muchos sentimos respecto al cómo han actuado los diferentes entes gubernamentales del país, las incongruencias entre lo que dice las constitución y el cómo actúan los diversos entes del estado apoyándose en reglamentos, leyes o suposiciones de antes de la constitución que en verdad se contradicen. Vale la pena leerlo

aquí está

Y aquí tengo una 1298066750.Informe_poblacion_cubana por si el original un día cambia de lugar

Más sobre visa de tránsito de Cubanos en Panamá

Bueno, me comenta un amigo que lo que sucede es que algunos al parecer sí están usando a Panamá como pivote para hacer como que vienen a Ecuador (donde no requieren visa por tanto es más fácil) y al llegar a panamá no siguen camino a Ecuador sino hacia países más al norte de Panamá.
Eso me comenta un amigo, y por esto es que Panamá ha endurecido el paso por su país.
He buscado en internet y no encuentro alguna info que confirme esto. Pero en todo caso, no me parece justo que porque se esté intentando hacer esto, todos los que transitan por Panamá deban pagar, hay otros métodos.

Más sobre la visa de tránsito a Cubanos que viajan por Panamá

Esto me mandó un amigo hoy, yo no confiara en esto, pues no es lo que dice el decreto, pero en todo caso, lean, dice que los residentes en Ecuador NO necesitan visa, vean. Lo envía alguien llamado :”From: Hilda Sarmiento Velez (CM) ” y fíjate lo curioso, no sacan nada en el sitio de COPA. Al menos no lo he visto hasta ahora.

Estimados Gerentes y Agentes de Viajes

 

Por medio del presente les extendemos un cordial saludo y a la vez les informamos que a partir del día lunes 30 de abril 2012, por disposición de las autoridades de la República de Panamá, según Decreto Ejecutivo N° 155 de 09 de marzo de 2012, todo pasajero de nacionalidad cubana que viaje en tránsito por Panamá hacia Ecuador deberá poseer la Visa de Turista en Tránsito.

 

Esta visa deberá ser solicitada personalmente por el pasajero ante el consulado panameño por lo menos con 10 días hábiles de anticipación.

 

Para mayor información visite www.copa.com o contacte al Consulado Panameño más cercano.

 

Los pasajeros de nacionalidad cubana con residencia legal permanente en el Ecuador NO requieren la visa panameña de tránsito.

 

Adjunto al presente encontrarán los documentos oficiales.

 

 

Agradecemos comunicar este particular a todo su personal y comunicar de forma efectiva a todos sus pasajeros.

 

Atentamente,

 

 

Departamento de Ventas

Copa Airlines

Member of SKCC#7163T