viernes, 16 de noviembre de 2012

Encontrar los archivos mas grandes en Linux

Para encontrar los archivos/directorios que mas espacio ocupan en el disco duro usar:

du -sm * | sort -nr | head -30

Encontrar las coincidencias de una lista de texto en un archivo de texto por medio del comando grep

Para encontrar una las coincidencias de una lista de texto en un archivo de texto grande usar:

grep -F -f MSISDN.txt FULL_DECODED > inconsistencias.txt

Nota: Es importante el parámetro -F, si no se incluye tomará mucho tiempo en procesar y consumirá mucha memoria RAM, en el ejemplo ejecutado  FULL_DECODED era de 4.1 Gb y MSISDN.txt de 300 Kb. Tomó 1.2 min en procesarse en una computadora Intel core i7 y 8 Gb de RAM.

MSISDN.txt contiene las cadenas de texto a encontrar. FULL_DECODED es el archivo donde se buscarán las coincidencias. El resultado de coincidencias se guarda en inconsistencias.txt

Cambiar el inicio y final de línea por texto usando el comando sed

Para cambiar el inicio y final de línea por medio del comando sed, se utiliza la siguiente sintaxis:

sed 's/^/HGSUE:MSISDN=/g' MSISDN.txt | sed 's/$/;/g' > HGSUE.txt

donde ^ representa el inicio de línea y $ representa el final de línea.

MSISDN.txt contiene:

50433920000
50433920001


El resultado será:

HGSUE.txt

HGSUE:MSISDN=5043392780000;
HGSUE:MSISDN=5043392780001;

sábado, 3 de noviembre de 2012

Conectar Garming Forerunner a Opensuse 12.2

Despues de instalar garmin-tools en Opensuse 12.2 no se puede colectar la información del GPS, los síntomas son los siguientes (con el GPS conectado a la computadora)

Al enviar el comando:

garmin_get_info

se obtiene un error que dice que no se tienen privilegios para abrir el puerto USB. Este error se obtiene al enviar el comando desde la consola y con un usuario normal, si se usa el usuario root se obtiene la información del GPS sin errores.

Enviar el comando  lsusb esto nos va a dar el bus y dispositivo asigando al GPS. Se obtendrá un impreso como se muestra a continuación

Bus 003 Device 002: ID 091e:0003 Garmin International GPS (various models)

con esto enviar el comando: 


ls -la /dev/bus/usb/003/002

obtendremos un impreso en donde se puede ver que solo root puede accesar a dicho dispositivo:

crw-rw---- 1 root root 189, 257 nov  3 14:08 /dev/bus/usb/003/002

Para permitir el acceso se debe crear el archivo /etc/udev/rules.d/51-garmin.rules y agregar la linea ATTR{idVendor}=="091e", ATTR{idProduct}=="0003", MODE="666"

La manera mas fácil de hacerlo es desde la linea de comandos y con el usuario root:

echo 'ATTR{idVendor}=="091e", ATTR{idProduct}=="0003", MODE="666"
' > /etc/udev/rules.d/51-garmin.rules


Agregar tambien la linea blacklist garmin_gps a el archivo /etc/modprobe.d/50-blacklist.conf, para hacerlo enviar el siguiente comando desde la consola y usuario root:


echo 'blacklist garmin_gps' >> /etc/modprobe.d/50-blacklist.conf


una vez echo esto, desconectar el GPS, enviar el comando


udevadm control --reload-rules


y reconectar el GPS, ahora deberia de funcionar correctamente, para verificar enviar con un usuario normal el comando get_garmin_info