viernes, 20 de junio de 2008

Vic Viper 2 rules

Mi computadora a la que bauticé como Vic Viper 2 es super cool, tiene un procesador Core Duo y ni se inmuta, miren:

[makz@vicviper ~]$ uptime
23:58:21 up 14:00, 1 user, load average: 0.80, 0.46, 0.29


El load average rara vez llega a 1.

Pero lo mejor de todo es como estoy usando el kernel con SMP (Symmetric Multiprocessing) activado me reconoce los dos cores del cpu (muestro sólo los datos relevantes):

[makz@vicviper ~]$ cat /proc/cpuinfo
processor : 0
model name : Intel(R) Pentium(R) Dual CPU E2160 @ 1.80GHz
cpu MHz : 1203.000
core id : 0
cpu cores : 2

processor : 1
model name : Intel(R) Pentium(R) Dual CPU E2160 @ 1.80GHz
cpu MHz : 1203.000
core id : 1
cpu cores : 2



Notarán que dice cpu MHz 1203.000, pero arriba dice que es a 1.80 GHz ¿cómo es eso? ah pues fácil, le activé el cpu frequency scaling al kernel para que aumente la frecuencia del procesador o la disminuya de acuerdo a la carga de trabajo.

Esto es gracias a los siguientes modulos del kernel:

[makz@vicviper ~]$ lsmod
Module Size Used by
cpufreq_ondemand 8460 1
acpi_cpufreq 9108 1
freq_table 4488 2 cpufreq_ondemand,acpi_cpufreq


La frecuencia de 1203 MHz es la mínima a la que trabaja este CPU, pero como el load average rara vez llega a 1, se mantiene siempre a esa frecuencia y ahorra energía.

¿Y qué tal el uso de memoria?

[makz@vicviper ~]$ free -m
total used free shared buffers cached
Mem: 2018 1234 784 0 103 856
-/+ buffers/cache: 274 1744
Swap: 243 0 243


¡No usa swap! podría tener tranquilamente un sistema swapless.

Ahora veamos el video:

[makz@vicviper ~]$ xdpyinfo
screen #0:
print screen: no
dimensions: 1280x1024 pixels (382x302 millimeters)
resolution: 85x86 dots per inch
depth of root window: 24 planes


Cool, aguanta una buena resolución y a 24 bits. A ver el soporte 3d

[makz@vicviper ~]$ xdpyinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)


WTF!!! no está activado el soporte 3d!!! qué raro, yo me acuerdo que sí. A ver vamos a hacer una pruebita con glxgears:

[makz@vicviper ~]$ LIBGL_DEBUG=verbose glxgears
3439 frames in 5.0 seconds = 686.212 FPS
3460 frames in 5.0 seconds = 690.465 FPS
3380 frames in 5.0 seconds = 672.650 FPS
3680 frames in 5.0 seconds = 731.837 FPS
3460 frames in 5.0 seconds = 689.903 FPS
3420 frames in 5.0 seconds = 680.154 FPS
3620 frames in 5.0 seconds = 723.254 FPS


LIBGL_DEBUG no nos dio nada de info útil. Pero creo que los FPS son bastante buenos para tener la aceleración 3d desactivada. A ver el load average

[makz@vicviper ~]$ uptime
00:12:50 up 14:15, 1 user, load average: 0.58, 0.70, 0.56


Sigue sin inmutarse. Genial.

A ver en top qué proceso está usando mas recursos:

top - 00:13:59 up 14:16, 1 user, load average: 0.51, 0.65, 0.55
Tasks: 93 total, 5 running, 87 sleeping, 0 stopped, 1 zombie
Cpu(s): 28.7%us, 0.8%sy, 0.0%ni, 70.1%id, 0.2%wa, 0.2%hi, 0.0%si, 0.0%st
Mem: 2067448k total, 1278036k used, 789412k free, 107724k buffers
Swap: 248996k total, 0k used, 248996k free, 886924k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5108 makz 20 0 243m 110m 27m R 56 5.5 21:49.87 firefox-bin
5055 root 19 -1 316m 52m 9308 R 3 2.6 5:44.33 X
5295 makz 20 0 73916 18m 10m R 1 0.9 0:04.49 Terminal
5555 makz 20 0 98.7m 25m 15m R 1 1.2 0:48.75 audacious


¡¡¡¡Firefox solito ocupa el 56% del cpu!!! ¡¡¡pues qué hace!!!!

Además tiene SSH por el puerto 22 y el 80 gracias a iptables, observen:

[makz@vicviper ~]$ ssh -p 22 vicviper2.kicks-ass.net
The authenticity of host 'vicviper2.kicks-ass.net (189.139.144.99)' can't be established.
RSA key fingerprint is 87:88:9c:5b:1e:3f:28:80:12:6e:25:fc:de:c4:85:fd.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'vicviper2.kicks-ass.net,189.139.144.99' (RSA) to the list of known hosts.
makz@vicviper2.kicks-ass.net's password:
Last login: Fri Jun 20 20:29:12 2008
Vic Viper II Powered by Arch Linux

[makz@vicviper ~]$ ssh -p 80 vicviper2.kicks-ass.net
makz@vicviper2.kicks-ass.net's password:
Last login: Sat Jun 21 00:18:38 2008 from 189.139.144.99
Vic Viper II Powered by Arch Linux


La regla de iptables que permite esto es muy sencilla (mi servidor ssh está configurado para escuchar en el puerto 80 normalmente):

[makz@vicviper ~]$ cat /etc/rc.local

iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 80


En ese archivo también agregué esto para mi scanner y para lo del cpu frequency scaling:

# Quick & dirty workaround for scanner

chown root:scanner /proc/bus/usb/001/*
chown root:scanner /proc/bus/usb/002/*
chmod 660 /proc/bus/usb/001/*
chmod 660 /proc/bus/usb/002/*

echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor

También cuando los usuarios se logean para usar a vic viper 2 como túnel ssh tengo un shell restringido, behold!

[makz@vicviper ~]$ ssh -p 80 raag@vicviper
The authenticity of host '[vicviper]:80 ([127.0.0.1]:80)' can't be established.
RSA key fingerprint is 87:88:9c:5b:1e:3f:28:80:12:6e:25:fc:de:c4:85:fd.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[vicviper]:80' (RSA) to the list of known hosts.
raag@vicviper's password:
Last login: Fri Jun 20 17:50:59 2008 from 189.139.166.121
Vic Viper II Powered by Arch Linux

[raag@vicviper ~]$ ls
-rbash: ls: No existe el fichero o el directorio
[raag@vicviper ~]$ echo $PATH

[raag@vicviper ~]$


Esto es gracias a que les tengo configurado a los usuarios rbash como shell:


[root@vicviper makz]# cat /etc/passwd
raag:x:1005:1006::/home/raag:/bin/rbash


Que no es mas que un link simbolico a bash que cuando es invocado como rbash restringe algunas acciones (man bash para más info) y para más seguridad les quité el path:

[root@vicviper makz]# cat /home/raag/.bash_profile
unset PATH

Ja ja ja ja ja. No pueden hacer nada.

¿Quieren conocer sus dispositivos de almacenamiento? look:

[makz@vicviper ~]$ df -h
S.ficheros Tamaño Usado Disp Uso% Montado en
/dev/hda2 5.3G 4.8G 263M 95% /
none 1010M 0 1010M 0% /dev/shm
tmpfs 1010M 12K 1010M 1% /tmp
/dev/hda1 20G 19G 541M 98% /mnt/windows
/dev/hda5 14G 12G 683M 95% /home
/dev/sda1 57G 51G 2.7G 96% /home/makz/extra_space5


Pero faltan unos.

[makz@vicviper ~]$ mount extra_space
[makz@vicviper ~]$ mount extra_space2
[makz@vicviper ~]$ mount extra_space3/
[makz@vicviper ~]$ mount extra_space4/


Ahora sí

[makz@vicviper ~]$ df -h
S.ficheros Tamaño Usado Disp Uso% Montado en
/dev/hda2 5.3G 4.8G 263M 95% /
none 1010M 0 1010M 0% /dev/shm
tmpfs 1010M 12K 1010M 1% /tmp
/dev/hda1 20G 19G 541M 98% /mnt/windows
/dev/hda5 14G 12G 683M 95% /home
/dev/sda1 57G 51G 2.7G 96% /home/makz/extra_space5
/dev/hdb 3.6G 3.6G 0 100% /mnt/cd
/dev/sdb1 4.6G 4.1G 291M 94% /home/makz/extra_space
/dev/sdb2 4.6G 3.9G 501M 89% /home/makz/extra_space2
/dev/sdb3 8.2G 6.0G 1.8G 77% /home/makz/extra_space3
/dev/sdb4 1020M 619M 350M 64% /home/makz/extra_space4


Sugoi!!!! y todos son discos IDE, tecnología "obsoleta", incluso uno, el sda1 que es el que me vendió el chopper, tiene las patitas donde entra el cable de datos chuecas pero lo repare con pinzas y golpes. Lo malo es que creo que si le quito el cable nunca más se lo podré volver a poner.

¿Que quieren saber qué versión del kernel uso?

[makz@vicviper ~]$ uname -r
2.6.24.2

Ahi está. ¿más detalles? lo hubieran dicho antes

[makz@vicviper ~]$ uname -a
Linux vicviper 2.6.24.2 #20 SMP PREEMPT Mon Jun 9 20:13:14 CDT 2008 i686 Intel(R) Pentium(R) Dual CPU E2160 @ 1.80GHz GenuineIntel GNU/Linux


¿Y el hardware?

[makz@vicviper ~]$ lspci
00:00.0 Host bridge: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub (rev 02)
00:02.0 VGA compatible controller: Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 01)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)
00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E PCI Express Fast Ethernet controller (rev 01)
04:01.0 RAID bus controller: VIA Technologies, Inc. VT6421 IDE RAID Controller (rev 50)
04:02.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)



Sí, le puse dos tarjetas de red. Es una motherboard Asrock wolfdale 1333-d667. Si googlean verán que tienen mala fama pero a mi me salió buena, es de las mejores que he tenido.

¿Quieren ver las opciones de configuración del kernel? Eso sería muy largo. Mejor para la otra.

Espero que les haya gustado este tour por vic viper 2.
Hasta pronto.

No hay comentarios.: