Para encontrar los archivos/directorios que mas espacio ocupan en el disco duro usar:
du -sm * | sort -nr | head -30
viernes, 16 de noviembre de 2012
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
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;
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
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
viernes, 27 de abril de 2012
Imagenes en aplicaciones para windows creadas con QT Creator
Las imagenes creadas con QT Creator no se muestran cuando la aplicacion es ejecutada en una PC sin el entorno de desarrollo QT.
El problema se debe a los plugins necesarios por QT. En primer lugar se debe verificar que el archivo ejecutable haya sido compilado en modo release.
Despues de esto la aplicacion se debe distribuir con los siguientes dlls (en un entorno de desarrollo sin Visual Studio)
libgcc_s_dw2-1.dll
mingwm10.dll
QtCore4.dll
QtGui4.dll
Estos deben de estar colocados al mismo nivel que nuestro archivo ejecutable; si nuestra aplicacion contiene imagenes entonces se requiere el plugin adecuado para el tipo de imagen, por ej. si es jpg usar qjpeg4.dll, si es gif usar qgif4.dll y asi sucesivamente, estos archivos deben de ser colocados en el folder /plugins/imageformats; este folder debe estar localizado en el folder donde nuestra aplicacion esta ubicada.
Adicionalmente se requiere crear el archivo qt.conf que debe ser colocado al mismo nivel que nuestra aplicacion y debe contener:
[PATHS]
plugins=./plugins
Los archivos correctos se encuentran en:
C:\QtSDK\Desktop\Qt\4.7.4\mingw\bin
C:\QtSDK\Desktop\Qt\4.7.4\mingw\plugins\imageformats
Notar que encontraras dlls que tienen terminacion 'D', p.ej QTCore4D.dll, estos son usados cuando se compila en modo Debug.
En mi caso estoy desarrollando con la libreria 4.7.4
El problema se debe a los plugins necesarios por QT. En primer lugar se debe verificar que el archivo ejecutable haya sido compilado en modo release.
Despues de esto la aplicacion se debe distribuir con los siguientes dlls (en un entorno de desarrollo sin Visual Studio)
libgcc_s_dw2-1.dll
mingwm10.dll
QtCore4.dll
QtGui4.dll
Estos deben de estar colocados al mismo nivel que nuestro archivo ejecutable; si nuestra aplicacion contiene imagenes entonces se requiere el plugin adecuado para el tipo de imagen, por ej. si es jpg usar qjpeg4.dll, si es gif usar qgif4.dll y asi sucesivamente, estos archivos deben de ser colocados en el folder /plugins/imageformats; este folder debe estar localizado en el folder donde nuestra aplicacion esta ubicada.
Adicionalmente se requiere crear el archivo qt.conf que debe ser colocado al mismo nivel que nuestra aplicacion y debe contener:
[PATHS]
plugins=./plugins
Los archivos correctos se encuentran en:
C:\QtSDK\Desktop\Qt\4.7.4\mingw\bin
C:\QtSDK\Desktop\Qt\4.7.4\mingw\plugins\imageformats
Notar que encontraras dlls que tienen terminacion 'D', p.ej QTCore4D.dll, estos son usados cuando se compila en modo Debug.
En mi caso estoy desarrollando con la libreria 4.7.4
jueves, 26 de abril de 2012
Incrementar el tamaño del disco duro en VirtualBox
Para incrementar el tamaño del disco duro de la maquina virtual, se requieren los siguientes pasos.
Una vez incrementado abrir la maquina virtual de manera normal, si abren el explorador de windows veran que el tamaño del disco no muestra ningun incremento, esto es porque aun necesitamos incrementar el tamaño desde el OS; esto se puede hacer desde el panel de control (con las herramientas administrativas) pero yo prefiero utilizar un programa llamado Partition Magic.
En este ejemplo se incremento el tamaño del disco duro a una maquina virtual windows.
Mi sistema es:
VirtualBox 4.1.12
Host: OpenSuse 12.1, KDE
Guest: Windows XP SP2
- Localizar el folder de almacenamiento del disco duro virtual; en OpenSuse 12.1 se encuentra en el folder home bajo el folder VirtualBox VM
- Desde la consola cambiarse al folder., ej. cd /home/rsaucedomx/'VirtualBox VM'
- El disco duro de mi maquina se llama XP SP2 Development.vdi y lo quiero incrementatr a 60 Gb; desde la consola necesitas teclear: VBoxManage modifyhd "XP SP2 Development.vdi" --resize 60000
linux-tcsd# VBoxManage modifyhd "XP SP2 Development.vdi" --resize 60000
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Una vez incrementado abrir la maquina virtual de manera normal, si abren el explorador de windows veran que el tamaño del disco no muestra ningun incremento, esto es porque aun necesitamos incrementar el tamaño desde el OS; esto se puede hacer desde el panel de control (con las herramientas administrativas) pero yo prefiero utilizar un programa llamado Partition Magic.
En este ejemplo se incremento el tamaño del disco duro a una maquina virtual windows.
Mi sistema es:
VirtualBox 4.1.12
Host: OpenSuse 12.1, KDE
Guest: Windows XP SP2
miércoles, 14 de diciembre de 2011
Anuncio al establecer una llamada
Para ejecutar un anuncio antes de establecer una llamada se utiliza el siguiente DT en una central Ericsson, el abonado tiene ST=18, el anuncio a ejecutar es el 1005.
<exrop:r=callset;
ROUTE DATA
R ROUTE PARAMETERS
CALLSET DETY=TCIA FNC=1 MB=1005 RSV=12292
END
<anrsp:rc=200;
ROUTING CASE DATA
OPERATING AREA
RC CCH BR ROUTING SP DATA
200 NO ST -0
&-17 P01=1 ES=517
ST -18 P02=1 NRC=228
ST -22 P03=1 ES=531
ST -23 P04=1 ES=532
ST -24 P05=1 ES=533
ST -25 P06=1 ES=534
ST -26 P07=1 ES=535
ST -27 P08=1 ES=536
ST -28 P09=1 ES=537
ST -29 P10=1 ES=538
ST -30 P11=1 ES=570
ST -31 P12=1 ES=571
ST -32 P13=1 ES=572
ST -38 P14=1 ES=573
ST -39 P15=1 ES=574
ST -40 P16=1 ES=575
ST -36 P17=1 ES=576
ST -37 P18=1 ES=577
END
<anrsp:rc=228;
ROUTING CASE DATA
OPERATING AREA
RC CCH BR ROUTING SP DATA
228 YES P01=1 R=CALLSET MM1 COT EST SI ESS ESR
0 540 0 0
BNT RN SPR OLI OLI2
00 0
ISC FCP D
0
P01=2 ES=541
END
<anesp:es=540;
END-OF-SELECTION ANALYSIS DATA
OPERATING AREA
ES BE M EOSRES
540
NXR
END
<anesp:es=541;
END-OF-SELECTION ANALYSIS DATA
OPERATING AREA
ES BE M EOSRES
541
F=11
END
<exrop:r=callset;
ROUTE DATA
R ROUTE PARAMETERS
CALLSET DETY=TCIA FNC=1 MB=1005 RSV=12292
END
<anrsp:rc=200;
ROUTING CASE DATA
OPERATING AREA
RC CCH BR ROUTING SP DATA
200 NO ST -0
&-17 P01=1 ES=517
ST -18 P02=1 NRC=228
ST -22 P03=1 ES=531
ST -23 P04=1 ES=532
ST -24 P05=1 ES=533
ST -25 P06=1 ES=534
ST -26 P07=1 ES=535
ST -27 P08=1 ES=536
ST -28 P09=1 ES=537
ST -29 P10=1 ES=538
ST -30 P11=1 ES=570
ST -31 P12=1 ES=571
ST -32 P13=1 ES=572
ST -38 P14=1 ES=573
ST -39 P15=1 ES=574
ST -40 P16=1 ES=575
ST -36 P17=1 ES=576
ST -37 P18=1 ES=577
END
<anrsp:rc=228;
ROUTING CASE DATA
OPERATING AREA
RC CCH BR ROUTING SP DATA
228 YES P01=1 R=CALLSET MM1 COT EST SI ESS ESR
0 540 0 0
BNT RN SPR OLI OLI2
00 0
ISC FCP D
0
P01=2 ES=541
END
<anesp:es=540;
END-OF-SELECTION ANALYSIS DATA
OPERATING AREA
ES BE M EOSRES
540
NXR
END
<anesp:es=541;
END-OF-SELECTION ANALYSIS DATA
OPERATING AREA
ES BE M EOSRES
541
F=11
END
Suscribirse a:
Entradas (Atom)