trozando archivos / splitting files


Hace un tiempo escribí un post referente a la grabación de DVD’s y CD’s por consola con genisoimage y wodim. Ahora, que pasa si tengo que grabar archivos que superan el tamaño de almacenamiento de un DVD o CD, tengo alguna manera de cortarlos/trozarlos o splittearlos (muy argentino es término, no?) ?

Supongamos que tengo el siguiente archivo y tengo que grabarlo en un DVD:

[hvivani@localhost]$ ls -lh juancito201110061835*
-rw-r–r–. 1 root    root     7,7G oct  6 19:31 juancito201110061835.tar.gz
 

antes de generar el iso con genisoimage, lo trozamos tamaño con split:

$ split -b 4300m juancito201110061835.tar.gz juancito201110061835.tar.gz.split.

Con la opción -b 4300m le estamos diciendo que lo corte en tamaños de 4300 Mega Bytes.

En el nombre del archivo le agregué .split, para saber que está cortado y el comando split le va a agregar a continuación el indice en el formato: aa, ab, etc.

Luego de ejecutar el split, vamos a tener algo asi:

[hvivani@localhost]$ ls -lh juancito201110061835*
-rw-r–r–. 1 root    root     7,7G oct  6 19:31 juancito201110061835.tar.gz
-rw-r–r–. 1 hvivani users 4,2G oct 14 08:34 juancito201110061835.tar.gz.split.aa
-rw-r–r–. 1 hvivani users 3,5G oct 14 08:35 juancito201110061835.tar.gz.split.ab

Ahora si, podemos generar la imágen con genisomage de cada uno de los archivos cortados.

Ahora bien, como volvemos a unirlos si tenemos que reconstruir el archivo ?

Facil, con el gran cat:

$ cat juancito201110061835.tar.gz.split.* > juancito201110061835.tar.gz
 

 

 

 

 

 

Dropbox bajo Linux no sincroniza (updated)


Les ha pasado que Dropbox bajo Linux no sincroniza ? Les aparece un cartel que solicita ejecutar el siguiente comando ?

$ echo 100000|sudo tee /proc/sys/fs/inotify/max_user_watches

Suena muy feo que a un usuario de Linux le digan que ejecute un comando con permisos de root y no le digan que hace…, no?

El problema radica en que Dropbox, por defecto monitorea 10000 carpetas. A medida que crece nuestro file system, no puede monitorear todo el contenido a sincronizar, es por esto que nos pide aumentar dicho tamaño de 10000 a 100000 para no quedarnos cortos… eso es lo que hacemos al ejecutar dicho comando.

Ahora bien, para que el cambio persista un reboot, debemos hacer algo mas que ejecutar ese comando. Lo que haremos será crear una entrada en el archivo /etc/sysctl.conf:

$ sudo vi /etc/sysctl.conf

y agregamos las siguientes líneas al final:

# para Dropbox
fs.inotify.max_user_watches = 100000

Guardamos y listo.

Cuando reiniciemos el sistema, Dropbox ya no nos informará que necesita cambiar su variable de monitoreo.

VLC media Player en Fedora


Dado que no tenemos el VLC disponible en los repositorios de Fedora, podemos instalar el repositorio rpmfusion-free para poder instalarlo con un simple yum:

# rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm 
# yum install vlc 
# yum install mozilla-vlc (optional) 

Podemos explorar este repositorio y encontrar muchas aplicaciones utiles.

Importar contactos de gmail, yahoo, hotmail, facebook, con openinviter


OpenInviter es una herramienta open source, para importar contactos de libretas de direcciones de servidores de correo y otros servicios como facebook.
Al instalarlo en nuestro servidor, nos provee de una interfaz web donde ingresamos los datos de la cuenta de la que queremos obtener los contactos y nos devolvera la lista completa.

Para instalarlo, vamos a necesitar tener instalado PHP5 y DOMDocument.

Supongo que ya tenemos PHP5, pero si no tenemos instalado el DOMDocument, lo  instalamos:
# yum install php-xml

Descargamos el paquete de instalación desde openinviter.com

Descomprimimos:
# tar -zxvf openinviter.tar.gz

Movemos el directorio completo a nuestro webserver:
# mv openinviter /var/www/html/

Ejecutamos el script de configuración de openinviter desde un navegador de internet:
http://localhost/openinviter/postinstall.php

Aquí el instalador nos indicará si falta instalar algún paquete o nos dará un warning si no puede ejecutar algún plugin.
Si nos falta algo lo instalamos. El postinstall.php no podrá ejecutarse nuevamente por dos minutos.

Editamos el config.php de acuerdo a nuestras necesidades.

Finalmente, debemos eliminar el postinstall.php para que quede funcionando.

Apuntando a http://localhost/openinviter/ y tendremos la interfaz para introducir los datos de la cuenta y obtener los contactos.







Instalar Firefox 7 en Fedora 14 y Fedora 15


Dado que Firefox 7 aún no está disponible para instalar desde los repositorios oficiales de Fedora 14 y Fedora 15, aqui dejamos como hacerlo utilizando el repositorio remi.

Fedora 14:
Descargamos el paquete de instalación del repositorio remi y lo instalamos para poder utilizar por yum:
$ wget http://rpms.famillecollet.com/remi-release-14.rpm
#  rpm -i remi-release-14.rpm
luego hacemos simplemente:
# yum enablerepo=remi update firefox

Fedora 15:
Descargamos el paquete de instalación del repositorio remi y lo instalamos para poder utilizar por yum:
$ wget http://rpms.famillecollet.com/remi-release-15.rpm

# rpm -i remi-release-15.rpm
luego:
# yum enablerepo=remi update firefox

Eso es todo !

Manuales / Tutoriales de uso de herramientas de Software Libre


Dejo un par de sitios que almacenan documentos, manuales y tutoriales de uso de Herramientas de Software Libre.

Gleducar – Tutoriales Intec-GCBA: Manuales y tutoriales de 7-zip, Avidemux,  Audacity, TuxPaint, GIMP, Scribus, Scratch, VLC, OpenOffice Calc, Writer e Impress.
Creados por el Ministerio de Educación de la Ciudad de Buenos Aires. Publicados originalmente en el Campus Virtual del INTEC.

Cenatic: Material de divulgación y referencia en el uso de Herramientas de Software Libre. Manuales de Firefox, Evolution, GIMP, Inkscap, Writer, Calc, entre otros. Gracias Clau por este enlace.

Código QR: Codificando y Decodificando en Linux


El código QR se ha puesto de moda ahora, dado el auge de los smartphone, sin embargo fué creado en el año 1994 por una compañía japonesa e inicialmente se usó para registrar repuestos en la industria automotriz.
QR significa Quick Response, respuesta rápida y no es mas que un formato especial de código de barras.
Sus principales ventajas son, en principio, sus capacidades de almacenamiento:
Solo numérico: 7089 caracteres.
Alfanumerico: 4296 caractéres.
Binario (una imágen por ejemplo): 2953 bytes.

En nuestra vida diaria, están tomando popularidad, dado que comercialmente se los utiliza mucho. De que manera ?
Por ejemplo: se coloca un código QR en una publicidad en la vía pública o en un diario. Con nuestro smartphone, sacamos una foto del código QR, y automaticamente nos muestra el texto e imágenes almacenado o nos abre el navegador de internet con la página del producto.
También podría colocar un código QR en una tarjeta de visita, de manera de que alguien que lee la tarjeta con su teléfono no deba cargar todos los datos de contacto…interesante, no?

Como generamos codigos QR con Linux ? muy facilmente:
1) Instalamos un programa codificador, por ejemplo el qrencode:
# yum install qrencode

2) Generamos un código QR que nos redirecione a este sitio:
$ qrencode -o hvivani.png -s8 ‘http://hernan.vivani.com.ar’

la opción -s8 indica el tamaño del punto en pixels. El dafault es 3.

Si vemos la imágen almacenada, veremos esto:

Ahora, como leemos o decodificamos un código QR ?
1) Debemos instalar un programa lector de código de barras como por ejemplo el zbar:
# yum install zbar

2) Luego, si queremos decodificar el código QR almacenado en una imágen, utilizamos el comando:
$ zbarimg hvivani.png

QR-Code:http://hernan.vivani.com.ar
scanned 1 barcode symbols from 1 images in 0.07 seconds

Si queremos decodificar el código QR que obtenemos a través de una webcam, utilizamos el comando:
$ zbarcam –raw

Por supuesto que hay muchas aplicaciones para codificar y decodificar y en muchas plataformas, asi que: a explorar !

Monitoreando la red por consola con iftop


Muchas veces es necesario tener un pantallazo rápido del estado del tráfico de la red, en particular cuando necesitamos saber quien se está consumiendo todo el ancho de banda de un servicio determinado…
Hay muchas herramientas para esto, una de ellas es iftop, similar al comando top, pero en este caso para el tráfico de red.

Para instalar, es necesario tener instaladas las librerias libpcap, entonces:
# yum install libpcap libpcap-devel

Luego descargamos:
# wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz

descomprimimos e instalamos:
# tar -zxvf iftop-0.17.tar.gz
# cd iftop-0.17
# ./configure
# make
# make install

luego ya podremos ejecutar la aplicación:
# iftop

– Presionando h obtenemos la ayuda en pantalla.
– La vista default es port display off, two lines per host pair.
– El tráfico total lo obtenemos con: hosts names hidden, source port shown, one line per host pair

Enlazando redes con OpenVPN


En el presente apunto los pasos necesarios para instalar openvpn de modo de enlazar dos subredes. Hay un servidor central corriendo openvpn y uno o mas clientes (equipos o subredes) conectados al servidor central tambien a través de openvpn.

Aplicable a: centOS, fedora, Redhat

Configuración del Servidor openvpn:

Instalamos el openVPN y sus dependencias:

# yum install openvpn

Copiamos al directorio de trabajo:

# cp -R /usr/share/openvpn/easy-rsa/2.0/* /etc/openvpn/

Editamos el archivo vars:

# vi /etc/openvpn/vars

Y modificamos las últimas líneas con nuestros datos:

export KEY_COUNTRY=”US”
export KEY_PROVINCE=”CA”
export KEY_CITY=”SanFrancisco”
export KEY_ORG=”Fort-Funston”
export KEY_EMAIL=”me@myhost.mydomain”

Cargamos las variables de entorno:

# source /etc/openvpn/./vars

Limpiamos firmas digitales previas:

# sh /etc/openvpn/clean-all

Creamos certificado del servidor:

# sh /etc/openvpn/build-ca

Creamos el archivo con los parámetros del protocolo Diffie Hellman:

# sh /etc/openvpn/build-dh

Generamos la firma digital:

# sh /etc/openvpn/build-key-server server

Creamos los certificados de los clientes:

# sh /etc/openvpn/build-key cliente1
# sh /etc/openvpn/build-key cliente2
# sh /etc/openvpn/build-key cliente3

Para poder utilizar los certificados, creamos el archivo:

# vi /etc/openvpn/servidorvpn-udp-1194.conf

Adentro  detallaremos la configuración, teniendo en cuenta utilizar una subred no muy estandard para evitar conflictos:

port 1194
proto udp
dev tun
#—- Seccion de llaves —–
ca keys/ca.crt
cert keys/server.crt
key keys/server.key
dh keys/dh1024.pem
#—————————-
server 192.168.37.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status-servidorvpn-udp-1194.log
verb 3

Los parámetros anteriores significan:

Port: Especifica el puerto que será utilizado para que los clientes vpn puedan conectarse al servidor.

Proto: tipo de protocolo que se empleará en a conexión a través de VPN

dev: Tipo de interfaz de conexión virtual que se utilizará el servidor openvpn.

ca: Especifica la ubicación exacta del archivo de Autoridad Certificadora [.ca].

cert: Especifica la ubicación del archivo [.crt] creado para el servidor.

key: Especifica la ubicación de la llave [.key] creada para el servidor openvpn.

dh: Ruta exacta del archivo [.pem] el cual contiene el formato de Diffie Hellman (requirerido para –tls-serversolamente).

server: Se asigna el rango IP virtual que se utilizará en la red del túnel VPN.

Ifconfig-pool-persist: Archivo en donde quedarán registrado las direcciones IP de los clientes que se encuentran conectados al servidor OpenVPN.

Keepalive 10 120 : Envía los paquetes que se manejan por la red una vez cada 10 segundos; y asuma que el acoplamiento es abajo si ninguna respuesta ocurre por 120 segundos.

comp-lzo: Especifica los datos que recorren el túnel vpn será compactados durante la trasferencia de estos paquetes.

persist-key: Esta opción soluciona el problema por llaves que persisten a través de los reajustes SIGUSR1, así que no necesitan ser releídos.

Persist-tun: Permite que no se cierre y re-abre los dispositivos TAP/TUN al correr los guiones up/down

status: archivo donde se almacenará los eventos y datos sobre la conexión del servidor [.log]

verb: Nivel de información (default=1). Cada nivel demuestra todo el Info de los niveles anteriores. Se recomienda el nivel 3 si usted desea un buen resumen de qué está sucediendo.

0 –No muestra una salida excepto errores fatales. 1 to 4 –Rango de uso normal. 5 –Salida Ry Wcaracteres en la consola par los paquetes de lectura y escritura, mayúsculas es usada por paquetes TCP/UDP minúsculas es usada para paquetes TUN/TAP.

Creamos el archivo log:

# touch /etc/openvpn/openvpn-status-servidorvpn-udp-1194.log

Starteamos el servicio:

# service openvpn start

Definimos el servicio para que arranque automaticamente al inicio:

# chkconfig –level 2345 openvpn on

Configuración de los Clientes GNU/Linux:

Instalamos el paquete OpenVPN:

# yum install openvpn

Creamos el archivo:

# vi /etc/openvpn/cliente1-udp-1194.conf

con el siguiente contenido:

client
dev tun
proto udp
remote dominio-o-ip.del.servidor.vpn 1194
float
resolv-retry infinite
nobind
persist-key
persist-tun
#—— SECCION DE LLAVES ——–
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/cliente1.crt
key /etc/openvpn/keys/cliente1.key
ns-cert-type server
#———————————
comp-lzo
verb 3

Verificar que en la carpeta /etc/openvpn/keys del cliente tengamos los certificados que se detallan en este archivo.

(ca.crt, cliente1.crt, cliente1.key)

Starteamos el servicio en el cliente:

# service openvpn start

Con esto, el cliente, debe conectarse con el servidor.

Debemos verificar en el servidor reglas de firewall que impidan la entrada al puerto configurado.

Ante cualquier error, verificamos la salida en /var/log/messages.

Postres Balcarce en la CISL 2011


Postres Balcarce S.A. estuvo en la Conferencia Internacional de Software Libre 2011, esponiendo su caso de éxito en la migración total a Linux.
Muchos de los concurrentes eran empresas, que se encontraban en la disyuntiva entre legalizar sus copias, seguir en la ilegalidad y exponerse a multas, o migrar a Software Libre.
Evaluando esta última posibilidad, querían conocer nuestra experiencia.
Como conclusión, se llevaron la respuesta que necesitaban: SE PUEDE. En este proceso hay mas prejuicios que imposibilidades.

Pueden descargar la presentación aquí.

Algunas Fotos:

 Claudio Pereyra Díaz con Richard Stallman