Mostrando las entradas con la etiqueta GNU/Linux. Mostrar todas las entradas
Mostrando las entradas con la etiqueta GNU/Linux. Mostrar todas las entradas

domingo, marzo 18, 2007

Mldonkey Protocol Handler

Ps eso, Mldonkey Protocol Handler es un plugin para firefox y los que gustan de usar Mldonkey, Emule o Amule, como con todos los plugins basta con darle clic a la extensión, instalarla y reiniciar el navegador xD, después puedes ir a complementos y seleccionar el programa a usar (mldonkey,amule o emule).

Yo uso mldonkey por medio de su interfaz web (http://localhost:4080), asi que la config. ha quedado asi:

Image Hosted by ImageShack.us


Y listo!! XD, ahora al darle clic a un enlace ed2k nos aparecerá una ventanita que se a agregado el elink correspondiente :P..

Por cierto, yo estoy usando la versión 1.10 ya que la 2.0 me ha causado algunos problemas :P..

Image Hosted by ImageShack.us

Espero les sirva xD..

viernes, febrero 02, 2007

[Bluetooth] Transferencia de archivos PC/Cel.

Configuración KERNEL

A lo que vamos..

Necesitamos lo siguiente en el kernel:



CONFIG_BT=y
CONFIG_BT_L2CAP=y
CONFIG_BT_SCO=y
CONFIG_BT_RFCOMM=y
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=y
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=y

#
# Bluetooth device drivers
#
CONFIG_BT_HCIUSB=m
CONFIG_BT_HCIUSB_SCO=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIVHCI=m


Para esto vamos a modificar la imagen del kernel (pueden dejarlos cómo módulos)..

cd /usr/src/linux && make menuconfig


Networking --->
<*> Bluetooth subsystem support --->
│--- Bluetooth subsystem support
<*> L2CAP protocol support
<*> SCO links support
<*> RFCOMM protocol support
[*] RFCOMM TTY support
<*> BNEP protocol support
[*] Multicast filter support
[*] Protocol filter support
<*> HIDP protocol support
Bluetooth device drivers --->
HCI USB driver
[*] SCO (voice) support
HCI UART driver
[*] UART (H4) protocol support
[*] BCSP protocol support
HCI BCM203x USB driver
HCI BPA10x USB driver
HCI BlueFRITZ! USB driver
HCI VHCI (Virtual HCI device) driver


Generalmente todas las distros ya traén integrado el soporte para dispositivos USB (tengo un adaptador de bluetooth), asi que no meto mi cuchara en ese plato :P

Detectando el dispositivo Bluetooth

Antes de irse como locos XD a modificar el kernel, primero confirmemos si por gloria del espiritu santo nos detecta el dispositivo :lol:

Para esto, necesitamos:


[I] net-wireless/bluez-utils
Available versions: 2.22-r1 2.24 2.25-r1
Installed: 2.25-r1(09:16:26 16/01/07)(alsa cups dbus gtk -pcmcia udev)
Homepage: http://bluez.sourceforge.net/
Description: Bluetooth Tools and System Daemons for Linux


Usamos emerge para bajar sus dependencias: emrge net-wireless/bluez-utils

nota: busca el paquete correspondiente a tu distribución

Miramos si está detectado:


/etc/init.d/bluetooth



UnderHouse linux # hciconfig -a
hci0: Type: USB
BD Address: 00:13:EF:F1:42:CE ACL MTU: 120:20 SCO MTU: 0:0
UP RUNNING PSCAN ISCAN
RX bytes:345405 acl:17873 sco:0 events:16519 errors:0
TX bytes:3686709 acl:34233 sco:0 commands:30 errors:0
Features: 0xff 0xff 0x05 0x38 0x18 0x18 0x00 0x00
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: 'BlueZ (0)'
Class: 0x3e0100
Service Classes: Networking, Rendering, Capturing
Device Class: Computer, Uncategorized
HCI Ver: 1.2 (0x2) HCI Rev: 0x0 LMP Ver: 1.2 (0x2) LMP Subver: 0x757
Manufacturer: Silicon Wave (11)


Correcto :)

Configurando dispositivo

Los archivos que vamos a configurar s eencuentran en /etc/bluetooth

Les dejo mis archivos de configuración:

Archivo: hcid.conf


UnderHouse linux # more /etc/bluetooth/hcid.conf
#
# HCI daemon configuration file.
#

# HCId options
options {
# Automatically initialize new devices
autoinit yes; #Inicializa el demonio cuando es detectado el disposiivo

# Security Manager mode
# none - Security manager disabled
# auto - Use local PIN for incoming connections
# user - Always ask user for a PIN
#
security user; #Nivel de seguridad

# Pairing mode
# none - Pairing disabled
# multi - Allow pairing with already paired devices
# once - Pair once and deny successive attempts
pairing multi;

# PIN helper
pin_helper /etc/bluetooth/pin-helper; #Archivo donde se encuentra nuestro PIN por si es necesario

# D-Bus PIN helper
#dbus_pin_helper;
}

# Default settings for HCI devices
device {
# Local device name
# %d - device id
# %h - host name
name "BlueZ (%d)"; #Nombre que le daremos a nuestro pc para ser visualizada en otros dispositivos

# Local device class
class 0x3e0100;

# Default packet type
#pkt_type DH1,DM1,HV1;

# Inquiry and Page scan
iscan enable; pscan enable;

# Default link mode
# none - no specific policy
# accept - always accept incoming connections
# master - become master on incoming connections,
# deny role switch on outgoing connections
lm accept;

# Default link policy
# none - no specific policy
# rswitch - allow role switch
# hold - allow hold mode
# sniff - allow sniff mode
# park - allow park mode
lp rswitch,hold,sniff,park;

# Authentication and Encryption (Security Mode 3)
#auth enable;
#encrypt enable;
}


Archivo: pin-helper (especificado en hcid.conf)


# Este número nos servira para realizar una conexión con el celular o acoplar los dos dispositivos..
1234


Archivo : rfcomm.conf

El protocolo RFCOMM nos srive para establecer conexiones con varios dispositivos bluetooth (acoplar)..


#
# RFCOMM configuration file.
#

# Cada configuración se encontrará encerrada por llaves { }


rfcomm0 {
# Automatically bind the device at startup
bind yes; #Crea el dispositivo en /etc/rfcomm0

# Bluetooth address of the device
device 00:16:4E:C5:09:32; #MAC del dispositivo a conectar

# RFCOMM channel for the connection
channel 1; #Via que utilizaremos para la conexión (canal)

# Description of the connection
comment "Example Bluetooth device";
}


Trabajando con las heramientas de Bluez

Antes que nada debemos correr a nuestro celular y activar el soporte Bluetooth correspondiente y que sea visible para los demás dispositivos..

Buscamos dispositivos cerca:


UnderHouse linux # hcitool scan
Scanning ...
00:16:4E:C5:09:32 Nokia 6125



Información del celular:

UnderHouse linux # hcitool info 00:16:4E:C5:09:32
Requesting information ...
BD Address: 00:16:4E:C5:09:32
Device Name: Nokia 6125
LMP Version: 2.0 (0x3) LMP Subversion: 0x6cc
Manufacturer: Cambridge Silicon Radio (10)
Features: 0xbf 0xee 0x0f 0xc6 0x9a 0x39 0x00 0x00
<3-slot> <5-slot>





<3-slot>
<5-slot>




Verificamos los servicios disponibles en nuestro celular (útil para saber el nombre y número de canal que ocupan los servicios):


UnderHouse linux # sdptool browse 00:16:4E:C5:09:32

Browsing 00:16:4E:C5:09:32 ...

Service Name: Dial-up networking
Service RecHandle: 0x10020
Service Class ID List:
"Dialup Networking" (0x1103)
"Generic Networking" (0x1201)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100

Service Name: Nokia PC Suite
Service RecHandle: 0x10021
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 15
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100

Service Name: COM 1
Service RecHandle: 0x10022
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 3
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100

Service Name: Voice Gateway
Service RecHandle: 0x10023
Service Class ID List:
"Handfree Audio Gateway" (0x111f)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 13
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Handsfree" (0x111e)
Version: 0x0105

Service Name: Audio Gateway
Service RecHandle: 0x10024
Service Class ID List:
"Headset Audio Gateway" (0x1112)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 12
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Headset" (0x1108)
Version: 0x0100

Service Name: OBEX Object Push
Service RecHandle: 0x1002b
Service Class ID List:
"OBEX Object Push" (0x1105)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 9
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"OBEX Object Push" (0x1105)
Version: 0x0100

Service Name: OBEX File Transfer
Service RecHandle: 0x1002c
Service Class ID List:
"OBEX File Transfer" (0x1106)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 10
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"OBEX File Transfer" (0x1106)
Version: 0x0100

Service Name: SyncML Client
Service RecHandle: 0x1002e
Service Class ID List:
"Error: This is UUID-128" (0x00000002-0000-1000-8000-0002ee000002)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 11
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100

Service Name: SIM ACCESS
Service RecHandle: 0x1002f
Service Class ID List:
"SIM Access" (0x112d)
"Generic Telephony" (0x1204)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 4
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"SIM Access" (0x112d)
Version: 0x0101


Verifica la conexión con el dispositivo

UnderHouse linux # l2ping -i hc0 00:16:4E:C5:09:32
Ping: 00:16:4E:C5:09:32 from 00:13:EF:F1:42:CE (data size 44) ...
0 bytes from 00:16:4E:C5:09:32 id 0 time 55.88ms
0 bytes from 00:16:4E:C5:09:32 id 1 time 8.80ms
0 bytes from 00:16:4E:C5:09:32 id 2 time 8.84ms
3 sent, 3 received, 0% loss


Integración con GNOME

Paquetes necesarios:


UnderHouse linux # eix gnome-bluetooth
[I] net-wireless/gnome-bluetooth
Available versions: 0.7.0-r1 (~)0.8.0
Installed: 0.8.0(08:24:26 30/01/07)(debug)
Homepage: http://live.gnome.org/GnomeBluetooth
Description: Gnome2 Bluetooth integration suite




UnderHouse linux # eix libbtctl
[D] net-wireless/libbtctl
Available versions: 0.6.0-r1 (~)0.8.1
Installed: 0.8.2(08:38:43 30/01/07)(debug doc -mono)
Homepage: http://live.gnome.org/GnomeBluetooth
Description: A GObject wrapper for Bluetooth functionality


Con esto ya es mucho más fácil enviar y recivir archivos de la pc al celular y vicevrza..

Para pasar archivos a la pc

Ejecutamos: gnome-obex-server

Nos aparecerá un icono en la barra de notificación de GNOME, quiere decir que estamos listo para recibir archivos. Tenemos que marcar nuestros(as) imagenes/videos/música/tonos/juegos, después:
enviar > Vía Bluetooth > Seleccionamos el dispositivo Bluez 0 > Seleccionar/Aceptar/Enviar > Esperamos a que termine la barra de progreso y tendrá que aparecer una ventana de notificación como la siguiente:



Para enviar archivos

Ejecutamos: gnome-obex-send file.mp3

Aparecerá una ventana donde nos pide elegir el dispositivo a enviar, seleccionamos el nuestros y vemos la barra de progreso mienras finaliza..





Integración con NAUTILUS

Paquete necesario:


[I] gnome-extra/nautilus-sendto
Available versions: (~)0.8 (~)0.8-r1
Installed: 0.8-r1(08:44:16 30/01/07)(bluetooth debug -eds -gaim -gajim -sylpheed -thunderbird)
Homepage: http://www.gnome.org/
Description: A nautilus extension for sending files to locations


Nota: A mí me surgieron problemas usando algunas versiones de los paquetes, para que todo salga correcto tuvé que tener gnome-bluetooth-0.8.0 y libbtctl-0.8.2

Con esto el envio de archivos es mucho más fácil con ayuda del explorador de archivos, sólo damos clic derecho en el archivo que queremos enviar y confirmar el archivo a enviar y el dispositivo correspondiente.






Espero les seá de útilidad.

Referencias usadas (muchas xD): http://www.google.com.mx/linux

domingo, enero 14, 2007

Pantallazos en Gnome

A mí siempre me da el sindrome de tomar pantallas cuando hago tutoriales/howtos y similares xD, una de las grandes problemas es tener que tomarle "screenshot" a toda la pantalla y aunque en nuestro querido windows una de las primeras cosas que aprendemos es a presionar Impr Paint PetSis > Abrir Paint y ahi pegarlo/recortar lo necesario =P, no?.
Ahora en GNOME una de las grandes ventajas es disponer de gnome-screenshot (presionar Impr Paint PetSis) y nos envia una ventana como la siguiente:



Y si queremos solamente tomarle a una ventana activa? Simple, hacemos Alt + Impr Paint PetSis y obtenemos nuestro objetivo (fácil y rapido), ejemplo:




Una chorrada XD, pero muy útil para algunos de nosotros :P

lunes, diciembre 18, 2006

Funcionamiento seguro de mupen64 en gentoo

La historia es asi, después de estar divagando con varios errores he encontrado la formula mágica para que funcione mupen64 xD, también anduve viendo los mensajes en los foros y bugs sin respuesta alguna, pero bueno, primero veamos los posible errores:

Fallo en Directfb:

soullost@UnderHouse ~ $ mupen64
Removing empty directories ...
find: atención: ha especificado la opción -depth después de un argumento -type que no
es una opción, pero las opciones no son de posición (-depth afecta tanto a
las evaluaciones especificadas antes de él como a las especificadas
después). Por favor especifique las opciones antes de otros argumentos.

[glN64]: (WW) Couldn't open config file '/home/soullost/.mupen64/./plugins/glN64.conf' for reading: No existe el fichero o el directorio
rom size: 12582912 bytes (or 12 Mb or 96 Megabits)
file found
rom size: 12582912 bytes (or 12 Mb or 96 Megabits)
byteswaping rom...
rom byteswaped
rom loaded succesfully
80 37 12 40
ClockRate=f
Version:1444
CRC: 9f8926a5 587b409
name: TONY HAWK SKATEBOARD
Manufacturer: Nintendo
Cartridge_ID: 4654
European cartridge
size: 4096
PC= 80000400
md5 code:C9E9C4A18B1540C6B4111331D7C663B8
eeprom type:0
init timer!
(-) [ NO NAME 0.000] (10549) DirectFB/Config: Unable to open config file `/etc/directfbrc'!
(-) [ NO NAME 0.000] (10549) DirectFB/Config: Unable to open config file `/home/soullost/.directfbrc'!

---------------------- DirectFB v0.9.25 ---------------------
(c) 2000-2002 convergence integrated media GmbH
(c) 2002-2004 convergence GmbH
-----------------------------------------------------------

(-) [ NO NAME 0.000] (10549) DirectFB/Core: dfb_core_create...
(-) [ NO NAME 0.000] (10549) Direct/Main: direct_initialize() called...
(-) [Main Thread 0.000] (10549) Direct/Main: ...initializing now.
(-) [Main Thread 0.000] (10549) Direct/Signals: Initializing...
(*) DirectFB/Core: Single Application Core. (2006-12-09 14:58) [ DEBUG ]
(-) [Main Thread 0.000] (10549) Direct/Modules: Loading '/usr/lib/directfb-0.9.25/systems/libdirectfb_fbdev.so'...
(-) [Main Thread 0.002] (10549) Direct/Modules: Registering 'fbdev' ('/usr/lib/directfb-0.9.25/systems')
(-) [Main Thread 0.002] (10549) Direct/Modules: ...registered.
(-) [Main Thread 0.002] (10549) Direct/Modules: Loading '/usr/lib/directfb-0.9.25/systems/libdirectfb_sdl.so'...
(-) [Main Thread 0.002] (10549) Direct/Modules: Registering 'sdl' ('/usr/lib/directfb-0.9.25/systems')
(-) [Main Thread 0.002] (10549) Direct/Modules: ...registered.
(-) [Main Thread 0.002] (10549) Direct/Memcpy: Benchmarking memcpy methods (smaller is better):
(-) [Main Thread 0.020] (10549) Direct/Memcpy: libc 13580264
(-) [Main Thread 0.044] (10549) Direct/Memcpy: linux 76049688
(*) Direct/Memcpy: Using libc memcpy()
(-) [Main Thread 0.045] (10549) Direct/Main: direct_initialize() called...
(-) [Main Thread 0.045] (10549) Direct/Main: ...2 references now.
(-) [Main Thread 0.045] (10549) Direct/Signals: Adding handler 0xb74fb43c for signal -1 with context 0x9d6d510...
(-) [Main Thread 0.045] (10549) DirectFB/Core: Initializing...
(-) [Main Thread 0.045] (10549) Core/Parts: Going to initialize 'clipboard' core...
(-) [Main Thread 0.045] (10549) Core/Parts: Going to initialize 'colorhash' core...
(-) [Main Thread 0.045] (10549) Core/Parts: Going to initialize 'system' core...
(!) DirectFB/core/vt: Error opening `/dev/tty0'!
--> Permiso denegado
(!) DirectFB/Core: Could not initialize 'system' core!
--> Initialization error!
(-) [Main Thread 0.045] (10549) Core/Parts: Going to shutdown 'colorhash' core...
(-) [Main Thread 0.046] (10549) Core/Parts: Going to shutdown 'clipboard' core...
(-) [Main Thread 0.046] (10549) Direct/Main: direct_shutdown() called...
(-) [Main Thread 0.046] (10549) Direct/Main: ...1 references left.
(-) [Main Thread 0.046] (10549) Direct/Signals: Removing handler 0xb74fb43c for signal -1 with context 0x9d6d510...
(-) [Main Thread 0.046] (10549) Direct/Main: direct_shutdown() called...
(-) [Main Thread 0.046] (10549) Direct/Main: ...shutting down now.
(-) [Main Thread 0.046] (10549) Direct/Signals: Shutting down...
memory initialized
[blight's SDL input plugin]: Couldn't open blight_input.conf for reading: No existe el fichero o el directorio
[blight's SDL input plugin]: version 0.0.8-b initialized.
[glN64]: (II) Initializing SDL video subsystem...

---------------------- DirectFB v0.9.25 ---------------------
(c) 2000-2002 convergence integrated media GmbH
(c) 2002-2004 convergence GmbH
-----------------------------------------------------------

(-) [Main Thread 0.811] (10549) DirectFB/Core: dfb_core_create...
(-) [Main Thread 0.811] (10549) Direct/Main: direct_initialize() called...
(-) [Main Thread 0.812] (10549) Direct/Main: ...initializing now.
(-) [Main Thread 0.812] (10549) Direct/Signals: Initializing...
(*) DirectFB/Core: Single Application Core. (2006-12-09 14:58) [ DEBUG ]
(-) [Main Thread 0.812] (10549) Direct/Modules: Loading '/usr/lib/directfb-0.9.25/systems/libdirectfb_sdl.so'...
(-) [Main Thread 0.813] (10549) Direct/Modules: Registering 'sdl' ('/usr/lib/directfb-0.9.25/systems')
(-) [Main Thread 0.813] (10549) Direct/Memcpy: Benchmarking memcpy methods (smaller is better):
(-) [Main Thread 0.829] (10549) Direct/Memcpy: libc 12215520
(-) [Main Thread 0.833] (10549) Direct/Memcpy: linux 11744864
(*) Direct/Memcpy: Using linux kernel memcpy()
(-) [Main Thread 0.834] (10549) Direct/Main: direct_initialize() called...
(-) [Main Thread 0.850] (10549) Direct/Main: ...2 references now.
(-) [Main Thread 0.850] (10549) Direct/Signals: Adding handler 0xb74fb43c for signal -1 with context 0x9d6d510...
(-) [Main Thread 0.850] (10549) DirectFB/Core: Initializing...
(-) [Main Thread 0.850] (10549) Core/Parts: Going to initialize 'clipboard' core...
(-) [Main Thread 0.850] (10549) Core/Parts: Going to initialize 'colorhash' core...
(-) [Main Thread 0.850] (10549) Core/Parts: Going to initialize 'system' core...
(!) [Main Thread 0.850] (10549) *** Assertion [system_field == NULL] failed *** [system.c:113 in dfb_system_initialize()]
(-) [Main Thread 0.850] (10549) Direct/Assertion: Sending SIGTRAP to process group 10515...
(!) [10515: 0.850] --> Caught signal 5 (sent by pid 10515, uid 1000) <-- (-) [ NO NAME 0.850] (10515) DirectFB/Core: dfb_core_destroy... (-) [Main Thread 0.850] (10549) Direct/Assertion: ...didn't catch signal on my own, calling _exit(-1).
Solución:

USE="-directfb" emerge libsdl
Después de esa modificación se me presentaba otro error..

Fallo con libSDL:

soullost@UnderHouse ~ $ mupen64
Removing empty directories ...
find: atención: ha especificado la opción -depth después de un argumento -type que no
es una opción, pero las opciones no son de posición (-depth afecta tanto a
las evaluaciones especificadas antes de él como a las especificadas
después). Por favor especifique las opciones antes de otros argumentos.

Couldn't open directory '/home/soullost/romsN64/': No existe el fichero o el directorio
rom size: 12582912 bytes (or 12 Mb or 96 Megabits)
file found
rom size: 12582912 bytes (or 12 Mb or 96 Megabits)
byteswaping rom...
rom byteswaped
rom loaded succesfully
80 37 12 40
ClockRate=f
Version:1446
CRC: 3e5055b6 2e92da52
name: Mario Kart 64
Manufacturer: Nintendo
Cartridge_ID: 544b
Country : United States
size: 4096
PC= 80000400
md5 code:7D54D888964A3B0D058EB80886C44C88
eeprom type:0
init timer!
memory initialized
[blight's SDL input plugin]: Couldn't open blight_input.conf for reading: No existe el fichero o el directorio
[blight's SDL input plugin]: version 0.0.8-b initialized.
Initializing OpenGL Device Context
(II) Initializing SDL video subsystem...
(EE) Error initializing SDL video subsystem: Unable to open a console terminal
Signal number 11 caught:
errno = 0 (Conseguido)
Se me ocurrio empezar a jugar con los paquetes mediante las USE's y con ayuda de gentoolkit (equery) empezé a mirar los soporte de algunos paquetes, las dependencias con otros y todo marcaba que el error erá de libSDL, hasta que dí con la respuesta a todo..

Solución a todo =P :
USE="X directfb" emerge libsdl

echo "games-emulation/mupen64" >> /etc/portage/package.keywords
Y listo!!, se van los errores y ya podemos jugar en los momentos de ocio ( que ya mero terminan las clases!!)

Screenshot:

Free Image Hosting at www.ImageShack.us

viernes, noviembre 03, 2006

Detectar problemas de hardware con GNU/Linux

Desde ayer en la mañana me di la tarea de empezar a buscar si mi hardware tiene algún tipo de problema, las razones que me llevaron a esto es por que al momento de compilar con emerge me saltaban errores con paquetes que sin motivo aparente a veces compilaban e instalaban y otras no, estos errores terminan con un aviso diciendo que posiblemente se debía ha problemas de hardware o del Sistema Operativo. En fín, me puse a investigar y aqui les traigo como un resumen de lo que he hecho (a lo largo de mi aprendizaje con GNU/Linux), al último pongo las referencías correspondientes..


Problemas de Discos:

Generalmente este errores llevan consigo respuetas lentas por parte del sistema, generalmente al mover grandes cantidades de archivos ó en sistemas con algún tipo de escritorio gráfico (desktop) como puede ser KDE o GNOME..

Lo primero a verifícar es que los discos correspondiente tengan activado el DMA (Acceso Directo a Memoria), para ello existe una herramienta bastante útil llamada hdparm (dejo a un lado la forma de instalación), para mirar si esta deshabilitado el soporte a DMA y algunas otras cuestiones hacemos:

UnderHouse linux # hdparm /dev/hda

/dev/hda:
multcount = 16 (on)
IO_support = 1 (32-bit)
unmaskirq = 0 (off)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 16383/255/63, sectors = 156368016, start = 0


Como vemos, yo tengo soporte DMA en la línea "using_dma = 1 (on)" en caso de obtener un "using_dma = 0 (off)" podemos activarlo con un simple:

UnderHouse linux # hdparm -d1 /dev/hda

/dev/hda:
setting using_dma to 1 (on)
using_dma = 1 (on)


Otra cuestión importante a verificar es que nuestro disco no tenga sectores dañados o corruptos, para ello usaremos fsck y sus variantes fsck.sistema_de_archivos, por ejemplo fsck.ext3. Yo alguna vez correji errores que no me permitian inicar el sistema y en su caso usé:

UnderHouse linux # fdisk -l

Disco /dev/hda: 80.0 GB, 80060424192 bytes
255 cabezas, 63 sectores/pista, 9733 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes

Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/hda1 1 5542 44516083+ 83 Linux
/dev/hda2 8969 9733 6144862+ 83 Linux
/dev/hda3 5543 8968 27519345 f W95 Ext'd (LBA)
/dev/hda5 5543 5611 554211 82 Linux swap / Solaris
/dev/hda6 5612 8968 26965071 83 Linux

Las entradas de la tabla de particiones no están en el orden del disco

Disco /dev/hdb: 30.6 GB, 30616363008 bytes
255 cabezas, 63 sectores/pista, 3722 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes

Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/hdb1 * 819 3722 23326380 83 Linux
/dev/hdb2 1 818 6570553+ 83 Linux


fsck.ext3 -a /dev/hda6


Problemas de CPU:

Para detectar problemas de CPU (unidad central de proceso) es necesario darle un tarea que gaste al 100% el CPU para poder estar seguros que su rendimiento es el correcto, en este caso buscando en la documentación de de gentoo me encontre con un script que he modificado un poco, quedando asi:

#!/bin/bash

ver=`uname -r | cut -d '.' -f 2`

while [ "foo" = "foo" ]
do

# Paso adicional para los kernels ver. 2.4
if [ $ver -eq '4' ]
then
make dep
fi

make clean
make -j2 bzImage
if [ $? -ne 0 ]
then
echo -e "Error, asegurece de tener las fuentes del kernel o de estar en e
l directorio:\n/usr/src/linux"
exit 1
fi
done


Basta con darle permisos de ejecución y ejecutarlo:

chmod u+x testCpu.sh
./testCpu.sh


Como verán, solo se trata de un simple ciclo de la compilación del kernel, proceso que es más que suficiente para cargar el cpu repeditamente =D, este script lo deje desde mañana aproximadamente unas 5 hrs, que recompilo el kernel unas 60 veces xD y sin ningún problema..

Screenshots:





Para quienes les interese hay un programa en la referencias para armar en ensamblador con el cuál podemos hacer un poco más agresivo la carga del CPU y sacar nuestras propias conclusiones con algún tipo de programa que monitoree el uso del CPU, la temperatura, etc..

Problemas de Memoria:

Memoria de Intercambio (Swap):

Para la swap no hay otra más que reparticionar por si hay algún problema al respecto, en este caso:

swapoff /dev/hda5 # particion correspondite a la swap
mkswap /dev/hda5
swapon /dev/hda5


Si quieres asegurarse que la swap ha sido desactivada y activada puede usar después de cada paso el uso de: df -ha

Memorian RAM:

Para ello utilizares el uso de Memtest86 o Memtest86+ ( http://www.memtest86.com/ ), este programa lo he utilizado ayer en la noche antes de acostarme y me ha detectado algunos erroes de Bits Perdidos, en total unos 304 xD, en gentoo basta con instalarlo y configurar el gestor de inicio (en mi caso GRUB) y ejecutarlo desde el menu al momento de reiniciar la pc.

#Para Memtest86+
- For grub:
> title=Memtest86Plus
> root (hd0,5)
> kernel /boot/memtest86plus/memtest.bin
- For lilo:
> image = /boot/memtest86plus/memtest.bin
> label = Memtest86Plus


#Para Memtest86
- For grub:
> title=Memtest86
> root (hd0,5)
> kernel /boot/memtest86/memtest.bin
- For lilo:
> image = /boot/memtest86/memtest.bin
> label = Memtest86


Un screenshot sacado de google xD:


Asi que lo más seguro es que sea problemas con la memoria RAM y falta ver si es la de 512 MB o la de 256MB..

Espero que sea de utilidad lo poco que he escrito, saludos!!

Referencias:
http://www.gentoo.org/doc/es/articles/hardware-stability-p1.xml#badmem
http://www.google.com.mx/linux

miércoles, septiembre 20, 2006

1 año de USERS Linux GRATIS

Vaya ironías XD, hoy andaba por el cine y compre la revista de USERS Linux, tomamos un café con mi hermana, yo pedí un helado de café xD ( la verdad no recuerdo como se llama ), mientras le daba una revisadita a la revista. Llego la hora de entrar al cine, compranos un combo y un hotdog (sin comer, aunque seá el hotdog de platico sabe bueno) y entramos a ver la de la dama en el agua (algo media mafufa, pero en fín xD)..

Llegué a casa y navegaba por las páginas que comúnmente visito y da la casualidad que USERS Linux da como regalo sus publicaciones del primer año en formato PDF bajo licencía CC...

Para descargar: http://www.tectimes.com/magazines/LINUX/lnx025/cdonline/menu.htm

Bueno ahi se las dejo y que les seá de provecho, yo deseando que salga bien en el examen de Matemáticas IV XDDDDDDD =PPPPPPPPP..

sábado, agosto 19, 2006

[Howto] Soporte a escaners en GNU/Linux (Multifuncional Epson Stylus CX1500)

[Howto] Soporte a escaners en GNU/Linux (Multifuncional Epson Stylus CX1500)

Andaba como si nada navegando por google hasta que me tope con esto: http://stargeizer.blogspot.com/2006/01/epson-cx-1500-bajo-linux.html , enseguida me di la tarea de investigar si el soporte ya estaba mejor que antes, lo cuál habia un soporte clasificado como bueno y no completo, pero que funciona a las mil maravillas :D

Bueno voy a tratar de orientar a los usuarios a poder dar soporte a sus escanners así como yo lo he realizado con la multifuncional Epson Stylus CX1500 (escaner, impresora y copiadora)..

La parte del soporte para la impresora la dejo a un lado ya que no es objetivo del tema, simplemente decir que esta soportada por el paquete guteprint..


http://www.linuxprinting.org/show_printer.cgi?recnum=Epson-Stylus_CX1500

Para dar soporte a la mayoria de escaners necesitamos sane (http://www.sane-project.org/) que es una API.

Como sabes si mi escaner es soportado?

Dirígete a: http://www.sane-project.org/sane-mfgs.html
También esta la versión cvs http://www.sane-project.org/lists/sane-mfgs-cvs.html

Antes de instalar Sane

Si una vez que aseguramos que el dispositivo esta soportado, vamos a verifícar si el escaner es detectado por el kernel. En mi caso es un dispositivo conectdo por USB y el kernel no lota como impresora (será por es impresora también).

Para resumir, si tu impresora se conecta para USB tienes que tener el soporte en el Kernel, al igual forma con SCSI..

Para esto disponemos de varias herramientas como veremos en seguida:


UnderHouse # cat /proc/bus/usb/devices
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: [b]Vendor=04b8 ProdID=080c[/b] Rev= 1.00
S: Manufacturer=EPSON
S: Product=USB MFP
S: SerialNumber=N05060409192322050
C:* #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr= 2mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
I: If#= 1 Alt= 0 #EPs= 2 Cls=07(print) Sub=01 Prot=02 Driver=usblp
E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms

UnderHouse # lshal | less
udi = '/org/freedesktop/Hal/devices/usb_device_4b8_80c_N050604
09192322050_if1_printer_noserial'
info.udi = '/org/freedesktop/Hal/devices/usb_device_4b8_80c_N05060409192
322050_if1_printer_noserial' (string)
printer.description = 'EPSON Stylus CX1500' (string)
printer.product = 'Stylus CX1500' (string)
printer.vendor = 'EPSON' (string)
info.vendor = 'EPSON' (string)
linux.device_file = '/dev/usb/lp0' (string)
linux.subsystem = 'usb' (string)
linux.hotplug_type = 2 (0x2) (int)
printer.physical_device = '/org/freedesktop/Hal/devices/usb_device_4b8_80c_N05060409192322050_if1' (string)
printer.device = '/dev/usb/lp0' (string)
info.product = 'Stylus CX1500' (string)
info.capabilities = {'printer'} (string list)
info.category = 'printer' (string)
info.parent = '/org/freedesktop/Hal/devices/usb_device_4b8_80c_N05060409192322050_if1' (string) linux.sysfs_path_device = '/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-2/1-2:1.1' (string)
linux.sysfs_path = '/sys/class/usb/lp0' (string)



UnderHouse ~ # lsusb
Bus 004 Device 001: ID 0000:0000
Bus 001 Device 002: ID 04b8:080c Seiko Epson Corp.
Bus 001 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Si se fijan en lo de arriba ahora ya sabemos con exactitud el nombre del disposituvo y la ruta: /dev/usb/lp0 , además los códigos que identifican al proveedor y el ID del producto..

Instalación de Sane

Primero hay que darnos cuenta que sane maneja dos tipos de paquetes principalmente, uno es el API para los dispositivos llamado sane-backendsy otro es un par de utilerías para el usuario llamado sane-frontends.

Sane-frontends - Algunas de las herramientas que nos proporciona es:

xcam Un GUI para escanear desarrolado en GTK+ me parece.

sane-find-scanner Como su nombre lo dice, es para ver si detecta el escaner, pero como ya vimos que si está soportado no lo considero muy importante. Un ejemplo:


UnderHouse # sane-find-scanner

# sane-find-scanner will now attempt to detect your scanner. If the
# result is different from what you expected, first make sure your
# scanner is powered up and properly connected to your computer.

# No SCSI scanners found. If you expected something different, make sure that
# you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (UNKNOWN vendor and product) at device /dev/usbscanner
found USB scanner (vendor=0x0ac8 [V Micro. Corp.], product=0x0302 [PC Camera]) at libusb:001:003
found USB scanner (vendor=0x04b8 [EPSON], product=0x080c [USB MFP]) at libusb:001:002
# Your USB scanner was (probably) detected. It may or may not be supported by
# SANE. Try scanimage -L and read the backend's manpage.
# `UNKNOWN vendor and product' means that there seems to be a scanner at this
# device file but the vendor and product ids couldn't be identified.
# Currently identification only works with Linux versions >= 2.4.8. You may
# need to configure your backend manually, see the backend's manpage.

# Not checking for parallel port scanners.

# Most Scanners connected to the parallel port or other proprietary ports
# can't be detected by this program.


Más información: man sane-find-scanner

scanadf Esta es una que me ha gustado xD, no es necesario ajustar absolutamente nada, solo la ejecutas y te escanea la imagen y la coloca en tu home de tu usuario (Asi de simple, asi de sencillo :P)

Sobre sane-frontends: http://www.sane-project.org/sane-frontends.html


Instalando bajo las fuentes: Baja el paquete en el formato que más te convenga de aquí http://www.sane-project.org/source.html

La instalación de fuentes es normalmente como siempre..

Si tu dispositivo tiene soporte en la versión en desarrollo, tienes las instrucciones para CVS: http://www.sane-project.org/cvs.html

Instalando en gentoo:


# echo "media-gfx/sane-backends ~x86" >> /etc/portage/package.keywords

# echo "media-gfx/sane-frontends ~x86" >> /etc/portage/package.keywords

# echo "media-gfx/sane-frontends gimp" >> /etc/portage/package.use

# emerge sane-backends sane-frontends

Configurando dispositivo scanner:

Kerel >= 2.6.3 + Hotplug

Debemos verificar que el scanner este en la lista de sane, debemos buscar con el código del ID del producto que obtuvimos al inicio


UnderHouse ~ # grep 080c /etc/hotplug/usb/libsane.usermap
libusbscanner 0x0003 0x04b8 0x080c 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000



Ahora nos dirigimos a /etc/sane.d/ donde buscaremos el fabricante de nuestro escaner y es el que contendra la configuración del dispositivo

# epson.conf
#
# here are some examples for how to configure the EPSON backend
#
# SCSI scanner:
scsi EPSON
# for the GT-6500:
scsi "EPSON SC"
#
# Parallel port scanner:
#pio 0x278
#pio 0x378
#pio 0x3BC
#
# USB scanner:
# There are two different methods of configuring a USB scanner: libusb and the kernel module
# For any system with libusb support (which is pretty much any recent Linux distribution) the
# following line is sufficient. This however assumes that the connected scanner
(or to be more
# accurate, it's device ID) is known to the backend.

## Especificamos el id del producto y del dispositivo

usb 04b8 080c

# For libusb support for unknown scanners use the following command
# usb
# e.g.:
# usb 0x4b8 0x110
# And for the scanner module, use the following configuration:
usb /dev/usbscanner0
usb /dev/usb/scanner0


Ya solo falta agregar nuestro usuario al grupo scanner


UnderHouse ~ # gpasswd -a soullost scanner
Añadiendo al usuario soullost al grupo scanner


En gentoo hay que modificar el archivo /etc/hotplug/usb/libusbscanner, quedando de esta manera:

#!/bin/sh

# This file is part of sane-backends.
#
# This script changes the permissions and ownership of a USB device under
# /proc/bus/usb to grant access to this device to users in the scanner group.
#
# Ownership is set to root:scanner, permissions are set to 0660.
#
# Arguments :
# -----------
# ACTION=[add|remove]
# DEVICE=/proc/bus/usb/BBB/DDD
# TYPE=usb


if [ -z "$DEVICE" ] ; then
IF=$(echo $DEVPATH | sed 's:\(bus/usb/devices/\)\(.*\)-\(.*\):\2:')
DEV=$(echo $DEVPATH | sed 's:\(bus/usb/devices/\)\(.*\)-\(.*\):\3:')
DEV=$(expr $DEV + 1)
DEVICE=$(printf '/proc/bus/usb/%.03d/%.03d' $IF $DEV)
fi

if [ "$ACTION" = "add" -a "$TYPE" = "usb" ]; then
chown root:scanner "$DEVICE"
chmod 0660 "$DEVICE"
fi


# That's an insecure but simple alternative
# Everyone has access to the scanner

# if [ "$ACTION" = "add" -a "$TYPE" = "usb" ]; then
# chmod 0666 "$DEVICE"
# fi


Si tienes el demonio hotplug iniciado, habrá que reiniciarlo

service hotplug restart
/etc/init.d/hotplug restart

Y listo! ya puedes verificar con las herramientas de sane-forntends que todo este funcionando como debe de ser..

Más programas para escanear

- Xsane Este GUI de sane es lo mejor que hay, es bastante configurable y además permite la edición de las imagenes..


UnderHouse ~ # eix xsane
* media-gfx/xsane
Available versions: 0.991
Installed: 0.991
Homepage: http://www.xsane.org/
Description: graphical scanning frontend

Free Image Hosting at www.ImageShack.us

Free Image Hosting at www.ImageShack.us

- Xcam ( sane-frontends) No me gusto tanto como xsane, además al escanear, la aplicación se deforma por que la imagen es demasiado grande :lol:

Free Image Hosting at www.ImageShack.us

- Integración en Gimp

Free Image Hosting at www.ImageShack.us

- Integración en OpenOffice

Free Image Hosting at www.ImageShack.us

Mucha más información en:

SANE - Frontends (Applications) - http://www.sane-project.org/sane-frontends.html
The Scanner HOWTO - http://tldp.org/HOWTO/Scanner-HOWTO/index.html

Saludos!!

sáb 19 ago 2006 11:25:10 MDT

sábado, agosto 12, 2006

[Howto] Administración de Gentoo GNU/Linux

Introducción . Como ya he visto a varios usuarios usando Gentoo como distribución preferida, me pongo a redactar este pequeño articulo de cómo administrarlo con las herramientas y las configuraciones que nos ofrece esta excelente distribución a mi parecer. Por consiguiente, algunas recomendaciones son las que aconstumbro hacer y no están sujetas como obligatorias..

El archivo make.conf

Este archivo contiene toda las información necesaria para que emerge y portage hagan su labor debidamente. Ahora veamos la estructura de una configuración común de make.conf ( osea, la mia xD):


UnderHouse ~ # more /etc/make.conf
# These settings were set by the catalyst build script that automatically built
this stage
# Please consult /etc/make.conf.example for a more detailed example

CFLAGS="-O2 -march=pentium4 -pipe"
##-fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
USE="browserplugin nvidia nomalloccheck utf8 apache2 php imap
unicode gtk gpm directfbi foomaticdb nls spell -3dfx -aim alsa
-arts cdr -cjk debug doc -dedicate dga directfb encode fdftk flash
gnome -hardened -icq -jabber java -kde -qt -mmx mpeg msn nls opengl
oss samba svga usb xmms -yahoo nptl aac aalib -acpi apm cups dri fam
fbcon gphoto2 gstreamer hal mp3 -mozilla firefox esd sdl usb"
GENTOO_MIRRORS="http://linuv.uv.es/mirror/gentoo"
AUTOCLEAN="yes"
LINGUAS='es'
CONFIG_PROTECT_MASK="/usr/X11R6/bin/startx"
MAKEOPTS="-j2"
#PORTDIR_OVERLAY=/usr/local/portage
PORTDIR_OVERLAY="/usr/local/portage/xgl-coffee"
FEATURES="parallel-fetch"
INPUT_DEVICES="evdev keyboard mouse"
VIDEO_CARDS="nvidia fbded nv none vesa"
PORTAGE_ELOG_CLASSES="log error warn info"
PORTAGE_ELOG_SYSTEM="save"


CFLAGS: Esta variable contiene las opciones que usa el compilador (gcc) para compilar los paquetes para instalar/reinstalar. Por ejemplo yo tengo estas opciones:
-O2 Es el tipo de optimización
-march=pentium4 Es la arquitectura de mi sistemam, que es com ha visto un pentium 4
-pipe Usa tuberias para la compilación..

Generalmente se recomienda las opciones que generen una optimización segura y efectiva ( si estas opciones son muy agresivas los paquetes pueden llegar a tener errores ). Ahora la pregunta obligatoria, ¿Qué opciones uso para mi sistema?. Bueno hay una lista recomendada en la siguiente dirección: http://gentoo-wiki.com/Safe_Cflags

CHOST: Simplemente es el tipo de arquitectura que uses..

CXXFLAGS: Otra variable más para el compilador, generalmente toma las mismas definidas anteriormente en CFLAGS

USE: Esta es una de las variables que más me gustan :D. El concepto es simple, los paquetes disponen de ciertos soportes, pero que soportes? mirar: http://www.gentoo-portage.com/USE || less /usr/portage/profiles/use.desc

Por ejemplo, para que mis paquetes puedan integrarse al gnome uso la use "gnome" xD, si quiero que mis paquetes tenga soporte para varios idiomas uso la use "nls". Asi mismo para dar soporte escribimos la use tal y cual es, para quitarselo antepnemos un signo menos "-" antes del nombre..

Nota importante: Las USE's definidas en make.conf serán las usadas siempre, osea, emerge al instalar/actualizar el sistema siempre usará los soporte definidos por esta variable, por esos es importante colocar los soportes que queremos que "siempre" tengan nuestros paquetes..

GENTOO_MIRRORS: Simplemente el mirror que usará gentoo para actualizar la BD de portage

AUTOCLEAN="yes" Significa que los paquetes descargados (/usr/portage/distfiles) serán borrados después de un tiempo (no recuerdo bien el lapso, pero creo es cada mes o algo similar)..

LINGUAS='es': Algunos paquetes usan esta variable para dar soporte a ciertos idiomas incluyendo el español :P

CONFIG_PROTECT_MASK: Especifíca que archivos no seran modificados por emerge..

MAKEOPTS: Determina las compilaciones paralelas definidas por la cantidad de CPUS que tengas, en este caso como yo tengo solo un CPU le sumo uno "-j2", en caso de tener un CPU de doble nucleo ponemos "-j3"..

PORTDIR_OVERLAY: Es un directorio opcional para que emerge lo tenga en cuenta para paquetes definidos por los usuarios (ebuilds creados por nosotros, ebuils creados por desarroladores que no son del equipo de gentoo, etc..). Muy útil para pruebas y para agregar nuestros propios paquetes que no se encuentren en la BD de portage.

FEATURES="parallel-fetch": Esta opción habilita el poder bajar paquetes mientras a su vez se compola otro, útil al momento de actualizar todo el sistema..

INPUT_DEVICES: Esta variable la he puesto por el cambio a xorg-7.x, simplemente poner los dispositivos para los que queremos soporte. La lista es:


INPUT_DEVICES="evdev keyboard mouse -acecad -aiptek -calcomp -citron -digitaledge -dmc
-dynapro -elo2300 -elographics -fpit -hyperpen -jamstudio -joystick -magellan -magictouch
-microtouch -mutouch -palmax -penmount -spaceorb -summa -synaptics -tek4957 -ur98 -vmmouse
-void -wacom"


VIDEO_CARDS: Lo mismo que lo anterior pero ahora para el soporte de las tarjetas gráficas que queremos tener disponibles. La lista:


VIDEO_CARDS="nv nvidia vesa -apm -ark -chips -cirrus -cyrix -dummy -fbdev
-fglrx -glint -i128 -i740 -i810 -imstt -mach64 -mga -neomagic -nsc -r128
-radeon -rendition -s3 -s3virge -savage -siliconmotion -sis -sisusb -tdfx
-tga -trident -tseng -v4l -vga -via -vmware -voodoo"


PORTAGE_ELOG_CLASSES: Integra la herramienta elog para emegerge ( a partir de la versión 2.1 de portage :P ), esta herramienta es de uso obigatorio, cuantas veces nos hemos dado cuenta que al emergear un paquete nos coloca aviso del tipo:


~/.wine/config is now deprecated. For configuration either use
winecfg or regedit HKCU\Software\Wine


Todos estos avisos están puestos para los usuarios, habilitando elog no se nos escapará ni uno solo :D

También bastante útil para los foros y cuando tengas errores..


PORTAGE_ELOG_SYSTEM: Decide donde arrojar estos logs, en mi caso le ponga "save" para que los errores los coloque en /var/log/portage/elog/paquete-x.x.x.

Bueno ya terminamos uno de los archivos más importantes en Gentoo :P

El archivo /etc/portage/package.use

Este archivo de configuración contiene las use que solo queremos para ciertos paquetes en especial..

Por ejemplo en un paquete quiero tener soporte X y en otros no, aqui podemos des/habilitar estas opciones por paquete..


echo "categoria/paquete -X +alsa -oss" >> /etc/portage/package.use


Les muestro un pedazo de mi archivo:


soullost@UnderHouse ~ $ head /etc/portage/package.use
sys-devel/gcc hardened
dev-lang/python -X
net-misc/openssh chroot
net-fs/samba -python
x11-base/xorg-x11 dlloader
app-editors/vim bash-completion vim-with-x
app-editors/vim-core bash-completion
www-client/mozilla crypt debug gnome ipv6 java mozcalendar
mozdevelop -moznocompose -moznoirc -moznomail -moznoxft mozsvg
-postgres ssl truetype -xinerama -xprint
media-video/totem xine
media-libs/xine-lib -X dvd imagemagick vcd vidix win32codecs ffmpeg


El archivo /etc/portage/package.keywords

Si tenemos una rama estable :P, aqui coloquemos todo esos paquetes que por alguna razón preferimos tener los paquetes más recientes en portage..


echo "categoria/paquete ~x86" >> /etc/portage/package.keywords


Les muestro un pedazo de mi archivo:

soullost@UnderHouse ~ $ head /etc/portage/package.keywords
net-im/amsn ~x86
app-emulation/kqemu ~x86
app-emulation/qemu-softmmu ~x86
app-emulation/qemu ~x86
app-emulation/qemu-user ~x86
media-gfx/gimp-print ~x86
net-print/foomatic ~x86
net-print/foomatic-db ~x86
net-print/foomatic-db-engine ~x86
net-print/foomatic-filters ~x86


También podemos escoger versiones de paquetes con los operadores >=. <=, = ..


echo ">=categoria/paquete-version ~x86" >> /etc/portage/package.keywords


El archivo /etc/portage/package.unmask

Contiene todos los paquetes que queremos tener disponibles pero marcados como masked por los desarrolladores de gentoo.


echo "categoria/paquete" >> /etc/portage/package.unmask


El archivo /etc/portage/package.mask

Contiene todos los paquetes que "nosotros" queremos enmascarar para de ninguna forma poder emergearlos


echo "categoria/paquete" >> /etc/portage/package.mask


Buscando paquetes

Yo regularmente uso eix para tal motivo :P


emerge eix


Uso:
eix paquete


Instalando paquetes

Mi procedimiento:

Primero miramos las dependencias de los paquetes y las uses por defecto:


emerge -pv paquete


Si es necesario agrego las uses a package.use, si hay dependencias de paquetes inestables o quiero alguna versión en especial al archivo package.keywords..

Ahora descargo/compilo e instalo:


emerge paquete


Otras formas de instalando paquetes

Podemos saltarnos la parte de agregar paquetes a los archivos package.use, package.keyword, emergeando de las siguientes formas respectivamentes:

USE="gnome -kde" emerge paquete



ACCEPT_KEYWORDS="~x86" emerge paquete



emerge =categoria/paquete-version


Tengan en claro que esta formas son correctas pero que al actualizar el sistema estas no son tomadas, por ejemplo, si instalo un paquete inestable al momento de actualizar todo el sistema, emerge me va a instalar la versión estable del paquete. Lo mismo pasa con las uses, cuando actualize el sistema o reemergee sin especificar nada tomará las uses por defecto en make.conf

Desinstalando paquetes


emerge -C paquete ## -C desinstalar
emerge depclean ## Elimina dependencias rotas
revdep-rebuild ## Arregla librerias rotas


Cuidado con usar depclean, antes de desinstalar dependencias "según inservibles" te manda un listado, verifica que no este ningún paquete importante que puedan corromper el sistema..

Ver dependencias de paquetes

Hay muchas herramientas disponibles en el paquete gentookit, una de ellas es el poder ver las dependencias de las que depende un paquete, por ejemplo para el apache:


UnderHouse ~ # equery depends apache
[ Searching for packages depending on apache... ]
dev-util/subversion-1.3.2-r1
dev-lang/php-5.1.4-r4


Útil al momento de desinstalar paquetes

Nota: Solo disponible para paquetes ya instalados en el sistema :P

Para mirar todos los archivos que componen el paquete apache:


UnderHouse ~ # equery files apache

/usr/share/man/man8
/usr/share/man/man8/ab2.8.gz
/usr/share/man/man8/apache2.8.gz
/usr/share/man/man8/apache2ctl.8.gz
/usr/share/man/man8/apxs2.8.gz
/usr/share/man/man8/logresolve2.8.gz
/usr/share/man/man8/rotatelogs2.8.gz
/usr/share/man/man8/suexec2.8.gz
/var
/var/cache
/var/cache/apache2
/var/cache/apache2/.keep
/var/lib
/var/lib/dav
/var/lib/dav/.keep
/var/log
/var/log/apache2
/var/log/apache2/.keep
/var/www


Más usos de equery:

Usage: equery <global-opts> command <local-opts>
where <global-opts> is one of
-q, --quiet - minimal output
-C, --nocolor - turn off colours
-h, --help - this help screen
-V, --version - display version info
-N, --no-pipe - turn off pipe detection
where command(short) is one of
belongs(b) <local-opts> files... - list all packages owning files...
changes(c) - not implemented yet
check(k) pkgspec - check MD5sums and timestamps of pkgspec's files
depends(d) <local-opts> pkgspec - list all direct dependencies matching pkgspec
depgraph(g) <local-opts> pkgspec - display a dependency tree for pkgspec
files(f) <local-opts> pkgspec - list files owned by pkgspec
glsa(a) - not implemented yet
hasuse(h) <local-opts> useflag - list all packages with useflag
list(l) <local-opts> pkgspec - list all packages matching pkgspec
size(s) <local-opts> pkgspec - print size of files contained in package pkgspec stats(t)
- not implemented yet
uses(u) <local-opts> pkgspec - display USE flags for pkgspec
which(w) pkgspec - print full path to ebuild for package pkgspec


Actualizando todo el sistema

La manera más recomendable es hacerlo de la siguiente forma:

emerge --sync
emerge -uDav --newuse world

Opciones:

-u Actualizar
-D Actualiza dependencias
-av Pregunta antes de actualizar e información extra
--newuse Verifica si hay uses nuevas y si las tenemos especificadas las toma en cuenta..
world XDDDDDDDDD :P

Archivos de configuración nuevos

Cada vez que actualizamos servicios posiblemente nos tire un mensaje que necesitams ejecutar etc-update para actualizar archivos de configuración. Algo similar a esto:


Por favor, seleccione el fichero a editar introduciendo el número correspondiente.
(-1 para salir) (-3 para auto-combinar todos los ficheros restantes)
(-5 para auto-combinar SIN usar 'mv -i'):


Yo siempre recomiendo ver primero los archivos, una vez que te muestros los archivos y las lineas agregadas (++) o quitadas (--) puede decirir si dejarlo como estaba o poner la nueva configuración. Las opciones son:


1) Reemplazar el original con la actualización
2) Borrar la actualización, manteniendo el original inalterado
3) Combinar interactivamente el original y la actualización
4) Mostrar de nuevo las diferencias


Servicos/Demonios

Nomenclatura:

Runlevels: boot default
[] - Opcional
< > - Obligatorio


Para mirar los servicios encendidos:

rc-update -s

Para mirar todos los servicios disponibles:

rc-update -s -v [runlevel]

Para buscar un servicio

rc-update -s -v [runlevel] | grep <servicio>

Para agregar un servicio al inicio del sistema

rc-update add <servicio> <runlevel>

Para quitar un servicio del sistema

rc-update del <servicio> <runlevel>

[b]Script para el clásico: service <servicio> <acción>[/b]


#!/bin/bash

/etc/init.d/$1 $2


Ahora ya podemos usar: service apache start

En lugar de: /etc/init.d/<servicio> start


Archivos de configuración de Servicios

Los archivos de configuración de los demonios del sistema se encuentra en /etc/conf.d/

Perfiles/Actualización de Gcc, Python, Java y Similares

Nomenclatura:

* - En uso

Todos estos paquetes tiene una herramienta para poder usar alguna versión en especifico. Por ejemplo, con gcc podemos ver los perfiles disponibles con: gcc-config -l


[1] i686-pc-linux-gnu-3.3.6
[2] i686-pc-linux-gnu-3.3.6-hardenednopie
[3] i686-pc-linux-gnu-3.3.6-hardenednopiessp
[4] i686-pc-linux-gnu-3.3.6-hardenednossp
[5] i686-pc-linux-gnu-3.3.6-vanilla
[6] i686-pc-linux-gnu-3.4.6
[7] i686-pc-linux-gnu-3.4.6-hardenednopie
[8] i686-pc-linux-gnu-3.4.6-hardenednopiessp
[9] i686-pc-linux-gnu-3.4.6-hardenednossp
[10] i686-pc-linux-gnu-3.4.6-vanilla *


Para usar alguna versión especifico necesitamos seleccionarlo de la siguiente manera:

gcc-config <num de perfil> && source /etc/profile

Para java:

java-config -L ## Para mirar las maquinas virtuales disponibles y la que usamos actualmente


[sun-jdk-1.4.2.10] "Sun JDK 1.4.2.10" (/etc/env.d/java/20sun-jdk-1.4.2.10) *
[blackdown-jdk-1.4.2.03] "Blackdown JDK 1.4.2.03" (/etc/env.d/java/20blackdown-jdk-1.4.2.03)


Para cambiar de versión:

java-config -S argument --set-system-vm=blackdown-jdk-1.4.2.03

Ahora para python tenemos: python-updater y python-config

Variables de entorno (PATH)

Estas configuraciones las encontramos en /etc/env.d
Una pequeña descripción de las variables:

PATH Esta variable contiene una lista de directorios separados
por ":" en la cual el sistema buscará los archivos ejecutables.
Al introducir el nombre de un ejecutable (como ls, rc-update o emerge) que no
se encuentre en un de los directorios listados, el sistema no lo encontrará,
(a menos que se introduzca la ruta completa, por ejemplo: /bin/ls).
ROOTPATH Esta variable tiene la misma función que PATH, pero únicamente
contiene los directorios que el sistema debe revisar cuando el usuario root
introduce un comando.
LDPATH Esta variable contiene una lista de directorios separados por
":" en la cual el enlazador dinámico busca para encontrar una librería.
MANPATH Esta variable contiene una lista de directorios separados por
":" en la cual el comando man busca las páginas de manual.
INFODIR Esta variable contiene una lista de directorios separados por
":" en la cual el comando info busca las páginas info.
PAGER Esta variable contiene la ruta hacia el programa utilizado para
mostrar el contenido de los ficheros (como less o more).
EDITOR Esta variable contiene la ruta hacia el programa utilizado para
modificar el contenido de los archivos (como nano o vi).
KDEDIRS Esta variable contiene una lista de directorios separados por
":" los cuales contienen material específico de KDE.
CLASSPATH Esta variable contiene una lista de directorios separados por
":" los cuales contienen las clases de Java.
CONFIG_PROTECT Esta variable una lista de directorios separados por espacio
los cuales deben ser protegidos por Portage durante las actualizaciones.
CONFIG_PROTECT_MASK Esta variable una lista de directorios separados
por espacio los cuales no deben ser protegidos por Portage durante las actualizaciones.


Cada vez que actualizemos estas variables es importante hacer: env-update

Problemas compilando

Mirar: http://www.gentoo-es.org/node/363

Nota: Si utilizan el perfil de gcc realizado por gentoo, siempre traten rebajando la versión o utilizando el perfil por default titulado como vanilla..

Bugs de gentoo para reportar y revisar: http://bugs.gentoo.org && http://bugs.gentoo.org/query.cgi

Links que considero importantes

Foros en español: http://forums.gentoo.org/viewforum.php?f=30
Repositorio web de gentoo: http://packages.gentoo.org/
Recursos de documentación: http://www.gentoo.org/doc/es/list.xml
Gentoo Wiki: http://gentoo-wiki.com/Main_Page
Gentoo y portatiles Toshiba: http://web.gentrinoo.org/
Boletín Semana de Gentoo en español: http://www.gentoo.org/news/es/gwn/gwn.xml
Gentoo español: http://www.gentoo-es.org/

powered by performancing firefox

domingo, junio 25, 2006

Google Earth en GNU/Linux

Hacer un par de días le estaba echando el ojo a Google Earth v.4 beta desde mi gentoo =) y va bastante bien..

Para poder descargarlo basta con bajar el paquete googleearth (paquete que ahora mismo sale en la rama inestable) de la siguiente manera:

# echo "x11-misc/googleearth ~x86" >> /etc/portage/package.keywords

Después a emergiarlo

# emerge googleearth


Y es todo =), la navegación es bastante simple y esta en español.Además permite obtener capturas y si tienes una buena tarjeta gráfica la panorama será bastante mejor =).
Yo miré mi ciudad y encontre algunos sitios interesantes...

Mi ciudad
Free Image Hosting at www.ImageShack.us

Por una de estas curvas es donde vivo (la panora desde arriba es diferente, solo reconocí el lugar por la entrada al maxitunel xD)
Free Image Hosting at www.ImageShack.us

Los campos donde realizan algunos partidos de football (mejor conocido como la máquina xD)
Free Image Hosting at www.ImageShack.us

La univerdad ( Instituto Tecnológico de Acapulco :P )
Free Image Hosting at www.ImageShack.us

Ahora mi rumbo será hasta Alemania donde se juega el mundial XDDDDD

Descarga Google Earth (recuerdo que algunas distros ya habian agregado dicho paquete disponible para ubuntu, fedora y gentoo)..

viernes, junio 09, 2006

Soporte Webcams en GNU/Linux

¿Quién dice que no puedes charlar en messenger con webcam o similares?

Esto falso desde hace tiempo :D..

Hace un par de días compré dos camaras web con las siguientes características:

Creative Wecam Instant $375


* Sensor CMOS 352 x 288 (CIF)
* Captura de vídeo de hasta 352 x 288
* Captura de imágenes fijas a 640 x 480 (software mejorado)
* Botón de instantáneas
* Conexión USB 1.1
* Una base flexible de tres patas se coloca sobre una superficie
plana y se fija a un panel plano o a la pantalla de un portátil
* Compatible con Yahoo!® Messenger, AIM, MSN® Messenger,
Windows® Messenger y otras aplicaciones de mensajería instantánea


Samsung Webcam Pleomax $649


# 300k píxeles, color VGA (640 x 480) sensor CMOS
# Micrófono incorporado
# Compatible con archivos MPEG
# No necesita ninguna tarjeta de captura ni adaptador.
# Soporta aplicaciones de video conferencia tipo
Yahoo, Messenger, NetMeeting...
# Plug and Play.
# Disponible en color blanco y negro
# Windows 98/ME/NT/2000/XP
# Puerto USB


Para darle soporte en nuestro Linux necesitamos instalar el driver Spca5xx, con este driver trabajan las dos camaras web..

Antes de instalar debemos asegurarnos de tener la siguiente opción habilitada en el kernel o levantar el módulo vdeodev:

Device Drivers --->
Multimedia devices --->
Video For Linux


Tambíen asegurarse que la versión de gcc que usen seá la misma con la que fue compilado el kernel ( mirar en /proc/version)..

Código Fuente

wget http://mxhaard.free.fr/spca50x/Download/spca5xx-20060501.tar.gz
tar -xvzf spca5xx-20060501.tar.gz
cd spca5xx-20060501
make clean
make
su -c "make install"
modprobe spca5xx


Mi querido Gentoo xD

emerge --sync
emerge spca5xx


Debian y similares

apt-get install spca5xx-source



Paquetes para otras distribuciones

http://mxhaard.free.fr/download.html


Levantar el módulo con modprobe y agregar ese mismo módulo para que inicie desde el arranque del sistema de tu distribución preferida =)
Ya sólo falta colocar nuestra webcam al puerto USB y listo XD

Para tomar fotografías pueden usar camorama de gnome.

* media-video/camorama
Available versions: 0.16 0.17
Installed: 0.17
Homepage: http://camorama.fixedgear.org/
Description: A GNOME 2 Webcam application featuring various image filters.


Found 1 matches

Videoconferencias

* net-im/gnomemeeting
Available versions: 0.98.0 0.98.5 0.98.5-r1 1.00 1.0.2
1.0.2-r1 1.2.1 1.2.2
Installed: 1.2.2
Homepage: http://www.gnomemeeting.org/
Description: H.323 videoconferencing and VoIP softphone


Found 1 matches


Un ejemplo de fotografía de la segunda camara (tienes mucha mejor calidad que la primera)..
Free Image Hosting at www.ImageShack.us
Free Image Hosting at www.ImageShack.us

Usar el messenger con webcam

Mas sencillo, sólo hay que bajarse la última versión del amsn y después enviar una invitación para que tus contactos puedan ver la webcam:

* net-im/amsn
Available versions: 0.94 0.95-r2
Installed: 0.95-r2
Homepage: http://amsn.sourceforge.net
Description: Alvaro's Messenger client for MSN


Ha por cierto, olvidaba xD, hay que abrir el siguiente rango de puertos en tu router o firewall:

Application: aMSN
Start: 6890
End: 6900
Protocol: Both(TCP & UDP)
IP: xxx.xxx.x.xxx
Enabled: X (Yes/True)


Además pueden configurar el contraste, brillo, etc, en el amsn desde Acciones > Configurar Webcam

Bastante sencillo no? =)

Saludos!!

sábado, junio 03, 2006

Juegos en Linux - Live CD

Free Image Hosting at www.ImageShack.us

Hace un par de semanas andaba por el cine y miré donde venden revistas para mirar si estaban las que aconstumbro comprar:

Linux+
Mundo Linux
Todo Linux
@rroba

Entre algunas otras XD..

El caso es que esta revista contenía un dvd con una live CD llamado Linux Live Games. EL liveCD esta bastante bien y les recoemiendo que lo prueban, a pesar de ser una distro que se carga en memoria va super fluido.

Mi PC tiene una tarjeta Intelv450 integrada a la tarjeta madre y corre bien la mayoría de los juegos. Si tienes una tarjeta Nvidea o ATI te va ir de perlas :D por que detecta automaticamente el chipset y carga lo necesario con soporte DRI para jugar juegos en 3D..

Algunos juegos que probe y que me gustaron:

SIN ACELERACIÖN DRI:

Silbo ( ajedrez)
Danican
LinCity ( similar a simcity)
FreeDom ( similar a Doom)
Batle for Wesnoth ( similar a zelda)

CO ACELERACIÓN DRI:
Uto 2004
Americas Army
Nexvoz
Tigger

Bueno para ver una lista completa de los juegos chequen la siguiente url: Lista de Juegos

Para descargar: Descarga

Bueno espero les gute, saludos!! :D

sábado, mayo 20, 2006

Windows :¿Y Windows le ganó a Linux?



Reflexionamos acerca de por qué Windows continúa siendo el sistema operativo elegido por la mayoría de los usuarios a pesar de las ventajas de Linux.

Después de las declaraciones del presidente de RedHat Linux, Matthew Szulik donde afirma que aunque Linux es capaz de exceder las expectativas de los usuarios corporativos pero a los consumidores domésticos aún les viene ‘grande’, deja al descubierto la tarea pendiente del sistema del Pingüino con el usuario común.

A manera de relato... Juan ha trabajado toda su vida con Windows, conoce y maneja a la perfección las tareas más comunes dentro del sistema operativo y algunas consideras complejas, se siente orgulloso de sus conocimientos. Juan esta siempre dispuesto a ampliar sus horizontes, se entera de la existencia de Linux, ha oído de sus bondades tales como estabilidad, velocidad, funcionalidad y precio. Juan se encuentra sorprendido de que Linux ha estado ahí desde hace tanto tiempo. Ahora desea con anisa probarlo, ‘instalará Linux en su PC’.



Juan comienza a conocer los tópicos generales del tema, toda su atención se centra en Linux, la historia del sistema, comienza a manejar términos como: GPL, kernel, Distro, Xfree86, GNU, sabe que es mucha información por tal motivo comienza a confundirse, pero confía que sus habilidades computacionales le permitirán realizar esta ‘faena’ sin mayores contratiempos.

Algún tiempo después

Juan comprende vagamente el entorno que rodea Linux, ahora se pregunta ¿que Linux instalar?, Redhat, Debian, Mandrake, SuSE, Lindows, etc., La competencia es atroz aún en Linux, Juan recurre a la Internet en busca de respuestas sobre que distribución elegir, encuentra abundante información respecto el tema, pero lamentablemente la gran mayoría de la información publicada en comunidades y sitios especializados es confusa y muy abstracta, se decide por la ‘segura’ opta por la distribución más popular, RedHat.

La instalación

Juan consigue los Cds del Sistema Operativo Linux RedHat, procede a instalar RedHat en su PC con Windows, comienza a instalar Redhat, todo va de maravilla, pero…. Juan aún no lo sabe pero ha cometido un error producto de su impericia configurando mal el gestor de arranque, de esta manera ha inhabilitado a su sistema para iniciar de forma regular Windows. Ha concluido satisfactoriamente la instalación. Reinicia su PC, accede a Linux, establece las configuraciones primarias, comienza a examinar Linux, inspecciona detalladamente el entorno, pero Juan sigue esperando algo más.

El uso formal

Juan vuelve a encender su equipo y trata de ingresar a su sistema Windows pero su error durante la instalación le imposibilita ingresar, después de analizar el entorno y las alternativas entiende lo que ha pasado, sus conocimientos no le bastan, pide ayuda en las comunidades Linux, pero resulta inútil, no logra comprender en su totalidad las respuestas de los iniciados en el sistema. Después de algún tiempo Juan soluciona su problema pero siente desconfianza hacia todo lo que tenga que ver con Linux, tiene una mala impresión del sistema, lo considera complejo en muchos aspectos, escaso de software, incompatible y muy poco amigable, Juan comprende que Linux no es para el.

¿Y Windows le gano a Linux?

Gran parte de los problemas que el usuario común puede encontrar al gestionar Linux, son las grandes diferencias que tienen con los otros sistemas como Windows o Apple.

Las principales diferencias de Linux con respecto de Windows son:

1. Linux demanda conocimientos de su arquitectura subyacente.

2. Faltan programas para algunas áreas específicas ó en su defecto desarrollarse más. 3. La curva de aprendizaje es considerablemente mayor.

4. Hay soporte limitado para hardware nuevo.

Ahora, para que Linux gane terreno como sistema de escritorio a un ritmo acelerado es necesario: - La ayuda incondicional de la industria de las tecnologías de la información para lograr contar con alternativas de código abierto más robustas y confiables.

- Tomar lo mejor de Windows y de Apple en todos los aspectos y adoptarlos de la mejor manera.

- Mejorar drásticamente la compatibilidad con Windows.

- Promoverlo como sistema operativo de ambiente escolar, desde los niveles medio superior y superior.

- Establecer en los programas de estudio de nivel superior en las áreas de las Tecnologías de la Información, el aprendizaje y desarrollo de software en plataformas de código de fuente abierta, ya que representan una alternativa confiable y económica para las instituciones.

- Legislar para que todas las computadoras de escritorio nuevas puedan correr dos sistemas operativos por Ley (Windows y Linux) garantizando la compatibilidad.

Ante los esfuerzos de varios países entre ellos China y Brasil para promover la adopción masiva del Linux, el reto es grande más aún cuando el dominio y la facilidad de Windows que versión tras versión ‘encanta’ a sus usuarios dejando un pequeño espacio para los otros sistemas.

Esperemos que en los próximos años Linux, en su versión de escritorio, sea un sistema más amigable, sencillo en todos los aspectos y de esta manera logre un sano equilibrio ante el inminente dominio de Windows, todo en el contexto de una mejor sociedad de la información en el nuevo milenio.

Fuente: http://www.linuxdata.com.ar

sábado, marzo 11, 2006

Montando imagenes *.ISO,*.NRG, en red

Este es un pequeño truco para poder montar imagenes de CDROM (iso9660) como carpetas para compartir mediante samba =) ó el uso que ustedes le den ( en mi caso fue el que mencioné)..

Pues habia bajado el Autocad 2006 y no tenia CD-R para grabarlo xD asi que me puse a investigar un poco y la solución es esta:

Para montar una imagen *.ISO


mkdir FIFACD1
su -c "mount -t iso9660 -o loop FIFA2006.iso FIFACD1
ls FIFACD1


Para montar una imagen *.NRG (nero)

Las imagenes *.nrg son imagenes con formato iso9060 pero con informaxión extra en la cabecera..
Para poder montar una imagen necesitamos pasar el parametro offset, el cuál se calcula de la siguiente manera:

Necesitamos saber el offset de la imagen (que será el primer valor)

od -Ax -s Autodesk.Autocad.2006.Español_Spanish.by_ZaPateroDimision.nrg | head
053008 AutoCAD 2006 Esp ACAD2006esp
053857 @%/@
055065 gpmain.lsp
056060 qqd)e
057065 Bin,
057089 acadcd.mid
0570b5 autorun.inf*
0570e1 setup.exe*
05710b setup.ini
0589d8 .text


Este valo se lo restaremos a 008008, el cuál es el valor hexadecimal de una imagen *.ISO estandar, para esto podemos utilizar la calculador de gnome y hacer lo siguiente:

Inciar la calculadora
Vista > Cientifico
Establecer en modo Hexadecimal ( Hex ) y efectuar la operación. Una vez teniendo el resultado cambiar a modo decimal xD

Por lo regular siempre será el valor 307200 que dará como resultado en decimal pero si algún dia una imagen da un problema, ps ya saben como solucionarlo =D

Después a montar la imagen:


mkdir AutoCad2006
su -c "mount -t iso9660 -o loop,offset=307200 Autodesk.Autocad.2006.Español_Spanish.by_ZaPateroDimision.nrg AutoCad2006"

soullost@UnderHouse ~/compartir $ ls AutoCad2006/
acadcd.mid autorun.inf Bin setup.exe setup.ini


Y es todo ya puedes poner esas carpetas creadas en red para poder instalar en cualquier pc =)

Un screenshot:

Free Image Hosting at www.ImageShack.us

Free Image Hosting at www.ImageShack.us

Free Image Hosting at www.ImageShack.us

Saludos!!

lunes, febrero 27, 2006

Gentoo con instalador gráfico v. 2006.0!!

Asi es, gentoo ya tiene instalador grafico para x86 (por el momento)

No tenia pensado escribir nada por aqui, pero creo esto merece la pena..

Algunos screenshots:

Clic xD

domingo, febrero 19, 2006

Instalación de Apache + PHP + MySQL en Gentoo

Como bien saben tenemos a nuestro querido emerge XD..

Pues miramos los paquetes necesarios (miren con atención las USES):


[ebuild R ] net-www/apache-2.0.55-r1 +apache2 +debug
+doc -ldap -mpm-leader -mpm-peruser -mpm-prefork -mpm-threadpool
-mpm-worker -no-suexec (-selinux) +ssl -static-modules -threads



[ebuild R ] dev-php/mod_php-4.4.0-r9 +X +apache2 +berkdb
+crypt +curl +debug +doc -fdftk -firebird +flash -freetds +gd
-gd-external +gdbm -gmp -hardenedphp +imap -informix +ipv6 +java +jpeg
-kerberos -ldap -mcal -memlimit +mssql +mysql +nls -oci8 -odbc +pam
+png +postgres -snmp +spell +ssl +tiff +truetype +xml2 -yaz



Calculating dependencies ...done!
[ebuild R ] dev-db/mysql-4.1.14 +berkdb -big-tables -cluster
+debug +doc -extraengine -geometry -minimal +perl +readline (-selinux)
+ssl -static +tcpd -utf8



These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild R ] dev-db/phpmyadmin-2.7.0_p1 -vhosts 0 kB


Recomiendo actualizar la BD de portage antes de bajar los paquetes..

USE="apache2 flash gd java mysql postgres php" emerge apache mod_php mysql phpmyadmin

Una vez descargados y bajados tenemos que configurar algunas opciones (algunas a nuestra consideración ;).



En apache ( /etc/apache2/httpd.conf)


## Este directorio es donde trabaja apache, contiene archivos de conf. y logs
ServerRoot "/usr/lib/apache2"

## Tiempo en segundos donde apache puede esperar a realizar peticiones o recibir paquetes
Timeout 300

## Permite conecciones multiples al servidor
KeepAlive On

## Numero de peticiones por conexión, si el valor = 0 entonces es ilimitado
MaxKeepAliveRequests 100

## Segundos que el servidor Apache esperará una paetición antes de cerrarla
KeepAliveTimeout 15

## Ip y puerto por donde escuchará apache al estar encendido
Listen 80

## Usuario y grupo al que se le permite tener acceso a la información de directorios del servidor
User apache
Group apache

## Correo del admin del servidor
ServerAdmin root@soullost.com

## Nombre del servidor y puerto que utilizará el servidor para identificarse a si mismo. En este
## caso cuanto con un servidor DSN XD pero por lo regular se pone localhost:80
ServerName www.soullost.com:80

## Directorio donde se guardaran las paginas del servidor
DocumentRoot "/var/www/localhost"

## Aqui se determinar que tipo de pagínas se admiten como index ( principal)
DirectoryIndex index.html index.html.var index.php

## Archivo de config. personales ( útil en el caso tener dominios virtuales )
AccessFileName .htaccess

## Si esta opción esta en "on" en los archivos de bitacora (logs) en vez de usar direcciones ip
## se usaran dominios. Por ejemplo www.soullost.com en vez de 192.168.1.3
HostnameLookups Off

## Ubicación del archivo de errores (tener el cuenta la opción ServerRoot )
ErrorLog logs/error_log

## Nivel de depuración de errores (algo como una directiva)..
LogLevel warn

## Directorio donde se guardan los cgi-bins y un alias, en este caso, el alias es /cgi-bin/
## Recordando la directiva de ServerRoot quedaría /var/www/cgi-bin/
ScriptAlias /cgi-bin/ /var/www/localhost/cgi-bin/

## En gentoo tenemos este directorio para configurar los VirtualHost
Include /etc/apache2/vhosts.d/*.conf


En gentoo tenemos un archivo de config. de apache especial para especificar como se actuará..

/etc/conf.d/apache2

## Esta opción especificamos que el directorio para los host virtuales, también usaremos el modulo
## de apache y activamos el directorio para que lo usuarios del sistema puedan subir paginas.
## Ahi mismo en el archivo menciona de que se trata cada opción:

# Config file for /etc/init.d/apache2

# When you install a module it is easy to activate or deactivate the modules
# and other features of apache using the APACHE2_OPTS line. Every module should
# install a configuration in /etc/apache2/modules.d. In that file will be an
# where NNN is the option to enable that module.
# Here are the options available in the default configuration:
# USERDIR Enables /~username mapping to /home/username/public_html
# INFO Enables mod_info, a useful module for debugging
# PROXY Enables mod_proxy
# DAV Enables mod_dav
# DAV_FS Enables mod_dav_fs (you should enable this when you enable DAV
# unless you know what you are doing)
# SSL Enables SSL
# SSL_DEFAULT_VHOST Enables default vhost for SSL (you should enable this
# when you enable SSL unless you know what you are doing)
# LDAP Enables mod_ldap
# AUTH_LDAP Enables authentication through mod_ldap
# DEFAULT_VHOST Enables the default virtual host in /var/www/localhost/htdocs


APACHE2_OPTS="-D DEFAULT_VHOST -D PHP4 -D USERDIR"


Para iniciar el servidor:


/etc/init.d/apache2 start


En este caso miramos si se ectivo con exito, abrimos el navegador web y colocamos: localhost:80
Te tiene que decir que el servidor de webs se levanto con exito y te mostrara la sigueinte pantalla:
Free Image Hosting at www.ImageShack.us

Para verificar que soportamos PHP creamos una pagína en /var/www/locahost/htdocs como root con el siguiente código:


<?php
phpinfo();
?>


Y miramos la pagina por el navegador y saldrá algo asi:

Free Image Hosting at www.ImageShack.us

Yo aconstumbro crear un usuario para hacer pruebas con php y mysql sin hacer un desmadre en /var/www/localhost de ahi la opción de -D USERDIR en /etc/conf.d/apache2


adduser -m -g apache -s /bin/bash usuario
passwd usuario



test1@UnderHouse ~ $ id
uid=1005(test1) gid=81(apache) grupos=81(apache)


Creo el direcorio: mkdir /home/test1/public_html

Y listo a crear pagínas ahi..

Para ver las pagínas escribimos: http://localhost/~test1/pagina.html

Para MySQL

Despues de instalarlo y bajar sus dependencias dependiendo de las USES vamos a realizar este comandos (antes de iniciarlo, para poder iniciar en PHPMyAdmin).


ebuild /var/db/pkg/dev-db/mysql-4.1.14/mysql-4.1.14.ebuild config

Y también:


mysqladmin -u root -h localhost password 'mi_password'


Nota: Si es otra versión solo cambiala..
También debemos ingresar la contraseña de root

Ahora si iniciamos el demonio mysql


/etc/init.d/mysql start


Para entrar hacemos: mysql -u root -p


Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5 to server version: 4.1.14-debug-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| pmadb |
| test |
+----------+
3 rows in set (0.02 sec)

mysql> \q
Bye


Abrimos el navegador y tecleamos la siguiente dirección: localhost/phpmyadmin
Nos pedirá usuario y contraseña del root

Free Image Hosting at www.ImageShack.us

Y listo!!!

Espero no se me olvide nada, saludos!! ;)