Cómo poner color a tail


Hacer un tail -f para hacer el seguimiento de alguna tarea o proceso, algunas veces no es mucha ayuda, esto debido a la forma de visualizar dicha información. Una forma de mejorar esta tarea es con el comando ccze. Para esto, habrá que instalar dicho programa.

$ sudo aptitude install ccze

Una vez instalado, lo uso ayudándome de un pipe, por ejemplo para ver el log de los daemons.

$ sudo tail -f /var/log/daemon.log | ccze

El resultado, es un tail con colores, que facilita mucho la visualización.

Anuncios

Cómo convertir flv a mpg


En este cómo doy los pasos para convertir un archivo flv a un archivo mpg usando el programa ffmpeg.

$ sudo apt-get install ffmpeg

Ya instalado el ffmpeg procedo a convertir los archivos flv que deseo, abriendo un terminal y dando como parámetros el archico que deseo convertir y el nombre del archivo mpeg resultante

ffmpeg -i tu_archivo.flv tu_nuevo_archivo.mpeg

Cómo unir varios archivos flv en uno solo


En este cómo estan los pasos para unir varios archivos flv en uno solo con el programa mencoder. Primer instalo mencoder

$sudo aptitude install mencoder

Ahora uno los archivos clip1.flv clip2.flv clip3.flv en uno solo llamado output.flv

mencoder -forceidx -of lavf -oac copy -ovc copy -o output.flv clip1.flv clip2.flv clip3.flv

Cómo monitorizar el ancho de banda en debian


Este como es muy pequeño, hecho solo para saber el ancho de banda consumido por nuestra interfaz de red. Para ello hay que instalar el ifop:

$ sudo aptitude install iftop

Ahora solo queda ejecutarlo

$ sudo iftop -i eth0

Cómo compartir internet en diez minutos con shorewall


Shorewall (de manera más apropiada Shoreline Firewall) es un herramienta open source para la configuración de firewalls para Gnu Linux que actúa sobre el sistema Netfilter (iptables/ipchains) que se encuentra construido sobre el kernel de GNU Linux, haciendo sencillo administrar cualquier esquema de configuración mas complejo.

La idea de este cómo es como compartir la internet de nuestra casa u oficina con otros ordenadores. No se abarca conceptos teóricos ya que no es el objetivo de este cómo.

Antes empezar, se asume que se tiene dos tarjetas de red en el equipo, eth0 que se conecta a la internet y eth1 que se conecta a nuestra red local.

Lo primero es configurar las zonas de red a las que tendrá acceso el firewall, para esto se edita el archivo /etc/shorewall/zones

#
# Shorewall version 4 - Zones File
# # For information about this file, type "man shorewall-zones" # # The manpage is also online at # http://www.shorewall.net/manpages/shorewall-zones.html # ############################################################################### #ZONE TYPE OPTIONS IN OUT # OPTIONS OPTIONS fw firewall loc ipv4 net ipv4 #LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE

La primera línea es para el firewall, el cual es una zona en si. La segunda línea es la red local a la que le daremos internet. La tercera línea es la red de internet.

Lo que sigue es asignar cada zona a un interfaz de red de nuestro firewall, para esto hay que editar el archivo /etc/shorewall/interfaces

#
# Shorewall version 4 - Interfaces File
#
# For information about entries in this file, type "man shorewall-interfaces"
#
# The manpage is also online at
# http://www.shorewall.net/manpages/shorewall-interfaces.html
#
###############################################################################
#ZONE INTERFACE   BROADCAST  OPTIONS
net   eth1         detect      dhcp,norfc1918,nosmurfs,tcpflags
loc   eth1         detect      dhcp
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Después de esto, hay que enmascarar nuestras interfaz de red local con la interfaz de red externa o conectada a la internet. Para hacerlo, hay que modificar el archivo /etc/shorewall/masq

#
# Shorewall version 4 - Masq file
# # For information about entries in this file, type "man shorewall-masq" # # The manpage is also online at # http://www.shorewall.net/manpages/shorewall-masq.html # ############################################################################### #INTERFACE SOURCE ADDRESS PROTO PORT(S) IPSEC # MARK #eth1 eth0 #LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE

Ahora hay que definir las políticas por defecto en el arcihvo /etc/shorewall/policy

#
# Shorewall version 4 - Policy File
#
# For information about entries in this file, type "man shorewall-policy"
#
# The manpage is also online at
# http://www.shorewall.net/manpages/shorewall-policy.html
#
###############################################################################
#SOURCE           DEST       POLICY            LOG         LIMIT:BURST
fw                all        ACCEPT
loc               all        ACCEPT
net               all        DROP              info
all               all        REJECT            info
#LAST LINE -- DO NOT REMOVE

La primera línea es nuestro firewall, quien tiene acceso a todas las zonas. La segunda línea es la red local, que también tiene acceso a todo. La tercera linea es la red externa o la zona que tiene acceso a internet, como es una zona externa, aqui eliminamos el acceso de esta zona a cualquier otra. Al final del archivo siempre irá un REJECT para rechazar cualquier otro tipo de conección

Ahora queda definir las reglas de acceso especificas para cada una de las zonas, donde solo habrá acceso de internet y ssh ala red local y el servidor firewall respectivamente. hay que editar el archivo /etc/shorewall/rules

#
# Shorewall version 4 - Rules File
#
# For information on the settings in this file, type "man shorewall-rules"
#
# The manpage is also online at
# http://www.shorewall.net/manpages/shorewall-rules.html
#
################################################################################
############################################
#ACTION           SOURCE           DEST        PROTO DEST SOURCE
# ORIGINAL RATE         USER/ MARK
#                                        PORT PORT(S)            DEST
$ LIMIT GROUP ACCEPT all fw tcp 80 ACCEPT all fw tcp 22 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

La primera línea esta permitiendo el acceso de cualquier zona hacia el firewall a través del puerto 80, la segunda línea permite el acceso de cualquier zona al firewall a través del puerto 22

Para concluir este cómo, hay que decir a shorewall que trabaje como un demonio, para esto, en el archivo /etc/shorewall/shorewall.conf hay que buscar la siguiente línea y dejarla en “Yes”

STARTUP_ENABLED=Yes

Ahora activamos el bit de forwarding en el mismo archivo /etc/shorewall/shorewall.conf

IP_FORWARDING=On

Solo quede reiniciar el servicio shorewall, pero antes podemos verificar que la sintaxis de los archivos de shorewall esten correctos de la siguiente manera:

$ sudo shorewall check

Reeinicio el servicio, y shorewall ya debe estar compartiendo la internet

$ sudo /etc/init.d shorewall restart

Cómo instalar PL/Java en debian lenny


En este post voy a explicar la instalación de pljava sobre debian lenny. Para hacer este como me base en la mayor parte de la instalación de openxpertya para ubuntu, solo modificando unas cosas para que sea para debian

Es claro decir que debo tener instalado debian lenny en mi maquina, asumo que sirve para otras versiones y puede servir de guía para otras distribuciones, así como me sirvió a mí

Los pasos a seguir serán los siguientes:

  • Instalación de java
  • Instalación de postgresql
  • Configuración de las variables de entorno
  • Instalación y configuración de pl/java

Instalación de java
El primer paso es instalar Java5, que esta en los repositorios non-free de debian, entonces hay que editar el archivo /etc/apt/sources.list. Yo estoy usando como editor vim, pero puede ser en cualquier editor de texto


$ sudo vim /etc/apt/sources.list

Buscamos la línea que hace referencia a los repositorios de debian y la dejamos así


deb http://ftp.debian.org/debian lenny main contrib non-free

Primero se debe actualizar los repositorios, y luego se instala Java


$ sudo aptitude update
$ sudo aptitude install sun-java5-jdk

Tras la instalación, los paquetes de Java estarán en la ruta /usr/lib/jvm/java-1.5.0-sun-1.5.0.15 Ahora, para hacer más fácil su acceso, crearemos un enlace simbólico:


$ sudo ln -s /usr/lib/jvm/java-1.5.0-sun-1.5.0.15 /usr/lib/java

A continuación, comprobaremos que la versión de Java que estamos utilizando es la que hemos instalado. Como hemos empezado este artículo con una instalación limpia de Ubuntu Server, seguramente sólo tendremos una versión, pero lo comprobaremos igualmente por si acaso.


$ java -version
java version "1.5.0_15"
Java(TM) 2 Runtime Environment. Standard Edition (build 1.5.0_15-b04)
Java Hotspot(TM) Client VM (build 1.5.0_15-b04, mixed mode, sharing)

Primero descargaremos los binarios a nuestro servidor. Es recomendable utilizar, en este caso, la descarga desde Source Forge, ya que así podremos acceder al enlace de descarga directa. Una vez tengamos el enlace, ejecutaremos en nuestra consola:
Variables de Entorno


$ sudo export JAVA_HOME=/usr/lib/java
$ sudo env # para verificar que estén las rutas creadas.

Instalación de PostgreSQL 8.3

Para la instalación de la Base de Datos PostgreSQL se deben realizar los siguientes pasos.


$ sudo apt-get install postgresql postgresql-contrib

Podemos instalar el paquete “pgadmin3” (PgAdmin III) para administrar las bases de datos en un entorno gráfico. Para ello, ejecutaremos desde el terminal:


$ sudo apt-get install pgadmin3

Ahora, le indicamos a PostgreSQL de la ruta de la JVM.


$ sudo vim /etc/postgresql/8.3/main/environment

Añadimos la linea:


JAVA_HOME='/usr/lib/java'

Instalación y configuración de PL/Java

Antes de importar la base de datos de OpenXpertia, debemos habilitar el soporte PL/Java en PostgreSQL. El paquete que hay en los repositorios está preparado para gcj, pero no para la VM de Sun. Además, debido a un bug, imposibilita la ejecucción de la aplicación de manera correcta.

Debemos descargar, entonces, el PL/Java e instalarlo. Para ello haremos:


$ sudo wget http://pgfoundry.org/frs/download.php/1598/pljava-i686-pc-linux-gnu-pg8.3-1.4.0.tar.gz

Descomprimimos y copiamos los archivos donde deben ir. En esta instalación estamos suponiendo que el directorio donde se descargan los archivos es /root, así que crearemos primero una carpeta dentro de /root que se llame pljava/ para contener los archivos de PL/Java:


$ sudo mkdir pljava
$ sudo mv pljava-i686-pc-linux-gnu-pg8.3-1.4.0.tar.gz ./pljava/
$ cd pljava
$ sudo tar zxfv pljava-i686-pc-linux-gnu-pg8.3-1.4.0.tar.gz
$ sudo cp pljava.jar pljava.so /usr/lib/postgresql/8.3/lib/
$ sudo mkdir /usr/share/postgresql-8.3-pljava/
$ sudo cp install.sql uninstall.sql /usr/share/postgresql-8.3-pljava/

A continuación, procederemos a instalar PL/java. Antes de nada, hay que modificar el archivo pg_hba.conf para que las aplicaciones se conecten con la base de datos sin problemas. El archivo se encuentra en: /etc/postgresql/8.3/main/


$ sudo vi /etc/postgresql/8.3/main/pg_hba.conf

Para que no tengamos problemas de acceso a la base de datos, el archivo debe estar de la siguiente manera en las últimas lineas:


# Database administrative login by UNIX sockets
local all postgres trust

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 0/0 trust
# IPv6 local connections:
host all all ::1/128 trust

Además, modificaremos el archivo /etc/postgresql/8.3/main/postgresql.conf para indicar que escuche desde cualquier dirección ip:


listen_addresses = '*'

Y le añadimos al final:


dynamic_library_path = '$libdir:/usr/lib/postgresql/8.3/lib/'
custom_variable_classes = 'pljava' # list of custom variable class names
pljava.classpath = '/usr/lib/postgresql/8.3/lib/pljava.jar'

A continuación, modificaremos el archivo /etc/ld.so.conf y le añadimos las siguientes lineas:


/usr/lib/java/jre/lib/i386
/usr/lib/java/jre/lib/i386/client
/usr/lib/java/jre/lib/i386/native_threads
/usr/lib/java/jre/lib/i386/server

Ejecutamos ldconfig para volver a cargar la configuración y reiniciamos el servidor de PostgreSQL:


$ sudo /etc/init.d/postgresql-8.3 restart

Seguimos creamos un enlace simbólico para libjvm.so:


$ sudo ln -s /usr/lib/java/jre/lib/i386/server/libjvm.so /usr/lib/libjvm.so

Para finalizar, instalamos la base de datos:


$ sudo -u postgres psql < /usr/share/postgresql-8.3-pljava/install.sql