Linux

El historial de comandos en BASH

Bash es el interprete de comandos incluido por defecto en la mayaria de los linux, una de sus caracteristicas es que guarda en un historial los comandos que ejecutan, el listado de comandos es almacenado en el directorio $HOME con el nombre .bash_history de tal modo que no importa que cierres la terminal o que reinicies, BASH siempre recordará los comandos. Considero esto muy útil ya que así nos evitamos de estar escribiendo el mismo comando muchas veces.

BASH tiene un límite para almacenar comandos, este límite esta en definido en la variable $HISTSIZE veamos que valor contiene :


..:::[08:49 ][ivan_at_dementor][~/dwhelper/Shuffle]:::..

#:echo $HISTSIZE

500

500 comandos a almacenar como historial, creo que son suficientes pero si hay alguien que dice que son pocos o demasiados, podremos cambiar este valor de esta variable al estilo BASH.

Aaahh cosa importante la variable $HISTFILESIZE define el número máximo de líneas a contener por esto tambien es importante que se cambie el valor al mismo que la variable anterior.

Bien para hacer estos cambios y de forma permanente hay que modificar el archivo .bashrc ya todos sabemos que este archivo esta en $HOME o ~ o bien lo que es lo mismo /home/usuario/

Hay abrirlo la para editarlo:


vi ~/.bashrc

Agregar estas líneas al final del archivo:


$HISTFILESIZE=800

$HISTSIZE=800

Guardar los cambios y listo la próxima vez que arranques tu terminal tu historial tendrá mas capacidad.

Bien, ahora veamos como tener acceso al historial:
con el comando history, le pasaremos el comando head para que no me arroje los 500 comandos.

..:::[09:27 ][ivan_at_dementor][~]:::..

#:history | head

9 cd ..

10 ls

11 cd src/

12 ls

13 cd ..

14 ls

15 cd conf/

16 ls

17 cd ..

18 ls

..:::[09:27 ][ivan_at_dementor][~]:::..

#:

otra es con las flechas de direccionamiento hacia arriba o abajo.
y la mejor de todas es la busqueda con Ctrl + r , esta funciona así:

presiona Ctrl + r y escribe alguna cadena y te traera el último comando que coincida con esa cadena, si quieres ver comandos mas viejos que coincidan con la cadena vuelve a presionar Ctrl + r hasta que encuentres el que buscas.

bueno ya me extendí mas de lo que queria tendre que regresar a trabajar.
saludos.

face-smile.png

Computacíon Basada en Servidores (SBC)

ó Server Based Computing en inglés, de eso trato una plática que di en el Instituto Tecnológico de Nuevo León gracias a que el grupo de usuarios del ITNL me invito a formar parte del listado de ponencias.

aquí les dejo la presentación (abrirla con OpenOffice)
Server Based Computing



La sesión en consola de un Geek

unix-sex.preview

Muy activa no lo creen?

Calculadora en Bash

A veces me ha tocado tener que hacer operaciones matemáticas simples mientras configuro algo en linux que no tienen ambiente gráfico y mucho menos gcalc o algo por el estilo, para ello siempre me he valido del poderoso Bash, aquí algunos ejemplos:


..:::[02:57 ][ivan_at_dementor][~]:::..

#:echo $((10/2))

5

..:::[03:02 ][ivan_at_dementor][~]:::..

#:echo $((5*2))

10

..:::[03:02 ][ivan_at_dementor][~]:::..

#:echo $((3+1))

4

..:::[03:02 ][ivan_at_dementor][~]:::..

#:echo $((20-7))

13

..:::[03:02 ][ivan_at_dementor][~]:::..

#:

Lo malo de esto es que no acepta números decimales face-sad.png así que para esto podemos usar el comando bc el cuál en su configuración por defecto no soporta decimales pero utilizando el parametro -l solucionames el inconveniente.

Aquí unos ejemplos:
..:::[03:08 ][ivan_at_dementor][~]:::..

#:bc -l

bc 1.06

Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.

This is free software with ABSOLUTELY NO WARRANTY.

For details type `warranty'.

2+2

4

3-5

-2

5/2

2.50000000000000000000

quit

En una línea escribo la operación en la siguiente el sistema me da el resultado, es como si estuvieras chateando tongue.png

Pero si esta utilización se te hace incomoda, podemos usar las tuberias para redireccionamiento de salidas:


..:::[03:10 ][ivan_at_dementor][~]:::..

#:echo 2+2 | bc -l

4

..:::[03:10 ][ivan_at_dementor][~]:::..

#:echo 7-5 | bc -l

2

..:::[03:10 ][ivan_at_dementor][~]:::..

#:echo 7*7 | bc -l

49

..:::[03:10 ][ivan_at_dementor][~]:::..

#:echo 23/2 | bc -l

11.50000000000000000000

..:::[03:10 ][ivan_at_dementor][~]:::..

#:

Interesante no?? la verdad a mi me ha sido de mucha utilidad.

si quieren saber mas sobre bc pueden echarle un vistazo a este link:
http://www.basicallytech.com/blog/index.php?/archives/23-command-line-calculations-using-bc.html

Dark Side


Solución al problema del micrófono

En mi trabajo estaba haicendo unas pruebas con un softphone y me meti en algunos apuros porque no podia hacerlo funcionar por lo cuál instale el skype en dementor, para poder determinar si el era problema del hardware o software, con un simple:

emerge skype
Lo instale face-smile-big.png , al estar utilizandolo me di percate de que skype colgaba la llamada justo en el momento que se iniciaba la converasción, cosa muy rara, me fui a las opciones de dispositivos y vi que todo estaba bien inscluso la llamada de prueba (que por cierto contesta una chica en idioma alemán) me dijo que todo estaba bien, pero la cosa no era así por lo que lance skype desde una terminal y al realizar una llamada

Cuando lo estaba probando me percate de que el micrófono no estaba funcionando de hecho me cerraba la ventana de llamada me arrojaba este log:

..:::[08:54 ][ivan_at_dementor][~]:::..

#:skype

ALSA lib pcm_dsnoop.c:574: (snd_pcm_dsnoop_open) unable to open slave

ALSA lib pcm_dsnoop.c:574: (snd_pcm_dsnoop_open) unable to open slave

ALSA lib pcm_dsnoop.c:574: (snd_pcm_dsnoop_open) unable to open slave

ALSA lib pcm_dsnoop.c:574: (snd_pcm_dsnoop_open) unable to open slave

ALSA lib pcm_dsnoop.c:574: (snd_pcm_dsnoop_open) unable to open slave

ALSA lib pcm_dsnoop.c:574: (snd_pcm_dsnoop_open) unable to open slave

ALSA lib pcm_dsnoop.c:574: (snd_pcm_dsnoop_open) unable to open slave

ALSA lib pcm_dsnoop.c:574: (snd_pcm_dsnoop_open) unable to open slave

ALSA lib pcm_dsnoop.c:574: (snd_pcm_dsnoop_open) unable to open slave

ALSA lib pcm_dsnoop.c:574: (snd_pcm_dsnoop_open) unable to open slave

ALSA lib pcm_dsnoop.c:574: (snd_pcm_dsnoop_open) unable to open slave

ALSA lib pcm_dsnoop.c:574: (snd_pcm_dsnoop_open) unable to open slave

ALSA lib pcm_dsnoop.c:574: (snd_pcm_dsnoop_open) unable to open slave

Curioso no?
Entonces me vino la idea de que el micrófono no estaba activado o algo por el estilo y así que me aseguré de que todos los niveles de audio esten hasta el 100 y que no estuvieran con la MM ya que esto quiere decir MUTE, para esto usé alsamixer.


dementor ~ # alsamixer

Presionando las teclas F3, F4 y F5 se pueden cambiar entre dispositivos de entrada y de salida o verlos todos juntos y para quitar el MM solo deben presionar la tecla M tongue.png

bueno después de esto probe y seguia con el mismo problema así que implemente medidas mas drásticas, bueno primer hice una busqueda en google face-wink.png

Y esto fue la solución definitiva:


dementor ~ # cd /usr/share/alsa/cards/

dementor ~ # cd /usr/share/alsa/cards/

dementor cards # cp HDA-Intel.conf HDA-Intel.conf.bak

dementor cards # vi HDA-Intel.conf

Qué basicamente es entrar al directorio sacar un respaldo del archivo por si algo sale mal, y editarlo, claro que ustedes deben hacerlo con el archivo que corresponde a si tarjeta de sonido, pueden ver que tipo de tarjeta de sonido tengo en este post:

En el archivo deben cambiar el código:



capture.pcm {
type plug
slave.pcm {
type softvol
slave.pcm {
@func concat
strings [ "dsnoop:" $CARD ]
}
control {
name "Digital Capture Volume"
card $CARD
}
min_dB -30.0
max_dB 30.0
resolution 121
}
}


por este:



capture.pcm {
type plug
slave.pcm {
type softvol
slave.pcm {
@func concat
strings [ "hw:" $CARD ]
}
control {
name "Digital Capture Volume"
card $CARD
}
min_dB -30.0
max_dB 30.0
resolution 121
}
}


Realmente lo unico que cambia es esto:

strings [ "hw:" $CARD ]

por esto:

strings [ "dsnoop:" $CARD ]

Y listo ya solamente reiniciamos alsa para asegurarnos de que todos los cambios aplican y ya.


dementor cards # /etc/init.d/alsasound restart

A disfrutar del micrófono y yo a seguir con mis pruebas.

saludos

Reconfigura tu teclado con Xmodmap en linux

Aquí otra mini guía para reconfigurar el mapa del teclado, esto te va a servir si eres de los que tiene que escribir en un idioma en el que tu teclado no esta adaptado, por ejemplo mi teclado esta en inglés (y con dvorak y claro en mi laptop) pero yo debo escribire en español y veces en alemán por eso desde un inicio tengo configurado xmodmap, posiblemente ya lo tengas instalado en tu sistema y si no pues bajatelo de aquí.

Para comenzar a configurarlo debe conocer el keycode de la tecla quieren reconfigurar, para ello utilicen xev desde una terminal (ya saben si no lo tienen instalenlo). Bueno cuando ejecuten xev se abrira una ventanita y pongan atención en la terminal ya que es ahí dónde se muestra la info que nos interesa. Si presionamos la letra "a" nos debe aparecer algo como esto:


KeyRelease event, serial 30, synthetic NO, window 0x3600001,

root 0x1a5, subw 0x0, time 1776540395, (142,521), rootface-sad.png 146,551),

state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,

XLookupString gives 1 bytes: (61) "a"

XFilterEvent returns: False

Observen que el número enseguida de keycode es el número que nos interesa, ahora bien ya toca abrir nuestra archivo de configuración, cabe decir que se puede llamar como uno quiera pero comunmente se le pone por nombre .xmodmap.
Mi configuración esta hecha para que ponga estos caracteres cuándo oprimo la tecla de ALT DERECHO:
áóéúíäöü¬ßñ

Como pueden ver son puros caracteres que no tienen nada que ver con el inglés. En fin para lograr esto hay que tener una configuración así:


!acentos en dvorak para dementor

!

keycode 46 = n N ntilde Ntilde

keycode 49 = grave asciitilde notsign notsign a A

keycode 40 = e E eacute Eacute

keycode 41 = u U uacute Uacute

keycode 42 = i I iacute Iacute

keycode 39 = o O oacute Oacute

keycode 38 = a A aacute Aacute

keycode 24 = apostrophe quotedbl adiaeresis Adiaeresis

keycode 25 = comma less odiaeresis Odiaeresis

keycode 27 = p P udiaeresis Udiaeresis

keycode 47 = s S ssharp ssharp

!

!

!!ACTIVO TECLA ALT DERECHA

!

!! LO ELIMINO DE mod1

clear mod1

add mod1 = Alt_L

!

!! LE ASIGNO Mode_switch

clear mod3

keycode 113 = Mode_switch

add mod3 = Mode_switch

les explicaré un poco sobre una de las líneas, por ejemplo: "keycode 38 = a A aacute Aacute" que es la que basicamente forma el archivo, me refiero en estructura.
keycode 38: indica que tecla es la que hara esta función.
a: imprime "a" cuando se presiona.
A: Imprime "A" cuando se oprime shift y tecla en cuestión.
aacute: Imprime "á" cuando se oprime la tecla ALT DERECHO y la tecla en cuestión.
Aacute: Imprime "Á" cuando se oprime la tecla ALT DERECHO + Shift + tecla en cuestión.

Las últimas líneas siempre deben deben de ir para que funcione el alt derecho.

Una vez que terminen de formar el archivo no olviden guardarlo con el nombre que mencione y en la carpeta de $HOME así cuando arranquen el gráfico este leera su archivo.

En caso de que no se ejecuten pues pongan un script al inicio de sesión que contenga el comando para cargarlo:

xmodmap ~/.xmodmap

bueno espero que les sea de utilidad.
Nos vemos luego.

Splash de GRUB dinamico

Hace ya varios días note que mi splash de grub desaparecio misteriosamente, no le di importancia y así lo estuve utiliazando, pero hace un par días tuve oportunidad de revisarlo y note que la imagen a la que hacia referencia el grub.conf desaparecio :S, quizas una actualización o yo accidentalmente la borre.

Para restaurar mi imagen me fui a google para ver cuál imagen estaria bien poner y encontre varios splash muy bonitos y elegantes:

"lastima que no los pueda poner todos"

Fue lo que dije, pero en eso pense:

"por qué no? si tan solo... y los pongo... y hago... y cuando... namas lo..."

Llegue a la conclusión de que si era posible, así que me hice un pequeño script en bash que cada vez que se ejecuta cambia el destino de un link símbolico así ya solamente en el grub.conf apunto a este link en la línea de splashimage y el script lo lanzo cada que la laptop inicia así cada arraque la imagen será diferente.
Aquí el código que les mencione:

#/bin/bash
########################################################
# Script para cambiar el destino del enlace
# simbolico /boot/splash.xpm.gz que lee grub como splash
########################################################

GrubSplash="/boot/splash.xpm.gz"#ARCHIVO QUE LEE GRUB PARA PONER COMO SPLASH

SplashesDir="/boot/splashes/"    #DIRECTORIO CON LOS SPLASH A LEER

SplashArchivo=(`ls $SplashesDir`)  #GUARDAR LOS NOMBRES EN UN VECTOR

NumSplash=`ls -l $SplashesDir | wc -l` #contar numero de splashes que hay en el directorio

NumSplash=`expr $NumSplash - 2` #restarle 2 unidades porque ls -l da una linea mas del numero de archivos que contiene el directorio y el vector se maneja de 0 a N

numAle=$((RANDOM%$NumSplash+0))#sacar un numero aleatorio

ln -sf $SplashesDir${SplashArchivo[$numAle]}$GrubSplash#ejecutar el comando para reescribir el link simbolico

 

Para que arranque automatico en gentoo solo lo agregamos al archivo local.start en /etc/conf.d/


dementor ~ # cat /etc/conf.d/local.start

# /etc/conf.d/local.start

# This is a good place to load any misc programs

# on startup (use &>/dev/null to hide output)

/localscripts/rgsplash.sh &>/dev/null

dementor ~ #

y nos aseguramos que la línea del splash del grub.conf o menu.1st (si es otra distro) apunte al mismo link símbolico que dice nuestro script:

dementor ~ # cat /boot/grub/grub.conf

default 0

timeout 5

splashimage=(hd0,2)/boot/splash.xpm.gz

title Gentoo [DEMENTOR]

root (hd0,2)

kernel /boot/bzImage root=/dev/hda3 vga=791

Y listo ya con eso cada vez que inicien la compu tendrán una imagen diferente, cabe decir que si queremos ampliar el repositorio de splashes (¬¬) solamente hay que meter los achivos xpm.gz al directorio "/boot/splashes/"

saludos

Teclado multimedia en dementor (mi laptop Gateway)

En este último post del mes voy a poner como configurar un teclado multimedia con Audacious, ya que este es el reproductor de mp3 que uso en mi laptop, cabe mencionar que la configuración que voy a mostrar no solo aplica para teclados multimedia sino aplica para cualquier teclado.

Primero vamos a intalar audacious desde portage:


emerge audacious

Ya instalado lo abrimos y nos vamos a propiedades (Crtl + P) y seleccionamos Plugins del lado izquierdo, nos pasamos a la pestaña de General y buscamos el plugin llamado GlobalHotkey


Presionamos el botón de Configuración y en la siguiente ventana configuramos todos los controles del Audacious, para esto solo nos ponemos en cada cajita de texto y presionamos la la tecla o combinación de teclas que queremos que aplique esta acción y listo.



Sencillo no??
aah por cierto si el audacious no integra el GlobalHotkey, solo busquen el plugin audacious-hotkey en su página para lo instalen.

Con mucho que leer

Pués así es, en mi trabajo estoy por comenzar un proyecto de terminales remotas con Linux, ya se que existe LTSP pero aquí la idea es que se conecten vía Internet, es decir que el cliente solo jale X, pero ademas quieren conectar al rededor de 500 usuarios por lo cuál un solo servidor no será suficiente, habrá que poner algún balanceador de cargas y para terminar debo tambien montar un pequeño linux en la parte del cliente para tener todo un esquema completo, por eso tengo muchas cosas que leer y aprender de temas cómo:
  • Terminales remotas
  • thinclient
  • balanceador de cargas
  • unidades de almacenamiento masivas
  • etc

Por la pronto IBM me ha prestado un par de servidores xSeries de 4 GB y 4 CPUs para hacer las pruebas, y en estos momentos aquí ando en sus instalaciones evaluando que distribuición es la que mas conveniente utilizar para este proyecto.

Bueno raza no les quito mas de mi tiempo por que tengo muchas cosas que hacer tongue.png .

Saludos

Mupen64 - Emulador de Nintendo 64 para linux

Jugar Nintendo 64 en la actualidad ya no es un reto, al menos windows, ya que este fin de semana visite a mi hermano y vi como sus hijos, osea mis sobrinos jugaban el MarioKart 64 y otros de Nintendo 64 en su computadora, y no tenían que hacer gran cosa mas que hacer doble click tongue.png

Recuerdo que hace 12 años, cuando salio el Nintendo 64 a luz, fue toda una novedad con sus impresionantes gráficas en 3D y poder conectar hasta 4 controles sin necesidad de adaptador, recuerdo que tener un 64 era uno de mis sueños, hasta entre a trabajar en un Seven 11 para poder juntar dinero y comprarmelo.

Eran buenos tiempos aquellos, después vino mi primera computadora y descubrí que se podían jugar los juegos de todo tipo de consolas con solo tener un Emulador y los roms. Así qué me busque el emulador y algunos roms para el N64, pero me tope con la sorpresa de que era dificil hacer emular este tipo de consola, jugar los títulos de 64 para mi ya no era lo interesante, mas bien hacer funcionar el juego en mi computadora erá lo interesante, el mejor emulador en aquellos días era el ULTRA HL en frances tongue.png pero con un patch lo cambiabas a inglés.

Otra de las cosas que recuerdo es que a mitad de algunos juegos se tenian que modificar algunas configuraciones del emulador para que pudiera reproducir los siguientes ecenarios, era todo una aventura jugar 64, pero la fiebre paso cuando la carrera que estudie se torno violenta y tuve que aprender cosas de compiladores, sistemas operativos, lenguajes de programación y un monton de cosas mas que hicieron que me olvidara de esos juegos.

Pero este fin de semana después de ver a mi sobrinos jugar me dieron ganas de recordar esos tiempos de gloria, así que busque un emulador para linux y las busquedas me llevaron a Mupen64 (Multi Platform Emulator for the N64), un proyecto que esta desde el 2001 y es llevado a todas las plataformas, lo mejor de todo es que esta incluido en Portage.


lily ~ # emerge -av mupen64

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild R ] games-emulation/mupen64-0.5-r4 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB

Would you like to merge these packages? [Yes/No]

Así que lo instale, me baje un rom y al poco tiempo ya lo estaba jugando.


Entre las desventajas que encontré es que se come el procesador, observen el gkrellm del pantallazo tongue.png y al menos en mi PC el sonido se escucha cortado, parece que ser que aquellas batallas para hacer funcionar los juegos de 64 volveran face-smile-big.png por eso me encanta este Sistema Operativo siempre hay emoción.

Certificado Firefox 3

Hace un par de días me llego un correo de Mozilla sobre el Download Day el cuerpo del mensaje era este:

¡Lo hemos conseguido!

Hemos conseguido un Récord Guinnes por el software más descargado en 24 horas. Con tu ayuda hemos llegado a 8,002,530 millones de descargas.

¡Ahora eres parte de un récord mundial y el orgulloso poseedor de la mejor versión de la historia de Firefox!

No olvides descargar tu certificado personal por ayudar a conseguir un Récord Guinness Mundial.

Aquí esta el certificado,



Esta como para imprimirlo y enmarcalo, ¿no lo creen?

Firefox 4 será renombrado a Firecat

Me entero en http://meneame.net/story/firefox-4-alpha-1-disponible que los desarrolladores de Firefox ya estan trabajando en la versión 4 del navegador, y en la red esta el rumor de que el nombre será cambiado a Firecat y este será su logo:



Fuente aquí

Firefox 3 Party UANL-FCFM

Ayer tuve la oportunidad de asistir al Firefox 3 Party que se anuncio en la página del Grupo de usuarios del ITNL la cita era a las 1000 hrs y para no perder la costumbre llegue tarde tongue.png y todavia para rematar habian cambiado el lugar del evento y no daba con el aula pero al fin la encontre gracias a que le pregunte a un tipo de mantenimento por la ubicaición de dicha aula.

Bueno al entrar veo a un monton de geeks (como 5) al fondo discutiendo de tonterias (como las que solia dicutir cuándo era estudiante tongue.png ) también vi a 3 personas que no sabia si estaban ahí por que se equivocaron de aulo o realmente les interesaba el evento y en otro lugar apartado estaba Jesús Reyna, después de haber escaneado toda el área me di cuenta que no habia empezado ninguna plática face-plain.png así que después de todo no llegue tarde face-smile.png lo raro de esto es que pense que hiba a ver caras conocidas (además de la de Chiy) ni siquiera el Daniel Velazquez andaba por ahi también había imaginado más personas pero en fin las cosas fueron diferentes. Media hora después uno de los geeks del fondo comienzó a pelear con una laptop y el proyector y al no tener exito usa otra laptop y esta si la pudó proyectar y así comienzó la primera plática que trató del software libre, es la clásica plática dónde explican la filosofia de GNU desde mi perspectiva le faltó seriedad y que el geek que estaba manejando la presetación en el escritorio no interrumpiera al ponente, me dio la impresión que queria dar la plática y no le dejaron y por eso trataba de corregir al ponente a cada instante, pero bueno después de 1 hora la plática terminó y el evento tamibién face-plain.png ya que el resto de los ponentes no se presentaron y por eso tuvieron que darlo por terminado.

Créo que la idea de hacer este tipo de eventos es grandiosa para integrar a la comunidad Linuxera pero alguien debería poner orden y seriedad para que esto se lleve acabo de lo contrario siempre será así.

Esperemos que el próximo evento sea mejor seguiré al pendiente de los blogs.

Activar sensores de CPU y Ventilador en linux

La mayoría de las tarjetas madre tienen integrada esta funcionalidad, la de poder monitorear la temperatura del procesador y la velocidad de los ventiladores, y este es el motivo de mi post, voy a poner como se activan estos sensores para poder usarlos con algun software medidor de recursos como el Gkrellm, este es el que uso yo face-wink.png ya lo habia mencionado en post anteriores .

Bueno primero lo primero, hay que saber que módulos son los que necesita nuestra tarjeta madre, para esto usamos el paquete lm_sensors incluido en portage, para los usuarios de gentoo pues ya saben:


lily ~ # emerge -av lm_sensors

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild R ] sys-apps/lm_sensors-2.10.4 USE="-sensord" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB

Would you like to merge these packages? [Yes/No] N

Para los usuarios de otras distros pues les recomiendo el administrador de paquetes que incluye (apt, yum, etc) o bien bajarse el tarball e instalarlo a mano.

Una vez que ya tenemos el paquete instalado ejecutamos sensors-detect, este nos dira que drivers necesitamos para activar nuestros sensores.


lily ~ # sensors-detect

# sensors-detect revision 4609 (2007-07-14 09:28:39 -0700)

This program will help you determine which kernel modules you need

to load to use lm_sensors most effectively. It is generally safe

and recommended to accept the default answers to all questions,

unless you know what you're doing.

We can start with probing for (PCI) I2C or SMBus adapters.

Do you want to probe now? (YES/no):

Probing for PCI bus adapters...

Use driver `i2c-ali15x3' for device 0000:00:03.1: Acer Labs 1533/1543

Use driver `i2c-ali1535' for device 0000:00:03.1: Acer Labs 1535

Use driver `i2c-ali1563' for device 0000:00:03.0: Acer Labs 1563

We will now try to load each adapter module in turn.

Load `i2c-ali15x3' (say NO if built into your kernel)? (YES/no):

FATAL: Module i2c_ali15x3 not found.

Loading failed... skipping.

Load `i2c-ali1535' (say NO if built into your kernel)? (YES/no):

FATAL: Module i2c_ali1535 not found.

Loading failed... skipping.

Load `i2c-ali1563' (say NO if built into your kernel)? (YES/no):

FATAL: Module i2c_ali1563 not found.

Loading failed... skipping.

If you have undetectable or unsupported adapters, you can have them

scanned by manually loading the modules before running this script.

To continue, we need module `i2c-dev' to be loaded.

Do you want to load `i2c-dev' now? (YES/no):

FATAL: Module i2c_dev not found.

Loading failed, expect problems later on.

We are now going to do the I2C/SMBus adapter probings. Some chips may

be double detected; we choose the one with the highest confidence

value in that case.

If you found that the adapter hung after probing a certain address,

you can specify that address to remain unprobed.

Some chips are also accessible through the ISA I/O ports. We have to

write to arbitrary I/O ports to probe them. This is usually safe though.

Yes, you do have ISA I/O ports even if you do not have any ISA slots!

Do you want to scan the ISA I/O ports? (YES/no):

Probing for `National Semiconductor LM78' at 0x290... No

Probing for `National Semiconductor LM78-J' at 0x290... No

Probing for `National Semiconductor LM79' at 0x290... No

Probing for `Winbond W83781D' at 0x290... No

Probing for `Winbond W83782D' at 0x290... No

Probing for `Silicon Integrated Systems SIS5595'... No

Probing for `VIA VT82C686 Integrated Sensors'... No

Probing for `VIA VT8231 Integrated Sensors'... No

Probing for `IPMI BMC KCS' at 0xca0... No

Probing for `IPMI BMC SMIC' at 0xca8... No

Some Super I/O chips may also contain sensors. We have to write to

standard I/O ports to probe them. This is usually safe.

Do you want to scan for Super I/O sensors? (YES/no):

Probing for Super-I/O at 0x2e/0x2f

Trying family `National Semiconductor'... No

Trying family `SMSC'... Yes

Found `SMSC LPC47M15x/192/997 Super IO Fan Sensors' Success!

(address 0x800, driver `smsc47m1')

Probing for Super-I/O at 0x4e/0x4f

Trying family `National Semiconductor'... No

Trying family `SMSC'... No

Trying family `VIA/Winbond/Fintek'... No

Trying family `ITE'... No

Some CPUs or memory controllers may also contain embedded sensors.

Do you want to scan for them? (YES/no):

AMD K8 thermal sensors... Success!

(driver `k8temp')

Intel Core family thermal sensor... No

Intel AMB FB-DIMM thermal sensor... No

Now follows a summary of the probes I have just done.

Just press ENTER to continue:

Driver `smsc47m1' (should be inserted):

Detects correctly:

  • ISA bus, address 0x800
    • Chip `SMSC LPC47M15x/192/997 Super IO Fan Sensors' (confidence: 9)

Driver `k8temp' (should be inserted):

Detects correctly:

  • Chip `AMD K8 thermal sensors' (confidence: 9)

I will now generate the commands needed to load the required modules.

Just press ENTER to continue:



If you want to load the modules at startup, generate a config file

below and make sure lm_sensors gets started at boot time; e.g

$ rc-update add lm_sensors default

To make the sensors modules behave correctly, add these lines to

/etc/modules.d/lm_sensors and run modules-update:

#----cut here----

# I2C module options

alias char-major-89 i2c-dev

#----cut here----

To load everything that is needed, add this to some /etc/rc* file:

#----cut here----

# Chip drivers

# Warning: the required module smsc47m1 is not currently installed

# on your system. For status of 2.6 kernel ports check

# http://www.lm-sensors.org/wiki/Devices. If driver is built

# into the kernel, or unavailable, comment out the following line.

modprobe smsc47m1

# Warning: the required module k8temp is not currently installed

# on your system. For status of 2.6 kernel ports check

# http://www.lm-sensors.org/wiki/Devices. If driver is built

# into the kernel, or unavailable, comment out the following line.

modprobe k8temp

# sleep 2 # optional

/usr/bin/sensors -s # recommended

#----cut here----

If you have some drivers built into your kernel, the list above will

contain too many modules. Skip the appropriate ones! You really

should try these commands right now to make sure everything is

working properly. Monitoring programs won't work until the needed

modules are loaded.

To load everything that is needed, execute the commands below...

#----cut here----

# Chip drivers

# Warning: the required module smsc47m1 is not currently installed

# on your system. For status of 2.6 kernel ports check

# http://www.lm-sensors.org/wiki/Devices. If driver is built

# into the kernel, or unavailable, comment out the following line.

modprobe smsc47m1

# Warning: the required module k8temp is not currently installed

# on your system. For status of 2.6 kernel ports check

# http://www.lm-sensors.org/wiki/Devices. If driver is built

# into the kernel, or unavailable, comment out the following line.

modprobe k8temp

# sleep 2 # optional

/usr/bin/sensors -s # recommended

#----end cut here----

Do you want to overwrite /etc/conf.d/lm_sensors? Enter s to specify other file name?

(yes/NO/s):

lily ~ #

Sigan las instrucciones del mismo script, solo denle enter a todo tongue.png y bueno de todo el rollo que sale ahí lo mas intersante es esto ya que nos dice que drivers son los que debemos meter:


Driver `smsc47m1' (should be inserted):

Detects correctly:

  • ISA bus, address 0x800
    • Chip `SMSC LPC47M15x/192/997 Super IO Fan Sensors' (confidence: 9)

Driver `k8temp' (should be inserted):

Detects correctly:

  • Chip `AMD K8 thermal sensors' (confidence: 9)

Bien ahora nos vamos al kernel y abrimos el config para buscarlos:


lily ~ # cd /usr/src/linux

lily linux # make menuconfig

Ahora nos vamos a la siguente parte para incluirlos dentro del kernel o bien si quieren como módulo pero no lo recomiendo face-wink.png
Device Drivers  --->

                 < *> Hardware Monitoring support  --->

                        < *>   AMD Athlon64/FX or Opteron temperature sensor

                        < *>   SMSC LPC47M10x and compatibles

Yo active estos ya que son los que corresponden a mi hardware, para saber cual de esta lista corresponde a su hardware lean el HELP que tiene el menuconfig y busquen algo como esto:


This driver can also be built as a module. If so, the module will be called k8temp.

Para que verifiquen si este corresponde con lo que les dijo sensors-detect, ya una vez seleccionados a compilarlo nuevamente y reiniciar:


lily linux # make && make modules_install

lily linux # mount /boot

lily linux # cp arch/x86_64/boot/bzImage /boot

lily linux # reboot

Ahora bien ya pueden usar sus sensores para lo que gusten, si usan gkrellm como yo no olviden el FLAG lm_sensors

lily linux # echo "app-admin/gkrellm lm_sensors" >> /etc/portage/package.use

lily linux # emerge app-admin/gkrellm

En el resto de las distros me parece que ya viene preocompilada la opción, claro si es un rpm o algún deb, en caso contrario pasenle bien el parametro al ./configure tongue.png

Instalación de Gentoo en Laptop Gateway MT3423

Gentoo es mi distro preferida así que por tal motivo a mi nueva laptop la cuál he llamado Dementor en honor a mi primera laptop que tuve también le he puesto gentoo .

Este post no pretende ser una guía de instalación de la distribución para eso remitanse al Gentto Handbook que esta muy bueno, mas bien a lo largo de este post explicaré como configurar los dispositvos que tiene la laptop.

Comenzamos primero listando los dispositivos que tiene con lspci:


dementor ~ # lspci

00:00.0 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)

00:00.1 RAM memory: nVidia Corporation C51 Memory Controller 0 (rev a2)

00:00.2 RAM memory: nVidia Corporation C51 Memory Controller 1 (rev a2)

00:00.3 RAM memory: nVidia Corporation C51 Memory Controller 5 (rev a2)

00:00.4 RAM memory: nVidia Corporation C51 Memory Controller 4 (rev a2)

00:00.5 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)

00:00.6 RAM memory: nVidia Corporation C51 Memory Controller 3 (rev a2)

00:00.7 RAM memory: nVidia Corporation C51 Memory Controller 2 (rev a2)

00:03.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)

00:05.0 VGA compatible controller: nVidia Corporation MCP51 PCI-X GeForce Go 6100 (rev a2)

00:09.0 RAM memory: nVidia Corporation MCP51 Host Bridge (rev a2)

00:0a.0 ISA bridge: nVidia Corporation MCP51 LPC Bridge (rev a3)

00:0a.1 SMBus: nVidia Corporation MCP51 SMBus (rev a3)

00:0a.3 Co-processor: nVidia Corporation MCP51 PMU (rev a3)

00:0b.0 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)

00:0b.1 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)

00:0d.0 IDE interface: nVidia Corporation MCP51 IDE (rev f1)

00:10.0 PCI bridge: nVidia Corporation MCP51 PCI Bridge (rev a2)

00:10.1 Audio device: nVidia Corporation MCP51 High Definition Audio (rev a2)

00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a3)

00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration

00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map

00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller

00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control

06:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller (rev 20)

dementor ~ #

Con esto nos damos cuenta que todo es nvidia, así que comencemos, bueno antes de eso dejenme les digo que yo tuve que usar el gentoo-sources-2.6.25-r4 que esta marcado como MASKED por razones que explicaré mas adelante, para descargar este kernel hay que hacer


dementor ~ # echo sys-kernel/gentoo-sources >> /etc/portage/package.keywords

dementor ~ # emerge gentoo-sources

Si no tiene el archivo package.keywords o los directorios solo crealos, bueno una vez descargado nuestro kernel nos vamos al directorio de las fuentes y abrimos la configuración del kernel.

Cabe mencionar que no voy a explicar como configurar todo el kernel tongue.png sino como activar el soporte para los dispositivos que tenemos


dementor ~ # cd /usr/src/linux

dementor linux # make menuconfig
Seleccionando IDE Drivers

Esta sección es imporante para que nuestro sistema pueda funcionar, aquí deben seleccionar al menos lo que les pongo para que les pueda funcionar.


Device Drivers --->
<*> ATA/ATAPI/MFM/RLL support --->
<*> Include IDE/ATA-2 DISK support
<*> Include IDE/ATAPI CDROM support
<*> generic/default IDE chipset support
SCSI emulation support
<*> AMD and nVidia IDE support

Recuerden que M significa Módulo y el [*] que esta integrado al kernel. Cada uno de estos tiene su razón de ser por ejemplo el primero es para activar soporte para IDE en disco duro, el segundo en CD-ROM el tercero es por si las moscas tongue.png el cuarto es para poder montar unidades de disco USB o bien hacer uso del lector de memorias que incluye la laptop y el último para activar el soporte de nuestro chipset en el kernel.

Activar soporte para memorias externas

Para montar memorias USB o algunas otras es necesario activar estos módulos en el kernel ademas del que ya activamos en la sección pasada, los ponemos como módulos por que no los usamos todo el tiempo no queremos que nos consuman memoria sin sentido face-smile-big.png

Device Drivers --->

SCSI device support --->
SCSI device support
SCSI disk support
SCSI generic support
Activar FastEthernet o tarjeta de red

Para activar la tarjeta de red activamos los siguiente:


Device Drivers --->

[*] Network device support --->

[*] Ethernet (10 or 100Mbit) --->

[*] EISA, VLB, PCI and on board controllers
<*> nForce Ethernet support

Dentro del kernel, es decir siempre queremos tener la tarjeta de red activa.

Activar tarjeta de red Wireless

Aquí esta la razón por la cuál me descargue el kernel que estaba enmascarado, ya que este si tiene soporte para nuestro chip de tarjeta inalambrica, para activarlo hay que marcar lo siguiente:


Networking --->

Wireless --->
<*> Software MAC add-on to the IEEE 802.11 networking stack

Una vez marcado esto nos vamos a:


Device Drivers --->

[*] Network device support --->

Wireless LAN --->

[*] Wireless LAN (IEEE 802.11)
<*> Realtek 8180/8185 PCI support

Con esto activamos el soporte para nuestra tarjeta de red inalambrica.

Activar soporte para el sonido

Ahora nos toca activar el chip de nuestra tarjeta de sonido, aquí es algo raro, es decir, sabemos que nuestro chip de sonido es nvidia

00:10.1 Audio device: nVidia Corporation MCP51 High Definition Audio (rev a2)

Sin embargo en la lista de dispositivos del kernel no viene tal driver, pero si elegimos el driver de "High Definition Audio" funciona muy bien.


Device Drivers --->

Sound --->

Advanced Linux Sound Architecture --->
<*> Sound card support

PCI devices --->
<*> Intel HD Audio

No lo olviden leer el HOWTO ALSA para que configuren bien su dispositivo.

Activar soporte para video

Seleccionaremos el driver para nuestro framebuffer, hay que recordar que este driver y el driver propiertario de nvidia para Xorg no se llevan bien así que hay que decidir si nos quedamos con el gráfico o con el framebuffer bien configurado.
No se ustedes pero yo prefiero el gráfico face-smile-big.png

Para configurar el driver de framebuffer activamos lo siguiente:


Device Drivers --->

Graphics support --->
<*> /dev/agpgart (AGP Support) --->
<*> AMD Opteron/Athlon64 on-CPU GART support
<*> NVIDIA nForce/nForce2 chipset support

Device Drivers --->

Graphics support --->
<*> Support for frame buffer devices --->

[*] VESA VGA graphics support

Ahora para hacer funcionar el driver propietario de nvidia hay que desenmascarar el paquete de nvidia ya que también hemos desenmascarado el kernel e instalar el dirver


dementor ~ # echo "x11-drivers/nvidia-drivers" >> /etc/portage/package.keywords

dementor ~ # emerge nvidia-drivers

Y bien con esto hemos configurado casí todos los dispositivos de dementor face-smile-big.png
si tienen alguna duda o a recomendación sobre esto manden correo a ivan at rico dot org dot mx

Extraer audio de archivos FLV

Anoche estaba con Eliza y me dijo que necesitaba grabar una canción tipo karaoke para un evento que hiba a tener, total reinicie a lily en windows XP para que la usara y cuando ella terminó de hacer su busqueda ya me dijo que hiciera mi jale tongue.png , total lo que veo es un video de youtube y le pregunté que dónde la hiba a poner y ella me dice que un reproductor de CD normal, face-plain.png bueno entonces lo que habia que hacer era extraer el audio en mp3 del video en youtube, y estos fueron los pasos que hice:

Primero reinicie en Gentoo después con el Video DownloadHelper (complemento del firefox) baje el video en formato FLV del sitio de youtube.

Después instale el ffmpeg, ya lo saben para gentoo es esto:

emerge ffmpeg
Si tienen otra distro pues usen su gestor de paquetes (apt, yum, etc)

Una vez instalado en la terminal metemos este comando para extraer el audio

[12:41 ] [ivan_at_lily][~]

#:cd dwhelper/

[12:41 ] [ivan_at_lily][~/dwhelper]

#:ffmpeg -i video.flv -ab 128 -ar 44100 audio.mp3

y bien al final obtendremos un archivo de nombre audio.mp3 que tiene solamente el audio del video en flv.

Ya este archivo lo grabamos como Audio CD con nuestro tostador favorito y listo.

Muy sencillo no lo creen?

FTP en firewall con IPTABLES y politicas DROP

Hola a todos.

Bueno como ya es costumbre aquí postenado cada vez que cae un meteorito face-smile-big.png , pero bueno que le vamos a hacer el trabajo y las clases de inglés me consumen tanto que cuando llego a mi casa solo quiero dormir, pero bueno no los voy a aburrir con mi vida, ahorita quiero compartir con ustedes un problema que todos nos topamos cuando colocamos un firewall con IPTABLES con politicas de DROP y queremos darle la pasada al FTP. Seguro que las reglas que ponemos como cualquier otra de forward no funciona y nos preguntamos "¿aja que paso?" pero es normal ya que el FTP tiene 2 formas distintas de comportarse una es el activo y otra el pasivo la diferencia es que en una el servidor decide el puerto a usar y la otra es el cliente pero si quieren saber un poco mas lean esta liga:
http://www.dabax.net/node/16
o bien busquen el oraculo (osea google).

Bien esto lo he puesto en mi firewall publicado aquí
¿cómo hice funcionar esto en mi firewall?

bueno solo he agregado estas líneas en la parte de FORWARD:


# FTP Activo

$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 20 -j ACCEPT # Port

$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p udp --dport 20 -j ACCEPT # Port

$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 21 -j ACCEPT # Control

$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p udp --dport 21 -j ACCEPT # Control

# Complemento para FTP Pasivo

$IPTABLES -A FORWARD -p tcp -s $CLASS --sport 1024:65535 -d $UNIVERSE --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT

$IPTABLES -A FORWARD -p tcp -s $UNIVERSE --sport 21 -d $CLASS --dport 1024:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT

$IPTABLES -A FORWARD -p tcp -s $CLASS --sport 1024:65535 -d $UNIVERSE --dport 1024:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT

$IPTABLES -A FORWARD -p tcp -s $UNIVERSE --sport 1024:65535 -d $CLASS --dport 1024:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT

y la documentación menciona que se deben cargar algunos módulos:

ip_conntrack_ftp

ip_conntrack

ip_conntrack

ip_nat_ftp

pero en el caso de gentoo se llaman distintos:

firewall ~ # lsmod | grep nf | cut -d " " -f 1

nf_conntrack_tftp

nf_conntrack_ftp

nf_nat

nf_conntrack_ipv4

nf_conntrack

depués de haber cargado estos módulos el FTP ha funcionado perfectamente en el firewall. Estos módulos estan en el gentoo-sources en Networking->Networking Options->Network packet filtering framework (Netfilter) --> Core Netfilter Configuration

Espero sea de utilidad para alguien mas que a mi.

Saludos a todos.

Colorear el PROMPT

Bueno para los que no saben qué es el prompt:
Se llama prompt al carácter o conjunto de caracteres que se muestran en una línea de comandos para indicarnos que está a la espera de ordenes. info mas completa aquí.

Bueno en algunos de los post que he puesto como:

Wallpaper Aleatorio en Gnome 2Monitor de recursos con gkrellm2

Me di a la tarea de mostrar el prompt tal y como se ve en mi terminal, quizas algunas personas que acaban de conocer el BASH se estaran preguntando como hacer esto.

Para cambiar esto hay que modificar el valor de la variable de entorno PS1 ahi hay que meter los valores que BASH interpretara como colores. Para facilitar la vida con respecto a esto hace algun tiempo llego a mis manos este trozo de código a mi con el cuál es mas sencillo editar nuestro PROMPT.

Aquí el código

Aquí asignamos el valor de PS1Aquí el código

Todo este código yo lo tengo pegado en mi .bashrc así cada vez que abra terminal me leera esto y me cargará mi prompt ya con colorsitos y se verá así:
[12:26][ivan@lily][~]
#:ls

Espero les sea de utilidad.
Saludos

monta tu propio mensajero instantaneo con OpenFire

Qué onda raza, después de mucho no postear (otra vez tongue.png ) pues regreso aquí para mostrarles una herramienta que mi amigo Jesús Reyna me dijo que estaba muy buena para montar un servidor de mensajeria instantanea. Esta herramienta se llama OpenFire.

OpenFire es una herramienta libre facil de instalar, adminsitrar y personalizar. Una de las ventajas que yo le veo es que puede integrarse con otros protocolos de mensajeria instantanea incluso aunque sea propietarios como por ejemplo del MSN Messenger o el Yahoo Messenger! y administrar hasta cierto punto los contactos de la cuenta. Genial no? con esto el quitamos el doble filo que tienen estas herramienta ya que no falta aquel usuario que solo esta en el chat y cuando vas a quitarselo sale con el pretexto de que lo usa para comunicarse con su jefe que esta de viaje.

Bueno cuando tenga algo mas concreto lo compartire con ustedes.

Saludos

La inseguridad del MSN Messenger

Hola a todos, en este post vengo a traerles lo inseguro que es platicar por MSN Messenger, ya que por ahí existen varias herramientas que pueden capear todo ese tráfico y guardarlo en bitacoras. Recientemente he estado probando el imsniff, que cómo su nombre lo dice es un sniffer, es un simple programita que no ocupa mucho espacio en la memoria y esta capturando todas las conversaciones del MSN

Vamos a ver su funcionamiento e instalación:
pero antes verifiquemos que contamos con las dependencias necesarias: libpcap-dev y c++. Ya que nos instalamos las dependencias.
Primero nos decargamos el fuente de la página del proyecto, posteriormente lo descompactamos y nos vamos al directorio llamado linux ahí encontraremos 2 archivos, (build, imsniff), lo que hace el build es compilar el programar y generar el binario imsniff y el otro es el programa en sí, yo recomiendo siempre recompilarlo para que se construya de acuerdo a tu versión del libpcap.


[root_at_plastic linux]# ./build

[root_at_plastic linux]#

una vez que esto ya se compilo solo hay que ejecutarlo, un parametro importante a pasarle es el de la interfaz de red por donde esta pasando nuestro tráfico de messneger, y ademas hay que ponerlo en segundo plano con el & para que se quede ahí corriendo face-smile-big.png

[root_at_plastic linux]# ./imsniff eth1 &

Tambien podemos tener un archivo de configuración imsniff.conf que debe estar grabado en /etc/, pero si quieres mas detalles leanse la documentación que esta en el directorio docface-smile-big.png

Y bien con el programa corriendo en segundo plano las conversaciones capturadas seran almacenadas en el directorio /tmp/chats/ en dónde habrá un directorio por cada usuario conectado y en cada directorio un archivo por cada contacto con la conversación que tuvo mientras el programa corria.

Nota importante, este debe estar corriendo en el equipo que sea Gateway, pero no se preoucupen ya que no les va a quitar rendimiento, solo chequen cuanta memoria consume:

[root_at_plastic ~]# pmap 15083

15083: ./imsniff eth1

0020a000 28K r-x-- /lib/libgcc_s-3.4.6-20060404.so.1

00211000 4K rw--- /lib/libgcc_s-3.4.6-20060404.so.1

00251000 84K r-x-- /lib/ld-2.3.4.so

00266000 4K r---- /lib/ld-2.3.4.so

00267000 4K rw--- /lib/ld-2.3.4.so

0026a000 1172K r-x-- /lib/tls/libc-2.3.4.so

0038f000 4K r---- /lib/tls/libc-2.3.4.so

00390000 12K rw--- /lib/tls/libc-2.3.4.so

00393000 8K rw--- [ anon ]

0039d000 132K r-x-- /lib/tls/libm-2.3.4.so

003be000 8K rw--- /lib/tls/libm-2.3.4.so

00422000 132K r-x-- /usr/lib/libpcap.so.0.8.3

00443000 4K rw--- /usr/lib/libpcap.so.0.8.3

00513000 768K r-x-- /usr/lib/libstdc++.so.6.0.3

005d3000 20K rw--- /usr/lib/libstdc++.so.6.0.3

005d8000 24K rw--- [ anon ]

08048000 36K r-x-- /root/msn_sniffer4/linux/imsniff

08051000 4K rw--- /root/msn_sniffer4/linux/imsniff

080c3000 252K rw--- [ anon ]

b7f78000 8K rw--- [ anon ]

b7f8f000 4K rw--- [ anon ]

bfff5000 44K rw--- [ stack ]

ffffe000 4K ----- [ anon ]

total 2760K

[root_at_plastic ~]#

Bueno raza ahora que ya lo saben, piensen 2 veces antes de escribir algo por MSN ya que alguién puede estar observando face-smile.png por cierto si tienen problemas de inestabilidad leanse está página:
http://www.vivaolinux.com.br/dicas/verDica.php?codigo=7357

Anuncio de Windows Vista

Hola a todos, supongo que muchos de ustedes ya vieron el anuncio del nuevo Sistema Operativo de la empresa de Redmon el Windows Vista. Bueno si no lo han visto aquí se los dejo para que le echen un vistazo.


Pero no faltan aquellos geeks que no pierden oportunidad para demostrar que lo que Windows trae son puros bugs y que su nueva apariencia no es ninguna novedad ya que en GNU/Linux existe algo como eso y mucho mejor.


¿Apoco no es una belleza el Beryl?

bueno espero que hayan disfrutado de los videos.
Nos vemos después.

Recuperar contraseña de Webmin

Qué onda raza, fijense que hace algunos días me paso un caso muy extraño con un servidor, resulta que lo actualice y entre los paquetes se encontraba el webmin, y pues yo bien seguro de todo actualice pero al finalizar la instalación parece ser que no puse la atención debida al semi asistente que aparece para la actualización de algunos archivos, ya que al día siguiente me econtre con que la contraseña de root dewebmin no era la correcta, cosa que se me hizo extraña por que regularmente es la misma que el usuario root del sistema operativo, no pues para pronto me fui al famoso http://ww.google.com y encontre cómo se puede hacer para recuperar dicha contraseña.

Al estar leyendo los documentos me di cuenta que es muy sencillo y de echo el propio webmin te proporciona la herramienta para estos casos. Para no darle tantas vueltas al asunto les pongo lo que me ayudo a restaurar mi sagrada contraseña tongue.png
How do I change my Webmin password if I can't login?

Included with the Webmin distribution is a program called changepass.pl to solve erecisely this problem. Assuming you have installed Webmin in /usr/libexec/webmin, you could change the password of the admin user to foo by running
/usr/libexec/webmin/changepass.pl /etc/webmin admin foo

De hecho yo solo ejecute el siguiente comando y todo fuinciono muy bien

/usr/libexec/webmin/changepass.pl /etc/webmin root 123456

Algo que si no te es que el usuario que tenia creado ademas del root desaparecio por lo cuál tuve que crearlo, esto fue suerte ya que de haber tenido mas hubiera sido una weba tener que recapturar todos ya que no tenía respaldo de esto.

De esto me quedan 2 cosas de experiencia:
1-Sacar respaldos de etc
2-Poner atención a los etc-update face-smile-big.png

Bueno espero algún día esto le sirva a alguién.

Saludos

device is busy : umount

Hola raza, no les ha pasado que quieren desmontar alguna unidad de almacenamiento con umount les aparece la leyenda de device is busy?. Y cuando se fijan en los procesos no ven nada que la pueda estar usando. Esto es realmente molesto para mi, sobretodo cuando llevo prisa, pero afortunadamente existe un par de comandillos que nos ayudan saber que proceso lo esta ocupando y así poder detenerlo y después hacer bien el umount.

El primero de ellos es fuser que identifica los procesos que estan usando los archivos o puertos.
El segundo que tenemos es el lsof: que solamente lista los archivos abiertos.

Vamos a ver un ejemplos para saber cómo funcionan:

Ejemplo 1: Utilizando fuser

lily ~ # umount /mnt/ntfs

umount: /mnt/ntfs: dispositivo ocupado

umount: /mnt/ntfs: dispositivo ocupado

lily ~ # fuser /mnt/ntfs

/mnt/ntfs: 7286c

lily ~ # ps aux | grep 7286

ivan 7286 0.0 0.2 12744 3024 pts/3 Ss+ 15:22 0:00 bash

lily ~ #

Cómo pueden ver quién esta haciendo uso del dispositivo es el usuario ivan que esta firmando en la terminal virtual número 3, ya solo queda darle un kill al proceso o decirle que se salga si es que somos amables face-smile.png

Ejemplo 2: usando lsof


lily ~ # lsof /mnt/ntfs/

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

bash 7286 ivan cwd DIR 3,5 8192 5 /mnt/ntfs/

lily ~ #

Cómo pueden ver aquí, nos da mas detalles acerca del punto.
Ya con alguno de estos comandos podemor hacer que nuestro desmotaje sea normal y no tengamos que desconectar el dispositivo a la fuerza y correr riesgos de perdida de datos.

Nota importante, estos se deben correr como root face-smile.png

De regreso a las andadas :)

Qué onda raza pues aquí comenzando a postear nuevamente y para dar inicio voy ponerles un script que utilizo para establecer un Firewall usando IPTABLES.

Estas reglas estan establecidas para usar la implementación de: Política por defecto DENEGAR, es decir, todo esta negado, y solo se permitirá pasar por el firewall aquellos que se permita explícitamente.

#!/bin/bash############################################################
# Los acentos en este texto han sido eliminados a proposito.
# Firewall con politicas de DROP por defecto
# Construido por Ivan Rico | 7th Sign
# ivan_at_rico_dot_org_dot_mx
# http://ivan.rico.org.mx
########################################################################################################################
# VARIABLES DEL SCRIPT
#############################################################Ruta del binario de iptables
IPTABLES=/sbin/iptables

#Interfaz conectada a internet
INTERNET="eth0"#Interfaz conectada a nuestra LAN
LAN="eth1"#Declarar la clase de la red local
CLASS=192.168.0.1/24#Declarar el resto de la red
UNIVERSE=0.0.0.0/0############################################################
# ELIMINACION DE REGLAS EXISTENTES
############################################################$IPTABLES -F
$IPTABLES -X
$IPTABLES -Z
$IPTABLES -t nat -F

############################################################
# ESTABLECEMOS POLITICAS POR DEFECTO (CERRADO)
############################################################$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

############################################################
# COMIENZAN REGLAS DE FILTRADO
############################################################
#El localhost se deja acceso total
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT


#*************#
#*************#
#                       REGLAS DE INPUT                       #
#*************#
#*************#
#PERMITIR PETICIONES ICMP QUE VENGAN DE LAS IPS DE LA RED
$IPTABLES -A INPUT -p ICMP -s $CLASS -j ACCEPT

#PERMITIR PINGS DESDE INTERNET
$IPTABLES -A INPUT -p icmp -i $INTERNET --icmp-type echo-reply -j ACCEPT

#PERMITIR EL USO DEL SERVIDOR DNS
$IPTABLES -A INPUT -p udp -s $CLASS --dport 53 -j ACCEPT
$IPTABLES -A INPUT -p tcp -s $CLASS --dport 53 -j ACCEPT
$IPTABLES -A INPUT -p udp -d $CLASS --sport 53 -j ACCEPT
$IPTABLES -A INPUT -p tcp -d $CLASS --sport 53 -j ACCEPT

#ACCESO A SSH DESDE LA RED LOCAL
$IPTABLES -A INPUT -i $LAN -p tcp --dport 22 -j ACCEPT

#ACCESSO A SMB DESDE LA RED LOCAL
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 137 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 138 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 139 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 445 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 137 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 138 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 139 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 445 -j ACCEPT


#PERMITIR ACCESO A LAS CONEXIONES ESTABLECIDAS
$IPTABLES -A INPUT -i $INTERNET -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#*************#
#*************#
#                       REGLAS DE OUTPUT                    #
#*************#
#*************#
#PERMITIR CONTESTAR LAS PETICIONES ICMP DE LAS IPS DE LA RED
$IPTABLES  -A OUTPUT -p ICMP -d $CLASS -j ACCEPT

#PERMITIR PNGS DESDE INTERNET
$IPTABLES -A OUTPUT -p icmp -o $INTERNET --icmp-type echo-request -j ACCEPT

#DNS
$IPTABLES -A OUTPUT -p udp -d $CLASS --sport 53 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -d $CLASS --sport 53 -j ACCEPT

#ACCESO A SSH DESDE LA RED LOCAL
$IPTABLES -A OUTPUT -o $LAN -p tcp --sport 22 -j ACCEPT

#ACCESSO A SMB DESDE LA RED LOCAL
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 137 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 138 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 139 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 445 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 137 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 138 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 139 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 445 -j ACCEPT

#PERMITIR EL ACCESO A LAS CONEXCIONES ESTABLECIDAS
$IPTABLES -A OUTPUT -o $INTERNET -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#*************#
#*************#
#                       REGLAS DE FORWARD                 #
#*************#
#*************#
#HABILITAR CONSULTA DNS
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p udp --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 53 -j ACCEPT

#HABILITAR EL POP3
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 110 -j ACCEPT
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 995 -j ACCEPT

#HABILITAR EL SMTP
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 25 -j ACCEPT

#HABILITAR TRAFICO WEB
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 80 -j ACCEPT

#HABILITAR PING
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p icmp -j ACCEPT

#PERMITIR EL USO DE MSN MESSENGER
$IPTABLES -A FORWARD -p TCP --dport 1863 -j ACCEPT

#PERMITIR EL USO DEL PUERTO DEL CPANEL
$IPTABLES -A FORWARD  -i $LAN -o $INTERNET -p TCP --dport 2083 -j ACCEPT

#PERMITIR EL USO DEL SSL
$IPTABLES -A FORWARD  -i $LAN -o $INTERNET -p TCP --dport 443 -j ACCEPT

#PERMITIR CONEXIONES SSH HACIA EL EXTERIOR
$IPTABLES -A FORWARD  -i $LAN -o $INTERNET -p TCP --dport 22 -j ACCEPT

#HABILITAR LAS CONEXIONES ESTABLECIDAS
$IPTABLES -A FORWARD -i $INTERNET -o $LAN -m state --state ESTABLISHED,RELATED -j ACCEPT

#*************#
#*************#
#                       REGLAS De NAT                            #
#*************#
#*************#
#ACTIVANDO EL NAT USANDO MASQUERADE
echo"1" > /proc/sys/net/ipv4/ip_forward
$IPTABLES -t nat -A POSTROUTING -s $CLASS -d $UNIVERSE -o $INTERNET -j MASQUERADE

 

Cabe mencionar que estas reglas son las mas sencillas para poner un buen firewall ya que como pueden ver no establece ninguna zona Desmilitarizada ni nada por el estilo.

Pero bueno funciona para mis propositos y lo hace bien face-smile.png , espero que a alguién mas le sean útil estas reglas y si llega a existir alguna duda, pues que me avise y con gusto se la amplio, digo... se la aclaro face-smile.png

Nos vemos en el siguiente post.

Pasar archivos de video a DVD

Me ha saltado la necesidad de convertir mis archivos de video a DVD para poder repoducirlos en cualquier DVD de consola.

Revisando algunas p�ginas encontre que hay muchas formas de hacerlo en linux (que novedad no?? ��) pero como de momento no me interesa la compresi�n, la calidad, ni el tama�o de cada archivo pondre como hacerlo de modo sencillo para algunos archivos de video.

El primer paso que hay que hacer es convertir el archivo de video a MPEG-2(MPEG-2: normas para audio y v�deo para difusi�n de calidad de televisi�n. Utilizado para servicios de TV por sat�lite como DirecTV (Cadena estadounidense de televisi�n v�a sat�lite de difusi�n directa), se�ales de televisi�n digital por cable y (con ligeras modificaciones) para los discos de v�deo DVD

Para ello utilizamos ffmpeg

[11:04 ] [ivan_at_lily][/mnt/ntfs/7th_sign/MultiMedia/Videos/Rammstein]

#:ffmpeg -i Rammstein - Mein Herz Brennt Live.mpeg -target dvd Rammstein - Mein Herz Brennt Live.mpg

Una vez que termine de hacer esto hay que crear un archivo .xml sencillo con el siguiente c�digo:

&ltface-smile-big.png vdauthor>

   <vmgm/>

      <titleset>

             <titles>

               &lttongue.png gc>

                 <vobfile="Rammstein - Mein Herz Brennt Live.mpg"/>

               </pgc>

             </titles>

        </titleset>
</dvdauthor>

 

Digo sencillo por que aqu� es en d�nde podremos definir menus y cosas que hacen mas vistoso al DVD.

Si se desea agregar mas archivos de video solo hay que agregar mas etiquetas vob. Ya que tenemos nuestro archivo.xml hay que procesarlo para que no haga la estructura de un DVD, para ello usamos dvdauthor, con el siguiente comando:


[11:14 ] [ivan_at_lily][/mnt/ntfs/7th_sign/MultiMedia/Videos/Rammstein]

#: dvdauthor -o dvd -x archivo.xml

Al terminar tendremos un directorio llamado dvd que contendra la estructura y los videos en formato DVD.

Para probar como quedo nuestro DVD podemos usar lo siguiente.

[11:21 ] [ivan_at_lily][/mnt/ntfs/7th_sign/MultiMedia/Videos/Rammstein]

#: ogle dvd/VIDEO_TS/

Y bien si todo quedo bien, hay que hacer una im�gen de DVD del directorio dvd. ��


[11:29 ] [ivan_at_lily][/mnt/ntfs/7th_sign/MultiMedia/Videos/Rammstein]

#:mkisofs -dvd-video -v -o dvd.iso dvd

Bien ya despu�s de esto tenemos nuestro archivo dvd.iso listo para ser tostado y reproducido en cualquier consola de DVD y eso se hace con:


[11:29 ] [ivan_at_lily][/mnt/ntfs/7th_sign/MultiMedia/Videos/Rammstein]

#:/usr/bin/growisofs -Z /dev/hdc=/mnt/ntfs/7th_sign/MultiMedia/Videos/Rammstein/dvd.iso -use-the-force-luke=notray -use-the-force-luke=tty -dvd-compat -speed=16 -use-the-force-luke=bufsize:32m

Y listo!!!!tenemos nuestro disco DVD hecho.

No tiene mucha siencia, pero si es bastante tedioso hacer todo esto, igual estaria bien desarrollar un mini-script que me facilite la vida, pero de mientras esto me saca del apuro en que ando.

Nos vemos luego.

Utilizando dd en linux

Que tal raza,

Se me presento la necesidad de cambiar el disco duro de un servidor con white box linux,ya que a pesar de ser de 80 GB se encontraba al 90% de su capacidad, en ese disco estaba el / <-- root y me dio una tremenda flojera el solo pensar que tenia que reinstalar el sistema y hacer las configuraciones de nuevo, as� que por eso opte por usar dd, aunque mi experiencia con estas herramientas no son muy buenasface-sad.png pero bueno al final supere mi trauma todo salio bien.

les explico el caso:

Lo primero que hice fue consegui un livecd con las herramientas b�sicas de linux pense en un knoppix ya que tiene muchas mas herramientas que las b�sicas pues es todo un linux completo, pero no tenia el tiempo suficiente para descargar 700 MB y quemarlos as� que la opci�n mas viable fue la de descargar gentoo-minimal que por un 56 MB te levanta una l�nea de comandos con las herramientas b�sicas de un linux. (me facina esta distro)

Una vez que lo descargue en mi servidor pongo el disco duro como master en el segundo IDE, para que me aparezca como hdb, despu�s procedo a crear las particiones para esto es bueno el fdis