Archive for febrero, 2007

INSTALAR ORACLE EN DEBIAN-UBUNTU

Descargar oracle-xe y libaio de
http://oss.oracle.com/debian/dists/unstable/

dpkg -i libaio_0.3.104-1_i386.deb  
dpkg -i oracle-xe_10.2.0.1-1.1_i386.deb 

Tras la instalación, configurar:

/etc/init.d/oracle-xe configure    

Configuración:

Puerto base: 8080 
Puerto databse listener: 1521 
SYS y SYTEM clave: 120395tt

Para administrar oracle:

http://127.0.0.1:8080/apex usuario sys o system

Añadir en el script de arranque del usuario (.bashrc) la ejecución de las variables de entorno de oracle.

/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh 
 

Para in¡ciar/detener el Oracle Net Listener (demonio que acepta las conexiones a base de datos) y la propia base de datos

/etc/init.d/oracle-xe start |stop

Para iniciarlo/ pararlo con SQL*Plus

sqlplus / as sysdba 
SQL>startup
sqlplus / as sysdba 
SQL>shutdown immediate

Para permitir conexiones remotas al servidor (por defecto no están activas):
Desde la aplicación web

Administration >> Tasks: Manage HTTP Access  >> Available from local server and remote clients

Con SQL*Plus -> Accediendo como system escribir

EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);

Para que aparezca en el menú de Aplicaciones habrá que unir al usuario dentro del grupo dba.

ENLACES
http://www.oracle.com/technology/tech/linux/install/xe-on-kubuntu.html
http://www.1x4x9.info/files/oracledebian/html/online-chunked/index.html#N10012
http://www.oracle.com/technology/tech/php/pdf/underground-php-oracle-manual.pdf

febrero 28, 2007 at 7:52 am 13 comentarios

INSTALAR VMWARE TOOLS EN UBUNTU

1 – Tras cargar la máquina completamente seleccionar Install Vmware Tools
2 – Instalar compilador gcc.   apt-get install gcc gcc-3.4 make
3 – uname -r
4 – apt-get install linux-headers-(lo obtenido de uname -r)
5 – ln -s /usr/src/linux-headers-(lo obtenido de uname -r) /usr/src/linux
6 – export CC=/usr/bin/gcc-3.4
7 – Descomprimir /media/mnt/cdrom2/vmwaretools….tar.gz
8 – Ejecutar el instalador de vmware-tools ./vmware-install.pl

* Ejecutar todos los comandos en local, no en remoto sino nos desconectará la aplicación

NOTAS TRAS LAS INSTALACIÓN

Cada vez que queramos,  /usr/bin/vmware-toolbox para ejecutar las vmware tools
To use the vmxnet driver, restart networking using the following commands:
/etc/init.d/networking stop
rmmod pcnet32
rmmod vmxnet
depmod -a
modprobe vmxnet
/etc/init.d/networking start

If you wish to configure any experimental features, please run the following
command: “vmware-config-tools.pl –experimental”.

febrero 27, 2007 at 7:39 pm 10 comentarios

Listado de comandos útiles en Bash

VARIABLES DE ENTORNO

set -    

export $PATH=/variable/entorno    

echo $PATH    

env - Muestra las variables de entornos del usuario

MÓDULOS

lsmod - Muestrar los módulos cargados en el núcleo de Linux    

modprobe nombre_modulo -> Añade o quita módulos del kernel

PROCESOS

fg - procesos en foreground    

bg - procesos en background    

ps -auxw -  Ver todos los procesos y que no nos corte la pantalla    

killall nombre_proceso - Si deseamos matar todos los procesos ejecutados por el comando vim    

kill -l - Ver todas las señales de los procesosEstados de los procesos
Id Estado del proceso
D uninterruptible sleep (usually IO)
R runnable (on run queue)- Proceso ejecutando o en cola
S sleeping - Proceso dormido
T traced or stopped - Proceso detenido
W paging - Proceso paginado
X dead - Proceso muerto
Z zombie Aquellos procesos cuyos procesos padres han muerto dejando el proceso hijo sin finalizar. Cuando esto ocurre no es una buena señal.

ESTADÍSTICAS

free -m     De memoria    

vmstat -s -S: M  Del sistema

GENÉRICAS

watch 'ls -la'  Muestra el resultado de un comando  cada x segundos    

which  comando - Localiza el comando    

type comando  - Muestra los aliases del comando    

sudo comando usuario  - Ejecuta un comando como si fuera otro usuario

RUNLEVELES

chkconfig --list ejemplo Muestra/Modifica el estado de los servicios del sistema en cada nivel de arranque (runlevel)

DISCOS

cat /dev/cdrom > /usr/imagen.iso  - Crea una imagen del cdrom    

cat /dev/hda > /dev/hdb  - Clona el disco duro    

mount -rt iso9660 /dev/hdc /cdrom   - Montar en modo lectura con sitema de fichero iso9660 un cdrom    

fsck /dev/hda1 - Comprueba el disco    

fdisk -l  - Muestra las particiones del disco

CADENAS Y FICHEROS

tr 'A-Z' 'a-z'

RED

netstat -atun | grep ESTAB  - Muestra las conexiones establecidas con nuestra máquina    

netstat -a - Muestras los puertos abiertos    

ifdown eth0 - Desactiva el servicio de red para la tarjeta eth0    

ifup eth0 - Activa el servicio de red para la tarjeta eth0    

iptraf - Herramienta gráfica de gestión de tráfico de red    

/usr/sbin/iftop - Otra herramienta de análisis de tráfico

TAR

tar -tzvf fichero.tar Muestra el contenido del fichero

COMPILACIÓN

gcc -o prueba prueba.c

FIND

find / -name mysql* -exec rm {}  - Busca todos los ficheros que comiencen por  mysql y los elimina    

find . -name "*mysql*" -print    - Busca todos los ficheros que contengan la palabra mysql

HORAS

date --set=15:30 - Cambiar la hora

APT

apt-cache search datoabuscar - Busca una aplicación en la lista de aplicaciones a instalar (sólo distribuciones Debian)    

apt-get install nombreaplicacion - Instala la aplicación especificada (si se tiene conexión a Internet), sólo disponible en distribuciones Debian    

apt-get install -f - Comprueba la correcta instalación de los paquetes descargados en '/var/cache/apt/archives/', repitiendo la instalación si fuese necesario o bajando algún paquete dependiente que no se haya descargado    

apt-get update - Actualiza la base de datos de paquetes a actualizar o instalar a partir del fichero '/etc/apt/sources.list'. La base de datos la constituyen un conjunto de ficheros ubicados en '/var/lib/apt/lists/'    

apt-get upgrade - Actualiza todos los paquetes instalados en el sistema a la última versión disponible    

apt-get clean - Elimina todos los paquetes (.deb) descargados (almacenados automáticamente en '/var/cache/apt/archives/') 

apt-get update && apt-get -f dist-upgrade && apt-get clean . Actualizar completamente el listado de paquetes disponibles

Si estás detrás de un proxy  no transparente  apt-get necesita IP y puerto del proxy obtenido de unas variable de entorno que vamos a menter automáticamente en .bashrc y .bash_profile:
export http_proxy=http://128.19.54.25:8080/
export ftp_proxy=http://128.19.54.25:8021/ 

YUM

Por defecto YUM lee el fichero de configuración /etc/yum.conf    

Importar las claves GPG    

rpm --import /usr/share/rhn/RPM-GPG-KEY    

rpm --import /usr/share/rhn/BETA-RPM-GPG-KEYyum info festival    

yum install festival    

yum list festival*    

yum update    

RedHat sólo ofrece soporte para up2date    

up2date

febrero 23, 2007 at 9:36 am Deja un comentario

10 Buenos hábitos a la hora de programar en shell scripting

Traducción propia del artículo de IBM http://www-128.ibm.com/developerworks/aix/library/au-badunixhabits.html

1 – Definir una estructura de árbol de una sóla vez

mkdir -p tmp/a/b/c  

en vez de 

~ $ mkdir tmp 
~ $ cd tmp 
~/tmp $ mkdir a 
~/tmp $ cd a 
~/tmp/a $ mkdir b 
~/tmp/a $ cd b 
~/tmp/a/b/ $ mkdir c 
~/tmp/a/b/ $ cd c 
~/tmp/a/b/c $ 

Y mejor todavía, pues crea el directorio project y dentro los distintos directorios 

mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}

2 – Cambiar el path, no mover el fichero. Por ejemplo, no desempaquetar ficheros directamente en el directorio que deseemos. Para ello podemo usar la opción -C

tar xvf -C tmp/a/b/c newarc.tar.gz

3 – Combinar comandos con operadores de control

Por ejemplo:  Ejecutar un comando sólo si otro comando ha devuelto 0 exit status. 

cd tmp/a/b/c && tar xvf ~/archive.tar 

Otro ejemplo: Ejecutar un comando sólo si otro comando no ha devuelto un 0 exit status. 
cd tmp/a/b/c || tar xvf ~/archive.tar

4 – Entrecomillar variables con cuidado

Ejemplos: 
ls tmp/ 
a b 

~ $ VAR="tmp/*" 

~ $ echo $VAR 
tmp/a tmp/b 

~ $ echo "$VAR" 
tmp/* 

~ $ echo $VARa 

~ $ echo "$VARa" 

~ $ echo "${VAR}a" 
tmp/*a 

~ $ echo ${VAR}a 
tmp/a

5 – Usar secuencias de escape para controlar la entrada en el log

cd tmp/a/b/c ||  
> mkdir -p tmp/a/b/c &&  
> tar xvf -C tmp/a/b/c ~/archive.tar 

cd tmp/a/b/c  
>                 ||  
> mkdir -p tmp/a/b/c  
>                    &&  
> tar xvf -C tmp/a/b/c ~/archive.tar 

6 – Agrupar los comandos en una lista para poder ir redirigiendo los resultados

Ej. Ejecutar una lista de comandos en un subshell 

~( cd tmp/a/b/c/ || mkdir -p tmp/a/b/c &&  
> VAR=$PWD; cd ~; tar xvf -C $VAR archive.tar )  
> | mailx admin -S "Archive contents" 

Ej. Ejecutar una lista de comandos en el propio shell 

~ $ { cp ${VAR}a . && chown -R guest.guest a &&  
> tar cvf newarchive.tar a; } | mailx admin -S "New archive" 

7 – Usar xargs fuera de find. Usar con -e. Por defecto se considera el símbolo _ como fin de línea. Si por alguna razón aparece ese símbolo en una línea como único carácter con xargs, todo lo que venga detrás no será filtrado. 

~ $ find some-file-criteria some-file-path |  
> xargs some-great-command-that-needs-filename-arguments 

Otros ejemplos de xargs 
$ xargs 
a 
b 
c 
Control-D 
a b c 
~ $ 

Otros ejemplos: 

~/tmp $ ls -1 | xargs 
December_Report.pdf README a archive.tar mkdirhier.sh 

~/tmp $ ls -1 | xargs file 
December_Report.pdf: PDF document, version 1.3 
README: ASCII text 
a: directory 
archive.tar: POSIX tar archive 
mkdirhier.sh: Bourne shell script text executable 
~/tmp $

8 – Evitar usar grep y wc -l. Usar mejor -c que cuenta las líneas y es más rápido

time grep -c and tmp/a/longfile.txt

9 – Es preferible usar awk en vez de grep

Usar 
ls -l | awk '$6 == "Dec"' 

en vez de 
ls -l /tmp/a/b/c | grep Dec 

 10 – No usar tuberías con grep y cat puesto que grep toma el nombre del fichero como argumento
 

BIEN 
time grep and tmp/a/longfile.txt 

MAL 
time cat tmp/a/longfile.txt | grep and

febrero 23, 2007 at 8:35 am 5 comentarios

Bucle para obtener los directorios dentro de un directorio. Se usa tr como transformador

ORIGEN=/usr/
for i in $(ls -F $ORIGEN | grep / | tr -d / )
    do
        echo $i;
     done

febrero 22, 2007 at 6:06 pm Deja un comentario

Introducir la fecha actual dentro de una variable

Se introduce el comando dentro de comillas simples para

FECHA=`date +%d%m%Y`

febrero 22, 2007 at 5:49 pm Deja un comentario

Uso del comando at y crontab para programar tareas

COMANDO AT

# Programar tareas puntualmente

at -f /scripts/copia  5am tomorrow 
at  -f /scripts/copia  3:50am May 19

#Para ver los trabajos  activos

atq  
at -l

CRONTAB

crontab -e

Se abre el editor vi y nos permite editarlo.

Pulsamos la letra i, editamos el fichero.

Pulsamos la tecla Esc, y escribimos :qw para guardar los cambios.

Si no deseamos guardarlos escribimos :q!

# Ejecución de un comando todos los días a media noche
0  0  * * * /comando

# Ejecución de un comando cada hora en punto

0 * * * * /comando

# Ejecución de un comando el primer día de cada mes a las 0 y a las 12 horas

0 0,12 1 * * /comando

# Ejecución de un comando el día 12 que sea domingo, lunes o sábado a las 2 de la mañana

0  2   12   *  0,1,6 /comando

# Ejecución de un comando cada 5 minutos

*/5  * * * *  /comando

#Ejecución de un comando cada media hora 

0,30 * * * * /comando

# Para poder ver las tareas

crontab -l

febrero 22, 2007 at 5:32 pm 1 comentario

Comprobar si existe un fichero en bash

  if [ -d “$RUTA_COPIA/$i” ]
            then
                echo “Ya existe”
        else
            mkdir $RUTA_COPIA/$i
   fi

febrero 22, 2007 at 4:59 pm 8 comentarios

Arrays en bash

sitio[1]=bbdd1
sitio[2]=bbd2
# Recorro el array
for i in “${sitio[@]}”
   do
     echo $i;
  done

febrero 22, 2007 at 4:57 pm 5 comentarios

Código css para mostrar un menu lateral con resaltado y clickable en toda su extensión

La técnica se basa en:

  1.  Usar una capa div como contenedor
  2. Crear dentro de la capa enlaces href que se corresponderán con cada una de las filas del menú
  3.  El uso dentro de la hoja de estilo de display: block en el div
  4. Anidar el estilo de los enlaces al div (#left_menu a.sub)
  5. Distinguir con background-color en los estilos asociados a los  estados de los enlaces (hover)

<style>
#left_menu a {
  display: block;
  color: black;
  text-decoration: none;
}

#left_menu a.sub {
  background-color:blue;
}

#left_menu a.sub:hover{
  background-color: red;
}
</style>
<div id=”left_menu”> 
<a href=”#” mce_href=”#” class=”sub”> Models</a>  
<a href=”#” href=”#” class=”sub”>Models 2</a>
<a href=”#” href=”#” class=”sub”> Models 3</a>  
<a href=”#” href=”#” class=”sub”>Models 4</a>

</div>

Este es el resultado

img.png

febrero 22, 2007 at 8:56 am 4 comentarios

Entradas antiguas


Calendario

febrero 2007
L M X J V S D
 1234
567891011
12131415161718
19202122232425
262728  

Posts by Month

Posts by Category