viernes, 19 de diciembre de 2008

Matrix XP


Ultimamente me ha dado por volver a ver la trilogia Matrix y animatrix, para esta ultima necesitaba un subtitulo asi que como siempre entre a Subdivx a buscarlo y adivinen el subtitulo que encontré!.. Matrix XP xD... es para no creer:


http://www.subdivx.com/X6XODQyMjc8X-matrix-xp-2002.html


Aquí estan unos subs de un video llamado: Matrix Xp. El archivo AVI te lo puedes bajar de este link: http://www.uni-duesseldorf.de/~ricke/matrix_xp/mxp_engl_l.zip. El AVI está comprio en ZIP. Enjoy



Lo que busca esta mini produccion es reproducir humoristicamente matrix, pero esta vez no con una solida consola Unix, sino con windows XP jajajajaj... Y hasta pagina Oficial tienen: Matrix XP


Y aca estan los videos que encontre en You tube: xDD







jiajiajaijaiajajajajiajia XDDDD

miércoles, 17 de diciembre de 2008

Mozilla pide 5 Minutos de tu Tiempo

Por estos dias el proyecto Mozilla nos esta pidiendo a sus usuarios completar una encuesta sobre nuestros nuestros hábitos en internet y al usar sus productos. Por mi parte ya la conteste y ahora te toca a ti... Son solo unos minutos donde podremos devolver algo a cambia de todo lo que sacamos de este maravilloso proyecto :)

surveys.mozilla.org

¡Gracias!

¡Gracias por participar en la encuesta! Tus respuestas se han almacenado de forma anónima.

Gracias por tomarte tiempo en completar esta encuesta. Tus respuestas ayudaran al equipo de marketing de Mozilla a entender mejor y servir las necesidades especificas de tu región.
Son tres gracias en total :)

domingo, 14 de diciembre de 2008

Slackbuilds y Sbopkg

Cuando comencé este articulo pensaba hablar sobre Sbopkg a secas, pero en la marcha me pareció que seria mezquino e incompleto hablar solo de esa aplicación y no hablar de los Slackbuilds, que en realidad es lo que le da vida. Por tanto:


Los Slackbuild y Slackbuilds.org


Un Slackbuild es un script que ejecuta una serie de ordenes para crear un paquete tgz y asi poder instalarlo en nuestro Slackware. Los slackbuild, los podemos encontrar en Slackbuilds.org, que es un proyecto para crear un repositorio de slackbuilds, mantenido por un pequeño grupo de desarrolladores cercanos al principal mantenedor de Slackware y a la vez su creador, Patrick Volkerding.

Usar los slackbuild es muy sencillo, para ello debemos descargar las fuentes de la aplicación a empaquetar y los elementos necesarios, como pueden ser, el slack-desc de la aplicación, el icono, etc.
Una vez descargados las fuentes, nos toca darle permiso de ejecución al Slackbuild. Por convención el slackbuil es el archivo de texto que se llama:

nombre_aplicacion.SlackBuild

Entonces es a este archivo al que le damos permisos de ejecución:

# chmod 750 nombre_aplicacion.SlackBuild

Y por ultimo ejecutar el script

# sh nombre_aplicacion.SlackBuild

Cuando acabe de ejecutarse el script debería crearnos un tgz listo para ser instalado en nuestro sistema.

Como ven es muy fácil hacer uso de los slackbuild a la vez que practico, es mas, el mismo Patrick Volkerding hace uso de ellos para crear los paquetes de la distro.


Un Ejemplo: Supongamos que queremos construir el paquete llamado Midori, un navegador web liviano que viene junto al proyecto xfce4. Para esto vemos lo que necesitamos: Midori

Son 5 archivos, incluida el tarball, pero para que el trabajo de bajar sea mas facil SlackBuilds.org, no ofrece la opción de descargar un archivo comprimido con lo que necesita el slackbuild para cnstruir el paquete tgz, excepto la fuente de la aplicacion que la debemos bajar desde un sitio oficial, con esto nos asegura transparencia en el codigo y asi además se evita introducir errores o vulneravilidades :). Entonces descargamos la fuente y el archivo comprimido:

descomprimimos los archivos del slackbuild

# tar xvf midori.tar.gz
midori/
midori/README
midori/midori.info
midori/slack-desc
midori/midori.SlackBuild

Movemos la fuente de la apicacion al directorio de trabajo

# mv midori-0.0.21.tar.bz2 midori/

entramos al directorio y damos permisos de ejecución al SlackBuilds

# cd midori
# chmod +x midori.SlackBuild

Y ejecutamos para que nos arme nuestro paquete

# sh midori.SlackBuild

Y si todo sale sin errores vamos a tener listo nuestro tgz en los temporales para instalarlo

# installpkg /tmp/midori-0.0.21-i686-1_SBo.tgz



Sbopkg

¿Alguna vez pensaste que seria genial poder disponer de una herramienta para manejar Slackbuilds desde la consola sin tener necesidad de ir al repositorio?

Si tu respuesta es Sí, ya no sufras más xD, esa herramienta se llama Sbopkg.

Sbopkg a diferencia de muchos otros proyectos que buscaban algo similar funciona muy bien y ademas cuenta con una gui basada en ncurses que la hace perfecta para manejar SlackBuilds. Para instalarlo debemos ir a su paquina oficial y descargar el paquete tgz:


Actualmente la última versión stable es la: sbopkg-0.15.0

Ya descargada lo instalamos con:

# installpkg sbopkg-0.15.0

El siguiente paso es actualizar los repositorios (sincronizarlos)

# sbopkg -r
Rsyncing with Slackbuilds.org repository into /home/sbo/12.2.
receiving incremental file list

sent 1271 bytes received 218271 bytes 33775.69 bytes/sec
total size is 12338342 speedup is 56.20

Rsync with SlackBuilds.org complete.

Finished rsync.
All done.

Desde la consola o bien desde su gui

# sbopkg



Creating local repo directory /home/sbo/12.2
for the rsync mirror.

Press any key to continue or Ctrl-C to exit.

Creating local cache directory /var/cache/sbopkg to keep downloaded sources.

Press any key to continue or Ctrl-C to exit.





Creating local TMP directory /tmp/SBo.

Press any key to continue or Ctrl-C to exit.





Esto nos va a crear una directorio en nuestro home llamado sbo que va a contener los elementos necesarios para navegar en los diferentes SlackBuilds.

Ahora para instalar el mismo paquete anterior, midori, podemos hacerlo como sigue:

Buscar si esta:

# sbopkg -s midori

Searching for midori
::::::::::::::
./network/midori/README
::::::::::::::
Midori is a lightweight, webkit-based web browser.

Since midori is still in heavy development, an "updated" version
can be grabbed via. git and making minor changes to the buildscript:

git clone http://software.twotoasts.de/media/midori.git midori
..................
.......
.....
...
..
.
Crear el paquete

# sbopkg -b midori

Building midori

Building midori
Checking MD5SUM for midori-0.0.21.tar.bz2...
OK
Building Slackware package for midori-0.0.21.tar.bz2...
midori-0.0.21/
........
.....
...
..
.
Todavia mas simple de lo que era ir a los repositorios de SlackBuilds.org :) que fácil no?.. despúes andan diciendo que Slackware es dificil... en fin...

Sbopkg no instala el paquete por lo que tenemos que instalarlo a mano

# installpkg /tmp/midori-0.0.21-i686-1_SBo.tgz

Y ya esta, instalamos una aplicacion hecho para nuestro tarro de una forma practica y sin complicaciones :)


Pero como siempre hay personas peleadas con sus terminales.. para esos casos Sbopkg nos presenta un interface gráfica de la forma de pkgtool:

# sbopkg



Escribimos la aplicacion que buscamos




Nos muestra la ubicación del SlackBuild en el repositorio



Le ordenamos que cree el paquete tgz



Creando el paquete (trabajando :p )




Resumen de la creación del paquete





Algunas otras Opciones de uso

# sbopkg -c ---> muestra los paquetes instalados con sbopkg y su posible actualizacion
# sbopkg -f ---> Sobre escribe configuracion por defecto
# sbopkg -h ---> muestra la ayuda
# sbopkg -l ---> muestra el Changelog de los repositorios de Slackbuilds.org
# sbopkg -v ---> muestra la version de los Slackbuilds


Mas informacion:
  • http://www.sbopkg.org/
  • http://www.binrev.com/forums/index.php?autocom=blog&blogid=5&showentry=54
  • http://www.linux.com/feature/148826
  • http://www.ohloh.net/projects/sbopkg

martes, 9 de diciembre de 2008

Ya tenemos BSDanywhere 4.4


Ayer a través de su lista de correos de BSDanywhere, nos anuncia que tenemos disponible para descargar una nueva RELEASED de este liveCD basado en OpenBSD con entorno de escritorio Enlightenment.

Una muy buena noticia ya que con esta ademas nos da la posibilidad de poder probar de una forma practica OpenBSD, sin tener que instalar nada en nuestro disco. Algo que es de agradecer ya que muchos le tienen terror a los BSD por su carencia de instaladores gráficos tipo OpenSuSE o Fedora.

Esta nueva versión esta basada en la ultima Stable de OpenBSD 4.4 que se libero en noviembre. Como siempre podemos descargar para dos arquitecturas i386 (32 bit)y amd64 (64 bit). Algunos paquetes con que cuenta:

  • El Gimp
  • Abiword
  • Mutt
  • Rsnapshot
  • Darkstat
  • dnstop
  • dnstracer
  • Entro muchos más.

La descarga la podemos hacer desde su pagina oficial:

http://bsdanywhere.org/download/





Y si se preguntaron si es un LiveCD instalable, la respuesta es no. La idea de esta es dar a conocer OpenBSD :)


A descargar entonces!


viernes, 5 de diciembre de 2008

Disponible OpenSolaris 2008.11


Hace algunos días ya tenemos disponible para descarga una nueva versión de OpenSolaris, la 2008.11. En esta version encontramos varias cosas interesantes, por ejemplo:

  • Gnome 2.24
  • OpenOffice 3.0
  • Firefox 3
  • Sudo
  • Emacs
  • 700 paginas man nuevas
  • etc.
Además también podemos correrlo desde un LiveCD, el que se puede descargar desde la pagina oficial de OpenSolaris:

http://www.opensolaris.org/os/downloads/


Roman Strobl del equipo de Evangelistas OpenSolaris, preparó una presentación en ingles, donde podemos ver andando esta nueva distribución y en donde nos explica las mejoras y algo sobre el proyecto OpenSolaris:

Video OpenSolaris 2008.11

No sé si se podrá hacer pedidos gratis como en la version anterior, pero en cuanto averigue bien les cuento xD

miércoles, 3 de diciembre de 2008

Anatomia de un paquete Debian

Les dejo un video que encontré en you tube y que habla sobre los paquetes deb para debian entre otros. Esta en ingles y es una charla que se dicto en julio de 2006 por Jonathan Oxer en el marco de charlas de Google TechTalks



Además les dejo el pdf de la charla para quien lo quiera seguir:

Clic Acá

domingo, 30 de noviembre de 2008

Firefox-3.0.4 en Español para Slackware

Hace ya unas semanas el equipo de seguridad de Slackware a través de la lista de seguridad de la distro nos anuncia que hay que actualizar mozilla-firefox porque se encontraron varias vulnerabilidades para la versión 3.0.*.

[slackware-security] mozilla-firefox (SSA:2008-320-03)

Por esto mismo es que me puse a actualizar mi Firefox a la última versión, pero como bien lo sabemos los slacker de habla hispana, en los repositorios no se encuentra una versión en castellano, así que como ya antes había creado el paquete lo estuve actualizando y lo comparto para quienes lo quieran instalar en su Slackware :)

Esta vez empaquete las dos versiones que podemos bajar desde firefox, osea la versión español de España y la versión español Argentina (latinoamericana):


Actualizaciones Firefox 3.0.x ---> Acá


Para instalar descargamos la que queramos, después desinstalamos la versión anterior de firefox que teniamos instalada

# removepkg mozilla-firefox-es-3.0.1-i686-1cff

E instalamos la nueva versión

# installpkg mozilla-firefox-es...

Recordar que cuando desinstalamos la versión anterior no se pierden las configuraciones ni los marcadores, así que proceder con confianza xD





Pd: Lo construí a partir del Slackbuild de la versión anterior y deje una copia dentro del paquete que se puede encontrar en file:///usr/doc/mozilla-firefox-es-AR-3.0.4 ó file:///usr/doc/mozilla-firefox-es-ES-3.0.4 según la versión que instalemos :)

miércoles, 26 de noviembre de 2008

Crea tu propios paquetes: Debian

Siguiendo con la serie de creación de paquetes para las distintas distros GNU/linux, ahora le toca el turno a Debian :)

Antes de comenzar, aclaro que este articulo nace motivado por mi curiosidad personal y en ningún caso pretende ser mas que un articulo para quien quiera aprender a empaquetar aplicaciones para Debian -y porque no Ubuntu-. No soy usuario de Debian ni Ubuntu, tampoco mantenedor o desarrollar, así que léase este como una bitácora personal sobre el tema. Y ya hechas las aclaraciones... comencemos!

Primero es necesario hacernos de las herramientas necesarias, para esto instalamos

  • build-essential
  • debian-builder
  • dh-make
  • lintian
  • debian-policy
# aptitude install build-essential debian-builder dh-make lintian debian-policy

Con esto ya vamos a tener lo necesario. Ahora solo nos resta elegir la aplicación que queremos empaquetar. Yo elegí un programa llamado Internet Dj Console (Idjc). El motivo de esta elección tiene su pequeña historia familiar, se las cuento para torturarlos un poco mas aun, -jeje- resulta que mi querida hermana hace unos días me preguntó cómo hacer una radio online. Como no tenia ni la menor idea, me dediqué a buscar información y eso me llevó a conocer esta aplicación, el problema surgió cuando abro mi consola en Debian Testing y ejecuto:

# aptitude search idjc

Extrañamente no me arrojó ningún resultado, hecho que me llamó la atención, el motivo de que no este en los repos no lo sé (aclaro que no agrego repositorios extras, imagino que debe estar en sid). Así que este fue el hecho que motivó este tuto. Originalmente pensaba hablar sobre hacer el paquete para amsn-0.98beta, pero, ese ejemplo me parece menos didáctico, comparado con este, así que este ejemplo me vino como anillo al dedo medio. Y ya para dejar de torturarlos, volvemos a lo que nos reúne xD

Ya elegida la aplicación a empaquetar, creamos un directorio de trabajo

$ mkdir idjc
$ cd idjc

Descargamos el tarball de la aplicación, en este caso desde acá: Idjc-0.7.10 y lo movemos al directorio de trabajo:

$ mv idjc-0.7.10.tar.gz idjc/

Ahora nos toca extraer y compilar normalmente para comprobar que no tiene errores de compilación:

$ tar xvf idjc-0.7.10.tar.gz
$ cd idjc-0.7.10/
$ ./configure --help

Y vemos las opciones de compilación que queremos que tenga nuestra aplicación, en mi caso no necesito mucho, solo

$ ./configure --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --disable-ffmpeg

Osea solo quiero que lea mp3 y nada de formatos como wma, avi o m4a. Pasado el configure sin errores, lanzamos el make

$ make

Y por ultimo, el make install pero como no queremos instalar la aplicación, sino solo comprobar que no vamos a tener errores a la hora de compilar el paquete, instalamos en un directorio temporal de esta forma:

# make install DESTDIR=/tmp/idjc

Si todo esto sale bien y sin errores (o con errores solucionables) entonces ya podemos empezar a crear nuestro .deb :)

Nota: Ya podemos limpiar lo que no necesitamos
# rm -r /tmp/idjc
# make distclean


Debianizando la aplicación

Como ya comprobamos que tenemos todo lo necesario para crear nuestro paquete, ahora nos toca debianizar la aplicación. Para esto copiamos el tarball original dentro del directorio descomprimido y ejecutamos dh_make

$ cp idjc-0.7.10.tar.gz idjc-0.7.10/
$ cd idjc-0.7.10/
$ dh_make -e tutoslibres@gmail.com -f idjc-0.7.10.tar.gz

Obviamente cada uno escribirá su mail. Esto nos va entregar algo así:

Type of package: single binary, multiple binary, library, kernel module or cdbs?
[s/m/l/k/b] s

## Especificamos el tipo de paquete y damos enter ##

Maintainer name : Asclepio
Email-Address : tutoslibres@gmail.com
Date : Wed, 05 Nov 2008 06:29:23 -0300
Package Name : idjc
Version : 0.7.10
License : blank
Using dpatch : no
Type of Package : Single
Hit to confirm:

## Enter ##

Done. Please edit the files in the debian/ subdirectory now. amsnsvn
uses a configure script, so you probably don't have to edit the Makefiles.

(Nota:
Aca tenemos que recordar que podemos setear nuestro mail y nombre en caso de necesitarlo, para esto seguimos de la siguiente forma:

$ export DEBEMAIL=tu@email.com
$ export DEBFULLNAME=”"Tu nombre”"”

O agregandolo a nuestra configuracion de bash en .bashrc de nuestro Home.)

Lo que va a generar un directorio llamado debian dentro del árbol de archivos de la aplicación que estamos empaquetando y además nos va a hacer una copia del tarball original llamado idjc_0.7.10.orig.tar.gz como ven solo cambia el guión medio por uno bajo y le agrega la palabra orig, antes del tar.gz, nada del otro mundo. Luego vamos a tener un directorio mas llamado debian con los siguientes archivos:

changelog
compat
control
copyright
cron.d.ex
dirs
docs
emacsen-install.ex
emacsen-remove.ex
emacsen-startup.ex
init.d.ex
init.d.lsb.ex
manpage.1.ex
manpage.sgml.ex
manpage.xml.ex
menu.ex
postinst.ex
postrm.ex
preinst.ex
prerm.ex
README.Debian
rules
watch.ex

Para crear nuestro deb tenemos que editar cada una de estos archivos, según lo que necesitemos y bien con las características que queramos para nuestro paquete. Una breve explicación acerca de cada uno de los archivos:

debian/changelog

Como el nombre nos lo indica son simplemente los cambios que vayamos haciendo a medida que modificamos o actualizamos la versión de nuestro paquete precompilado. Ojo, no es lo mismo que el Changelog de la aplicación.


debian/compat

Tiene relación con el estado de compatibilidad con debhelper, por ejemplo, supongamos que este paquete es compatible con la versión 7 de debhelper, entonces en este archivo solo se escribiría el numero 7. (Mas adelante vamos a ver que en el archivo control también hace un llamado a la versión de debhelper compatible, mas precisamente en el archivo debian/control)


debian/control

Este es uno de los archivos mas importantes dentro del directorio, acá vamos a reunir muchas indicaciones como las dependencias, prioridad de instalación, mantenedor, nombre de la aplicación, descripción, etc...

En este caso en particular tenemos algo así:

Source: idjc
Section: x11
Priority: optional
Maintainer: Asclepio
Build-Depends: debhelper (>= 7), autotools-dev, python (>=2.5), python-gtk2, jack, vorbis-tools, libsndfile1, libsamplerate0, libshout3,
Standards-Version: 3.7.3
Homepage: http://www.onlymeok.nildram.co.uk

Package: idjc
Architecture: any
Description: Shoucast and Icecast Client.
Internet DJ console is a graphical shoutcast and icecast client that runs under GTK+ and the JACK audio connection kit. In short, it's an Internet radio app for making a live radio show.

Lo editamos según corresponda al programa que queramos empaquetar, en source ponemos el nombre del programa, section, es el lugar donde va dentro de los repositorios de Debian... Para aclarar un poco mas es necesario saber que los repositorios de debian los paquetes se ordenan en main, contrib y non-free, como lo indica su nombre main es la sección donde van los paquetes que son software libre, en contrib las aplicaciones libres pero que para su ejecución depende de software no libre y en non-free las aplicaciones que directamente no son libres. Ahora dentro de estas secciones hay otras "sub-secciones" que pueden ser admin, base, lib, x11, net, devel, doc, etc con las que etiquetamos cada programa. Una descripción sencilla podría ser que en admin van las aplicaciones que usa el administrador del sistema, en base, las aplicaciones que son consideradas de uso básicas, lib las librerías o bibliotecas, x11 las herramientas que ocupan entorno gráfico (X11), devel las aplicaciones de desarrollo, entiéndase estas como las que necesitamos para programar, doc la documentación, etc... Para nuestro ejemplo lo vamos a poner en la section x11.

En Priority debemos indicar cuan importante es instalar el paquete, para nuestro paquete usamos optional ya que no es un paquete extremadamente importante ni mucho menos :o

Otra linea importante es Build-Depends, acá debemos indicar cuales son las dependencias del paquete, osea que paquetes deben estar instaladas para poder instalar nuestra aplicación.

Standards-Version, hace referencia a la versión de los estándares de debian para el empaquetamiento, el dh_make nos va a dejar por defecto lo necesario en esa linea :)

Es importante en Description, escribir primero una linea con una descripción corta de la aplicación, mientras que bajo esta escribir una descripción mas detallada de la aplicación, a veces incluso podemos escribir en este apartado la pagina oficial, etc. Esta descripción no debe ser mayor que 60 caracteres de largo.


debian/copyright

Acá incluimos información sobre la licencia y derechos de autor con que esta liberada la aplicación, de donde la descargamos, el autor(es) de la aplicación, etc. En nuestro ejemplo, podría ser algo así:


This package was debianized by Asclepio on
Wed, 29 Oct 2008 22:11:10 -0300.

It was downloaded from http://www.onlymeok.nildram.co.uk/download.html

Upstream Author(s):

Author: Stephen Fairchild s-fairchild@users.sourceforge.net
Metadata: Dario Abatianni eisfuchs@users.sourceforge.net

Copyright:

Copyright (C) 2007 Free Software Foundation, Inc.

License:

GNU General Public License

The Debian packaging is (C) 2008, Asclepio and
is licensed under the GPL, see `/usr/share/common-licenses/GPL'.

# Please also look if there are files or directories which have a
# different copyright/license attached and list them here.


debian/cron.d.ex

Este archivo solo lo utilizamos en caso de que nuestro paquete necesite hacer uso de cron. Como nuestro programa no lo necesita lo podemos borrar:

$ rm debian/cron.d.ex


debian/dirs

Aca debemos incluir la ruta de los directorios que va a usar la aplicacion, pero que no se van crear por defecto, en otras palabras directorios especiales para la aplicacion. Por lo general los paquetes que se crean a traves de un Makefile, ya esta indicado cuales son los directorios que va a necesitar, como es en caso de nuestro caso. Ahora cuando empaquetamos aplicaciones escritos en lenguajes como python, perl, etc, este archivo por lo general es muy necesario para indicarle a la aplicacion cosas como donde estan los iconos, entre otras cosas. En nuestro ejemplo no lo necesitamos:

$ rm debian/dirs


debian/docs

Los ficheros de documentacion que vamos a incluir, para el ejemplo:

NEWS
README
AUTORS
ChangeLog
doc



debian/emacs*

Ficheros relacionados con Emacs, no los necesitamos:

$ rm debian/emacs*


debian/init.d*

En el caso de que necesitemos o queramos que nuestro programa se inicie cada vez que reiniciamos o prendemos nuestro pc, entonces editamos estos archivos. Para el ejemplo no los necesitamos:

$ rm debian/init.d*


debian/manpage.*

Las paginas man :)

El programa del ejemplo traia su propia documentacion man asi que con un

$ rm debian/manpage.*
$ cp Man/idjc.1 debian/idjc.1
$ cp Man/idjcctrl.1 debian/idjcctrl.1

En caso de que no tengamos paginas man, debemos crearlas nosotros mismo, para esto podemos escribirlas con nroff que es la aplicacion mas comun para escribir paginas man o bien usando otros como sgml u xml y para eso dh_make nos entrega los ejemplos llamados manpage.sgml.ex y manpage.xml.ex, ya escritas tenemos que rebautizarlas como nombreaplicacion.*:

$ mv debian/manpage.sgml.ex debian/idjc.1

El sufijo .1 es porque pertenece a la seccion man 1 que es la de ordenes de usuario, un grafico:

       Sección |     Descripción        |     Notas
1 Ordenes de Usuario Programas o guiones ejecutables.
2 Llamadas al Sistema Funciones que ofrece el núcleo.
3 Llamadas a Bibliotecas Funciones dadas por las bibliotecas del sistema.
4 Ficheros Especiales Generalmente se encuentran en /dev.
5 Formatos de Fichero Por ejemplo, el formato del /etc/passwd.
6 Juegos U otros programas frívolos.
7 Paquetes de Macros Como las macros de man.
8 Administración del Sist. Programas que sólo suele ejecutar el superusuario.
9 Rutinas del Núcleo Llamadas al sistema no estándar.

Para mas informacion: man 7 man


debian/menu.ex

Es la descripcion de la entrada que va a quedar en nuestro menu de aplicaciones. Lo podemos dejar asi:

?package(roaddemo):needs=”x11″ section=”Apps/Multimedia” \
title=”Internet DJ Console” command=”idjc” \
icon=”/usr/share/pixmaps/idjc.xpm”

En section va la ruta donde queremos dejar el icono en el menu, osea en aplicaciones-multimedia, en title el titulo de la aplicacion en el menu, puede ser el que queramos, no así en command que ahi debe ir si o sí el nombre con que se ejecuta la aplicacion, al final podemos indicarle la ruta donde se encuentra el icono de la aplicacion.

Y renombramos a menu

$ mv debian/menu.ex /debian/menu

debian/postinst.ex

Literalmente son las intrucciones que ejecuta despues de instalar el paquete creado. En este punto me parece interesante ver un pequeño esquema con la secuencia de instalacion de un paquete deb:

dpkg ­-i > Corre preinstalacion > Descomprime paquete > Corre postinstalacion

Como se puede ver, este script postinst.ex seria el que correria una vez instaldo el paquete. En general, una vez instalado un paquete no necesitamos cosas muy especiales (como en el ejemplo), solo actualizar algunas cosas como el menu y los documentos entre otras cosas, entonces nuestro ejemplo puede quedar asi:

#!/bin/sh
set -e
# Instala los documentos
if [ "$1" = configure ] && which install-docs >/dev/null 2>&1; then
install-docs -i /usr/share/doc-base/idjc
fi

# Actualiza el menu de nuestro escritorio
if [ "$1" = "configure" ] && [ -x "`which update-menus 2>/dev/null`" ]; then
update-menus
fi
# Fin

Y ahora movemos el archivo a su nombre original (sacamos el .ex que son los ejemplos)

$ mv debian/postinst.ex debian/postinst


debian/postrm.ex

El script que se ejecuta cuando desintalamos el paquete. Veamos un pequeño esquema con la secuencia de desintacion:

dpkg ­-r > Corre prerm > Corre postrm > Corre postrm purge

Durante postrm elimina los archivos del programa, si por algun motivo eliminamos con purge -osea eliminamos todo rastro del programa, con sus configuraciones- corre postrm purge.

Para nuestro ejemplo, vamos a llamar al comando que nos actualiza los menu:

#!/bin/sh
set -e
# Actualiza el menu
if [ -x "`which update-menus 2>/dev/null`" ]; then update-menus ; fi
# Fin

Luego renombramos el ejemplo (.ex) a su nombre final

$ mv debian/postrm.ex debian/postrm


debian/preinst.ex y debian/prerm.ex

Son ejemplos de script que se ejecutarian antes de instalar y antes de desintalar el paquete. Para el ejemplo no los necesitamos por lo tanto los eleminamos:

$ rm debian/pre*


debian/README.Debian

Es un archivo de avisos de modificaciones o detalles especiales que se hicieron cuando se debianizo el paquete. No lo necesitamos

$ rm debian/README.Debian


debian/watch.ex

Este archivo nos sirve para verificar si hay actualizaciones del paquete. Para esta tarea se usa el programa llamado uscan

$ man uscan

Una vez editado el archivo hay que renombrarlo

$ mv debian/watch.ex debian/watch


debian/rules

Quizá el archivo mas importante del proceso, en este escribimos las reglas con que se va a crear el paquete. En otras palabras es un Makefile pero que nos crea el deb. Cuando ejecutamos el dh_make nos generó un archivo debian/rules completo, el que podemos editar segun las necesidades que tengamos, osea podemos descomentar, comentar, agregar comandos o quitar comandos, para que debhelpers nos genere un paquete deb como el que queramos.

Para el ejemplo, como ya habia dicho, no necesito que tenga soporte para cosas raras como wma o avi, por lo tanto en las reglas donde corre el configure del paquete, le agregué esta linea:

./configure $(CROSS) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --disable-ffmpeg CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs"

Esta linea se encuentra en el "item" donde dice config.status: configure, dentro del archivo debian/rules. La idea de que este archivo tenga tantas instrucciones no es la confundir al que empaqueta la aplicacion -aunque mal no lo hace xD- sino que tiene como idea principal el de hacer un instrumendo muy flexible y configurable para poder crear nuestros paquetes.


Creacion de paquete deb

Y ya casi esta listo nuestro paquete deb, solo nos falta crearlo, para esto tenemos que correr el script con las reglas debian/rules, lo que quiere decir que tenos que darle permisos de ejecucion

$ chmod 750 debian/rules

Y ahora armanos el paquete con la palabra magica

$ debuild

Y si todo esta en orden nos va a crear el paquete deb junto a otros archivos con distintas informacion del paquete y la compilacion :)


Comprobar la "salud" del paquete

Una herramienta muy interesante y que nos permite comprobar si todo esta en orden con nuestro nuevo paquetes es lintian. Este lo ejecutamos de esta forma:

$ lintian paquete.deb

El que nos va a arrojar los warning (W) o errores (E) del paquete, recordar que un warning no es un error!

Y si todo salio bien, ya podemos instalar nuestro paquete

# dpkg -i paquete.deb

Una vez instalado y ya testeado (osea que corre sin problemas), el siguiente paso es subir el paquete a los repositorios de debian, claro, en el caso de que seamos desarroladores Debian. Como ya dije, este no es mi caso, así que hasta llego yo :)... pero siempre esta la guia oficial que se las dejo al final.


Consideraciones Finales

Y para terminar algunas consideraciones:

- Para ver las politicas de empaquetamiento de Debian, podemos ir al siguiente directorio:
file:///usr/share/doc/debian-policy de nuestro pc, ya que instalamos el paquete debian-policy cuando comenzamos :)

- Si estas interesado en ser un desarrollador oficial de Debian, puedes ver la lista de paquetes que necesitan trabajo y adoptar uno en el siguiente link

http://www.debian.org/devel/wnpp/

- Como ven crear un paquete deb no es un trabajo trivial, pero tampoco es algo tan dificil, en lo personal creo que es un tema digno de ser practicado por todos lo que esperamos conocer un poco mas de nuestras distros, incluso sin ser nuestra distro preferido y aca me pongo me ejemplo ya que soi un slacker debianizando aplicaciones xDD.

- Como siempre les dejo la fotito de la aplicación funcionando perfectamente en mi Debian Lenny






Mas info: Guia Oficial del nuevo Desarrollador
PackagingTutorial - Woman Debian Wiki


martes, 18 de noviembre de 2008

Ubuntu Lite



Ubuntu con pocos recursos. Basadado en ubuntu con un escritorio LXDE, U-Lite nos proporciona un Linux Ubuntu con software que pide poco para funcionar. Esta distro la podemos instalar en un equipo con los siguientes recursos como minimo:

* Procesador Pentium 2.
* 96MB de memoria RAM.
* 4GB de disco duro.

No viene en la lista, pero tambien necesitaremos tener acceso a Internet de algún modo (Si es ethernet mas fácil) ya que toda la instalación es por esta via.

U-Lite no solo es para pc's viejitos tambien podemos usarlo en equipos nuevos de paquete si deseamos un Ubuntu sin toda la parafernalia que lo ha venido caracterisando como "sistema operativo de escritorio", que aunque bonito no para todos es practico.

El proceso para instalarlo:
1. Bajar un mini iso de 9.6 MB de AQUI
2. Quemar el mini iso en un CD.
3. Iniciar el equipo con el CD.
4. Una vez cargado el shell, tipea: cli
Esto descargara e instalara los paquetes, preguntara por tipo de teclado, lenguaje, ubicación, usuario y contraseña. Si el equipo tiene pocos recursos vayan por una pizza y un refresco (minimo botana y guarden un poco para el paso 6).
5. Bajar el script de instalación de U-Lite:
wget http://download.tuxfamily.org/ubuntulite/nouveau/install_ubuntulite_nouveau
6. Ejecutar el script: sudo bash install_ubuntulite_nouveau
(aqui pueden terminar la botana que dejaron el paso 4).
7. Reinciar el equipo: sudo shutdown -r now

Pagina oficial: http://u-lite.org
Manual original para instalacion (ingles): http://u-lite.org/?q=node/2#cd

¡Vivan Libres!

sábado, 15 de noviembre de 2008

WifiWay


WifiWay



Basado en Linux es utilizado para auditoria wireless, aunque tiene toda la pinta de slax esta creado con linuxfromscratch, es posible usarlo como LiveCD o como LiveHD incluso podemos usarla desde una usb.

La version estable corriente es la 0.8 que usa un escritorio xfce, la version 1.0 esta en su fase beta y soporta KDE aunque en esencia son lo mismo algunos usuarios han tenido problemas con la version beta a la hora de crackear weps, bajo mi experiencia ambas son funcionales, probadas con chipsets rtl8187.

Lo divertido de WifiWay sobre otros de auditoria wireless que también usan la suite aircrack, es el script airoway.sh que simplifica en mucho y acelera el proceso a la hora de de las auditorias.

Esta herramienta es creacion seguridadwireless.net y la podemos descargar de ahi o de la pagina oficial de wifiway:

http://www.wifiway.org/sp/descarga.html

Saludos.

lunes, 10 de noviembre de 2008

Video Stallman en Argentina

Gracias al blog de Infosertec Tv podemos contar con este video que es la conferencia que dio el gran Richard Stallman en Argentina hace unas semanas, sin mas que añadir se los dejo





Fuente: http://infosertec.blogspot.com/

miércoles, 5 de noviembre de 2008

Liberada OpenBSD 4.4


Como ya es costumbre, pasado este 1 de noviembre fue liberada una nueva versión de OpenBSD.

Algunas Novedades:

  • Xorg 7.3
  • GNOME 2.20.3
  • KDE 3.5.8
  • Firefox 2.0.0.16 y 3.0.1
  • MySQL 5.0.51a
  • OpenOffice 2.4.1
  • Xfce 4.4.2
  • PostgreSQL 8.3.3
  • etc.
Como siempre tenemos la opción de ordenar el set de cds para apoyar la fundación o bien descargarlo desde la pagina oficial del Proyecto.

Para los que no conocen nada de OpenBSD, esta tiene la costumbre de que con cada release lanzada, con ella se lanza tambien la cancion oficial y la historieta, la cual pueden leer aca y descargar la cancion en formato mp3 u ogg.

Sin duda un Sistema Operativo digno de ser probrado!

jueves, 30 de octubre de 2008

Texto ascii


Bloggeando encontré un programita que me llamo la atencion, Figlet, con este podemos simplemente transformar cualquier texto en ascii :)

Supongo que nunca esta de mas, una vez instalado ejecutamos

$ figlet palabraatransformar

Y nos entrega el texto en ascii... como en la fotito xD

Lo bueno de esto es que me dio la idea para hacer una entrada sobre como personalizar el mensaje de entrada en SSH. ¿Cómo, que andamos aburridos?.. y puede ser.. jejeje..

martes, 28 de octubre de 2008

La Guerra de los Navegadores

Les dejo un documental que habla de la bullida contienda entre Netscape y Microsoft con su producto Internet Explorer. Muy recomendado para todos los que no conocen la historia o que han olvidado este acontecimiento histórico que termino en la primera derrota de Bill Gates y parte de su monopolio.

Muy buen documento, se los dejo para quien lo quiera ver. Es un ripeo de Discovery Channel, pero se ve bastante bien.


Idioma: Español Neutro.
Peso: 233.57 MB (244,920,320 bytes)
Partes: 2 (Unir Con HACHA! u hoz )
Formato: TVRip.

Parte 1


Parte 2

Fuente: Vagos.es

lunes, 20 de octubre de 2008

OpenOffice 3.0.0 en Español para Slackware

No sé uds pero a mi siempre me llama la atención las nuevas versiones de OpenOffice y esta vez no fue la excepción. Así que manos a la obra (o a mi Slackware :p) como no lo encontré compilado en mi hermoso idioma castellano (con sus eñes y acentos y ñandúes) hice este paquete de OpenOffice 3.0.0 en español.

Así que cumpas de distro, se los dejo para quien lo quiera descargar.


Lo hice editando un Slackbuild, el mismo del paquete de la versión anterior de OpenOffice que ya había publicado. Para quien quiera hacer el paquete desde la fuente por que no quiere descargar el tgz que subí, aquí las instrucciones:

1.- Descargar las fuentes:

* OpenOffice 3.0.0 en español --> Clic
* doinst.sh.gz --> Clic
* openoffice-3.0.0-es.SlackBuild --> Clic

2.- Una vez descargado en una carpeta donde esten todos los sources, creamos el slack-desc. En mi caso lo baje de slacky :p (slack-desc) para quien aprender el dificil arte de hacer slack-desc leer el tuto sobre crear paquetes de Slackware.

3.- Abrir una consola en la carpeta donde estan los sources y darle permiso de ejecucion al slackbuild y ejecutarlo.

# chmod 750 openoffice-3.0.0-es.SlackBuild
# sh openoffice-3.0.0-es.SlackBuild

4.- Esperar a que cree el paquete :)

5.- Instalar el paquete cuando este listo y finalice sin errore :p

# installpkg /tmp/tgz/paquete-openoffice/openoffice-3.0.0-es-i586-1cff.tgz

6.- Probarlo y usar OpenOffice 3.0.0 ! :O



Y como siempre la fotito :)


martes, 14 de octubre de 2008

S.O. de papel

Probando flash dì con este video en youtube y me hizo acordar lo que siento cuando uso el sistema de la ventanas :D



Aunque la idea del video nada tiene que ver con los S.O. no pude evitar asociarlo a las ventanas xD

martes, 7 de octubre de 2008

SaMuRaI Web Testing Framework

Es un S.O. basado en GNU/Linux (Ubuntu), para realizar Test de Penetracion a aplicaciones Web.

Web Oficial del Proyecto SaMuRaI

Descarga Directa

Algunas Capturas

Booteo




















Cargando y reconociendo Ha
rdware




















Login (samurai) y Password (samurai)





















Gnome (Escritorio)





















Herramnientas


Reconocimiento: Fierce Domain Scanner y Maltego.
Mapeo: WebScarab y Ratproxy.
Vulnerabilidades: w3af y BurpSuite.
Entre otras



















Add-ons incluídos (Browser)





















Instalador























Saludos!!!!
;o)

viernes, 3 de octubre de 2008

Absolute FreeBSD The Complete Guide



Absolute FreeBSD The Complete Guide 2 edición noviembre 2007

Idioma: Ingles
Pag: 745
Formato: PDF
Peso: 7.43 mb

Un libro que me gusto mucho... se los dejo para quien lo quiera descargar Clic Acá

sábado, 20 de septiembre de 2008

Queremos Software Libre!

Sip, tal como lo dice el titulo de esta entrada: Queremos Software Libre :)

Ese es el nombre de una iniciativa que esta empeñada en recolectar firmas de personas particulares como también de Grupos de personas, para que de una vez por todas se use Software Libre en los establecimientos tanto publicas como administrativas del Gobierno Vasco. Su manifiesto:


Las personas y colectivos abajo firmantes manifestamos que queremos usar Software Libre (por ejemplo GNU/Linux, Firefox, OpenOffice...):

1. Porque el Software Libre es una herramienta de transformación social que fomenta la igualdad, la participación y la solidaridad y nos ayuda a crear un mundo más justo.
2. Porque promueve el desarrollo humano, la sociedad del conocimiento y la innovación tecnológica, favoreciendo el acceso de todas las personas a las Nuevas Tecnologías.
3. Porque se fundamenta en compartir el conocimiento, es económicamente más rentable (sus licencias son gratuitas) y fomenta el empleo a nivel local.
4. Porque es libre (cualquiera lo puede utilizar y mejorar) y hace uso de estándares públicos y de formatos abiertos.
5. Porque posibilita la independencia tecnológica y, al contrario que el software privativo, evita estar atados a las decisiones que tome ninguna empresa (por ejemplo, Microsoft).

Por todo ello, solicitamos al Gobierno Vasco y demás Administraciones Públicas Vascas:

1. Promover y fomentar activamente el uso del Software Libre en todas las relaciones de las personas con la Administración.
2. Implantar el uso generalizado del Software Libre en todos los organismos públicos y en todas las esferas de la actividad ciudadana.
3. Invertir el presupuesto público costeado por los impuestos de todas y todos en desarrollar el Software Libre para beneficio de la comunidad.
4. Divulgar en la sociedad el significado del Software Libre, así como difundir sus múltiples ventajas y beneficios.
5. Formar a todas las personas en el uso de programas libres, especialmente durante su formación escolar.
6. Impulsar el empleo local y la independencia tecnológica, colaborando activamente con la comunidad de usuarios y empresas locales en el desarrollo del Software Libre.
7. Informar de forma activa y transparente sobre las acciones realizadas en esta materia y sobre las asignaciones presupuestarias relacionadas con las Nuevas Tecnologías.



Un esfuerzo muy digno... y como ya bien saben en Tutos Libres también Queremos Software Libre!!




Si bien no es una iniciativa internacional merece mucho ser promocionada, creo que deberíamos hacer algo así cada uno en nuestros países. Bien por uds señores Vascos, vamos a estar atentos.


Mucho Éxito para Uds Compañeros!

Mas informacion: Pag del Proyecto

sábado, 13 de septiembre de 2008

VRMS

Bueno en tutoslibres no debe hacer falta esta herramienta. vrms es el acronimo de Virtual Richard M. Stallman y el comando para ejecutar la herramienta que nos dicta en una terminal que tan "libre" es tu "Debian based system", es decir, que apliciones de las que tienes instaladas son libres o propietarias, dandote un porcetaje de libertad (o esclavitud). Es como pepe grillo para pinocho, solo que este de software libre y dentro de tu computadora.

El programa en Internet:
http://packages.debian.org/stable/admin/vrms

Bueno el procedimiento para instalarlo es el tradicional:
sudo apt-get install vrms

Y correrlo es mas simple, claro todo desde la terminal:
vrms

Resultado en mi Ubuntu Hardy: 17 non-free packages, 1.0% of 1689 installed packages.
Muchos plugins y esas cosas (trato de condesciendiente conmigo mismo, juar juar)...

Creo que Stallman me miria con desprecio :(.

Al menos te enteras de que borrar o en mi caso hablar de un 99% de libertad, pero la libertad es completa ¿o no? (caramba pepe grillo tendre que hacerte mas caso, juar juar).

Saludos.

lunes, 8 de septiembre de 2008

Crea tus propios paquetes: Checkinstall

Checkinstall es una aplicación desarrollada por Felipe Eduardo Sánchez Díaz Durán en 2002. La idea de este programita es facilitar la administración de nuestros sistemas. ¿Y como es que pretende lograr esto? La respuesta es sencilla, supongamos que alguna vez queremos o tenemos que instalar en nuestro sistema una aplicación que no esta empaquetada para nuestra distro o bien que necesitamos que este compilada a nuestra medida entonces la única alternativa es compilarla desde su tarball presentándonos dos posibilidades:

  • Compilar con el clásico configure && make && make install.
  • Empaquetarlo e instalarlo con su correspondiente instalador

La primera opción nos presenta problemas en el caso de querer desinstalar la aplicación y ni hablar si necesitamos upgradear. Por otro lado, empaquetar las aplicaciones no siempre es tarea sencilla, ya vimos que en Slackware es algo trivial, pero en otras distros ya significa liarnos más... Entonces es en este momento que aparece Checkinstall.

Esta herramienta nos permite crear paquetes TGZ, RPM y DEB a partir del tarball, con la consecuencia de que vamos a poder instalar el paquete con su correspondiente comando mágico y lo que es aun mejor, llegado el momento de querer eliminar la aplicación desinstalarla con su otra desinstaladora palabra mágica :)


Un Ejemplo Práctico

Siempre he creido que la mejor forma de hablar de algo es a través de un ejemplo práctico, así que eso vamos a hacer ahora, vamos a crear un rpm para OpenSuSE 11.0.

Los que conozcan y usen el visualizador de imagenes GpicView sabrán que se vuelve muy entrañable, ya que consume muy pocos recursos y es muy rápido, además de hacer simplemente lo que uno espera o sea ver una imagen :) . El caso es que estaba en mi Xfce de OpenSuSE 11.0 y no encontré ese programa en los repositorios que tengo agregado a Yast, cosa que me entristecio en un principio pero como dicen a rey muerto rey puesto... así que qué mejor oportunidad para crear nuestro propio paquete de GpicView. :)

Para comenzar instalamos checkinstall. En la actualidad esta en los repos de todas las grandes distros, asi que es cosa de buscarlo no mas. Como estoi trabajando con SuSE, me bastó con agregar los repositorios de la comunidad y dar un

# yast -i checkinstall

Ya instalado checkinstall, nos hacemos del tarball de la aplicacion a empaquetar. Yo bajé GpicView desde SourceForge ---> GpicView

Desempaquetamos y ejecutamos el configure y el make como siempre:

# tar xvf gpicview-0.1.9.tar.gz
# cd xvf gpicview-0.1.9/
# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --mandir=/usr/man

No olvidar nunca ver la ayuda que nos da ./configure --help. Ya pasado esta etapa sin errores ejecutamos:

# make

Y acá es donde usamos Checkinstall (obviamente despues de haber pasado sin errores el make).

# checkinstall -h

Para ver la ayuda.
checkinstall 1.6.1, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.

Usage: checkinstall [options] [command [command arguments]]
Options:
*Package type selection*
-t,--type= Choose packaging system
-S Build a Slackware package
-R Build a RPM package
-D Build a Debian package
*Install options*

La ayuda ya nos dice que es muy sencillo de usar.

# checkinstall
checkinstall 1.6.1, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.


The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]:
## ENTER ##

Preparando la documentación del paquete...OK

Por favor escribe una descripción para el paquete.
End your description with an empty line or EOF.
>>
Y ahora nos toca escribir una pequeña descripción de la aplicacion que vamos a empaquetar, no andaba muy inspirado así que escribi esto :p

>> GpicViewer es un visualizador de imagenes desarrollado en GTK+ :)
## ENTER ##
## ENTER ##

Y ya esta... ahora nos va a mostar un resumen con la opción de cambiar lo que no nos guste:

**************************************
**** RPM package creation selected ***
**************************************

This package will be built according to these values:

1 - Summary: [ GpicViewer es un visualizador de imagenes desarrollado en GTK+ :) ]
2 - Name: [ gpicview ]
3 - Version: [ 0.1.9 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ Applications/System ]
7 - Architecture: [ i386 ]
8 - Source location: [ gpicview-0.1.9 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ gpicview ]

Introduce un número para cambiar algún dato u oprime ENTER para continuar:
Esto no merece explicación o si? O_o

Installing with make install...

========================= Installation results ===========================
Making install in src
make[1]: se ingresa al directorio `/home/cristian/gpicview-0.1.9/src'
make[2]: se ingresa al directorio `/home/cristian/gpicview-0.1.9/src'
test -z "/usr/bin" || /bin/mkdir -p "/usr/bin"
/bin/sh ../libtool --mode=install /usr/bin/install -c 'gpicview' '/usr/bin/gpicview'
/usr/bin/install -c gpicview /usr/bin/gpicview
make[2]: No se hace nada para `install-data-am'.
make[2]: se sale del directorio `/home/cristian/gpicview-0.1.9/src'
make[1]: se sale del directorio `/home/cristian/gpicview-0.1.9/src'
Making install in po
make[1]: se ingresa al directorio `/home/cristian/gpicview-0.1.9/po'
if test -r ".././mkinstalldirs"; then \
.././mkinstalldirs /usr/share; \
else \
/bin/sh ../mkinstalldirs /usr/share; \
.....
....
...
..
.
.
Y si todo salió bien nos va a mostrar el siempre lindo mensaje de exito!! :-D

======================== Installation successful ==========================

Copying documentation directory...
./
./COPYING
./NEWS
./ChangeLog
./TODO
./README
./INSTALL
./AUTHORS

Copiando los archivos al directorio temporal...OK

Comprimiendo las páginas de manual...OK

Creando la lista de archivos...OK

Creando paquete RPM...OK

NOTE: The package will not be installed

Borrando directorios temporales...OK

Borrando el directorio doc-pak...OK

Borrando el directorio temporal...OK


**********************************************************************

Done. The new package has been saved to

/usr/src/packages/RPMS/i386/gpicview-0.1.9-1.i386.rpm
You can install it in your system anytime using:

rpm -i gpicview-0.1.9-1.i386.rpm

**********************************************************************

Y ya esta... nos avisa donde esta guardado el paquete que acabamos de crear y como instalarlo:

# rpm -i /usr/src/packages/RPMS/i386/gpicview-0.1.9-1.i386.rpm


Como se puede ver checkinstall reemplaza a make install, makepkg y el make clean, ya que nos libra de los archivos innecesarios de la compilación. También es posible configurarlo para que al terminar de crear el paquete lo instale automagicamente, pero no lo recomiendo, es mejor que nosotros nos hagamos cargo de esas cosas.

Otras consideraciones:

  • Para los que usamos Slackware el comando es # checkinstall --fstrans=no
  • Por un tema de permisos siempre trabajo todo desde root, pero no es estrictamente necesario, por lo menos no hasta que queramos crear e instalar el paquete.
  • Lei en un foro ubuntero que checkinstall cuando le creaba paquetes DEB a veces tenia dificultades con los permisos, no me consta, pero da una posible solución (que no me gusta para nada!!) # chmod 755 / [Este es un ejemplo de porque es mejor trabajar todo como root :) ]
Y por último la fotito, para que vean que sí funciona xD


martes, 12 de agosto de 2008

Crea tus propios paquetes: Slackware

Algo que nunca esta demás aprender cuando queremos saber mas de nuestra distro es cómo crear paquetes propios y así poder crearlos según nuestras necesidades, además de poder compartirlos con nuestros amigos.

El proceso de crearlos es mas bien simple. Se resume en seguir una serie de pasos que no encierra mayor dificultad, ni misterio.

En esta entrada vamos a ver como hacer nuestros propios paquetes tgz desde el tarball. Los tgz son los paquetes precompilados para Slackware y las distros que se basan en esta, si se preguntan porque empezar por esta distro siendo que no es de las mas populares, la respuesta es muy simple, porque es mi distro preferida :D

Para comenzar elegimos que programa queremos empaquetar, para este caso me parece interesante elegir Amarok. Descargemos el tarball desde a su pagina --> Amarok
Para el caso la ultima versión Stable es la 1.4.9.1.

Ya descargada descomprimimos el tarball y entramos en la carpeta

$ tar xvf amarok-1.4.9.1.tar.bz2
$ cd amarok-1.4.9.1

Ahora es donde empieza el proceso de crear nuestro paquete, para esto necesitamos compilarlo como lo haríamos normalmente.

# ./configure --help

Para evitar tener problemas con los permisos es recomendable que desde ahora hagamos todo como root. El configure --help es un paso esencial en el proceso porque nos va a dar una lista de parametros que le podemos entregar a nuestro paquete.

`configure' configures this package to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...
Las instrucciones son claras :) . En nuestro caso vamos a pasarle las opciones de compilación --enable-mysql --enable-postgresql y --with-libgpod (para los que tiene ipod), porque lo que necesitamos/queremos es que amarok maneje nuestra musica usando como motor de base de datos a mysql o postgresql. ¿Y esto para qué? la respuesta varia de acuerdo a las necesidades que tengamos, en mi caso, tengo una gran cantidad de música (muchos gigas) y sqlite tiende a portarse mal (es muy grande el volumende datos) lo que se traduce en ralentizacion del tarro y en una mala performance de amarok.

Si queremos o lo necesitamos podemos ademas indicarle rutas especificas, por ejemplo:

--prefix=/usr/local (muchas veces ya esta por defecto /usr)

Esto nos permite elegir el directorio donde queremos que se instale el programa. Supongamos que queremos instalarlo en /opt o en /home, entonces simplemente le ponemos --prefix=/opt ó --prefix=$HOME según sea el caso. Otras variables a destacar:

--bindir=/usr/bin
--sbindir=/usr/sbin
--sysconfdir=/etc
--localstatedir=/var
--libdir=/usr/lib
--includedir=/usr/include
--mandir=/usr/man
--docdir=/usr/doc
--infodir=/usr/info

Entonces un posible configure podria quedar de la siguiente forma:

# ./configure --prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --localstatedir=/var --libdir=/usr/lib --includedir=/usr/include --mandir=/usr/man --docdir=/usr/doc --infodir=/usr/info --enable-mysql --enable-postgresql --with-libgpod

Esto solo es a modo de ejemplo, la verdad es que la mayoría de estos parametros ya vienen por defecto por lo que no es absolutamente necesario escribirlos todos, por ahora con un

# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-mysql --enable-postgresql --with-libgpod

Nos va a bastar y sobrar :p . Otro dato interesante de mencinar son las Variables de entorno, estas se especifican al final de este comando (./configure), según el configure --help algunas útiles pueden ser:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L if you have libraries in a
nonstandard directory
LIBS libraries to pass to the linker, e.g. -l
CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if
you have headers in a nonstandard directory
CPP C preprocessor
CXX C++ compiler command
CXXFLAGS C++ compiler flags
CXXCPP C++ preprocessor
F77 Fortran 77 compiler command
FFLAGS Fortran 77 compiler flags
XMKMF Path to xmkmf, Makefile generator for X Window System
PKGCONFIGFOUND
Path to pkg-config
Que no la vamos a usar en este caso y que por lo demás escapan del fin de este tutorial.

==========================
=== Amarok - WARNING ==========================================
=
= pg_config could not be found, this means that support for Postgresql
= will be disabled.
=
==========================
=== Amarok - PLUGINS ======================
=
= The following extra functionality will NOT be included:
= - NMM-engine
= - Helix-engine
= - yauap-engine
= - Postgresql Support
= - MusicBrainz Support
= - MP4/AAC Tag Write Support
= - iRiver iFP Support
=
= The following extra functionality will be included:
= + xine-engine
= + libvisual Support
= + MySql Support
= + Konqueror Sidebar
= + iPod Support
= + Creative Nomad Jukebox Support
= + MTP Device Support
= + Rio Karma Support
= + DAAP Music Sharing Support
=
=====================================

Good - your configure finished. Start make now

Si todo concluyó como queremos y sin problemas, vamos a tener algo así como el resumen de el configure, fíjense que le dimos soporte para mysql, para el ipod, etc. No esta soportado postgresql por el simple hecho de que no lo tengo instalado (no lo uso). Otra cosa a notar es que le podemos dar soporte a Helix y MP4/AAC, entre otros. Yo no los necesito :o cada quien ve lo que estime necesario...

Una vez pasada esta etapa y acabada sin errores, nos toca ejecutar el make

# make

Si no tenemos errores pasamos a la siguiente etapa. En esta parte es donde podríamos decir que se comienza a crear nuestro paquete propiamente tal, para esto ejecutamos en consola

# make install DESTDIR=/tmp/paquete

Es el mismo make install de como si estuviéramos compilando, solo que le agregamos el destino de adónde queremos que cree los archivos binarios o ejecutables, es recomendable siempre crearlo en los temporales para después ser limpiados, por ser amarok lo vamos a crear en /tmp/amarok :)

# make install DESTDIR=/tmp/amarok

Pasada esta etapa sin errores ya solo nos resta limpiar un poco y armar nuestro paquete. La limpieza la hacemos con el comando strip, este nos sirve para descartar los símbolos del ficheros, etc. esto lo hacemos sobre los directorios bin y lib.

# strip -s /tmp/amarok/usr/{lib,bin}/*

Ahora creamos el fichero de la documentación, este se crea dentro de amarok/usr y bajo el nombre del paquete que estamos creando:

# mkdir /tmp/amarok/usr/doc/
# mkdir /tmp/amarok/usr/doc/amarok-1.4.9.1

Y copiamos la documentación que dispone nuestra aplicación:

# cp -r AUTHORS ChangeLog COPYING doc README TODO /tmp/amarok/usr/doc/amarok-1.4.9.1/

En el caso de que contemos con archivos man los comprimimos con gzipped de la siguiente forma:

# gzip -9 man/*.?

En nuestro caso particular no lo necesitamos.

Y por último, creamos el slack-desc. Este no es más que un archivo de texto con la descripción del paquete que estamos creando. Es absolutamente necesario crearlo (obligatorio). ¿Alguna vez se detuvieron a leer la información que entrega un programa cuando lo instalaron? Si lo hicieron lo que estaban leyendo era el slack-desc :D . Este entrañable documento de texto lo debemos crear dentro de un directorio llamado install que lo tenemos que hacer antes en donde estará la "raiz" del paquete, osea en:

# mkdir /tmp/amarok/install
# cd /tmp/amarok/install
# vim slack-desc

Cada uno elige el editor de texto que quiera, yo como siempre uso ViM ;) . Ahora algo importante, las dimenciones del slack-desc deben ser de 79 carateres por 11 lineas, además debe cumplir algunos requisitos que nombro a continuación:

  • Dimensiones: 79 caracteres x 11 lineas
  • Titulo: handy-ruler
  • Las 11 lineas deben comenzar con el nombre del programa.
  • Las lineas deben tener una descripcion breve del paquete.
  • En la primera linea va el nombre de la aplicacion más una descripcion todavía mas breve de la aplicacion entre parentesis. Por ejemplo: Firefox (Navegador web)
  • No me acuerdo que más :$ ...un ejemplo grafico.


Ejemplo:

|-----handy-ruler--------------------------------------------------|
aplicacion: Nombre de la aplicacion. (Descripcion brevisima)
aplicacion:
aplicacion:
aplicacion: Descripcion breve de la aplicacion que estamos creando. Ojo, no
aplicacion: hay que pasar mas allá de los 79 caracteres ok?. Fijate con que
aplicacion: agilidad lo hago yo... esto me llevo mucho tiempo de aprender :o.
aplicacion: La idea de este texto es ayudar al que lo instala e informarlo.
aplicacion: Tampoco es para que escribamos nuestro manifiesto o peor aun
aplicacion: el testamento, eso sí, si lo hacen acuerdense de mí... que me
aplicacion: encantan las herencias xDD... no así los manifiestos :(
aplicacion:



Estas son referencias de como tiene que ser nuestro slack-desc, lo que no significa que tenemos que hacerlo tal cual, cada uno ve cuanto espacio necesita. Si se necesita menos lineas borramos las no necesarias :D . Para nuestro caso podria ser asi:


|-----handy-ruler--------------------------------------------------|
amarok: Amarok (Reproductor de Musica)
amarok:
amarok: Redescubra su musica Con Amarok. El mejor reproductor de
amarok: musica del mundo GNU según el buen Asclepio ;) .
amarok:
amarok: Mas informacion: http://amarok.kde.org/
amarok:


Ya creado el slack-desc, salimos a la carpeta donde estamos creando nuestro paquete y escribimos
las palabras magicas:

# cd /tmp/amarok
# makepkg -l y -c n $HOME/paquetes/amarok-1.4.9.1-i686-1cff.tgz

Con el comando makepkg creamos nuestro paquete, en este caso en particular lo estoi creando en mi home (/home/asclepio) en un directorio donde guardo los paquete que hago, de nuevo, cada quien los crea donde mejor le acomode.

Por convención los paquetes deben nombrarse siguiendo esta estructura:

aplicacion-version-arquitectura-N°-empaquetador.tgz


Como ven la aplicacion es amarok, version 1.4.9.1 hecho para arquitectura i686, es el N° 1 (primer paquete) y hecho por un servidor (mis iniciales, cff) el buen Asclepio ;) .

La acción de crear un paquete es algo trivial que con algo de experiencia se vuelve mecánico, algo que para el que aprendió a crearlos es de mucha utilidad. Por otro lado, tambien hay que notar el hecho de que el paquete creado lo podemos compartir con nuestros amigos o los demás compadres de distro. Algo muy util de aprender y fácil. En mi humilde opinión, elemental para todo Slacker y Linux user.


Mas Info: Slack Wiki: How To - Building a package
Paquetes para Slackware
Instalando desde las Fuentes

lunes, 4 de agosto de 2008

Firefox 3.0.1 en español en Slackware 12.1

Una entrada muy simple y solo para quien le pueda ser útil o interesar.

Hace varias versiones de Firefox que vengo haciendo mis propios paquetes de este navegador. El único motivo es que me gusta tenerlo en mi idioma --Castellano, ese el de los acentos y las eñes-- y como no se encuentra por slackpkg o en los repositorios (creo) acá se los dejo:

Actualización a 3.0.4 ----> Acá

Y como siempre la fotito :D

martes, 29 de julio de 2008

SUSE Linux Toolbox: 1000+ Commands for openSUSE and SUSE Linux Enterprise



Un buen libro dedicado a esta gran distro (para mi una de las mejores). En esta caja de herramientas SuSEras podemos encontrar como instalar, configurar y manejar esta distro. Incluye además temas sobre multimedia y un par de apéndices muy útiles.
Paginas: 339
Idioma: Ingles
Formato: Pdf
Peso: 3.19 Mb.


Contenido

Chapter 1: Starting with SUSE
Chapter 2: Installing openSUSE and Adding Software
Chapter 3: Using the Shell
Chapter 4: Working with Files
Chapter 5: Manipulating Text
Chapter 6: Playing with Multimedia
Chapter 7: Administering File Systems
Chapter 8: Backups and Removable Media
Chapter 9: Checking and Managing Running Processes
Chapter 10: Managing the System
Chapter 11: Managing Network Connections
Chapter 12: Accessing Network Resources
Chapter 13: Doing Remote System Administration
Chapter 14: Locking Down Security
Appendix A: Using vi or Vim Editors
Appendix B: Shell Special Characters and Variables
Appendix C: Getting Information from /proc



Si lo quieres descargar ya sabes ---> Clic Acá




martes, 15 de julio de 2008

Soporta linux mi PC?

¿Cuando instale linux en mi tarro, funcionará todo?

Es una pregunta muy común y por lo demás muy valida -por no decir elemental- a la hora de instalar GNU/linux en una maquina. La pregunta puede responderse de muchas formas, a continuación una de las formas :)

La pagina Debian GNU/Linux device driver check, nos ofrece un test muy interesante de hacer, el que nos entrega rapidamente y de forma muy simple y facil la tan esperada respuesta a la pregunta. Para esto solo tenemos que pegar la salida de comando:

lspci -n
y despues apretar el boton

Check
Y listo, obtenemos una respuesta clara a la pregunta.

"

sábado, 12 de julio de 2008

Honor a quien honor merece...

Este blog es tutosLIBRES, y bueno recurriendo a la palabra libre, me tomo eso mismo, la libertad de colocar este homenaje de retiro del Sr. Bill Gates . Si tutoslibres leyeron bien "HOMENAJE" en mayusculas y entre comillas al Sr. Bill Gates (no le pongo colorcitos para que no me tachen de insurrecto). Y aunque aquí se busca no caer en cuestiones restrictivas yo soy muy desordenado. Seguramente muchos ya lo vieron pero... en fin... veanlo...



Ojo: El retiro de Bill Gates no precisamente lleva al retiro de bugs o algo peor; de licencias restrictivas.

lunes, 7 de julio de 2008

Entrevista a Richard Stallman

Via Tecnologias Libres y gracias al entusiasmo de Eduardo Aguila, hemos podido disfrutar de una corta, pero muy interesante entrevista a nuestro gran gurú Richard Stallman.

La entrevista se hizo via mail, según nos cuenta su autor, y en ella podemos leer las ideas que tiene Stallman respecto al software libre y tambien su forma de ver el mundo y la familia.

Por mi parte, hubiese querido una entrevista mas larga y mejor preparada, pero aun asi sigue siendo un gusto poder leer algo nuevo de este "patriarca" del software libre.

Que disfruten la entrevista:

¿Hola, como estás :)?

Tengo un calor insoportable aquí.

¿Cuando viajaras de nuevo a Chile?

No tengo un plan de volver a Chile, pero me gustaría ir, cuando haya
una invitación con fondos para los costes, y un hueco en mi agenda.

Como lo prefieres ¿”Free Software” o “Software Libre”?

“Software libre” es más claro, porque no se toma por “software
gratuito”. El software libre es el software que respeta la libertad
del usuario y la solidaridad social de su comunidad. No es asunto de
precio. Por lo tanto, en español no digas nunca “free software”, sino
siempre “software libre”. Incluso en inglés digo a veces “libre”.

Peor aun es decir “open source”. Ese término fue inventado para hacer
caso omiso de los asuntos éticos. Si comparas la palabra de los
activistas de software libre, como yo, y los promovidores de open
source, verás una gran diferencia al nivel el más profundo, el de
los valores.

¿Que Sistema Operativo estas usando?

Uso el sistema GNU con Linux. Básicamente es el sistema operativo
GNU, cuyo desarrollo lanc é en 1984, combinado con el kernel Linux,
lanzado en 1991 por el Sr. Torvalds.

Pero no uso su versión de Linux, porque contiene programas privativos.
Son los “blobs” de firmware que son presientes en los archivos
“fuente” de varias pilotas, en la forma de largas listas de números.
Es decir, estos archivos no realmente son de código fuente; no
obstante, los desarrolladores de Linux los ponen en sus archivos.

Ahora tenemos que mantener otra versión de Linux, llamada Linux Libre,
para usar en las versiones libres del sistema GNU/Linux.

Esto nos demuestra que ser libres hoy no garantiza que seremos libres
en un año. Mantener la libertad exige defenderla, en todos los
aspectos de la vida, incluso la informática.

Cuentanos ¿Como es un día promedio de Richard Stallman, desde que te levantas hasta que te duermes?

No me gusta tener rutinas, por lo tanto cada día es diferente en los
detalles. Lo que puedo decir es que paso mucho tiempo leyendo y
contestando mis correos. Mi trabajo se hace usualmente en
comunicación, y usualmente por correo. A parte esto, leo mucho
excepto el trabajo no me deja tiempo.

¿Estas desarrollando algún proyecto que nos puedas contar?

Mi trabajo de hoy en día no es programar, es difundir la filosofía
ética de software libre. Por lo tanto, mayormente no tiene la forma
de proyectos.

¿Has pensado en tener hijos?

La idea de unirse con otro en amor para crear una mezcla es muy
romántica, pero las consecuencias son muchas molestias. Por ejemplo,
las peleas arruinan el mismo amor, y hay que dedicar la vida al ganar
dinero.

El crecimiento de población es también muy malo para el mundo. La
población actual parece más que la tierra puede soportar. Estamos
estropeando nuestro mundo. El no tener hijos es un acto muy importante
para protegerlo.

¿Deseas agregar algo más?

La libertad no se defiende sola; tú tienes que defenderla.

Si aprecias el trabajo del movimiento de software libre, y del
Proyecto GNU, la mejor manera de agradecernos es contribuir.
Programar no es la única manera de contribuir: gnu.org/help sugiere
muchas más.

Para defender tu libertad, tienes que organizar. Si tu país propone
firmar un tratado de comercio con los EEUU, casi seguro que es
injusto. Organiza para que no se firme, o si ya se firmó, para
anularlo. (El Presidente Correa de Ecuador ha rechazado firmar un
tratado; es un muy buen ejemplo.)

Últimamente tienes que resistir la tentación de ceder tu libertad.
Por lo tanto, nunca compres ningún producto que implemente la Gestión
Digital de Restricciones (es decir, DRM) sin tener acceso personal a
las medidas necesarias para superarla.

Fuente: http://gnu.org/help
http://www.tecnologiaslibres.net/2008/06/29/entrevista-a-richard-stallman-desde-chile/

jueves, 3 de julio de 2008

Instalar BackTrack 3 final

Con el lanzamiento de la nueva versión 3 final de esta gran distro, también tenemos nuevas formas de instalación. En esta entrada vamos a ver dos de los tres tipos de instalación, estos son, en un pendrive y en el disco duro


En un Pendrive

Para instalarla en un pendrive necesitamos bajar la siguiente imagen ---> bt3final_usb.iso

Ya descargada el proceso es muy fácil. Basicamente es copiar el contenido en el pendrive. Esto lo podemos conseguir de distintas formas, una de ellas es esta:

* montar la imagen en un directorio:
$ mkdir bt3
# mount -o loop bt3final_usb.iso bt3/

* copiamos el contenido de la carpeta montada en el pendrive:
cp -a bt3/* /media/sda1 # Siendo sda1 el pendrive, obvio.

Esto es exactamente lo mismo a entrar a la carpeta y hacer un "copiar/pegar" con el mouse :)

* Ahora basta entrar a la carpeta boot del pendrive y correr un script
- Si estamos en linux lo hacemos asì:
# cd /media/sda1/boot/
# sh bootinst.sh
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Welcome to Slax boot installer
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

This installer will setup disk /dev/sda1 to boot only Slax.

Warning! Master boot record (MBR) of /dev/sda will be overwritten.
If you use /dev/sda to boot any existing operating system, it will not work
anymore. Only Slax will boot from this device. Be careful!

Press any key to continue, or Ctrl+C to abort...
##ENTER##

Flushing filesystem buffers, this may take a while...
Setting up MBR on /dev/sda...
The Master Boot Record of /dev/sda has been updated.
Activating partition /dev/sda1...
No partition table modifications are needed.
Updating MBR on /dev/sda...
Setting up boot record for /dev/sda1...
Disk /dev/sda1 should be bootable now. Installation finished.

Read the information above and then press any key to exit...

##ENTER##

- Desde windows correr el script bootinst.bat

Y listo, ahora solo nos resta reiniciar y entrar a la bios para configurar que botee primero desde la unidad usb.


En el disco duro

Según he estado leyendo en el foro de la comunidad de Backtrack, la gente que hace esta distro esta orientando a que sea instalada principalmente desde un pendrive por lo que ya no esta disponible un instalador gráfico como en la version 2. En un comienzo me parece excelente la idea, todavia más considerando lo bien que anda desde una memoria usb. Pero tambien la podemos instalar en el disco duro en caso de ser necesario.

Para comenzar descargar esta imagen ---> bt3-final.iso

Una vez descargada y quemada en un cd, entramos como liveCD y preparamos las particiones. En este caso solo vamos a necesitar 2 particiones, una para /(raiz) y otra para la swap. No voi a explicar como particionar porque se supone que cada uno ya lo sabe, pero para particionar recomiendo qtparted que ya viene incluida en la distro :)

Supongamos que la queremos instalar en la segunda particion del primer disco duro IDE (hda2) y que la swap estará en la tercera particion del mismo disco duro (hda3).

Hechas las particiones activamos la swap y montamos la partición donde va estar el directorio /(raiz) :

# swapon /dev/hda3 # la swap la creamos antes!
# mkdir /mnt/bt3
# mount /dev/hda2 /mnt/bt3

Ahora copiamos los directorios conservando sus propiedades a la partición seleccionada y creamos los que vamos a necesitar

# cp -p -R /{bin,boot,dev,home,pentest,root,usr,etc,lib,opt,sbin,var} /mnt/bt3/
# mkdir /mnt/bt3/{boot,mnt,proc,sys,tmp}

Remontamos y asignamos el tipo de directorio a /dev y /proc

# mount --bind /dev/ /mnt/backtrack/dev/
# mount -t proc proc /mnt/backtrack/proc/

Solo falta instalar un gestor de arranque. Como sabemos Backtrack usa lilo por defecto, si lo queremos usar lo instalamos de la siguiente manera:

# chroot /mnt/bt3
# vim /etc/lilo.conf # editamos según corresponda, para este caso seria algo así

# Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/hda2
label = BackTrack
read-only
Y actualizamos lilo

# lilo -v

En mi caso uso el grub de OpenSuSE, por lo que añado BackTrack al grub

# vim /boot/grub/menu.lst

title BackTrack 3
kernel (hd0,1)/boot/vmlinuz root=/dev/hda2 ro quiet vga=0x317

Y ya solo nos resta usar nuestro nuevo juguete ;)