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
Anuncios

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

dia2django


Hace unos dias andaba revisando como graficar los modelos o como verlos de una manera grafica, que me permitiera pasar luego a los modelos de django, por suerte encontre esta herramienta llamada dia2django. El archivo dia2django.py se puede descargar desde


wget --no-check-certificate https://svn.devnull.li/main/pythonware/dia2django/trunk/src/dia2django.py

Para poder usar esta herramienta solo debemos crear nuestro modelo uml de clases y luegollamar a la siguiente linea de codigo


python dia2django yourumldiagram.dia > models.py

Muy útil para trabajar

Configurando un entorno chroot para empaquetar en debian con acceso a X11 con lxde en una terminal virtual


Antes de empezar el camino a ser Desarrollador Debian, me decidi a probar sid, y lo tome como mi sistema principal, pero todo estuvo bien, me acostumbre perfectamente y sobrevivir con sid, aprendí mucho sobre debian.
El problema vino cuando en mi tarea de administrador de servidores y desarrollador de paga, debí pasar una aplicación php y otra de python construidas en mi debian sid a un servidor con lenny, la actual versión estable, y no funcionó. Hubieron problemas con las librerias que no eran la misma versión.
Ante este problema y luego de revisar algunas cosas decido, luego de consultar y pedir consejos en el canal irc.debian.org#mentors y irc.debian.org#mentors-es, ademas de irc.debian.org#debian, un poco de google, reinstalar mi sistema e instalar lenny, con sid en chroot, pero tb estaba lxde que lo probe y me encanto y pense en proponer apoyar en el mantenimiento de este paquete a Andrew Lee, encargado de este paquete.

La ventaja de usar chroot es poder trabajar completamente en otro sistema de ficheros sin salir del actual, de esta forma no debo reiniciar la máquina si deseo pasar a sid o de sid deseo retornar a lenny, todo lo hago desde lenny.

Antes de empezar debo mensionar que esto lo hice en una partición separada, y que se encuentra montada en el directorio /sid, ademas debo tener instalado debootstrap

Aqui los pasos que segui hasta tener configurado sid en lenny, en chroot y con acceso a lxde en un terminal virtual

Preparar el entorno de chroot

Primero instalo debootstrap


$ sudo aptitude install debootstrap

Ahora instalo sid en el directorio que usaré como chroot


$ sudo debootstrap sid /sid/ http://ftp.debian.org/debian/

Aqui le digo a debootstrap que instale sid en la particion /sid/ y que utilize http://ftp.debian.org/debian/ como espejo de instalación de debian

Ya está listo mi entorno chroot, ahora ingreso de la siguiente manera


$ sudo chroot /sid /bin/bash

Con esto le digo a chroot que cargue la raiz de directorios que se encuentra en /sid y que que lo haga con el Bourne Again Shell

Cargar el chroot en el boot

Ahora voy a hacer que mi nuevo debian sid instalado en /sid se cargue al inicio del sistema. para esto hare unas cuantas cosas mas como montar el proc de este nuevo entorno, establecer la interfaaz de red lo y cargarlo en el inittab

Primero voy a montar hacer que el proc de sid se levante al incio del sistema. Para esto agrego unas líneas en el fstab, y luego lo monto


sudo echo proc-sid /sid/proc proc none 0 0 >> /etc/fstab
sudo mount /sid/proc

Establezco la interfaz de red local


sudo echo 127.0.0.1 localhost $(hostname) > /sid/etc/hosts

Ahora configuro las terminales virtuales. Esto lo hago ediando el archivo inittab


sudo vim /etc/inittab

Busco en el archivo las lineas:


1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6

Agrego al final la siguiente línea


8:23:respawn:chroot /sid/ /sbin/getty 38400 tty8

Quedando de la siguiente manera


1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6
8:23:respawn:chroot /sid/ /sbin/getty 38400 tty8

Para finalizar reinicio el init


init q

Para ver que esta funcionando presiono F8 y ahi esta sid corriendo en el terminal virtual 8

Instalar LXDE

Una vez funcionando ya mi entorno chroot en una terminal independiente, agrego las siguientes lineas desde el entonro chroot (desde la ventana que empeze cargando chroot en lenny) para poder actualizar mi sistema


(echo deb http://ftp.debian.org/debian/ sid main; \
echo deb-src http://ftp.debian.org/debian/ sid main ) \
> /etc/apt/sources.list

Ahora actualizo mis distribución con los nuevos repositorios


aptitude update
aptitude dist-upgrade

Ahora me voy a la terminal y me logueo como root


Debian Gnu/Linux squeeze/sid Linux tty8
Linux login : root
#

Solo queda instalar lxde


$ aptitude install lxde

…. lamanetablemente este no cargo 😦

En cuanto logre hacer correr el x en el chroot, lo publico, si alguien lo ah logrado hacer, me avisa para poder probarlo y hacerlp

Ahora ya teneoms un entorno chroot listo para usar

Packages overview for Carlos Eduardo Sotelo Pinto (krlos)


Si asi es, ahora ya tengo mi propia pagina con los paquetes a los que les doy mantenimiento en debian. Un buen inicio de año nuevo, ahora a seguir programando, y esperar que antes de fin de año pueda ser desarrollador oficial de debian
Pagina de los paquetes a los que doy mantenimiento

Cumpleaños de Carlitos



El 13 de septiembre pasado fue el cumpleaños del Carlitos, mi hijo, el regalo mas importante que me dió nuestro creador.

Para variar, un poco distraido, no se a quién habrá salido en ese aspecto, se distrae fácilmente, jejeje, aqui mientras le decíamos de todo para que vea a la cámara, el estaba entretenido con lo que había en la mesa, la torta, los dulces y todo. Si será un glotón, en fín, lo disfruto bailando, estaba de aqui para allá y de alla para otro lado, no se soltaba por nada de mi mano, mucha gente junta y tantos niños el alboroto, jajajaja, bailaba de vez en cuando y se quedaba a atento mirando a la dalina todas las payasadas que hacía. Fue muy bonito

Reparar reiserfs "Can’t read superblock"


Desde ayer tube un problema grave con el servidor del trabajo, simplemente no levantaba, el grub me daba un error, creo que el error era el 562, en fin. Intente ingresra con un live CD, pero cuando lo intentaba montar, me salia “Can’t read superblock”, rebuscando por internet encontre la solución.

Primero revise la particion ejecuntando el comando

#reiserfsck --check /dev/hda1

lo que me dio una línea media rara. Entendí que pudo ser causado por una previa reparación que intente, donde se colgo la máquina, por cierto, intente con otros live CD cargar un gnu linux y no pude lograrlo. Estoy pensando que puede haber un problema de placa madre. Retornando, la línea decía:

Bad root block 0. (--rebuild-tree did not complete)

Entonces sólo me queda intentar recuperar el superbloque, por cierto, el superbloque contiene la informacion referente al tipo, tamaño, estado de la partición y otras estructursa de metadatos.
Para recuperar el superbloque ejecute el siguiente comando:

#reiserfsck --rebuild-sb /dev/hda1

Lo que me dió como resultado las siguiente líneas

...
Fatal corruption exist
some corruptions exist
...
Set flags in SB:
ATTRIBUTES CLEAN
Is this ok ? (y/n[n]): y

Cuando le dije “y”, me respondió

The fs may still be unconsistent. Run reiserfsck --check.

Como buen chico hice lo que me dijo reiserfsck –check

#reiserfsck --check /dev/hda1

Entre las líneas devueltas por el el comando encontre:

...
1 found corruptions can be fixed only when running with --rebuild-tree
...

Le hice caso también

#reiserfsck --scan-whole-partition --rebuild-tree /dev/hda1

Por cierto, esto lo hice desde un knoppix 4.0