Fotomatón

|
Siempre me ha llamado la atención la cantidad de información que nos puede ofrecer el directorio /proc ... ¡y lo poco que se usa!

Así, de mi época de BOFH en Linux (¡ays! qué añoranzas) he rescatado este script, un poco bruto en su diseño pero, os lo aseguro, muy eficiente:

echo "######## INFORMACION BASICA DEL SISTEMA - FOTOMATON ########"
echo HOSTNAME: 'cat /proc/sys/kernel/hostname'
echo DOMAIN: 'cat /proc/sys/kernel/domainname'
echo KERNEL: 'uname -r'
top -b | head -8
echo "######## INFORMACION DE SISTEMAS DE ARCHIVOS#######"
echo ""
echo "TIPOS DE ARCHIVOS SOPORTADOS:"
echo "---------------------------------------"
echo 'cat /proc/filesystems | awk -F'\t' 'print{$2}
echo "SISTEMAS DE ARCHIVOS MONTADOS:"
echo "------------------------------------------"
/proc/mounts
echo "IDES POR CONTROLADOR:"
echo "-----------------------------"
for i in 'ls /proc/ide | grep ide'
do
echo $i
for j in 'ls /proc/ide/$i |grep hd'
do
echo ""
echo " $j"
echo " ---------"
echo " modelo: 'cat /proc/ide/$i/$j/model'"
echo " driver: 'cat /proc/ide/$i/$j/driver'"
echo " tipo de dispositivo: 'cat /proc/ide/$i/$j/media"
if [ -e /proc/ide/$i/$j/geometry ]; then
echo " geometria:" 'cat /proc/ide/$i/$j/geometry'
fi
echo ""
done
done

(Joder... el ident a tomar por c...)

Una auténtica joya que funcionaba en Sarge como la seda y en Mandrake, más o menos.

Lo tenía guardado en ~/recursos/deb/bofh/scripts y creo que era una adaptación (o copia, no estoy muy seguro) de otro que encontré por inet. Si encuentro la referencia, la anotaré.

Lo de fotomatón viene porque una vez instalado un sistema nuevo, ejecutas el script y tienes una instantánea de lo que está rulando en él. A posteriori, una nueva pasada del script te dará una visión de la evolución del mismo.

¿Problemas de memoria? - Linux scripting

|
Con esto de estar tol santo día con 2K3 a uno se le van desengrasando los mecanismos de consola de *nix y máxime cuando tienes que tirar mano de /? cada dos por tres... Menos mal que no se me ocurrió cambiar la tecla Windows del curro por la /.

Lo cierto es que con la cantidad de distros nuevas que salen y la diversidad de escritorios, cuando llega el finde 'no paro quieto', como dice el 'semao' del coder. (Posandaqueél)

La cuestión es que tirando mano del comando script de linux me ahorro tiempo y neuronas.... ¿o no?

Para ver lo que hacía un amiguete al que he convencido para que se pase al lado linuxero y que se ha empeñado en aprender desde la consola se me ocurrió hacer esto:

$ mkfifo salida_teclado
$ script -f salida_teclado

Así, cuando me conecto por ssh a su prdenador con un simple

$ cat out

puedo ver qué está pasando en tiempo real.

Una manera más depurada de controlar qué hace, incluso con la cadencia de pulsación de teclas sería:

$ script -t 2> cadencia #cadencia es el archivo donde script guarda stdout_err

Si ahora ejecutamos, por ejemplo

$ ls
$ pwd
$ cd ..

se irá grabando todo hasta que escribamos

$ exit

Un simple scriptreplay cadencia nos mostrará qué ha ocurrido y a qué ritmo. ¿A que es una pasada? Alzheimer ya no podrá conmigo nunca más.

$ scriptreplay cadencia

Nota: ya se que existe bash_history. Pero, ¿qué sería el mundo sin atajos y sin rodeos? No lo digais, que se me pone cara de redmondita.

¿Existe un 'nohup' en el universo paralelo de Windows?

|
Lanzar procesos sin que dependan del proceso padre para continuar su ejecución es algo que los novatos nunca valoran lo suficiente... cuando me siento delante del 2K3 Server echo tanto de menos un 'nohup' como dios manda...

$ nohup comando

¿Por qué no conozco yo una cosa así para Windows? En Unix es tan sencillo ver qué está haciendo:

$ tail -f ~/nohup.out

o dirigirlo a cualquier otro fichero específico

$ nohup comando > ~/mi_archivo_de_test.txt &

Cuando se cuelga un proceso lanzado con nohup, este proceso sólo está protegido contra la señal SIGHUP, por lo que un simple

$ kill -9 PID

nos 'asesinará' el jodido zombie. Ya me podían poner aunque fuera un RH, leshies. (Odio el 'flavor' del gnome en RH... ¡Manías!)

Prompts

|
No deja uno de sorprenderse de la potencia de la línea de mandatos de linux. Pero aparte de todas las virtudes que queramos contar, al final de la jugada, lo que de verdad interesa es oir música, xarrar a través de internet y hacer colorines... hay qu seguir siendo niño.

Unas muestras:


PS1=\"\\[\\033[1;34m\\][\\u@\\h:\\w]$\\[\\033[0m\\] \"

PS1=\"\\[\\033[30;47m\\][\\[\\033[31m\\]\\u\\[\\033[30;47m\\]@ \\ \\W]\\[\\033[00m\\]$ \"

PS1=\'\\[\\033[01;30m\\]\\u \\[\\033[01;32m\\]\\h\\[\\033[01;33m\\]:\\[\\033[01;35m\\]\\w\\[\\033[0m\\$ \'

PS1=\"\\[\\033[;31m\\][\\[\\033[;36m\\]\\u@\\h\\[\\033[;31m\\]:\\[\\033[;36m\\ ]\\w\\ [\\033[;31m\\]]$\\[\\033[0m\\] \"

(Para que los promp permanezcan de una sesión a otra hay que ponerlos en el archivo .bashrc de tu home).

Nostalgias desde el kernel

|
Eliminando basuras informáticas que andan por ahí pululando (este síndrome de Diógenes digital que nos obsesiona) me encontré un archivo de texto muy curioso...

ack.ff al abrirlo me mostró un título peculiar: 'Acelerar la compilación del kernel'. A continuación las siguientes notas

He encontrado un truco que puede acelerar tremendamente el compilado del kernel de linux.Cuando se da la orden de compilar en vez de :

make zdisk

hay que escribir

make -j5 zdisk

Esto inicia hasta 5 procesos de compilado simultaneos.

Idem con

make -j5 modules

No se si llegaís a comprender lo que suponía, en aquel lejano año de 1997 compilar con 5 procesos simultáneos... ¡uasssss!

Cosas del Código Abierto

|

No me cansaré jamás de alucinar con las virguerías que se pueden encontrar de Código Abierto.

Este post está hecho con la extensión Weblog de OpenOffice 3.1.

Así de sencillo:

  1. Abres un documento

  2. Escribes

  3. Pinchas en Archivo/Enviar/To Weblog

  4. Safi baraka! (como dicen por aquí)

A L U C I N A N T E