• Feed RSS
0
Buenas a todos, el otro día expliqué a un amigo como se hace para poder trabajar con más de 4 Gb en ubuntu de 32 bits y con este post pretendo compartirlo por si alguno de vosotros lo necesita.

Antes de empezar comentar que todo esto es posible gracias a la tecnología PAE "Physical Address Extension" disponible en la mayoría de los microprocesadores que otorga la posibilidad de disponer en sistemas operativos de 32 bits, 4 Gb o más de memoria RAM hasta un máximo de 64 Gb.

Como saber si podemos habilitar PAE, tecleamos en consola:

$> cat /proc/cpuinfo | grep -i PAE
La salida en mi caso es:

flags        : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm
Una vez comprobado que nuestro microprocesador permite esta tecnología tan sólo habría que instalar el  núcleo de linux que tiene el flag habilitado:

$> sudo aptitude install linux-generic-pae linux-headers-generic-pae
Después de instalar el nuevo kernel tan solo queda reiniciar nuestro sistemas y listo. Ya tendremos toda nuestra memoria RAM disponible.

Desde el livecd de ubuntu si el instalador detecta 4 Gb o más instalará el kernel con el flag PAE activado por nosotros. Eso si debemos de disponer de conexión a internet en el momento de la instalación.
0
En esta entrada explicaré como conectar un móvil HTC Legend en modo depuración en Ubuntu 10.04.
Preparar el sistema operativo, editamos el fichero /etc/udev/rules.d/51-android.rules.
sudo vi /etc/udev/rules.d/51-android.rules
Consultar la información sobre USB Vendor IDs en la documentación oficial de Android (Setting up a Device for Development). En nuestro caso usaremos el 0bb4 correspondiente a un HTC. Añadir la línea:
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", SYMLINK+="android_adb", MODE="0666"
Guardamos los cambios y le damos permisos de ejecución:
sudo chmod a+r /etc/udev/rules.d/51-android.rules
Activar el modo depuración en el teléfono desde el menú Ajustes -> Aplicaciones -> Desarrollo.
Por último conectamos el móvil al ordenador, en modo Sólo Carga. Y si todo ha ido bien, al ejecutar la siguiente instrucción devolverá la lista de dispositivos conectados.
${ANDROID_SDK_HOME}/tools/adb devices
    List of devices attached
    HT00CNX00000 device
Ahora ya podemos usar nuestro dispositivo desde Eclipse para depurar la aplicación directamente en el móvil.
0

Java lanza la excepción java.net.SocketException: Too many open files cuando el sistema detecta que el proceso java supera el número de descriptores de ficheros (fd) abiertos. Este número máximo se puede definir a nivel de sistema o de shell.
Nivel de sistema
Para conocer el número máximo de fd en el sistema teclee en consola:
$> cat /proc/sys/fs/file-max
En mi caso devolvió el valor de 65536, según he leido este número puede incrementarse hasta el valor de 200000. Si se necesita cambiar este valor añadir en el fichero /etc/sysctl.conf.
fs.file-max = 200000
Nivel de Shell 
Para conocer el número máximo de fd en shell teclee en consola:
ulimit -n
El valor devuelto fue 1024, valor razonable pero también se puede cambiar. Para ello se tiene que añadir
* soft nofile 2048
* hard nofile 2048
En el fichero /etc/security/limits.conf.

Nota:
Para averiguar el número de descriptores abiertos por un proceso (xxx) escribir en consola:
lsof -p xxx |wc -l
Primeros pasos

Instalar alien (para convertir los archivos *.rpm en *.deb) y las dependencias para compilar.
sudo apt-get install libqt3-mt-dev libqt3-compat-headers libqscintilla-dev build-essential g++ gcc autoconf automake flex zlib1g-dev docbook-xsl debhelper alien libaio1 dpatch libqt4-dev libqscintilla2-dev
Descargar de la página de oracle los siguientes paquetes:
  • oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm
  • oracle-instantclient11.2-devel-11.2.0.1.0-1.i386.rpm
  • oracle-instantclient11.2-sqlplus-11.2.0.1.0-1.i386.rpm 
Para instalar los paquetes anteriores:
 sudo alien -i *.rpm
Configurando el entorno

Definir un fichero de configuración para indicar donde se encuentran instaladas las librerias de oracle.
sudo echo /usr/lib/oracle/11.2/client/lib > /etc/ld.so.conf.d/oracle.conf
Reconstruir la cache de librerias ejecutar:
sudo ldconfig
Ahora para tora encuentre la instalación de oracle incluir en la configuracion del shell.
export ORACLE_HOME=/usr/lib/oracle/11.2/client
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client/lib
export TNS_ADMIN=/usr/lib/oracle/11.2/client
Si usas "bash" se pueden incluir en los ficheros de login "~/.basshrc"

Compilar TORA

Descargar tora-2.1.1.tar.gz

Descomprimir, 
tar xvzf tora-2.1.1.tar.gz
Compilar
cd tora-2.1.1

./configure --prefix=/usr --with-oracle-includes=/usr/include/oracle/11.2/client

E instalar
sudo make install
Último paso
Si la compilación ha ido bien ejecutar en un terminal
tora
 Ya podemos disfrutar de este cliente para base de datos.