Este es el blog personal de las actividades de trabajo del Arquitecto de Sistemas (SA) Alfonso Baqueiro Bernal.
lunes, julio 09, 2012
miércoles, julio 04, 2012
gentoo which package a file belongs
como saber a que paquete de gentoo corresponde un archivo, por ejemplo el cut ¿en que paquete viene?
equery belongs /bin/cut
(equery es un comando provisto por el paquete gentoolkit)
equery belongs /bin/cut
(equery es un comando provisto por el paquete gentoolkit)
Listing installed packages in gentoo
¿que paquetes tenemos instalados en gentoo? ¿como averiguarlo?
way 1:
equery es una herramienta de gentoolkit por lo que la emergemos
emerge gentoolkit
así ya podemos usar:
equery list "*"
way 2:
ls -dl /var/db/pkg/*/*
way 3:
using nikita list-gentoo-packages.sh
========
#!/bin/bash
#
# list-gentoo-packages.sh v0.2
# Copyright 2007-2009, Nikita Melnichenko [http://nikita.melnichenko.name]
# License: GPL-2 (http://opensource.org/licenses/gpl-license.php)
#
# List all installed Gentoo packages with USE flags.
# generate use flags for package $1 (official, but very slow)
function portage_gen_use_flags_by_equery ()
{
equery -N -C uses '='"$1" | grep '^ [+-]' | awk '{ printf "%s%s\n", $2, $3 }'
}
# generate use flags for package $1 (unofficial, but fast)
function portage_gen_use_flags_from_var_db_pkg ()
{
if ! [ -f /var/db/pkg/"$1"/IUSE ]
then
return
fi
local use_flags=`cat /var/db/pkg/"$1"/USE`
for iuse in `cat /var/db/pkg/"$1"/IUSE | sed -e "s/ /\n/g" | LC_ALL=C sort | uniq`
do
iuse=`echo "$iuse" | sed -e "s/^[+-]//g"`
used=0
for use in $use_flags
do
if [ "$use" == "$iuse" ]
then
used=1
break
fi
done
if [ $used -eq 0 ]
then
echo -n '-'
else
echo -n '+'
fi
echo $iuse
done
}
# generate use flags for package $1
function portage_gen_use_flags ()
{
portage_gen_use_flags_from_var_db_pkg "$1"
}
# generate list of all installed packages with their USE flags
function portage_list_installed ()
{
find /var/db/pkg -mindepth 2 -type d | sed -e 's|^/var/db/pkg/||' | LC_ALL=C sort | while read pkg
do
echo -n "$pkg"
portage_gen_use_flags "$pkg" | LC_ALL=C sort | while read flag
do
echo -n " $flag"
done
echo
done
}
portage_list_installed
========
way 4: (root requirido) solo paquetes instadalos explicitamente
cat /var/lib/portage/world
more info:
http://www.gentoo.org/doc/es/gentoolkit.xml
way 1:
equery es una herramienta de gentoolkit por lo que la emergemos
emerge gentoolkit
así ya podemos usar:
equery list "*"
way 2:
ls -dl /var/db/pkg/*/*
way 3:
using nikita list-gentoo-packages.sh
========
#!/bin/bash
#
# list-gentoo-packages.sh v0.2
# Copyright 2007-2009, Nikita Melnichenko [http://nikita.melnichenko.name]
# License: GPL-2 (http://opensource.org/licenses/gpl-license.php)
#
# List all installed Gentoo packages with USE flags.
# generate use flags for package $1 (official, but very slow)
function portage_gen_use_flags_by_equery ()
{
equery -N -C uses '='"$1" | grep '^ [+-]' | awk '{ printf "%s%s\n", $2, $3 }'
}
# generate use flags for package $1 (unofficial, but fast)
function portage_gen_use_flags_from_var_db_pkg ()
{
if ! [ -f /var/db/pkg/"$1"/IUSE ]
then
return
fi
local use_flags=`cat /var/db/pkg/"$1"/USE`
for iuse in `cat /var/db/pkg/"$1"/IUSE | sed -e "s/ /\n/g" | LC_ALL=C sort | uniq`
do
iuse=`echo "$iuse" | sed -e "s/^[+-]//g"`
used=0
for use in $use_flags
do
if [ "$use" == "$iuse" ]
then
used=1
break
fi
done
if [ $used -eq 0 ]
then
echo -n '-'
else
echo -n '+'
fi
echo $iuse
done
}
# generate use flags for package $1
function portage_gen_use_flags ()
{
portage_gen_use_flags_from_var_db_pkg "$1"
}
# generate list of all installed packages with their USE flags
function portage_list_installed ()
{
find /var/db/pkg -mindepth 2 -type d | sed -e 's|^/var/db/pkg/||' | LC_ALL=C sort | while read pkg
do
echo -n "$pkg"
portage_gen_use_flags "$pkg" | LC_ALL=C sort | while read flag
do
echo -n " $flag"
done
echo
done
}
portage_list_installed
========
way 4: (root requirido) solo paquetes instadalos explicitamente
cat /var/lib/portage/world
more info:
http://www.gentoo.org/doc/es/gentoolkit.xml
Crear splash image para GRUB
Hay bastantes tutoriales en la red sobre como hacer esto, yo he seguido este:
http://fedoraproject.org/wiki/How_to_create_a_custom_grub_splash
En resumidas cuentas necesitamos una imagen de 640x480 que es la que vamos a poner, pero antes de pasarla al formato que usa el grub, hay que pasar la imagen a paleta optimizada de 16 colores, el gimp nos es de gran ayuda para realizar esto.
Les dejo esta bella imagen de 640x480 en formato .png por si desean probar con ella.
http://fedoraproject.org/wiki/How_to_create_a_custom_grub_splash
En resumidas cuentas necesitamos una imagen de 640x480 que es la que vamos a poner, pero antes de pasarla al formato que usa el grub, hay que pasar la imagen a paleta optimizada de 16 colores, el gimp nos es de gran ayuda para realizar esto.
Les dejo esta bella imagen de 640x480 en formato .png por si desean probar con ella.
martes, julio 03, 2012
Elecciones México 2012
En verdad que somos un país de gente mediocre, por un lado sale el Copetes a decir que gran participación ciudadana a tan solo el 60%, cuando un pueblo responsable debería tener una participación mayor al 90%.
Que lastima que muchos mexicanos no tienen dignidad, y venden el futuro del país por unos cuantos pesos:
http://www.jornada.unam.mx/ultimas/2012/07/03/8196057-compras-de-panico-en-soriana-ante-el-temor-de-que-el-pri-cancelara-tarjetas
Como podemos ver hemos regresado al México antes del PAN (¿o será que nunca hemos salido de esas prácticas?), a las viejas prácticas del PRI, la compra de votos, el acarreo de gente, y esto solo es el principio, el autoritarismo esta de regreso, y si no, ¿como puede el Copetes ya estar diciendo que hacer cuando el IFE todavía no publica los resultados definitivos? ¿como es que estaban festejando en el CEN del PRI ya a las 10 de la noche del domingo, cuando todavía no había suficiente información para indicarles que tenían ventaja en el conteo? ¿porque felicitan otros mandatarios a Peña, cuando todavía la institución oficial no ha dado el fallo definitivo? Todo esto genera mucha desconfianza en las instituciones, y hace parecer todo como una farsa.
http://www.jornada.unam.mx/ultimas/2012/07/03/93913465-impugnara-amlo-eleccion-fue-sucia-a-todas-luces
Tenemos que hacer algo al respecto, no nos podemos quedar con los brazos cruzados.
Pero como bien han dicho algunas cadenas de esas que recibimos por e-mail, el problema de nuestro país no es el gobernante en turno, es la gente, que tiene mierda en la cabeza, que es manipulable, que es miedosa y atemorizable, gente de miras cortas, gente pequeña, y contra eso es poco lo que se puede hacer, al menos en el corto plazo.
Lo que tenemos que hacer es construir y hacer más fuerte la izquierda, ya que en México se ve con miedo aún esta opción, la gente llega a pensar que si ganaba AMLO se iba a hacer el país comunista, que iba a ser otro Hugo Chavez, cuando nunca se les ocurrio comentar que podíamos tener un renacimiento como Brasil con Lula, aunque no todo esta perdido, hay que recordar que Lula, llego a la presidencia de una forma histórica hasta la 3ra ronda. Así que no podemos dejar todo por perdido y tenemos que seguir construyendo.
Que lastima que muchos mexicanos no tienen dignidad, y venden el futuro del país por unos cuantos pesos:
http://www.jornada.unam.mx/ultimas/2012/07/03/8196057-compras-de-panico-en-soriana-ante-el-temor-de-que-el-pri-cancelara-tarjetas
Como podemos ver hemos regresado al México antes del PAN (¿o será que nunca hemos salido de esas prácticas?), a las viejas prácticas del PRI, la compra de votos, el acarreo de gente, y esto solo es el principio, el autoritarismo esta de regreso, y si no, ¿como puede el Copetes ya estar diciendo que hacer cuando el IFE todavía no publica los resultados definitivos? ¿como es que estaban festejando en el CEN del PRI ya a las 10 de la noche del domingo, cuando todavía no había suficiente información para indicarles que tenían ventaja en el conteo? ¿porque felicitan otros mandatarios a Peña, cuando todavía la institución oficial no ha dado el fallo definitivo? Todo esto genera mucha desconfianza en las instituciones, y hace parecer todo como una farsa.
http://www.jornada.unam.mx/ultimas/2012/07/03/93913465-impugnara-amlo-eleccion-fue-sucia-a-todas-luces
Tenemos que hacer algo al respecto, no nos podemos quedar con los brazos cruzados.
Pero como bien han dicho algunas cadenas de esas que recibimos por e-mail, el problema de nuestro país no es el gobernante en turno, es la gente, que tiene mierda en la cabeza, que es manipulable, que es miedosa y atemorizable, gente de miras cortas, gente pequeña, y contra eso es poco lo que se puede hacer, al menos en el corto plazo.
Lo que tenemos que hacer es construir y hacer más fuerte la izquierda, ya que en México se ve con miedo aún esta opción, la gente llega a pensar que si ganaba AMLO se iba a hacer el país comunista, que iba a ser otro Hugo Chavez, cuando nunca se les ocurrio comentar que podíamos tener un renacimiento como Brasil con Lula, aunque no todo esta perdido, hay que recordar que Lula, llego a la presidencia de una forma histórica hasta la 3ra ronda. Así que no podemos dejar todo por perdido y tenemos que seguir construyendo.
martes, junio 26, 2012
SSL 101
Información basica:
http://en.wikipedia.org/wiki/Certificate_authority
http://en.wikipedia.org/wiki/Public_key_infrastructure
http://en.wikipedia.org/wiki/Certificate_authority
http://en.wikipedia.org/wiki/Public_key_infrastructure
jueves, abril 12, 2012
Paradigmas para la división del trabajo en Arquitectura de Sistemas
Paradigmas para ver y entender la división del trabajo en los sistemas computacionales
IaaS
Infraestructura como servicio
en este modelo el cliente consume recursos de almacenamiento, procesamiento y redes donde alojar y ejecutar aplicaciones
PaaS
Plataforma como servicio
en este modelo el usuario no controla la infraestructura e incluso el proveedor puede definir el herramientas y lenguajes, pero el usuario si controla las aplicaciones o servicios desplegados y algunas variables de entorno
SaaS
Software como servicio
en este modelo el cliente utiliza aplicaciones y servicios del proveedor, y no tiene control de la infraestructura ni de las apps, solo de parámetros de configuración
IaaS
Infraestructura como servicio
en este modelo el cliente consume recursos de almacenamiento, procesamiento y redes donde alojar y ejecutar aplicaciones
PaaS
Plataforma como servicio
en este modelo el usuario no controla la infraestructura e incluso el proveedor puede definir el herramientas y lenguajes, pero el usuario si controla las aplicaciones o servicios desplegados y algunas variables de entorno
SaaS
Software como servicio
en este modelo el cliente utiliza aplicaciones y servicios del proveedor, y no tiene control de la infraestructura ni de las apps, solo de parámetros de configuración
martes, marzo 20, 2012
Instalación de Oracle 10g Express Edition en Ubuntu 10.04 LTS
Instalación de Oracle 10g Express Edition en Ubuntu 10.04 LTS
Con eso de que he estado publicando sobre Oracle en Ubuntu, me ha faltado publicar respecto al proceso de instalación.
Aunque la versión 10.2 ya esta vieja, es la que tienen en el entorno del trabajo por lo que es la que estoy usando en esta instalación pero probablemente el proceso es similar con versiones más recientes.
Primero lo primero, descargar los archivos .deb, que se pueden obtener de esta página (previo registro):
http://www.oracle.com/technetwork/products/express-edition/downloads/102xelinsoft-102048.html
Respecto a las dependencias se requiere libaio, podemos ver que hay disponible con
libaio-dev - Biblioteca de acceso AIO del núcleo Linux - archivos de desarrollo
libaio1 - Biblioteca de acceso AIO del núcleo Linux - biblioteca compartida
libaio1-dbg - Biblioteca de acceso AIO del núcleo Linux, símbolos de depuración
así que optamos por instalar libaio1
Luego procedemos a la instalación:
172182 ficheros y directorios instalados actualmente.)
Preparando para reemplazar oracle-xe-universal 10.2.0.1-1.0 (usando .../oracle-xe-universal_10.2.0.1-1.0_i386.deb) ...
Desempaquetando el reemplazo de oracle-xe-universal ...
Configurando oracle-xe-universal (10.2.0.1-1.0) ...
update-rc.d: warning: /etc/init.d/oracle-xe missing LSB information
update-rc.d: see
Executing Post-install steps...
-e You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database.
Procesando disparadores para desktop-file-utils ...
Procesando disparadores para python-gmenu ...
Rebuilding /usr/share/applications/desktop.es_MX.utf8.cache...
Procesando disparadores para man-db ...
Procesando disparadores para ureadahead ...
Procesando disparadores para python-support ...
Ejecutamos lo que indica la salida anterior.
$ sudo /etc/init.d/oracle-xe configure
Indicamos los puertos para el servidor HTTP y para el Motor
Indicamos un password para las cuentas SYS y SYSTEM
Indicamos si queremos que el motor de base datos se inicie al arranque, si optamos por no, podemos arrancarlo a voluntad con el comando
$ sudo /etc/init.d/oracle-xe configure
Oracle Database 10g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 10g Express
Edition. The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts. Press to accept the defaults.
Ctrl-C will abort.
Specify the HTTP port that will be used for Oracle Application Express [8080]:
Specify a port that will be used for the database listener [1521]:
Specify a password to be used for database accounts. Note that the same
password will be used for SYS and SYSTEM. Oracle recommends the use of
different passwords for each database account. This can be done after
initial configuration:
Confirm the password:
Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:n
Starting Oracle Net Listener...Done
Configuring Database...Done
Starting Oracle Database 10g Express Edition Instance...Done
Installation Completed Successfully.
To access the Database Home Page go to "http://127.0.0.1:8080/apex"
Para parar el servicio
Para habilitar
Para arrancar el servicio
Para consultar el status
Basicamente, con esto ya tenemos un motor oracle edición express up and running.
Con eso de que he estado publicando sobre Oracle en Ubuntu, me ha faltado publicar respecto al proceso de instalación.
Aunque la versión 10.2 ya esta vieja, es la que tienen en el entorno del trabajo por lo que es la que estoy usando en esta instalación pero probablemente el proceso es similar con versiones más recientes.
Primero lo primero, descargar los archivos .deb, que se pueden obtener de esta página (previo registro):
http://www.oracle.com/technetwork/products/express-edition/downloads/102xelinsoft-102048.html
Respecto a las dependencias se requiere libaio, podemos ver que hay disponible con
$ apt-cache search libaio
libaio1 - Biblioteca de acceso AIO del núcleo Linux - biblioteca compartida
libaio1-dbg - Biblioteca de acceso AIO del núcleo Linux, símbolos de depuración
así que optamos por instalar libaio1
$ sudo apt-get install libaio1
Luego procedemos a la instalación:
$ sudo dpkg -i download/linux/oracle-xe-universal_10.2.0.1-1.0_i386.deb
(Leyendo la base de datos ... 00%172182 ficheros y directorios instalados actualmente.)
Preparando para reemplazar oracle-xe-universal 10.2.0.1-1.0 (usando .../oracle-xe-universal_10.2.0.1-1.0_i386.deb) ...
Desempaquetando el reemplazo de oracle-xe-universal ...
Configurando oracle-xe-universal (10.2.0.1-1.0) ...
update-rc.d: warning: /etc/init.d/oracle-xe missing LSB information
update-rc.d: see
Executing Post-install steps...
-e You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database.
Procesando disparadores para desktop-file-utils ...
Procesando disparadores para python-gmenu ...
Rebuilding /usr/share/applications/desktop.es_MX.utf8.cache...
Procesando disparadores para man-db ...
Procesando disparadores para ureadahead ...
Procesando disparadores para python-support ...
Ejecutamos lo que indica la salida anterior.
$ sudo /etc/init.d/oracle-xe configure
Indicamos los puertos para el servidor HTTP y para el Motor
Indicamos un password para las cuentas SYS y SYSTEM
Indicamos si queremos que el motor de base datos se inicie al arranque, si optamos por no, podemos arrancarlo a voluntad con el comando
$ sudo /etc/init.d/oracle-xe configure
Oracle Database 10g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 10g Express
Edition. The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts. Press
Ctrl-C will abort.
Specify the HTTP port that will be used for Oracle Application Express [8080]:
Specify a port that will be used for the database listener [1521]:
Specify a password to be used for database accounts. Note that the same
password will be used for SYS and SYSTEM. Oracle recommends the use of
different passwords for each database account. This can be done after
initial configuration:
Confirm the password:
Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:n
Starting Oracle Net Listener...Done
Configuring Database...Done
Starting Oracle Database 10g Express Edition Instance...Done
Installation Completed Successfully.
To access the Database Home Page go to "http://127.0.0.1:8080/apex"
Para parar el servicio
$ sudo service oracle-xe stop
Para habilitar
$ sudo service oracle-xe enable
Para arrancar el servicio
$ sudo service oracle-xe start
Para consultar el status
$ sudo service oracle-xe status
Basicamente, con esto ya tenemos un motor oracle edición express up and running.
lunes, marzo 19, 2012
Oracle XE 10.2 documentation links
all books
http://www.oracle.com/pls/db102/portal.all_books
sqlplus user's guide and reference
http://docs.oracle.com/cd/B19306_01/server.102/b14357/toc.htm
http://www.oracle.com/pls/db102/portal.all_books
sqlplus user's guide and reference
http://docs.oracle.com/cd/B19306_01/server.102/b14357/toc.htm
Usando oracle express edition 10.2 (XE) con ubuntu 10.04 LTS
Usando oracle express edition 10.2 (XE) con ubuntu 10.04 LTS
(using oracle express edition XE with ubuntu)
Primero vamos a indicar las carencias y defectos que se presentan una vez desempacado e instalado el software
El paquete de oracle server xe contiene una utilidad de conección en modo consola la que se denomina sqlplus, sin embargo el sistema no queda configurado adecuadamente para encontrar este programa, y para ejecutarlo se requiere llamar a otros scripts que se supone que han sido escritos por profesionales de una compañia tan grande como Oracle, sin embargo dejan mucho que desear.
Como podemos ver por el acceso directo que crea la instalación:
el software se instala en:
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
y el script que corre para abrir sqlplus es:
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/runsqlplus.sh
el cual lo único que hace es escoger el programa de terminal a utilizar, dando preferencia si esta presente a gnome-terminal sobre xterm, y fijando el título de la ventana para invocar a:
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlplus.sh
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
ORACLE_SID=XE
export ORACLE_SID
NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export NLS_LANG
PATH=$ORACLE_HOME/bin:$PATH
export PATH
sqlplus /nolog
este otro lo que hace es fijar adecuadamente las variables
ORACLE_HOME
ORACLE_SID
NLS_LANG
PATH
y finalmente arrancar el sqlplus sin log
lo feo del caso es que el script
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/nls_lang.sh
contiene un error en la linea 108 y 110, al evaluar una condición
originalmente esta así:
if [[ -n "$LC_ALL" ]]; then
locale=$LC_ALL
elif [[ -n "$LANG" ]]; then
locale=$LANG
else
locale=
fi
pero se puede corregir simplemente cambiandolo para que quede así:
if [ -n "$LC_ALL" ]; then
locale=$LC_ALL
elif [ -n "$LANG" ]; then
locale=$LANG
else
locale=''
fi
para que ahora si podamos correr con toda confianza en nuestra terminal
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlplus.sh
lo cual nos dará un prompt como este:
SQL*Plus: Release 10.2.0.1.0 - Production on Lun Mar 19 16:22:22 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL>
¿y luego que se hace?
Primero nos tenemos que conectar usando un comando connect (nos podemos conectar a un motor oracle ya sea local o remoto), para ello tenemos que saber el usuario y password
en este caso nos conectamos a un server local (127.0.0.1)
como un usuario normal, ej. username
(sqlplus connect as sys)
si queremos conectarnos como DBA hay que agregar:
posteriormente pregunta el password y lo proporcionamos para obtener acceso
y saldrá un mensaje que dice:
Podemos desconectarnos usando
SQL> disconnect
¿y luego que se hace?
podemos mostrar ayuda para un comando utilizando el comando help
Otros comandos a probar son:
help
help accept
help index
Sin embargo seguramente te estas preguntando como se le hace para correr un script sql?
Pues basicamente una vez conectados ya podemos escribir nuestros querys sql
Podemos definir nuestro editor favorito para invocarlo desde sqlplus:
Luego ya podemos editar un archivo mediante
Esto abrira nuestro editor con el archivo filename.sql
Para correr los comandos en dicho archivo podemos usar:
o
Para guardar la salida de la ejecución en un archivo podemos usar:
append es opcional pero es recomendable para no borrar datos previos que haya en el archivo,
para guardar la salida en el archivo es necesario detener el spool
Con la información anterior ya nos es posible editar y ejecutar scripts, así como guardar la salida de ejecución, por lo que hasta aquí voy a dejar esta introducción a la linea de comandos de oracle sqlplus, esto para los que preferimos usar una linea de comandos a la interface html, que es un poco impractica.
Podeís encontrar mas información usando este link:
http://docs.oracle.com/cd/B19306_01/server.102/b14357/pt2.htm
Fuentes:
http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch3.htm
(using oracle express edition XE with ubuntu)
Primero vamos a indicar las carencias y defectos que se presentan una vez desempacado e instalado el software
El paquete de oracle server xe contiene una utilidad de conección en modo consola la que se denomina sqlplus, sin embargo el sistema no queda configurado adecuadamente para encontrar este programa, y para ejecutarlo se requiere llamar a otros scripts que se supone que han sido escritos por profesionales de una compañia tan grande como Oracle, sin embargo dejan mucho que desear.
Como podemos ver por el acceso directo que crea la instalación:
el software se instala en:
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
y el script que corre para abrir sqlplus es:
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/runsqlplus.sh
if [ -f /usr/bin/gnome-terminal ]
then
/usr/bin/gnome-terminal -t "SQL*Plus" -e "/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlplus.sh"
else
/usr/bin/xterm -T "SQL*Plus" -n "SQL*Plus" -e "/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlplus.sh"
fi
el cual lo único que hace es escoger el programa de terminal a utilizar, dando preferencia si esta presente a gnome-terminal sobre xterm, y fijando el título de la ventana para invocar a:
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlplus.sh
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
ORACLE_SID=XE
export ORACLE_SID
NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export NLS_LANG
PATH=$ORACLE_HOME/bin:$PATH
export PATH
sqlplus /nolog
este otro lo que hace es fijar adecuadamente las variables
ORACLE_HOME
ORACLE_SID
NLS_LANG
PATH
y finalmente arrancar el sqlplus sin log
lo feo del caso es que el script
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/nls_lang.sh
contiene un error en la linea 108 y 110, al evaluar una condición
originalmente esta así:
if [[ -n "$LC_ALL" ]]; then
locale=$LC_ALL
elif [[ -n "$LANG" ]]; then
locale=$LANG
else
locale=
fi
pero se puede corregir simplemente cambiandolo para que quede así:
if [ -n "$LC_ALL" ]; then
locale=$LC_ALL
elif [ -n "$LANG" ]; then
locale=$LANG
else
locale=''
fi
para que ahora si podamos correr con toda confianza en nuestra terminal
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlplus.sh
lo cual nos dará un prompt como este:
SQL*Plus: Release 10.2.0.1.0 - Production on Lun Mar 19 16:22:22 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL>
¿y luego que se hace?
Primero nos tenemos que conectar usando un comando connect (nos podemos conectar a un motor oracle ya sea local o remoto), para ello tenemos que saber el usuario y password
en este caso nos conectamos a un server local (127.0.0.1)
como un usuario normal, ej. username
SQL> connect username@127.0.0.1
(sqlplus connect as sys)
si queremos conectarnos como DBA hay que agregar:
SQL> connect sys@127.0.0.1 as sysdba
posteriormente pregunta el password y lo proporcionamos para obtener acceso
y saldrá un mensaje que dice:
Conectado.
SQL >Podemos desconectarnos usando
SQL> disconnect
¿y luego que se hace?
podemos mostrar ayuda para un comando utilizando el comando help
SQL> help connect
Otros comandos a probar son:
help
help accept
help index
Sin embargo seguramente te estas preguntando como se le hace para correr un script sql?
Pues basicamente una vez conectados ya podemos escribir nuestros querys sql
SQL> create table t ( a int ) ;
Tabla creada.
SQL> define _EDITOR = gvim
oSQL> define _EDITOR = gedit
Luego ya podemos editar un archivo mediante
SQL> edit filename
Esto abrira nuestro editor con el archivo filename.sql
Para correr los comandos en dicho archivo podemos usar:
SQL> start filename
o
SQL> @filename
Para guardar la salida de la ejecución en un archivo podemos usar:
SQL> spool output_filename append
append es opcional pero es recomendable para no borrar datos previos que haya en el archivo,
para guardar la salida en el archivo es necesario detener el spool
SQL> spool off
Con la información anterior ya nos es posible editar y ejecutar scripts, así como guardar la salida de ejecución, por lo que hasta aquí voy a dejar esta introducción a la linea de comandos de oracle sqlplus, esto para los que preferimos usar una linea de comandos a la interface html, que es un poco impractica.
Podeís encontrar mas información usando este link:
http://docs.oracle.com/cd/B19306_01/server.102/b14357/pt2.htm
Fuentes:
http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch3.htm
Setting Aquafold Datastudio with Oracle Database
(configurar aquafold datastudio para usarlo con motor de base de datos Oracle)
A diferencia de otros motores requerimos más parametros para configurar por ej. para configurar un postgresql requerimos ip, usuario, password, puerto y database
en el caso de oracle, el equivalente a database puede ser el SID, en el caso de oracle express editon, el SID que se requiere es XE
hay un parametro del tipo de conección que puede ser ( normal | SYSOPER | SYSDBA ) y que tenemos que poner en SYSDBA cuando nos estemos conectando con la cuenta SYS o SYSTEM
así quedarían los parametros de la configuración a un motor oracle, como en la imagen
A diferencia de otros motores requerimos más parametros para configurar por ej. para configurar un postgresql requerimos ip, usuario, password, puerto y database
en el caso de oracle, el equivalente a database puede ser el SID, en el caso de oracle express editon, el SID que se requiere es XE
hay un parametro del tipo de conección que puede ser ( normal | SYSOPER | SYSDBA ) y que tenemos que poner en SYSDBA cuando nos estemos conectando con la cuenta SYS o SYSTEM
así quedarían los parametros de la configuración a un motor oracle, como en la imagen
jueves, marzo 15, 2012
Remover secuencias de escape de terminal usando un comando
How to remove ANSI escape sequences from a text file: e.g. remove escape sequences from the output of 'script':
I needed this functionality just now and I thought 'Why not share it?'. So, here it is:
I needed this functionality just now and I thought 'Why not share it?'. So, here it is:
Add to your $HOME/.bashrc
alias stresc='sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"'You may replace 'stresc' by whatever you prefer, just make sure it is not an already existing command or alias.
This effectively creates your own personal 'strip escape' command.
To use it in a terminal
This effectively creates your own personal 'strip escape' command.
To use it in a terminal
stresc filename
or
stresc filename > other-file-namefuente: http://crunchbanglinux.org/forums/topic/15321/how-to-remove-ansi-escape-sequences-from-a-text-file/
domingo, febrero 19, 2012
y dicen que el perro viejo no aprende trucos nuevos
pero no es cierto, hoy aprendí 2 nuevos comandos
watch
para monitorear otro comando que se corre periodicamente y monitorear cambios en su salida, notar que esta ejecutando el comando cada n segundos y mostrando su salida sobrepuesta
ej.
cuando estamos descargando un archivo o copiando uno grande y queremos ver el tamaño del archivo como va cambiando cada 5 segundos
watch -n 5 ls -lh growingfile.bin
script
para guardar en un archivo toda la salida y entrada de una sesion interactiva de terminal, o que otro usuario vea lo que estamos haciendo en la terminal
ej. para guardar la salida a un archivo de nombre log
script -f log
ej. para mostrar a otro lo que se va haciendo cuando ambos están logueados en un server
on term1:
mkfifo fifo; script -f fifo
on term2:
cat fifo
entonces toda la salida y entrada de term1 se replica en term2
watch
para monitorear otro comando que se corre periodicamente y monitorear cambios en su salida, notar que esta ejecutando el comando cada n segundos y mostrando su salida sobrepuesta
ej.
cuando estamos descargando un archivo o copiando uno grande y queremos ver el tamaño del archivo como va cambiando cada 5 segundos
watch -n 5 ls -lh growingfile.bin
script
para guardar en un archivo toda la salida y entrada de una sesion interactiva de terminal, o que otro usuario vea lo que estamos haciendo en la terminal
ej. para guardar la salida a un archivo de nombre log
script -f log
ej. para mostrar a otro lo que se va haciendo cuando ambos están logueados en un server
on term1:
mkfifo fifo; script -f fifo
on term2:
cat fifo
entonces toda la salida y entrada de term1 se replica en term2
martes, febrero 14, 2012
Configurar apt-get a traves de proxy autenticado
Editar /etc/apt/apt.conf
y añadir esta linea:
Acquire::http::proxy "http://DOMAIN\USER:PASSWORD@PROXY_IP:PORT";
o si no requiere DOMINIO
Acquire::http::proxy "http://USER:PASSWORD@PROXY_IP:PORT";
por ej:
Acquire::http::proxy "http://google\sergey:password@10.0.0.1:8080";
o si no requiere dominio
Acquire::http::proxy "http://sergey:password@10.0.0.1:8080";
o si no requiere autenticación
Acquire::http::proxy "http://192.168.1.253:8080";
Esto me ha funcionado, pero si es un poco inseguro porque el password queda a la vista.
Al menos podemos hacerlo no legible salvo para root o sudoers con esto
sudo chmod 700 /etc/apt/apt.conf
y añadir esta linea:
Acquire::http::proxy "http://DOMAIN\USER:PASSWORD@PROXY_IP:PORT";
o si no requiere DOMINIO
Acquire::http::proxy "http://USER:PASSWORD@PROXY_IP:PORT";
por ej:
Acquire::http::proxy "http://google\sergey:password@10.0.0.1:8080";
o si no requiere dominio
Acquire::http::proxy "http://sergey:password@10.0.0.1:8080";
o si no requiere autenticación
Acquire::http::proxy "http://192.168.1.253:8080";
Esto me ha funcionado, pero si es un poco inseguro porque el password queda a la vista.
Al menos podemos hacerlo no legible salvo para root o sudoers con esto
sudo chmod 700 /etc/apt/apt.conf
martes, noviembre 29, 2011
Añadiendo soporte en ubuntu para driver de ethernet card Atheros AR8152 en Toshiba Satellite Pro C650
Añadiendo soporte en ubuntu para driver de ethernet card Atheros AR8152 en Toshiba Satellite Pro C650
de acuerdo con:
lspci | grep Ethernet
01:00.0 Ethernet controller: Atheros Communications AR8152 v1.1 Fast Ethernet (rev c1)
por alguna razón ubuntu 10.04 LTS en esta ocasión si detecta la interface wireless y la ethernet no la detecta, gogleando encontre que se puede añadir driver para esta tarjeta compilandolo
es necesario descargar el fuente de
http://linuxwireless.org/download/compat-wireless-2.6/
yo descargue el más reciente en este momento
http://linuxwireless.org/download/compat-wireless-2.6/compat-wireless-2011-11-22.tar.bz2
luego, poniendonos en el directorio donde descargamos:
tar -xjvf compat-wireless-2.6.tar.bz2
cd compat-wireless*
scripts/driver-select atl1c
make
sudo make install
luego reiniciamos y en teoría ya debemos tener el soporte
si no cargo el driver automagicamente probar
sudo modprobe atl1c
de acuerdo con:
lspci | grep Ethernet
01:00.0 Ethernet controller: Atheros Communications AR8152 v1.1 Fast Ethernet (rev c1)
por alguna razón ubuntu 10.04 LTS en esta ocasión si detecta la interface wireless y la ethernet no la detecta, gogleando encontre que se puede añadir driver para esta tarjeta compilandolo
es necesario descargar el fuente de
http://linuxwireless.org/download/compat-wireless-2.6/
yo descargue el más reciente en este momento
http://linuxwireless.org/download/compat-wireless-2.6/compat-wireless-2011-11-22.tar.bz2
luego, poniendonos en el directorio donde descargamos:
tar -xjvf compat-wireless-2.6.tar.bz2
cd compat-wireless*
scripts/driver-select atl1c
make
sudo make install
luego reiniciamos y en teoría ya debemos tener el soporte
si no cargo el driver automagicamente probar
sudo modprobe atl1c
miércoles, noviembre 23, 2011
Resize ubuntu live usb persistence storage space
Warning: Block file size must be less than < 4096 MB on a fat32 formatted flash drive due to the 4GB file size limitation of a fat32 partition.
Creating a NEW larger casper-rw loop file
The following method will create a NEW casper-rw file that will replace the old one. If you want to resize an existing image see the next section.
After your up and running in Linux, insert the flash drive that contains your casper-rw loop file
Open a terminal
Type the following into the terminal window and press enter
dd if=/dev/zero of=casper-rw bs=1M count=1024
(replacing 1024 with the "size in MB" you wish to use for saving changes persistently)
Type the following into the terminal and press enter
mkfs.ext3 -F casper-rw
Copy the new casper-rw file to your USB flash drive
Restart your computer, booting from the USB flash drive and enjoy using the larger casper-rw loop block file you have just created.
Resize an existing casper-rw loop file
The following method will allow you to resize your existing casper-rw image (expand casper-rw). You should create a backup just in case before proceeding.
After your up and running in Linux, insert the flash drive that contains your casper-rw loop file
Open a terminal and change directory (CD) to the location of your casper-rw file
Type the following into the terminal window and press enter
dd if=/dev/zero bs=1M count=1024 >> casper-rw
(replacing 1024 with the size in MB you wish to increase the original size by)
Type the following into the terminal window and press enter
resize2fs casper-rw
If all goes well, you should now have a larger casper-rw loop file to use for saving your persistent changes.
(replacing 1024 with the size in MB you wish to increase the original size by)
Type the following into the terminal window and press enter
resize2fs casper-rw
If all goes well, you should now have a larger casper-rw loop file to use for saving your persistent changes.
lunes, noviembre 07, 2011
compartir usb o sd o tarjeta con windows desde ubuntu linux
(problema de permisos compartir desde linux mediante samba(carpetas compartidas) archivos en la SD o USB)
(ubuntu linux samba sharing permission problem)
pinche linux, a veces hay cosas sencillas que da mucha lata poderlas realizar
como es el caso de querer compartir con máquinas windows (mediante samba) archivos que están en una usb o en una memoria SD en el lector de tarjetas
aquí la historia:
1. metes la memoria al lector, y bueno, todo bien, lo monta en /media/ALGO (donde algo es el label del sistema de archivos en la memoria) y puedes ver los archivos sin bronca, así que supones que modificando la configuración del /etc/samba/smbd.conf agregando:
[ALGO]
path = /media/ALGO
browseable = yes
writeable = no
guest ok = yes
force user = nobody
force group = nogroup
lo anterior funciona bien ya que desde la máquina windows puedes ver la carpeta compartida algo, pero cuando intentas ver su contenido te marca un error de permisos
revisando los permisos con ls -lh nos damos cuenta de que los permisos de la carpeta están como
root root rwxr-xr-x
y como es un directorio requiere permisos para el grupo y otros usuarios como rwrrwxrwx así que hay que cambiarlos, pero usando chmod no lo permite porque el sistema de archivos es vfat y no tiene dichos permisos
así que la solución esta en desmontar el sistema de archivos y montarlo a mano para poder indicar el usuario y grupo con el cual montarlo
primero tomamos nota de donde se monto en automático
$ mount | grep /media/algo
/dev/sdc1 on /media/algo .....
tomamos nota de que el sistema esta en /dev/sdc1
$ sudo umount /media/algo
creamos el punto de montaje nuevo
$ mkdir ~/algo
montamos manualmente
$ sudo mount -o uid=nobody,gid=nogroup /dev/sdc1 ~/algo
modificamos el /etc/samba/smb.conf
[ALGO]
path = /home/YOUR_USER/algo
browseable = yes
writeable = no
guest ok = yes
force user = nobody
force group = nogroup
si es necesario le damos un restart al samba
$ sudo service smbd restart
de esta forma ya no debemos tener problema para ver los archivos desde la máquina con windows
mediante el path por ej.
\\192.168.10.70\algo
(ubuntu linux samba sharing permission problem)
pinche linux, a veces hay cosas sencillas que da mucha lata poderlas realizar
como es el caso de querer compartir con máquinas windows (mediante samba) archivos que están en una usb o en una memoria SD en el lector de tarjetas
aquí la historia:
1. metes la memoria al lector, y bueno, todo bien, lo monta en /media/ALGO (donde algo es el label del sistema de archivos en la memoria) y puedes ver los archivos sin bronca, así que supones que modificando la configuración del /etc/samba/smbd.conf agregando:
[ALGO]
path = /media/ALGO
browseable = yes
writeable = no
guest ok = yes
force user = nobody
force group = nogroup
lo anterior funciona bien ya que desde la máquina windows puedes ver la carpeta compartida algo, pero cuando intentas ver su contenido te marca un error de permisos
revisando los permisos con ls -lh nos damos cuenta de que los permisos de la carpeta están como
root root rwxr-xr-x
y como es un directorio requiere permisos para el grupo y otros usuarios como rwrrwxrwx así que hay que cambiarlos, pero usando chmod no lo permite porque el sistema de archivos es vfat y no tiene dichos permisos
así que la solución esta en desmontar el sistema de archivos y montarlo a mano para poder indicar el usuario y grupo con el cual montarlo
primero tomamos nota de donde se monto en automático
$ mount | grep /media/algo
/dev/sdc1 on /media/algo .....
tomamos nota de que el sistema esta en /dev/sdc1
$ sudo umount /media/algo
creamos el punto de montaje nuevo
$ mkdir ~/algo
montamos manualmente
$ sudo mount -o uid=nobody,gid=nogroup /dev/sdc1 ~/algo
modificamos el /etc/samba/smb.conf
[ALGO]
path = /home/YOUR_USER/algo
browseable = yes
writeable = no
guest ok = yes
force user = nobody
force group = nogroup
si es necesario le damos un restart al samba
$ sudo service smbd restart
de esta forma ya no debemos tener problema para ver los archivos desde la máquina con windows
mediante el path por ej.
\\192.168.10.70\algo
martes, noviembre 01, 2011
notas sobre desarrollo con android desde linea de comandos
usando el SDK de android
Como modificar una aplicación incluida en los samples del SDK para generar el build.xml
$ android update project -n NOMBRE -t 1 -p android-sdk/samples/sampleX
Como compilar la aplicación en modo de depuración
$ ant debug
Como compilar la aplicación usando firma para poder subirla al market
$
se crea un emulador usando el GUI que contiene el programa
$ android
seguir la GUI, lo importante aquí es tomar nota del nombre que le ponemos al emulador ya que este nombre se utiliza para arrancarlo
Como arrancar el emulador, se le puso de nombre avd1
$ emulator -avd avd1
Como listar los emuladores que están en ejecución
$ adb devices
Con el emulador corriendo, como instalar una applicación
$ adb install archivo.apk
Como revisar las plataformas que hay instaladas (targets)
$ androd list targets
Come crear los estructura base y archivos que conforman un proyecto para una aplicación
$ android create project -t 1 -n hello -k com.pkg -a hello -p .
Como modificar una aplicación incluida en los samples del SDK para generar el build.xml
$ android update project -n NOMBRE -t 1 -p android-sdk/samples/sampleX
Como compilar la aplicación en modo de depuración
$ ant debug
Como compilar la aplicación usando firma para poder subirla al market
$
se crea un emulador usando el GUI que contiene el programa
$ android
seguir la GUI, lo importante aquí es tomar nota del nombre que le ponemos al emulador ya que este nombre se utiliza para arrancarlo
Como arrancar el emulador, se le puso de nombre avd1
$ emulator -avd avd1
Como listar los emuladores que están en ejecución
$ adb devices
Con el emulador corriendo, como instalar una applicación
$ adb install archivo.apk
como usar un solo mouse y teclado para controlar varias computadoras
como compartir un mouse y teclado con o para varias computadoras
las computadoras pueden tener diversos sistemas operativos, por ejemplo OS X, linux o windows
para los otros sistemas operativos podemos descargarlo de la página de la app
http://synergy-foss.org/download/
section: screens
google:
petit:
inv1:
end
section: aliases
google:
192.168.10.70
petit:
192.168.10.38
inv1:
192.168.1.71
end
section: links
google:
left = petit
petit:
right = google
left = inv1
inv1:
right = petit
end
================================
por default synergys busca el archivo .synergy.conf en nuestro $HOME, con la opción --config podemos especificar un archivo distinto
--config synconf2.conf
Lanzamos el servidor de synergy para que este listo para compartir teclado y mouse
por otro lado las máquinas que queremos controlar se tienen que entregar voluntariamente, o sea tenemos que ejecutar el cliente de synergy indicando el servidor que las controlara
las computadoras pueden tener diversos sistemas operativos, por ejemplo OS X, linux o windows
es bastante sencillo y practico usando el programa adecuado, en este caso se trata de
synergy
en distribuciones basadas en .deb lo instalamos usando apt
$ sudo apt-get install synergy
para los otros sistemas operativos podemos descargarlo de la página de la app
http://synergy-foss.org/download/
luego es necesario correr el server en la máquina donde tenemos el teclado y mouse que queremos usar para controlar las otras compus, pero hay que crear un archivo de configuración como este de ejemplo:
.synergy.conf
================================
section: screens
google:
petit:
inv1:
end
section: aliases
google:
192.168.10.70
petit:
192.168.10.38
inv1:
192.168.1.71
end
section: links
google:
left = petit
petit:
right = google
left = inv1
inv1:
right = petit
end
================================
la sección links es declarativa y cada máquina declara lo que tiene alredodor
google
tiene a la izquierda a petit
petit
tiene a la derecha a google
tiene a la izquierda a inv1
inv1
tiene a la derecha a petit
tiene a la izquierda a petit
petit
tiene a la derecha a google
tiene a la izquierda a inv1
inv1
tiene a la derecha a petit
luego, ya con dicho archivo de configuración en la máquina donde esta el teclado y mouse principal corremos un synergy server
por default synergys busca el archivo .synergy.conf en nuestro $HOME, con la opción --config podemos especificar un archivo distinto
--config synconf2.conf
Lanzamos el servidor de synergy para que este listo para compartir teclado y mouse
$ synergys -f
por otro lado las máquinas que queremos controlar se tienen que entregar voluntariamente, o sea tenemos que ejecutar el cliente de synergy indicando el servidor que las controlara
$ synergyc -f google
o por ip
$ synergyc -f 192.168.10.70
o por ip
$ synergyc -f 192.168.10.70
tanto synergys como synergyc corren en modo background, la opción -f es para que corran en foreground, cuando ya se acostumbren a usarlo es recomendable eliminar dicho parametro a menos que quieran dejar una terminal para monitoreo
reference:
http://synergy-foss.org/
http://synergy-foss.org/
Suscribirse a:
Entradas (Atom)

