Mostrando entradas con la etiqueta Tutoriales - Debian. Mostrar todas las entradas
Mostrando entradas con la etiqueta Tutoriales - Debian. Mostrar todas las entradas

10/23/2009

Conexión usb-serial Debian Lenny

Para poder utilizar un adaptador usb-serial que nos permita acceder por consola a nuestros servidores debemos seguir estos pasos:

1)Conectar el adaptador

2) revisar los dispositivos conectados con:
# dmesg | grep usb
[18377.804805] usbserial: USB Serial support registered for pl2303
[18377.816134] usb 1-2: pl2303 converter now attached to ttyUSB0

en mi caso el adaptador fue reconocido como ttyUSB0

# lsusb
Bus 001 Device 005: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port


3) Instalar un administrador de conexiones:
aptitude install putyy

4) Ejecutar putty, seleccionar la opción serial. Por defecto nos autocompleta con /dev/ttyS0, en este caso nosotros queremos usar nuestro adaptador USB, por lo que borramos /dev/ttyS0 y lo reemplazamos por /dev/ttyUSB0

5) Por último presionamos Enter y luego nos validamos con nuestro usuario y contraseña.



Espero que les sea de utilidad.



saludos

10/14/2009

Configurar red inlambrica Debian Lenny con WPA2

Les paso a comentar los paso para configurar la red WIFI en Debian Lenny.

Sistema:
Debian 5 Lenny

Placa de red:

Broadcom Corporation BCM4311 802.11b/g (rev 01)
DHCP

Seguridad:
WPA2-PSK AES

Módulo kernel:
b43 (Broadcom 43xx wireless devices)

Driver:
wext

Páginas útiles:

Broadcom 43xx wireless devices

HowToIdentifyADevice PCI

How to use a WiFi interface

HOWTO: Wireless Security - WPA1, WPA2, LEAP, etc.


Tareas:

Para buscar nuestra placa Wireless podemos usar el comando lspci:

# lspci | grep WLAN

03:00.0 Network controller: Broadcom Corporation BCM4311 802.11b/g WLAN (rev 01)


Buscando en internet encontre que el módulo para esta placa es el b43 (http://wiki.debian.org/bcm43xx)

Con uname -r podemos confirmar nuestra versión del kernel:

# uname -r
2.6.26-2-486

(For 2.6.24 and later kernels. drivers are included as modules in Debian kernel images)


Agregamos "contrib" en nuestro repositorio oficial de Debian, /etc/apt/sources.list:

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

Actualizamos los paquetes:
aptitude update

Instalamos el driver y la seguridad wpa:
# aptitude install b43-fwcutter wireless-tools wpasupplicant
(aceptamos que descargue los firmware de internet)

levantamos el módulo:
modprobe b43

Para escanear posibles redes usamos:
iwlist wlan0 scan

También podemos instalar Wifi-Radar para realizar lo mismo pero de forma gráfica:
aptitude install wifi-radar


Para esta prueba me quiero conectar a una red oculta utilizando:
WPA2-PSK AES


Para esto debemos crear wpa passphrase:
wpa_passphrase ID password

creamos el archivo de configuración /etc/wpa_supplicant/wpa_supplicant.conf, dentro de es archivo copiamos la salida del último comando y algunos parámetros extra, les tiene que quedar así:

ctrl_interface=/var/run/wpa_supplicant

network={
ssid="xxxx" (aqui va su ssid)
scan_ssid=1
proto=WPA2 (protocolo wpa2)
key_mgmt=WPA-PSK
psk=dc6e50d4177da9db9e19c7bc33eab71d948069eb7583a03d136f35b1da24ed3b
}


NOTA: el comando wpa_passphrase les dejara un psk=... donde esta la contraseña encriptada y un #psk=contraseña sin encriptar, recuerden borrar el #psk=contraseña, para dejar solo la versión encriptada.

Solo resta modificar el archivo /etc/network/interfaces para que les quede así:
auto wlan0
iface wlan0 inet dhcp
wpa-driver wext

(en mi caso estoy utilizando el driver wext que corresponde a mi placa Broadcom)

Reiniciamos las interfaces para que tomen su ip directamente del servidor dhcp y listo:
/etc/init.d/networking restart







##################################
Extra
##################################

Ejemplo de configuración archivo /etc/networl/interfaces

auto wlan0
iface wlan0 inet static
address 192.168.168.40
gateway 192.168.168.230
dns-nameservers 192.168.168.230
netmask 255.255.255.0
wpa-driver wext
wpa-ssid
wpa-ap-scan 2
wpa-proto RSN
wpa-pairwise CCMP
wpa-group CCMP
wpa-key-mgmt WPA-PSK
wpa-psk [IMPORTANT: See "WPA-PSK key generation"]

* auto wlan0:
Your network interface (e.g. wlan0, eth1, rausb0, ra0, etc.).

* iface wlan0 inet static:
Self-explanatory... I am using a Static IP instead of DHCP. "iface wlan0" must correspond to your network interface (see above).

* address, netmask, [..], dns-nameservers:
Also self-explanatory... Be aware that "broadcast" needs to end with ".255" for negotiation with the router. These lines need to be according to your own (static) network settings. For DHCP see further below.

* wpa-driver:
Use "wext" only. All other drivers are outdated no longer used.
[/quote]

* wpa-ssid:
Your network's ESSID (no quotes ""). Please avoid blanks/spaces as they will created problems during key generation (see below).

* wpa-ap-scan:
"1" = Broadcast of ESSID.
"2" = Hidden broadcast of ESSID.

* wpa-proto:
"RSN" = WPA(2)
"WPA" = WPA(1)

* wpa-pairwise & wpa-group:
"CCMP" = AES cipher as part of WPA(2) standard.
"TKIP" = TKIP cipher as part of WPA(1) standard.

* wpa-key-mgmt:
"WPA-PSK" = Authentication via pre-shared key (see 'key generation' further below).
"WPA-EAP" = Authentication via enterprise authentication server.

VERY IMPORTANT ("WPA PSK Key Generation"):
Now convert your WPA ASCII password using the following command:
Quote:
wpa_passphrase
Resulting in an output like...
Quote:
network={
ssid="test"
#psk="12345678"
psk=fe727aa8b64ac9b3f54c72432da14faed933ea511ecab1 5bbc6c52e7522f709a
}

Copy the "hex_key" (next to "psk=...") and replace in the "interfaces" files with it. Then save the file and restart your network:
Quote:
sudo /etc/init.d/networking restart







espero les sea de utilidad.

10/08/2009

Instalar diccionarios en Evolution

Para poder activar el corrector ortográfico en Evolution es necesario instalar:

gnome-spell

aspell

aspell-XX (reemplace XX por es, en, it, jp, etc).

En el caso de Debian sería:

# aptitude install gnome-spell aspell aspell-es


Una vez instalado, basta con ir a Evolution/Edit/Preferences/Composer Preferences/Spell Checking y habilitar los nuevos idiomas en esa misma ventana.


visto en Aire


10/06/2009

instalar Java en Debian Lenny

Para instalar Java sobre Debian Lenny y Iceweasel:

aptitude install sun-java6-jre sun-java6-plugin sun-java6-jdk

reiniciar el navegador web.

7/05/2009

Experiencia con camara web bajo Debian GNU/Linux (Lenny).


Notas rápidas para el blog de Lukas:

1-Compré la cámara web más barata del negocio. $42.
La caja dice DTWC-120 DATAVISION, 320x240, pero las marcas nunca dicen
nada de lo que trae adentro.
Viene un mini-cd con drivers que ni miré.

2-Enchufar la webcam y ver el reporte del kernel con "dmesg"

# dmesg
[176596.173752] usb 1-2.3: new full speed USB device using ohci_hcd
and address 4
[176596.285850] usb 1-2.3: configuration #1 chosen from 1 choice
[176596.290990] usb 1-2.3: New USB device found, idVendor=093a, idProduct=2468
[176596.291005] usb 1-2.3: New USB device strings: Mfr=1, Product=2,
SerialNumbe
r=0
[176596.291009] usb 1-2.3: Product: CIF Single Chip
[176596.291013] usb 1-2.3: Manufacturer: Pixart Imaging Inc.


3-Googleando un poco, veo que es necesario un modulo del kernel
llamado "gspca".

4- En Debian estos modulos estan en un paquete separado:

# aptitude install gspca-modules-2.6.26-2-686

En este caso yo estaba usando un kernel -686.

5-Volver a enchufar la camara y verificar:

# dmesg
[184106.538017] usb 1-1.3: new full speed USB device using ohci_hcd
and address 9
[184106.652139] usb 1-1.3: configuration #1 chosen from 1 choice
[184106.662246] usb 1-1.3: New USB device found, idVendor=093a, idProduct=2468
[184106.662260] usb 1-1.3: New USB device strings: Mfr=1, Product=2,
SerialNumber=0
[184106.662265] usb 1-1.3: Product: CIF Single Chip
[184106.662268] usb 1-1.3: Manufacturer: Pixart Imaging Inc.
[184106.821663] Linux video capture interface: v2.00
[184106.836127] gspca: USB GSPCA camera found. (PAC207)
[184106.836143] gspca: [spca5xx_probe:4275] Camera type GBRG
[184106.846958] gspca: [spca5xx_getcapability:1249] maxw 352 maxh 288
minw 160 minh 120
[184106.847101] usbcore: registered new interface driver gspca
[184106.847109] gspca: gspca driver 01.00.20 registered
[184106.954208] gspca: [spca5xx_set_light_freq:1932] Sensor currently
not support light frequency banding filters.
[184106.954238] gspca: [gspca_set_isoc_ep:945] ISO EndPoint found 0x85
AlternateSet 8


Ahora vemos que se reconoce como una camara. Podemos ver los modulos
adicionales:

# lsmod | egrep "gspca|video"
gspca 639568 0
videodev 27520 1 gspca
v4l1_compat 12260 1 videodev
usbcore 118224 4 gspca,usb_storage,ohci_hcd

Es decir, esto se instala como un dispositivo V4L (video for Linux)

# ls -ls /dev/video0
0 crw-rw---- 1 root video 81, 0 jul 3 17:51 /dev/video0

6-Instalar un mensajero que soporte la camara. Puede ser AMSN o Kopete.
Entrando en la configuración de video, debe poder verse la imagen y
los ajustes de brillo y contraste.
# aptitude install amsn kopete


7- Con Kopete, si bien reconocía la cámara en la configuración de
video, no presentaba la opción de usarla durante una conversación.
Habría que investigar mas para usarlo, o ver versiones más nuevas que
la de Lenny.
Probando con LuKas si tuvimos suerte con AMSN. Ver las capturas.

8 - Queda por investigar Ekiga que también posee paquete para debian,
pero como no tengo cuenta, lo dejo para después.


Autor Dieo B.



Gracias Diego por el Tutorial :)

4/17/2009

montar particion NTFS modo escritura

A modo nota memoria les dejo la linea de mi fstab, para montar de forma automática particiones NTFS en nuestro Debian Lenny con permisos de escritura.

/dev/sda1 /mnt/windows ntfs-3g auto,exec,users,rw,umask=0000,utf8 0 0




NOTA: si por alguna razon cierran mal una sesión de windows, la partición NTFS quedara marcada como mal cerrada y no podran montarla desde LInux, si les pasa esto, deben volver a iniciar sesion en Windows y cerrarla de forma correcta.

4/16/2009

Configurar red inlambrica Debian Leny

Placa:

Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter


Despúes de la instalación de Debian Lenny estable en mi notbook Acer, me encontre conque no podia utlizar mi placa Wifi, ya que esta no reconocia las redes disponibles.

Buscando econtre esta solución en el foro de EsDebian (http://www.esdebian.org/foro)


1. remover los viejos módulos y ponerlos en lista negra

#rmmod ath5k
#nano /etc/modprobe.d/blacklis
(en la ultima linea agregamos: blacklist ath5k)

2. Instalar module-assistant y los fuentes de madwifi

#apt-get install module-assistant
#apt-get install madwifi-source madwifi-tools


3.Compilar e instalar:

#module-assistant auto-install madwifi

compilando

NOTA: si la compilacion falla hay que instalar los headers correspondientes al kernel que esten utilizando actualmente, en mi caso:

aptitude install linux-headers-2.6.26-1-686


4. cargar el modulo

modprobe ath_pci

5.mirar el nombre de la interfaz en mi caso ath0

#iwconfig

6.activar la targeta

#ifconfig ath0 up

7.ejecutar dhclient

Si siguen sin poder utilizar la red inalámbrica prueben con volver a configurarla desde el administrador de red de Gnome.


Fuente: EsDebian

4/15/2009

Configurar el Driver Grafico Intel 945GM en Lenny

Este tutorial nos permitirá tener aceleración gráfica con nuestra Placa de vido Intel 945 integrada.

Este tutorial fue escrito por Benidorm:



1º.-
Comprobamos los datos de nuestra tarjeta tecleando en una consola:
julian@debian:~$lspci -v

00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03) (prog-if 00 [VGA controller])
Subsystem: Acer Incorporated [ALI] Device 0110
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at d0300000 (32-bit, non-prefetchable) [size=512K]
I/O ports at 1800 [size=8]
Memory at c0000000 (32-bit, prefetchable) [size=256M]
Memory at d0400000 (32-bit, non-prefetchable) [size=256K]
Capabilities: [90] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
Capabilities: [d0] Power Management version 2
Kernel modules: intelfb


2º.-Como siempre nos identificamos como ROOT tecleando:
julian@lenny:~$ su
Contraseña:

3º.-Comprobamos que está presente el driver de la tarjeta en nuestro PC:
root@lenny:~# apt-cache search xserver-xorg-video-i810
xserver-xorg-video-i810 - X.Org X server -- Intel i8xx, i9xx display driver


4º.-Siendo ROOT todavía tecleamos desde la consola:

root@debian:~#apt-get install xserver-xorg-video-i810


2º.-Con el comando anterior instalamos el driver y ahora con el siguiente ,las aplicaciones para obtener la aceleración gráfica propiamente dicha:

root@debian:~#aptitude install libgl1-mesa-dri libgl1-mesa-glx mesa-utils

Después de este paso y esperando que todo salga bien, solo nos queda reiniciar el portátil y comprobar que en efecto tenemos aceleración gráfica.

Para ver que tenemos la Aceleración Gráfica, tecleamos en la Consola:

julian@lenny:~# glxinfo | grep direct
direct rendering: Yes <-- Esto es lo que nos debe salir si todo a salido Bien.


Pues ya esta, ya tenemos el Sistema Configurado para Instalar
Beryl o Compiz.


Fuente: Link


2/27/2009

Configurar Debian Lenny como iscsi initiator

Hoy en el trabajo me pidieron que configure iscsi initiator sobre Linux, como jamas había instalado ni configurado este tipo de acceso a almacenamiento remoto, comencé a buscar información por internet.
Me encontré con varios manuales, algunos en ingles otros en español, de entre ellos recolecte un poco de cada uno y realice algunas pruebas.

Al cabo de unas pocas horas ya tenia instalado, configurado y funcionando el servicio de iscsi conectado a un fas270 de Netapp (empresa que vende servidores de almacenamiento o storage)

Les dejo una guia simple para que prueben el correcto funcionamiento del servicio, por ahora la guía solo sirve para una sesión, por lo que si reinician el servidor Linux deberían volver a montar los dispositivos.

Las pruebas las realice sobre un GNU/Linux Debian Lenny virtualizado, conectado a un fas270 de Netapp.


Debian como un iSCSI Initiator
==============================


1. Instalar el software

aptitude install open-iscsi

Editar las siguientes lineas del archivo /etc/iscsi/iscsid.conf:

vim /etc/iscsi/iscsid.conf

* discovery.sendtargets.auth.authmethod = CHAP
* discovery.sendtargets.auth.username = root
* discovery.sendtargets.auth.password = password
* node.session.auth.authmethod = CHAP
* node.session.auth.username = root
* node.session.auth.password = password
* node.startup = automatic

/etc/init.d/open-iscsi restart

2.Conectar al Filer

* iscsiadm -m discovery -t st -p xxx.xxx.xxx.xxx
1.1.1.1:3260,xxx iqn.xxx-xx.com.netapp:sn.xxxxx
xxx.xxx.xxx.xxx:3260,xxxx iqn.xxxx-xx.com.netapp:sn.xxxxx

NOTA: xxx.xxx.xxx.xxx es la ip del filer


3.Abrir una sesión

* iscsiadm -m node --targetname "iqn.xxx-xx.com.netapp:sn.xxxxx"
(las comillas son parte del comando)

--portal "xxx.xxx.xxx.xxx:3260" --login


4.Crear Lun en Filer con la opcón "linux" (almenos 20 GB)

para sacar el iqn del iniciador

* debian:/mnt# iscsi-iname
iqn.2005-03.org.open-iscsi:f39913a3927a


5.Agregar Lun:

con dmesg buscamos el dispositivo:

* dmesg | grep sd

[ 7720.867414] sd 2:0:0:0: [sda] 204800 512-byte hardware sectors (105 MB)

NOTA:en mi caso es sda


5.Le damos formato a la unidad nueva:

* fdisk /dev/sda

(nos pregunta si queremos crearle la tabla de particiones, con la letra "m"

vemos los comandos q nos ofrece, elegimos "w")

6.Crear partición

* mkfs.ext3 /dev/sda (formato ext3)


7.Montar dispositivo

* mkdir /mnt/lun
* mount /dev/sda /mnt/lun

8.Verificar espacio

*df -h

9.Terminar sesión

* iscsiadm -m node --targetname "iqn.xxx-xx.com.netapp:sn.xxxxx"
--portal "192.168.0.1:3260" --logout

(las comillas son parte del comando)

10. Para eliminar una sesión

* iscsiadm -m node --targetname "iqn.xxx-xx.com.netapp:sn.xxxxx"
--portal "192.168.0.1:3260" --op=delete


Para mas información les dejo algunas páginas que me ayudaron:
Link1
Link2
Link3


saludos y espero les sirva

11/25/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


10/10/2008

Instalar Virtualbox en debian Etch

Lo primero que tenemos que hacer es agregar los repositorios de Backport.
Para eso editamos /etc/apt/sources.list y agregamos el prepositorio:

deb http://www.backports.org/debian etch-backports main contrib non-free

luego ejecutar:

apt-get install debian-backports-keyring
apt-get update

Si todo finalizo sin errores, deben instalar virtualbox:

aptitude install virtualbox-ose virtualbox-ose-source

Vistualbox necesita un modulo del kernel:

module-assistant auto-install virtualbox-ose
modprobe vboxdrv

pueden comprobar que el modulo esta levantado ejecutamos:

lsmod | grep vbox
vboxdrv 55344 0 (el numero de proceso varia por maquina)

Agregar usuarios al grupo vboxusers:

adduser vboxusers

Ejecutar modprobe cada vez que inicia la sesion:

editar /etc/rc.local agregando la siguiente linea:

modprobe vboxdrv

NOTA: ela rchivo rc.locl siempre debe finalizar con la linea exit 0



saludos

10/08/2008

Repositorios Debian

#debian oficial
deb http://ftp.es.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.es.debian.org/debian/ stable main contrib non-free


#opera
deb http://deb.opera.com/opera/ etch non-free
#gpg
wget -O - http://deb.opera.com/archive.key | apt-key add -


#backport
deb http://www.backports.org/debian etch-backports main contrib non-free
#gpg
apt-get install debian-backports-keyring


#multimedia
deb http://www.debian-multimedia.org etch main
#gpg
wget http://debian-multimedia.org/gpgkey.pub -O - | apt-key add - && apt-get install debian-multimedia-keyring



#e17 enlightenment
deb http://www.vobcopy.org/mirror/elive elive main efl elive
#gpg
gpg --keyserver hkp://wwwkeys.eu.pgp.net --recv-keys 1C79A27CD5E81909
gpg --armor --export 1C79A27CD5E81909 | apt-key add -
gpg --keyserver hkp://wwwkeys.eu.pgp.net --recv-keys 07DC563D1F41B907
gpg --armor --export 07DC563D1F41B907 | apt-key add -


Si tienen algún otro repositorio de confianza por favor dejenme un comentario.

saludos

10/03/2008

Apt-get debajo de un proxy

Para setear la variable de entorno para que apt-get pase por el proxy debemos ejecutar el siguiente comando:

export http_proxy=http://proxy:port



saludos


4/03/2008

Paginas Utiles para Debian

Debian Multimedia: Ideal para bajar w32codecs y libdvdcss2 para poder ver los dvd comerciales.

Debian Backports
: Aca van a encontrar paquetes como pidgin entre otros, pudiendo agregarlo como repositorio.

Debian Total
: manuales sobre Debian.

1/16/2008

Instalar Pidgin en Debian Etch

  1. Editar el archivo /etc/apt/sources.list agregando el repositorio de backports.org:
    deb http://www.backports.org/debian etch-backports main contrib non-free
  2. Ejecutar en una consola como root:
    apt-get update
  3. Luego ejecutar:
    apt-get install debian-backports-keyring
  4. Finalmente con este comando instalamos pidgin:
    apt-get -t etch-backports install pidgin

Fuente: El Blog se Samuel

Usuarios Online