22 enero 2008

MD5 en Windows con CYGWIN

MD5 es un algoritmo que verifica la integridad de los archivos, es usado para saber si un archivo ha sido
alterado o modificado en el trayecto de su transferencia o copia.

Para los que tiene CYGWIN instalado en Windows se hace lo siguiente:


$ openssl dgst -md5 archivo


Devolver'a una cadena como esta por ejemplo:

bb8040ab05519e2a08527f4c86738e53



Cuando el archivo se copia o se transfiere por ftp, debera comprobarse su integridad ejecutando el algoritmo MD5
en el equipo destino.

La cadena devuelta por el algoritmo debe ser identica a la cadena
devuelta en el equipo destino, de esta manera nos aseguramos que el
archivo no esta dañado.



La ejecucion del algoritmo MD5 difiere de la herramienta y plataforma que la implementa, existen varios programas en Windows que realizan esta funcion.


En UNIX tambien existen varios programas, uno de ellos se llama simplemente md5 y se ejecuta asi:


$ md5 archivo




Powered by ScribeFire.

04 noviembre 2007

Cargar modulos al inicio de "boot"

Esta nota fué tomada de la siguiente página: http://quarkblog.org/2004/12/30/cargar-modulos-al-inicio/


Este es un pequeño truco para cargar automáticamente en cada arranque los módulos del kernel que necesitemos y no tener que hacer modprobe modulo cada dos por tres. Básicamente hay dos formas:

  • La forma “general” consiste en añadir la instrucción de carga en el archivo /etc/init.d/boot.local. No solo sirve para los módulos, todo lo que pongamos aquí se ejecutará en el arranque.
  • La segunda forma es el camino que ha elegido SuSE. En esta distribución hay una serie de archivos de configuración generales donde se pueden modificar muchos de los parametros del sistema, estos archivos están en /etc/sysconfig/ y el que nos interesa para este caso en particular es /etc/sysconfig/kernel. Dentro de este archivo hay una variable llamada MODULES_LOADED_ON_BOOT donde colocaremos el nombre de los módulos que queramos arrancar al inicio.

¡¡Muy buena nota!!

24 octubre 2007

Controlador Nvidia en OpenSuse 10.3

Para que Linux use adecuadamente el controlador proporcionado por Nvidia para la tarjeta gráfica Geforce 420 Go.
Instalamos el controlador: NVIDIA-Linux-x86-1.0-96xx-pkg1.run (legacy driver). Seguir las intrucciones de instalación.
A finalizar la instalación del controlador, editar el archivo /etc/X11/X.org

Añadir la siguiente línea:

"Option" "UseDisplayDevice" "DFP"

Justo después de la línea:


Driver "nvidia"


Reinicar X-Window para que tome los cambios.
Podemos probar la aceleración de video con los "salvapantallas tipo OpenGL"

27 febrero 2007

Nuevo usuario a SUDO

Para agregar un nuevo usuario a sudo, ejecutamos desde la terminal el siguiente comando:

sudo adduser fjimenez admin

donde fjimenez es el nuevo usuario y admin es el grupo primario al que pertenece

26 enero 2007

ftp via nohup

Para realizar una transferencia de archivos de forma automática y en segundo plano utilizamos los comandos ftp y nohup de esta manera:

1.- crear un archivo que contedrá los parámeros del comando ftp, lo llamaremos parftp.txt:

open 172.16.1.1
user usuario01 [contraseña_sin_llaves]
cd /home
cd desktop
bin
get archivo1.bin
get archivo2.tar
get archivo3.tar.gz
quit


2.- Ahora crearemos el scripts que ejecutará el ftp y lo llamaremos getftp.sh:

#!/bin/ksh
ftp -ni < /directorio_donde_esta_parftp.txt
exit


3.- Asignamos permisos de ejecución al script getftp.sh

chmod +x getftp.sh


3.- Ejecutamos de esta manera:

nohup ./getftp.sh &

12 enero 2007

Ejecutar "X-Client" remotos a través de SSH (XDMCP on ssh)

Aqui se explica cómo ejecutar en nuestra computadora aplicaciones X de Servidores UNIX/Linux en mi PC con Windows.

Es decir, ejecutar una aplicación remota tipo X (gráfica) en una PC con Windows, esto se logra utilizando el comando telnet, pero esta opción es sencilla de usar y muy insegura que nadie la recomienda. Por lo tanto utilizaremos el protocolo SSH (shell seguro) para conectarnos al servidor UNIX/Linux, implica hacer algunos pasos extras para configurar nuestra conexión apropiadamente.

Antes que nada debemos instalar CygWin en nuestra PC. No detallamos que es Cygwin porque en su página principal lo explica.

Los programas que utilizaremos por parte de Cygwin son: ssh, xterm y Cygwin-Xserver principalmente.

Veremos paso a paso cómo funcionan:

1.- Ejecutamos Cygwin bash shell



2.- Luego ejecutamos el comando startx e inmediatamente se abrirá una ventana de xterm



3.- Ya en nuestra sesión de xterm, damos permiso a nuestra sesión para visualizar aplicaciones del servidor remoto, lo agregamos a nuestra lista de "servidores conocidos" de esta manera:

xhost +192.68.1.48


4.- En seguida ejecutamos desde la terminal xterm la siguiente instrucción:

ssh -Y -l oracle 192.168.1.100

Inmediatamente nos pedirá contraseña y finalmente estamos conectados al servidor donde nos interesa ejecutar el programa gráfico en nuestra PC.

5.- Para saber que IP nos asignó la VPN al conectarnos al servidor hacemos lo siguiente:

who am i

y devolverá el número IP con la cual nos conectamos al servidor a través de SSH


6.- Ahora exportamos la variable DISPLAY como sigue:

export DISPLAY=:0.0

Ejemplo, supongamos que nos devolvió el IP 192.168.4.98

export DISPLAY=192.168.4.98:0.0

7.- Y como último paso, verificamos que sí podemos ejecutar la aplicacion:

/usr/openwin/bin/xclock &



Listo, ya tenemos configurada nuestra sesión para ejecutar nuestra aplicación de forma remota desde un servidor UNIX/Linux.

Por cierto, ya podemos hacer la instalación de Oracle en forma remota :)

05 enero 2007

Leer argumentos de un Shell Script

Ejemplo de un script que lee la BD y la contraseña con las opciones -d y -p.
Se hace uso de la variable getopts y $OPTARG:


#!/usr/bin/ksh
set -x
export DATE=`date "+%d%m%y"`
export ORACLE_HOME=/oracle/product/
export DB_CAT=rcat

while getopts d:p: DATA
do
case $DATA in
d) DB_TARGET=$OPTARG
;;
p) PASS=$OPTARG
;;
*) usage
;;
esac
done

usage()
{
clear
echo "Usar: rman_back.sh -d -p "
echo ""
exit 2
}

$ORACLE_HOME/bin/rman target=system/$PASS@$DB_TARGET catalog rcat/xxxxxx@rcat cmdfile=/scripts/full_backup_$DB_TARGET.rcv log=/b1/$DB_TARGET/rman_backup_$DB_TARGET.$DATE.log