como autocompletar código de ruby, la fuerza del tab

Acabo de encontrar la forma en la que irb soporta autoplete, o lo que es lo mismo, que cuando escribes código, le das al punto y al tabulador y aparecen las posibles funciones y métodos que soporta.

Simplemente hay que añadir este fragmento de código a tu ~/.irbrc

[shell]
IRB.conf[:AUTO_INDENT] = true
IRB.conf[:USE_READLINE] = true
IRB.conf[:LOAD_MODULES] = [] unless IRB.conf.key?(:LOAD_MODULES)
unless IRB.conf[:LOAD_MODULES].include?(‘irb/completion’)
IRB.conf[:LOAD_MODULES] << ‘irb/completion’
end
[/shell]

Así que por ahora, seguiré sin usar eclipse 😀

Puedes ver el artículo original en este enlace

Spacewalk y Oracle

Para todos los que estén pensando en desistir de instalar SpaceWalk debido a un error como este :

# spacewalk-setup --disconnected
* Loading answer file: /usr/share/spacewalk/setup/defaults.conf.
* Setting up environment and users.
** GPG: Initializing GPG and importing RHN key.
* Setting up database.
** Database: Setting up database connection.
DB User? spacewalk
DB Password?
DB SID? xe
DB hostname? localhost
DB port [1521]?
DB protocol [TCP]?
Could not connect to the database.  Your connection information may be incorrect.  Error: install_driver(Oracle) failed: Can't load '/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: libclntsh.so.10.1: wrong ELF class: ELFCLASS32 at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm line 230,  line 6.
 at (eval 784) line 3
Compilation failed in require at (eval 784) line 3,  line 6.
Perhaps a required shared library or dll isn't installed where expected
 at /usr/bin/spacewalk-setup line 1504

Aguantad !! :D, habeis cometido el mismo error que yo, mezclar el cliente de Oracle 11g con la instalación de Oracle 10g XE.

Os dejo los enlaces para la instalación rpm bajo 64bits:

http://download.oracle.com/otn/linux/oracle10g/xe/10201/oracle-xe-univ-10.2.0.1-1.0.i386.rpm
http://download.oracle.com/otn/linux/instantclient/10204/oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm
http://download.oracle.com/otn/linux/instantclient/10204/oracle-instantclient-jdbc-10.2.0.4-1.x86_64.rpm
http://download.oracle.com/otn/linux/instantclient/10204/oracle-instantclient-sqlplus-10.2.0.4-1.x86_64.rpm
http://download.oracle.com/otn/linux/instantclient/10204/oracle-instantclient-devel-10.2.0.4-1.x86_64.rpm

Recordaros que es preciso estar registrado para descargar los enlaces

NL-00280: error creating log stream /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/log/listener.log

Que cunda el panico

#lsnrctl start

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 07-AUG-2008 17:12:17

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

Starting /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.1.0 - Production
NL-00280: error creating log stream /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/log/listener.log
 NL-00278: cannot open log file
  SNL-00016: snlfohd: error opening file
   Linux Error: 13: Permission denied

Listener failed to start. See the error message(s) above...

Hay que lanzar el listener bajo el usuario oracle

Errores de mysql arrancando plesk

Puede que el pánico nos invada cuando encontramos algo como esto al arrancar Plesk:

# /etc/init.d/psa start
Starting xinetd service...                                            done
Starting named service...                                             done
Starting mysqld service...                                            done
Starting qmail service...                                             done
Starting courier-imap service...                                      done
Starting postgresql service...                                        failed
Starting psa-spamassassin service...                                  done
ERROR 1033 (HY000) at line 1: Incorrect information in file: './psa/DomainServices.frm'
websrvmng: DB error (mysql41 compatible query) 1033: Incorrect information in file: './psa/misc.frm'
websrvmng: DB error (mysql41 compatible query) 1033: Incorrect information in file: './psa/misc.frm'
websrvmng: Unable to connect to the mysql database
websrvmng: Unable to connect to the mysql database
ERROR 1033 (HY000) at line 1: Incorrect information in file: './psa/sessions.frm'
Starting Plesk...                                                     done
ERROR 1033 (HY000) at line 1: Incorrect information in file: './psa/misc.frm'

Aunque en principio parezca que es un problema de consistencia e base de datos. El problema tiene que ver con el montaje de /tmp y los atributos de carpeta temporal.

Para evitarnos problemas podemos lanzar este pequeño bloque de sentencias

dd if=/dev/zero of=/mnt/tmpnoexec bs=1024 count=500000
echo "yes" | mkfs.ext3 /mnt/tmpnoexec
cp -pr /tmp /tmp.backup
mount  /mnt/tmpnoexec /tmp -o loop,noexec,nosuid,rw
chmod 1777 /tmp

ACTUALIZACION: El problema realmente viene dado por el servicio SELINUX el cual está bloqueando que se puedan realizar escrituras en /tmp cuando está montado, tal y como podemos ver en /var/log/messages:

Dec 30 10:11:16 host kernel: audit(1230628267.676:4): avc:  denied  { read write } for  pid=1608 comm="mount" name="tmpnoexec" dev=sda1 ino=29556738 scontext=system_u:system_r:mount_t:s0 tcontext=root:object_r:mnt_t:s0 tclass=file
Dec 30 10:11:16 host kernel: audit(1230628267.677:5): avc:  denied  { read write } for  pid=1608 comm="mount" name="vartmpnoexec" dev=sda1 ino=29556739 scontext=system_u:system_r:mount_t:s0 tcontext=root:object_r:mnt_t:s0 tclass=file

Para deshabilitar SELINUX podemos usar la herramienta system-config-securitylevel-tui o editar /etc/sysconfig/selinux, asignando SELINUX=disabled y reiniciar el servidor ( una de las pocas ocasiones que en linux hay que reiniciar el servidor )

De los poco errores no descriptivos con los que me he encontrado con linux, este es uno.