jueves, 5 de marzo de 2009

Tips para Linux que todos deberiamos saber. Parte IV

Continuando las partes I, II y III, dejo la parte IV de la serie de Tips en Linux que todos deberiamos saber.

#16 Liberar puertos abiertos


Generar una lista de puertos de red que están en el estado de escucha (Liste) en servidor Linux es simple usando netstat:
root@casa:~# netstat -lnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:5280 0.0.0.0:* LISTEN 698/perl
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 217/httpd
tcp 0 0 10.42.3.2:53 0.0.0.0:* LISTEN 220/named
tcp 0 0 10.42.4.6:53 0.0.0.0:* LISTEN 220/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 220/named
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 200/sshd
udp 0 0 0.0.0.0:32768 0.0.0.0:* 220/named
udp 0 0 10.42.3.2:53 0.0.0.0:* 220/named
udp 0 0 10.42.4.6:53 0.0.0.0:* 220/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 220/named
udp 0 0 0.0.0.0:67 0.0.0.0:* 222/dhcpd
raw 0 0 0.0.0.0:1 0.0.0.0:* 7 222/dhcpd

Esto te muestra que el PID 698 es un proceso Perl que esta enlazado al puerto 5280. Si no eres root, el sistema no distinguirá que programas están corriendo en cada puerto.

#17 Discos Duros más rápidos

Quizás ya sabes que la herramienta hdparm puede ser usado para probar la velocidad de tu disco duro y también para configurar ciertas cosas. Pero también se puede usar para optimizar y encender algunas características que no se habilitan por defecto. Antes de empezar, ten cuidado que al cambiar las opciones del disco puede causar que la data se vuelva corrupta, por eso has un backup antes de hacer estos cambios.
Para probar la velocidad podemos usar:
hdparm -Tt /dev/hda
Veras algo como esto:
/dev/hda:

Timing buffer-cache reads: 128 MB in 1.64 seconds =78.05 MB/sec
Timing buffered disk reads: 64 MB in 18.56 seconds = 3.45MB/sec

Ahora, si quieres aumentar la velocidad, para encontrar el disco que esta actualmente en usa, solo hay que pasar al hdparm el nombre del dispositivo:
hdparm /dev/hda
/dev/hda:
multcount = 16 (on)
I/O support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 0 (off)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 8 (on)
geometry = 40395/16/63, sectors = 40718160, start = 0


Esto es justamente la configuración por defecto. La mayoría de las distros optan por estas opciones para que puedan trabajar con la mayoría de dispositivos. Para tener mas velocidad, quizás quieras habilitar el modo dma y ajustar el soporte de I/O. La mayoría de las computadoras modernas soportan el modo 3, el cual es un modo de transferencia a 32-bit, el cual puede ser doblado. Debes probar esto:

hdparm -c3 -d1/dev/hda

Luego ejecuta de nuevo la prueba de velocidad para ver la diferencia. Revisa los modos que tu hardware soporta y revisa el man de hdparm para como configurarlos.

#18 Mas tiempo en tus manos

Para ganar mas tiempo y ser mas efectivo puedes correr un proceso que actualice la barra de titulo del terminal con la carga actual en tiempo real, de modo que sabrás que es lo que estas ejecutando.

Guarda este script como tl en el directorio ~/bin
#!/usr/bin/perl -w

use strict;
$|++;

my $host=`/bin/hostname`;
chomp $host;

while(1) {

open(LOAD,"/proc/loadavg") || die "Couldn't open /proc/loadavg:
$!\n";

my @load=split(/ /,
);
close(LOAD);


print "$host: $load[0] $load[1] $load[2] at ", scalar(localtime);
print "\007";

sleep 2;
}


Cuando quieras tener tu barra de titulo reemplazada con el nombre, promedio de carga, la hora de sistema, simplemente ejecuta tl& esto hará que se ejecute en segundo plano aun si estas un programa interactivo como Vim.

#19 Tomando un screenshot (pantallazo) sin X

Hay una gran cantidad de programas para capturar la pantalla, pero la mayoría basada en X. El problema radica cuando una aplicación X que se esta ejecutando interfiere con la aplicación que deseas tomar, quizás un juego o un instalador Linux. SI usas ImageMagick, puedes tomar desde una sesión X vía la consola. Simplemente anda a un terminal virtual (CTRL + ALT + F1) e ingresa lo siguiente:
chvt 7; sleep 2; import -display :0.0 -window root sshot1.png; chvt 1;

El comando chvt cambia el terminal virtual y el comando sleep te el tiempo para mostrar la pantalla. El comando import captura toda la pantalla y lo guarda en un archivo antes del chvt final que regresa al terminal virtual. Asegúrate de escribir todo el comando en una linea.

Esto también puede servir en instalaciones Linux, la mayoría deja la consola ejecutándose en segundo plano, solo carga un CD con import y algunas librerías que requiere para ejecutar donde sea el capturador de pantalla.

#20 Acceder a tus programas remotamente

Si quieres estar recostado en tu cama y acceder con tu portátil o laptop con Linux a las aplicaciones de tu PC, lo puedes hacer usando SSH, primero debes habilitar lo siguiente en /etc/ssh/sshd_config:
X11Forwarding yes

Ya puedes ejecutar GIMP en 196.168.0.2 con:
ssh -X 192.168.0.2 gimp

Obviamente debes estar en red

No hay comentarios: