Onion's Crunch

Blog dedicado a la administracion bajo linux y a la programacion 2RDP, es decir como van llegando los requerimientos, resolver sin derecho a pataleo..... Tambien algunos tips para los perlceros, phpceros, javaceros, mysqlceros, postgresceros, apacheceros, entre otros....

lunes, junio 27, 2005

Emuladores de arquitecturas X86

Despues de haber dado un paseo por los diversos emuladores de arquitectura para x86 puedo dar fe que son una maravilla, siempre y cuando queremos iniciar nuestra un sesion de trabajo bajo una plataforma llámese windows, linux, freebdsd, solaris, etc; sin tener que reiniciar nuestra computadora.

En este sentido dispones de varias soluciones, pero quizas las mas nombradas y utilizadas son:

- Vmware (Version Paga)
- qemu (Version Libre)

En varias oportunidades he empleado Vmaware, me parece una excelente herramienta de simulacion mas sin embargo el consumo a nivel de requerimientos es enorme. En dias pasados pude meterle el ojo un poco mas a qemu. Este simulador es bastante ligth pero se ve prometedor.

Su instalacion es sencilla si bien tiene ubuntu o debian basta con hacer el respectivo apt-get install.

Para configurar una arquitectura solo basta con seguir algunos pasos:

1) Definir la particion:
qemu-img create myimage.img 1G

2) Colocamos nuestro cd instalador en el cdrom y le decimos:
qemu -boot d -hda myimage.img -cdrom /dev/cdrom

Y listo ya tenemos la instalacion del Sistema operativo en nuestra imagen.


Para mayo informacion no dejen de visitar:

http://www.vmware.com/products/desktop/ws_features.html
http://fabrice.bellard.free.fr/qemu/

lunes, junio 20, 2005

Postgres: Cambiando la codificacion de la base de datos

Recientemente me tope con un detallito donde la base de datos me generaba el siguiente error "ERROR: invalid byte sequence for encoding " al tratar de aplicar cualquier operacion DMA sobre postgres. En resumido el error tiene que ver con la codificacion de los carateres para la base de datos, en mi caso la base de datos tenia un encoding Unicode, y estaba intentando de agregar elemento basados en codificacion Latin1.

Solucion:

  1. su - postgres
  2. psql template1 postgres
  3. tipeamos \l; de seguido podemos ver un listado de las bases de datos con sus respectivas codificaciones
  4. ahora hacemos: update pg_database set encoding=LATIN1 where datname='mibd';
Ahora tenemos la base de datos correctamente codificada y en teoria no debeiramos tener mayores problemas. Anexo el enlace con la informacion de los distintos tipos de codfificacion soportadas para postgres 8.0 .

lunes, mayo 02, 2005

Postgres: Respaldando y Restaurando Bases de Datos

Para respaldar bases de datos cuyo volumen de data sea muy grande podemos usar el siguiente comando:

pg_dump -Ft -b -h 192.168.0.10 -d db -U dbuser > db.tar

Descripcion de las opciones empleadas:
-Ft: indica que el archivo de salida estara comprimido en formato tar
-b: indica q vamos a incluir volumenes de gran capacidad
-h: indica el host donde esta instalada la base de datos
-d: indica la bd
-U: indica el usuario para conectar a la base de datos

Una ves finalizado para recuperar la base de datos desde este db.tar hacemos:

pg_restore -d db -U postgres db.tar

Cualquier detalle adicional sobre los comando los pueden obtener usando el man o revisando en la documentacion en linea de postgres:

http://www.postgresql.org/docs/

viernes, abril 29, 2005

Gentoo : Migrando postgres 7x a 8

Esto si es una panza!!! quien lo diria. En mis tiempos hablar de una migracion de base de datos lo que producia era panico!!!! pues bien mis postgresceros...... haciendo esta tarea bajo un gentoo box es bien sencilla, tomen nota de la receta:

  1. Como el usuario postgres: pg_dumpall > /tmp/db.out
  2. Como el usuario root bajar la base de datos: /etc/init.d/postgres stop
  3. Como root mover la carpeta de postgres a una temporal, esto por si la torta y la migracion no sale como esperamos. Hacemos: mv /var/lib/postgres /var/lib/postgres-old
  4. Aplicar el upgrade respectivo: emerge -uv dev-db/postgresql
  5. Como root generar la estructura de postgres: ebuild /var/db/pkg/postgresql-7.4.x/postgres-8.0.x.ebuild config
  6. Como root Finalmente hacer copiar los parametros del pg_hba.conf y postgres.conf viejos al nuevo
  7. Como root levantar postgres /etc/init.d/postgres start
  8. Como usuario postgres restaura la data: psql -f /tmp/db.out template1
Ya he probado la receta por lo menos en 6 servidores y camina de lo lindo....! suerte!!

sábado, marzo 12, 2005

PHP : Post vars

Bueno este codigo ayuda a concer que esta vieniendo en el arreglo POST cuando submitimos una forma en modo POST. Como es bien conocido php encapsula las variables en un arreglo el cual posteriormente procesamos. Si nos da fastidio, podemos listar las inicialemente las variables que vienen desde la forma con el siguiente codigo:

foreach ($_POST as $var => $val){
echo "$var: $val ";
}
?>

Otra forma en caso que tengamos una variable compleja es usar el comando var_dump, en cuyo caso hariamos:




jueves, marzo 10, 2005

Configurando localtime en Fedora

Bueno como es comun nunca falta pagar el noviciado en algunas cosas. Hoy tenia que configurar el sistema y hora local en uno de los servidores instalados con freidora. Los pasos son elementales:

  1. cp /usr/share/zoneinfo/America/Caracas /etc/localtime
  2. ntpdate ntp.nasa.gov
No he hecho la prueba colocando un link simbolico como en gentoo pero no estaria de mas si en algun momento me decido hacer la prueba y ver como funciona.

  1. rm /etc/localtime
  2. ln -sf /usr/share/zoneinfo/America/Caracas /etc/localtime
Referencias:
http://wiki.yak.net/504

lunes, marzo 07, 2005

NO JUZGUES

Un hombre estaba poniendo flores en la tumba de un pariente, cuando ve a un chino poniendo un plato de arroz en la tumba vecina.

El hombre se dirige al chino y le pregunta:

-"Disculpe, señor, pero ¿cree usted que de verdad el difunto vendrá a comer el arroz?

-"Si", responde el chino, "cuando el suyo venga a oler sus flores..."

Respetar las opiniones del otro, es una de las mayores virtudes que un ser humano puede tener. Las personas son diferentes, actúan diferente y piensan diferente. No juzgues, solamente comprende.

Anónimo