25/6/2012

Aplicaciones no responden o inician cuando VirtualBox esta creando un disco, o cuando existen altas cargas de escritura a disco / System unresponsive under heavy disk I/O using VirtualBox or other software

A muchas personas les sucede, yo soy una de ellas, que al tener el disco una escritura "heavy", como al crear un disco de virtualbox de 1GB o 10GB, eso no importa, el sistema no responde hasta que termine de crearlo, o responde por momento, es decir, si dan click en una aplicacion, esta no abre, o si abre, no se cierra, etc.

24/6/2012

Mejorar el I/O de disco para escrituras pequeñas, mejorar performance y cuidar el disco

Para el que no entendio el titulo del post, en lenguaje común, como para que lo entienda mi "hermana", son unos seteos que reducen el uso de entrada y salida de datos del disco y por consiguiente el uso del mismo, en lectura y escritura de datos pequeños.

Usar RAM para la caché de disco de Firefox y Google Chrome

Habiendo visto como montar /tmp y /var/tmp en RAM, ahora, que ventaja si no podemos usarla mas que para chucherias?, no es asi!.

A muchos no les convendrá esto, por falta de RAM, dado que esto se cargará en ella, pero a muchos si, quienes tengan al menos 1gb de ram, les va a convenir, dado que la RAM es muchisimo mas rapida que un disco, a menos que sea un SSD de los ultimos, y aun asi, una ddr3 en dual channel 1600mhz, le gana.
Bueno, basicamente, le vamos a indicar a Firefox y a Chrome, que en vez del disco, el tradicional path, usen nuestro nuevo /tmp montado en RAM.

Nota: Es excluyente hacer lo de estos post, en el orden dado antes de proceder
1.- http://hackingthesystem4fun.blogspot.com.ar/2012/06/mejorar-el-rendimiento-usando-tmp-como.html
2.- http://hackingthesystem4fun.blogspot.com.ar/2012/06/usar-vartmp-en-memoria-ram.html

Cuando navegan, la caché se escribe en disco, sobre todo Firefox, si abren cosas muy pesadas, como un post de taringa con 500 fotos, van a ver como todo se pone lento, es por la cantidad de información que cachea al disco y no a la RAM, por el contrario, Chrome usa mas la RAM, aun asi, no es 100% RAM. Eso vamos a hacer, luego me cuentan como les fue.

Chrome

Si usan KDE o GNOME2 o GNOME3 o lo que sea, es lo mismo, la orden es la misma.
Por defecto, los lanzadores de Chrome vienen con esta orden:

/opt/google/chrome/google-chrome %U

Bueno, solo debemos cambiar eso, por esto otro:

/opt/google/chrome/google-chrome %U --disk-cache-dir="/tmp/google-chrome/"

Con eso, Chrome iniciará usando la caché de disco en /tmp, que vimos en post anteriores, como montar en RAM, mejorando asi, la velocidad, asi como fiabilidad, es decir, no mas "borras historial", reinician la PC, y no tienen mas cache de porno, por ejemplo, util no?.


Firefox

En Firefox no es mucho mas complicado, solo que mejor lo pongo por pasos, si?.

1.- Abren firefox
2.- Tipean en la barra de direccion donde suelen poner google.com, about:config y le dan enter
3.- Aceptan la advertencia de seguridad
4.- Click derecho sobre el cuerpo de Firefox, el contenido!.
5.- Nueva, cadena, o string si lo usan en inglés
6.- El valor será 'browser.cache.disk.parent_directory' sin las comillas
7.- Cuando le den enter, les pedirá un valor, colocan '/tmp' sin las comillas

Reinician Firefox y listo, la caché de navegacion se guardará en /tmp, que es un directorio montado en RAM.

Por ultimo, para que no se pisen entre Chrome y Firefox, en /tmp, debemos crear un directorio aparte para Chrome, o bien Firefox, yo lo hice con Chrome, como /tmp ahora es RAM, en cada reinicio se borrará lo que hagamos, asi que en /etc/rc.local, colocamos lo siguiente:

mkdir -p -m 700 /tmp/google-chrome/ && chown -R synflag:synflag /tmp/google-chrome/ && chmod -R 700 /tmp/google-chrome/


Reemplacen synflag por su usuario, si?.


Nota Final Importante

Firefox utiliza la cache para descargas de archivos, los guarda como .part y cuando estan listos los mueve al destino que le indicamos con la extension que le corresponde.

Si son de esos que bajan 10 archivos de mediafire al mismo tiempo, de unos 200mb cada uno, la size de /tmp, debería variar, sino van a pasarse, asi que pongan 1 o 2G, la sintaxis, en vez de ser 512m es:


size=1G


Eso es todo

Usar /var/tmp en memoria RAM al igual que /tmp

Ya habiamos visto en este post, como usar /tmp en RAM, para mejorar rendimiento y reducir al acceso a disco.
Ahora vamos a ver como usar /var/tmp como RAM.
La diferencia entre /var/tmp y /tmp en sistemas RHEL, es que /var/tmp contiene datos temporales que son almacenados por 30 días, luego el logrorate los elimina, por tanto, no son tan vitales para ser sinceros.
Esto es mas facil que lo anterior, asi que manos a la obra:

se loguean como root:

# cd /var/
# rm -rf tmp/
# ln -s /tmp /var/tmp
# nano /etc/fstab
y dejan la linea de fstab que habian editado en el otro post, asi:


tmpfs                   /tmp                    tmpfs   size=2G,noexec,nosuid,rw,auto,nouser,sync,relatime,mode=01777       0 0

Salvan y salen

Reinician, y si, /var/tmp no es mas que un symlink a /tmp, donde ahora usan como maximo, no esta reservado aun, 2GB de RAM.

21/6/2012

Whois IP | Saber la informacion de una IP

Hace algún tiempo habia colocado un script llamado geoip, para desde consola, ver la localizacion de una IP.
Ahora bien, hay otro servicio llamado whois IP, el cual nos da la informacion del bloque de la misma, ISP, etc.
Si bien podria poner todo en el mismo script, un geoip-who, me parece mas ordenado colocarlo de forma separada, ademas, geoip depende de un servicio distinto que whoip, por tanto, si cae uno de los dos, no afectará el script, sumando el hecho, de que por su sintaxis, el geoip es mas inmediato, ademas de lanzar menos informacion en pantalla, esto es conveniente si tenemos gente mirando, como ser, en un trabajo, un bar?, porque no, si miran podrian decir "y ese mirando la informacion tan completa de una IP", se entiende no?.

Bueno, para esto vamos a necesitar 2 cosas.

1.- Un editor de texto, nano, vim, vi, emacs
2.- elinks

Debí usar elinks, porque lynx tiene problemas con el formateo del texto de la web que usé, es la única que no me banea por uso constante, en cambio otras web, me dicen que si requiero muchas peticiones, que pague por mes.

Ahora, vamos al script, es muy sencillo.

1.- Ejecutan como root
nano /usr/local/bin/whoip

2.- Colocan ahi dentro

#!/bin/sh
#Name: whoip
#Author: SynFlag
#Description: Whois ip from terminal
#Licence GPLv3
elinks -dump http://tools.whois.net/whoisbyip/$1|tail -n 95|head -n 55

3.- Salvan  y salen

4.- Ejecutan
chmod +x /usr/local/bin/whoip

Listo, desde cualquier terminal, ponen whoip IP, donde IP es la IP, un ejemplo de una salida normal.


 [user@hostname ~]$ whoip 130.237.188.216
  %
 % The RIPE Database is subject to Terms and Conditions.
 % See http://www.ripe.net/db/support/db-terms-conditions.pdf


 % Note: this output has been filtered.
 %       To receive output for a database update, use the "-B" flag.


 % Information related to '130.237.184.0 - 130.237.191.255'


 inetnum:        130.237.184.0 - 130.237.191.255
 netname:        SUNT
 descr:          Stockholm University
 descr:          SE-106 91 Stockholm
 descr:          SWEDEN
 country:        SE
 admin-c:        SUI3-ripe
 tech-c:         SUI3-ripe
 status:         ASSIGNED PI
 mnt-by:         SUNET-MNT
 descr:          ======================================
 descr:          Abuse issues should be sent
 descr:          to abuse@su.se
 descr:          ======================================
 source:         RIPE # Filtered


 role:            Stockholm University IT
 address:         Stockholm University
 address:         IT services
 address:         SE-106 91 Stockholm
 address:         Sweden
 phone:           +46 8 16 1999
 fax-no:          +46 8 674 73 48
 admin-c:         DS8776-RIPE
 admin-c:         PE1861-RIPE
 tech-c:          DS8776-RIPE
 tech-c:          PE1861-RIPE
 nic-hdl:         SUI3-ripe
 remarks:         ======================================
 remarks:         Abuse issues should be sent
 remarks:         to abuse@su.se
 remarks:         ======================================
 abuse-mailbox:   abuse@su.se
 mnt-by:          sunet-mnt
 source:          RIPE # Filtered


 % Information related to '130.237.0.0/16AS1653'


 route:          130.237.0.0/16
 descr:          KTH-LAN
 origin:         AS1653
 mnt-by:         SUNET-MNT
 source:         RIPE # Filtered


 % This query was served by the RIPE Database Query Service version 1.12.4 (WHOIS2)





Espero que les sirva y les haya gustado


20/6/2012

bad /dev/cdrom symlink | /dev/cdrom2 | /dev/sr0 | 70-persistent-cd.rules | bad /dev/cdrom2 -> /dev/sr0

En SL6.2, supongo que en CentOS.62 pasará lo mismo, noté que al usar el comando "eject", que expulsa la lectora de CD o DVD, no funcionaba, me decia que no se habia encontrado /dev/cdrom.
Claro, mi dispositivo era /dev/sr0, y dentro de /dev/ habia un symlink llamado cdrom2 que apuntaba a /dev/sr0.

Es decir, cdrom, se llamaba cdrom2. Por mas que recrearamos el symlink con el valor cdrom, borrando el otro, al reiniciar, el mismo problema.

Porque?, porque esto lo controla udev, el cual lee /etc/udev/rules.d/70-persistent-cd.rules y en base a ello, añade el symlink.

El error o bug, es que el contenido del archivo original es este:


# This file was automatically generated by the /lib/udev/write_cd_rules
# program, run by the cd-aliases-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and set the $GENERATED variable.


# DVDRAM_GU10N (pci-0000:00:1f.2-scsi-1:0:0:0)
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-1:0:0:0", SYMLINK+="cdrom", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-1:0:0:0", SYMLINK+="cdrw", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-1:0:0:0", SYMLINK+="dvd", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-1:0:0:0", SYMLINK+="dvdrw", ENV{GENERATED}="1"


# DVDRAM_GSA-U10N (pci-0000:00:1f.1-scsi-0:0:0:0)
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.1-scsi-0:0:0:0", SYMLINK+="cdrom1", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.1-scsi-0:0:0:0", SYMLINK+="cdrw1", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.1-scsi-0:0:0:0", SYMLINK+="dvd1", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.1-scsi-0:0:0:0", SYMLINK+="dvdrw1", ENV{GENERATED}="1"


# DVDRAM_GU10N (pci-0000:00:1f.2-scsi-0:0:0:0)
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-0:0:0:0", SYMLINK+="cdrom2", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-0:0:0:0", SYMLINK+="cdrw2", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-0:0:0:0", SYMLINK+="dvd2", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-0:0:0:0", SYMLINK+="dvdrw2", ENV{GENERATED}="1"



Que sucede con esto, al leer udev, observa que el ultimo existente es cdrom2 y lo crea nuevamente con cada reinicio, por eso se llaman reglas persistentes.

Como es arregla?, facil, solo debemos comentar todas las lineas, es decir, añadir un # delante de cada linea, asi quedaria como "vacio", y crea cdrom como unica y primera unidad al detectarla en el inicio.
Seguro fue un bug de empaquetado, dado que al hacer esto, no sucede nunca mas, bueno, ahora tenemos un bug menos.

19/6/2012

Mejorar el rendimiento usando /tmp como tmpfs en RAM

Esto no es algo nuevo, pero lo recordé cuando un colega, me comentó que Fuduntu lo trae por defecto, para usar menos el disco, y asi gastar menos energia, dado que es una distro orientada a notebooks.

La idea, es montar el /tmp como tpmfs, es decir, un tipo de sistema de archivos que usa la memoria RAM, y no el disco.

Esto tiene una ventaja y desventaja, ustedes evaluen.

La ventaja, es que los datos temporales que se escriben en /tmp, serán mas rapidos de leer y escribir, dado que será la memoria RAM la que se use, y no el disco.
Asimismo, al reiniciar el sistema, si hubo un error y quedaba algo en /tmp, que puede ocasionar problemas, sera eliminado, porque la memoria RAM es volatil. Por defecto /tmp se limpia cada 7 dias, en este caso, será al reiniciar la PC.

La desventaja, es que si apagan la PC de forma brusca, como sacar el cable, por ej, los datos en /tmp se habrán perdido, aunque, nunca se recomienda usar /tmp como respaldo de nada, por algo es Temporal.

Ademas, para hacer test de cosas, y guardar los resultados, en vez de /tmp ahora deben usar /root u otra carpeta, para mi es una ventaja, aclaro, dado que muchas veces trabajo sobre /tmp para testear bajadas, scripts, etc, asi que si se borra solo su contenido, me hace un favor, sin contar el hecho de que /tmp tiene permisos 777 mientras que /root no.

tmpfs es un kernel page cache, algo de lo que hablamos hace poco, las cache RAM.... drop_caches, asi que de paso puede limpiarse con el mismo comando.

Los pasos son MUY sencillos, solo se loguean como root y editan /etc/fstab, y colocan a lo ultimo esta linea:


tmpfs         /tmp            tmpfs   size=2G,noexec,nosuid,rw,auto,nouser,sync,relatime,mode=01777       0 0

Salvan y salen. Al reiniciar el sistema, tendran acceso a /tmp, pero es la ram. Prueben de poner mount en consola, y veran algo asi:

tmpfs on /tmp type tmpfs (rw,noexec,nosuid,sync,relatime,size=2G,mode=01777)

Ahora, explico un poco esos parametros, de noexec, nosuid y 2G.

size=2G: indica el maximo de tamaño para ese punto de montaje, /tmp que ahora es un tmpfs, si van a probar isos, bajarlas o cosas mas pesadas, pueden poner 4gb, o lo que quieran. No se usarán a menos que sea necesario, asi que... no es que será usado.
Lo normal es poner 512mb, pero para el comun de los usuarios, 128mb esta mas que bien.

noexec: En /tmp no se ejecuta nada, de hecho muchos rootkit usan eso para poder instalarse, y hasta hace poco habia un bug en gnome-terminal donde parte de los datos de ssh iban a parar al /tmp, asi que, con esto le indican que NADA puede ejecutarse en /tmp, como debe ser.

nosuid: Evita que el bit setuid se aplique a algun archivo en /tmp

sync: Como es memoria RAM, aca todo dato que se escribe va a parar a RAM y no a disco directo, especificamos que sea sincronica la escritura/lectura de datos, a diferencia del resto de un sistema Linux, donde los datos son asincronicos, para mejorar la performance de disco. Además, con esto evitamos algunos problemas que se producen en Chrome y Firefox, al usar su caché en /tmp, e intentar refrescar o volcar datos muy rapidamente. Al usar 15 segundos de tiempo para volcado de disco (visitar este post: http://hackingthesystem4fun.blogspot.com.ar/2012/06/reducir-el-io-de-disco-para-escrituras.html), si bien mejoramos performance y usamos menos el disco, tambien debemos tener en cuenta las aplicaciones que requieren y hacen uso de cache, de forma externa al kernel y requieren una respuesta rapida, asi no veremos ningun "Chrome no puede acceder a la cache" o bien paginas mal cargadas, algo frecuente usando 15 segundos y a veces de forma nativa, recordemos que Firefox y Chrome fueron concebidos para Windows, un OS que usa NTFS, un FS sincronico.
Esto es algo que veremos mas adelante aca:

http://hackingthesystem4fun.blogspot.com.ar/2012/06/usar-ram-para-la-cache-de-disco-de.html


0 0: Significa que ni debe ser chequeado por fsck, ni tampoco backupeado.

Eso es todo, reinicien y verán un cambio de velocidad minimo, pero util al fin, unos 3 seg o 2, en GDM, audio, en general, y un incremento en mi caso, de 125 a 128 mb de ram, solo 3mb pero he ganado mucho mas.

El éxito de Linux, el sistema operativo detrás de Android

El creador de Linux, Linus Torvalds, ganó el premio de Tecnología del Milenio, junto a un cheque de US$756.000, de la Academia de Tecnología de Finlandia.


Fue nominado en reconocimiento a haber creado el original sistema operativo Linux y haber seguido decidiendo las modificaciones del kernel o núcleo Linux, el código que permite el trabajo conjunto de software yhardware.

Antes del anuncio del premio, Torvalds fue entrevistado por la BBC
Hoy en día, una variedad de sistemas basados en Linux hacen que funcionen la mayoría de los servidores, cajas de recepción y decodificación de televisores, teléfonos inteligentes, tabletas, routers, computadoras personales y supercomputadoras.
Antes del anuncio del premio, Torvalds fue entrevistado por la BBC.

Entrevista
Cuando anunció el kernel original en Usenet (un sistema de foros en línea) en 1991 ¿qué pensó que pasaría con él?

Mucho del ímpetu para lanzarlo fue simplemente para llamar la atención.
Definitivamente no esperaba que la gente me ayudara con el proyecto, pero sí algunas reacciones e ideas de la gente.

El éxito de Linux se debe en gran parte a su naturaleza de código abierto. ¿Por qué cree que la gente estuvo dispuesta a dar tanto tiempo sin una recompensa financiera?

Creo que la idea de código abierto es que permite a todos ser "egoístas", no tratar de que todos contribuyan a un bien común. No veo el código abierto como algo para mejorar al mundo, sino algo que realmente funciona si todos contribuyen por sus propias razones egoístas. Tampoco se trata de una "recompensa financiera".
Las primeras razones "egoístas" para hacer Linux tendían a centrarse en el placer de juguetear. Por eso lo hice -la programación era mi hobby, mi pasión- y mi propia meta egoísta era aprender a controlar el hardware.
No era el único. En grandes universidades con departamentos de ciencia de la computación había gente interesada en lo mismo.
La mayoría de esa gente no está tan loca como para empezar su propio sistema operativo desde cero, pero hubo quienes encontraron interesante este jugueteo y estaban suficientemente estimulados para comenzar a jugar con el sistema y hacer sugerencias para mejorarlo, o mejorarlo ellos mismos y buscarme.
Los derechos de autor protegían a esa gente. Si te interesan los sistemas operativos y ves este proyecto, no querrás involucrarte si sientes que se van a aprovechar de tus contribuciones, pero con la licencia GPLv2, eso nunca fue un problema.
Se trata de un modelo muy simple de "toma y daca": Te doy mis mejoras si prometes devolver las tuyas. Es una licencia fundamentalmente justa, y no tienes que preocuparte de que alguien saque ventaja de tu trabajo.
Es cierto que muchas compañías estaban recelosas de una licencia desconocida. Pero en verdad, el modelo "toma y daca" no sólo es justo a escala individual, sino de compañía y global.
La cosa es que si la competencia no se esfuerza como uno, no cosechará los mismos frutos: si no contribuyen, no controlarán la dirección del proyecto ni tendrán el mismo conocimiento.

7.800 programadores en 80 países contribuyeron a la más reciente versión del kernel Linux. ¿Si se hace más complejo hay peligro de que sea menos accesible?

El kernel definitivamente se ha hecho más complejo, y hay ciertas áreas en particular con las que un nuevo programador no debería meterse.
La gente se pone muy nerviosa cuando alguien en quien no perciben una sólida trayectoria comienza a enviar parches a un código central -y complejo- como el subsistema VM.
Es mucho más difícil ser programador ahora que hace 15 años. Al mismo tiempo, creo que es bastante fácil entrar a la programación dekernel si uno no busca primero las partes más complejas y centrales. El hecho de que yo estrene un kernel cada tres meses, y que en cada lanzamiento haya unas 1.000 personas involucradas, indica que no nos faltan colaboradores.

¿Qué tan importante es la confianza en un proyecto de código abierto como este?

La confianza es lo más importante. Y es mutua. Ellos también deben confiar en mi imparcialidad.
No siempre estamos de acuerdo, y a veces las discusiones son acaloradas, pero al final puede que ni siquiera simpaticen, siempre que por lo menos puedas confiar en quienes no están tratando de fastidiarte.
Simplemente deseo que la gente confíe en que soy imparcial no sólo porque me han visto mantener el kernel todos estos años, sino porque saben que no tengo ningún incentivo para apoyar a una compañía Linux contra otra.
Ahora trabajo a tiempo completo en Linux y me pagan, pero no fue así hasta que me sentí cómodo con que mi neutralidad fuera obvia, a través de una industria sin fines de lucro que realmente no vende Linux.
Incluso así, nos aseguramos de que mi contrato especifique que mi empleo no significa que la Fundación Linux me diga lo que tengo que hacer.

Linux es popular en muchas áreas de la computación, incluidos los teléfonos inteligentes y los servidores, pero ¿tendrá algún progreso en las computadoras de escritorio?

Para realizarte en un mercado de consumo, necesitas estar preinstalado. Y como ha mostrado Android, Linux realmente puede ser un producto de consumo.
El asunto del "navegador web ubicuo" ha hecho más realista ese juego de consumo, y creo que Chrome de Google va en esa dirección.
Tengo esperanzas. Para mí, Linux en el escritorio es donde empecé, y es literalmente lo que uso hoy en día, aunque obviamente tengo otros dispositivos Linux, incluido un teléfono Android, así que personalmente me gustaría que también se impusiera en ese mercado.
Pero no me quejo del éxito en otros mercados.

Steve Ballmer describió una vez a Linux como un "cáncer", pero últimamente hemos escuchado que Microsoft está sacando su división Skype de las cajas de Linux y ofreciendo una versión basada en Linux de su servicio de nube Azure. ¿Le complace?

Es un alivio que Microsoft hasta cierto punto haya dejado de ver a Linux como el enemigo. Eso del "cáncer" y "antiestadounidense" fue muy bochornoso.

Usted trabaja desde su casa. ¿Qué tan difícil es evitar las distracciones de la vida familiar y enfocarse en conceptos muy abstractos?

Estoy seguro que es muy duro para muchos, pero nunca ha sido un problema para mí.
Siempre me han fascinado las computadoras, al punto que puedo no ser muy social.
Tener una familia no parece haber hecho ninguna diferencia. Me puedo sentar feliz todo el día frente a la computadora, y si los niños me distraen cuando estoy en medio de algo, se escucharán algunas palabrotas.
Es decir, lo que pareciera ser socialmente una falta debilitante de carácter también puede darte ventaja.


Observacion personal

Se que esto no viene al tema, pero leyendo las palabras de Torvalds, me acordé de una calurosa charla acerca de la popularidad de BSD o no, frente a la de Linux. En esa charla se metio el tema de las licencias, sobre que BSD era mejor que GPL, por ser mas permisiva, lo cual permite, por ejemplo a FreeBSD tener ZFS y a Linux no.
Dentro de ese marco, comenté en su momento, que tenia desventajas la licencia BSD, dado que por ejemplo, Apple creo su OSX a partir de FreeBSD, ganando muchisimo dinero y sin retribuir las mejoras en el codigo, cerrandolo luego de Darwin y relicenciando, cosa que permite la licencia BSD.
En ese momento, un colega, comento eso en un foro de FreeBSD, donde le dijeron, que por el contrario, eso era una ventaja, dado que permitia a Apple, por ejemplo, tomar codigo y a su vez retribuir con algo, como ser x.org. Para mi eso son migajas, es decir, teniendo proximamente Wayland, comparar x.org con OSX... es realmente una tomada de pelo y una cargada.
Estoy totalmente de acuerdo con Torvalds sobre que la GPL asegura un toma y daca, y eso motiva a muchos developers, que fue uno de los temas tocados en esa charla calurosa, el tema de que FreeBSD no tenia tanto desarrollo por falta de apoyo de empresas, pero... yo me centré mas en los developer que no son de empresas, como sucede como Linux, los cuales aportan mas que todas las empresas juntas.
Viendolo de ese modo, es cierto, mayormente se programa para Linux, por egoismo, por mejorar el funcionamiento para _tu_ hardware o bien para contribuir, aparecer en los creditos y tener algo de reconocimiento. No digo que todos los developers contribuyan por ese motivo, pero si mas de los que se cree.
Si estuviera tan errado en lo que digo, FreeBSD tendria mejorada su parte de ACPI, por amabilidad de Apple, y no es asi, tampoco por amabilidad de freelancers o amateur, porque?, y a ver... es algo complicado y unico poder suspender, resumir, tener mejor eficiencia energetica en un OS, si alguien puede tomar ese codigo, relicenciarlo y luego cerrarlo, donde quedará mi aporte?, en manos de empresas como Apple, por dar un ejemplo, viendome yo (en caso de que fuera developer), totalmente frustrado, al aportar algo que luego se utiliza para hacer dinero y yo no tengo, ni el dinero, ni el reconocimiento. Recordemos que OSX dice que es UNIX, y tiene la certificacion, no menciona a FreeBSD en ningun lado, lo cual no parece molestarle al equipo de FreeBSD, pero a mi, me molestaria muchisimo.
Un claro ejemplo de ello, son los simples script que publique en este blog, no son cosas complejas y mucho menos se comparan a un kernel, pero supongamos que el dia de mañana, posteo un codigo en C que realiza una tarea excelente o bien que proporciona una mejora notable al kernel Linux, pero.. alguien lo toma, lo incorpora y no ponen el credito, o bien, ponen solo su nombre, rompiendo asi la GPLv2.... no seria agradable.
Creo que la licencia GPLv2, si bien tiene cosas negativas, como no poder usar ZFS, tiene de positivo, que todo el que colabora, estará en los creditos, de aqui a la eternidad que ese codigo se use, aunque se modifique, y que nadie podrá usarlo con fines lucrativos, sin reconocer quien lo creo.
Mas allá de esto que queria comentar, excelente la entrevista de BBC.





18/6/2012

Limpiar memoria RAM en Linux en solo unos comandos

A diferencia de Windows, donde se debe recurrir a programas para limpiar la RAM, es decir, luego de, 1 dia de un Windows iniciado, notamos que por mas que cerremos todo, la RAM no esta como iniciamos, sino un poco mas abultada.
Generalmente esos programas rompen cosas y provocan perdida de datos, o no funcionan, pero en Linux, si, y excelentemente. Además, no es un programa!, sino una funcion de kernel Linux.

Por defecto, la cache de RAM, la maneja el kernel, y no es necesario tocarla, pero si sos muy obsesivo y paranoico, como yo, te gustará ver la RAM, identica a como iniciaste el sistema, aun despues de haber tenido la PC prendida 1 dia o mas.

A partir del kernel 2.6.16 se introdujo esta caracteristica de la que hablaremos ahora.

La caché RAM, son "cosas" que quedan ahi, por si se necesitan luego, ejemplos de programas que generan que esto se "llene" son:

Chrome
Firefox
VirtualBox
Pidgin
Gimp
Apache

En el directorio /proc/sys/vm/ tenemos un fichero llamado drop_caches, que se encarga de decirle al kernel Linux que hacer con las caches RAM.

A veces, no solo es util en tu PC, sino en servidores, en ocasiones, el uso de java en Apache, consultas, etc, genera que la RAM se llene y no se vacie, si tenemos un pequeño server de 512 de RAM o menos, esto, nos va a salvar tener que reiniciar algun servicio o el server.

Primero que nada, voy a explicar los valores existentes y su definicion.

0: No libera nada, lo controla el kernel (asi viene por defecto al iniciar el sistema)
1: Libera la pagecache
2: Libera inodos y dentries
3: Libera inodos, pagecache y dentries (todo en uno)


Definicion:

pagecache: Memoria caché de la paginación.

dentries: (Directory Entries) Representa la relación de forma estructurada que existe entre directorios-archivos.

inodes: Son nodos índice de archivos y directorios que usa el Sistema de Archivos para administrar las actividades posibles de dichos archivos y directorios guardados en disco o memoria. Contiene la metadata de los archivos y directorios: permisos, tamaño, propietario, última fecha de acceso, creación, modificación, etc.

Ahora bien, hay dos formas de hacer esto, mediante sysctl o mediante un simple echo, la forma politicamente correcta, seria sysctl, la corta y facil, igual de efectiva y no dañina, es echo.

Antes de hacer esto, se recomienda usar el comando sync, para los que no saben, man sync, pero basicamente vuelca al disco todos los cambios que andan rondando en RAM, dado que Linux es un sistema asincrono, en lo que discos respecta, a menos que montemos las particiones de forma sincronica en /etc/fstab, cosa que reduce el rendimiento, sobre todo en Ext4.

Nos logueamos como root y hacemos:

#sync
#echo "0" > /proc/sys/vm/drop_caches
#sync
#echo "1" > /proc/sys/vm/drop_caches
#sync
#echo "2" > /proc/sys/vm/drop_caches
#sync
#echo "3" > /proc/sys/vm/drop_caches

Si leyeron bien, se habrán dado cuenta, que con la 3 hacemos todo, ok?.
La forma correcta, es con:

#sync
#sysctl vm.drop_caches=3

Ahora, si quieren, antes de seguir, hagan la prueba, inicien su PC, miren en htop la RAM consumida y anoten el valor, luego, abran Chrome, Firefox, miren un video en youtube, etc. Cierren todo y miren la RAM, veran un incremento. Ahora, abran un terminal, como root pongan:

#sync
#echo "3" > /proc/sys/vm/drop_caches

Vuelvan a mirar la RAM en htop, cambio no?.

Ahora, simplifiquemos esto, como?, un script, ponerlo en .bashrc me parece un exceso, ademas deberiamos abrir una terminal, lo mismo si lo ponemos en cron, es un exceso, asi que, creamos un script, de la siguiente forma.

Se loguean como root y:

nano /usr/local/bin/freeram (asi le pongo yo, ustedes le ponen como quieren, pepe, luis, liberaram)

y el contenido será:

#!/bin/sh
# Author: SynFLag
# Licence: GNU GPLv3
# Freeram is a script to clean the RAM caches
sync ; echo 3 > /proc/sys/vm/drop_caches ; echo "RAM Liberada"

exit 0

Salvan con ctrl+o y salen con crtl+x, luego, como root nuevamente:

chmod +x /usr/local/bin/freeram

Ahora, desde cualquier terminal, ponen:

$ sudo freeram (dado que necesita permisos de root), y listo, liberan la ram cuando desean o para los que no usan sudo, como yo
$ su -c "freeram"

Esto aplica a cualquier distro Linux con kernel 2.6.16 o superior.

16/6/2012

Skype 2.2 RPM para SL - RHEL - CentOS y otros

Hace 1 día, se actualizó Skype para Linux, a la version 4 en la web de Skype.
Si bien es un avance, tambien un retroceso, la guia de fedora o alguna otra, para el repo, asi como el RPM de la 2.2 no están mas disponibles.
Pero... que nos importa?, mucho, la version 4 necesita Fedora 16, GCC 4.6 junto a sus librerias, para los que usen una version anterior a F16 o bien algun clon de RHEL, necesitarán seguir usando la 2.2
La única mejora que noté en la version 4, es que se puede realizar llamadas a telefonos fijos y una interfaz mejorada, mas linda, no mucho mas.

Asi que para los que no lo instalaron, el 2.2 y no encuentran el RPM, lo subí para ponerlo a disponibilidad.

https://dl.dropbox.com/u/85827164/skype-2.2.0.35-fedora.i586.rpm

md5sum: c81f39c11c4fab11ff78c21f7c2ec3d5


Saludos

14/6/2012

Lenovo ThinkPad T400 / T60 backlight brightness CentOS 6.2 - RHEL6.2 - SL6.2 - Fedora

Los que poseen una Lenovo ThinkPad T400 como yo, habrán notado que la tecla de funcion para subir y bajar el brillo funciona, pero el paso es algo tosco, es decir, salta de una cantidad a otra sin un medio, mientras que en Windows, eso no sucede, el paso es suave.

Bien, el control de backlight de gnome 2.28 en RHEL6.2 y clones, tiene como valor maximo 15, y el inferior inmediato es 13, saltandose ese 14 que tanto queremos, al menos yo en mi caso.

La pregunta es, como puedo hacerlo?, facil, si bien pueden cambiarlo desde terminal en cualquier momento, es mejor establecer un valor que nos agrade al ojo y setearlo en /etc/rc.local

Para mi, ese valor fue 14, ni el maximo ni 13, entonces, editamos /etc/rc.local y ponemos

echo "14" > /sys/class/backlight/acpi_video0/brightness

Cada vez que inicie la notebook, tendrá un valor de 14 establecido, dicho valor no puede ser logrado mediante la tecla funcion + subir o bajar brillo.

Si durante la sesion quieren variarlo, abren una terminal, y como root, cambian de valor

# echo "13" > /sys/class/backlight/acpi_video0/brightness
# echo "10" > /sys/class/backlight/acpi_video0/brightness

Y cualquier valor que les se agradable al ojo.
Esto tambien es aplicable a Fedora, siendo /etc/rc.local, el archivo /etc/rc.d/rc.local y teniendo el mismo valor.

Bueno, espero que les sea de utilidad.

5/6/2012

UEFI Secure Boot y Microsoft: No lo apoyes y defendete del monopolio de M$ sobre las PC - Notebook - All In One - Netbook! tampoco seas victima y dejes que tu PC este bloqueada! - No Queremos PC Bloqueadas




Qué es UEFI y porque deberia leer esto?

Voy a intentar explicar esto, no para los lectores de siempre, sino para una persona que sabe solo prender el microondas.

Hace algunos meses, se esta comentando y barajando la posibilidad, de que Microsoft, obligue a los fabricantes como: HP, DELL, Lenovo, Samsung, etc, a bloquear sus equipos para que solo puedas usar Windows 8.

Esta tecnologia creada por Intel, son los BIOS UEFI, esos que habras visto, que son graficos, con mouse, como si fuera un windows 98, bueno, eso son BIOS UEFI.

Las nuevas PC, mothers, notebook, laptop, netbook, AllInOne, van a tener posiblemente ese BIOS, por sus mejoras técnicas y usabilidad mejorada que tiene, el BIOS UEFI.

El UEFI BIOS, trae consigo, una utilidad llamada "secure boot". Esta funcion, permite al estar activada, que SOLAMENTE sistemas operativos (Windows 8), firmados (con una firma que se le compra a Microsoft en caso de quererlo), inicien en tu PC, y cosas no firmadas, no, por ejemplo:

Ubuntu, Debian, Linux, OSX, algun sistema operativo, programas no firmados, programas creados por vos, drivers no firmados por falta de convenios y malware. La cuestion radica en que Microsoft se vale de la excusa de ser "solo por seguridad", para poder pedir el bloqueo de esta opcion en tu PC, y asi prevenir que uses otro sistema operativo que no sea Windows 8.

La tecnologia se creo / invento, con el fin de impedir la carga de malware en Windows 8, como puede ser, rootkit, troyanos, etc. Eso seria algo bueno, nada malo, de hecho muy bueno. Por desgracia, Microsoft tiene planeado manipular esto, sigan leyendo.

Solo Windows 8 de momento posee estas firmas

Esto quiere decir, que si compras una PC, notebook, etc, con UEFI BIOS, y dejás "secure boot" activado, esa PC, solo va a iniciar un sistema Windows 8, que es el unico que soporta esa caracteristica.

Vos me dirás, pero eso que tiene de malo?, bueno, mucho. El UEFI BIOS lo que hace es impedir la carga de cualquier cosa, sistema, driver, programa, etc, que no este firmada por Microsoft con esa firma especial, por lo tanto, asi como previene el malware (virus, troyanos, etc) en la carga del sistema, previene que otros sistemas se ejecuten en el, o tu driver, tu programa preferido de musica, lo que sea, no va a andar!.

Microsoft se excusa en que esto es una funcionalidad de seguridad, para decir que esto no es monopolio, cuando si lo es, porque?, te explico.

Todas las empresas, como HP, DELL y las antes mencionadas, quieren tener el logo y sticker de Windows 8 certificado en sus cajas y PC, para eso, Microsoft obliga, como algo excluyente, que "secure boot", este activado si o si, que quiere decir?, que si compras una PC o algo, con Windows 8 y tiene sticker o logo, no va a poder iniciar un Ubuntu Linux, OSX o lo que quieras vos.

Si bien recientemente (noviembre del 2011), HP y DELL, las únicas, salieron a decir que iban a dejar esta medida para poder sacarla, no es seguro que eso paso, no fue un comunicado firmado ni nada que se los impida y Microsoft esta presionando para que esto sea una realidad absoluta, porque?, facil:

Con esta medida, Microsoft se asegura que cualquier PC, notebook moderna, solo funcione con Windows 8, y NO puedas instalar otra cosa, Windows 7, XP, Ubuntu Linux, DOS, lo que quieras, no va a andar, creeme.

Que podes hacer vos? para que no te quiten la libertad de elegir y no ser estafado?, aclaro antes que nada, esto NO tiene que ver con Linux, ni el comunismo ni nada similar, es un aviso que nadie dan en diarios como clarin.com, infobane.com, tn tecno, etc (soy de Argentina).

Que pasa con las tablets, smartphones y Ebook Reader?

Buena pregunta, y no está de mas explicarlo. Según Microsoft, el requerimiento para PC, notebook que usan CPU como Intel, AMD, de esa clase, los llamados x86, por su arquitectura, deben tener SI o SI activo el secure boot desde el inicio, pero no indican si debe estar bloqueado, lo que si podría pasar de todos modos.

Ahora bien, para arquitecturas ARM, asi se llama lo que usan de CPU las tablet, smartphone, netbook chinas, etc, especifica que ademas de activo por defecto, debe estar bloqueado, esto quiere decir, que si compras una tablet, netbook china ARM, smartphone o algo que no sea x86 y traiga Windows 8 con su logo certificado, de por vida eso que compraste deberá usarse con Windows 8, no podrás poner ni sacar nada, como si de un Iphone se tratase.


Medidas para que no te estafen

1.- Cuando vayas a comprar tu PC, a donde sea, asegurate que si trae UEFI BIOS, dentro de el, se pueda desactivar la opcion de "secure boot"

2.- Si compras o te quieren vender una PC o notebook con el "secure boot" habilitado y no se deja cambiar, te estan estafando!, podes denunciarlos!. No vas a poder instalar tu amado Windows 7, ni XP ni nada.

3.- Si trae el logo de Windows 8, asegurate bien lo que dice el primer punto, si el vendedor se niega a probartelo o no te asesoran, no compres!, asi vas a cortar el circuito mafioso de Microsoft y demas empresas.

Si además de los puntos antes mencionados, entendés todo esto que va a pasar y queres sumarte a una campaña para que no suceda, solo firmando de forma anonima, debés poner, nombre, apellido y mail, que NO serán publicados, podes ingresar en:

Firmá y hacete respetar! http://www.fsf.org/campaigns/secure-boot-vs-restricted-boot/statement

Eso es una firma en la FSF (Fundacion de Software Libre), para que sus abogados y demas, actuen en contra de Microsoft impidiendo que las PC esten bloqueadas, es una ONG, organizacion sin animo de lucro.

Por si no lo sabes detectar, un bios UEFI se ve así



Recordá, que si es UEFI y tiene el logo de Windows 8, debe poder desactivarse el "secure boot", o no compres!, buscá otra marca o modelo!


4/6/2012

UEFI secure boot en Fedora 18 - UEFI secure boot una amenaza para los usuarios | Microsoft quiere que seas un cordero, no lo dejes!, entrá, lee y firmá!

Hace algunos dias, me enteré (tarde), que Fedora 18 va a incluir secure boot, una caracteristica de UEFI bios, que usará tambien Microsoft.

Referencias:
http://www.h-online.com/open/news/item/Fedora-18-to-support-UEFI-Secure-Boot-1588057.html
http://mjg59.dreamwidth.org/5552.html
http://mjg59.dreamwidth.org/


Primero que nada, que es UEFI secure boot?:

http://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface#Secure_Boot

Existen 4 datos relevantes aqui y ahora y sobre este tema.

1.- Me decepciona muchisimo, que redhat haya pagado $99 dolares a Microsoft, asi bajando su cabeza, para comprar una firma digital UEFI, y asi incorporarla en GRUB2, con licencia GPLv3 (no la rompe, pero es una trampa legal para no hacerlo).
Fedora es un proyecto comunitario, o lo era, que tenia como sponsor, a RedHat.
En estos ultimos dias, lei a algunos developer de Fedora Project, decir que cuando esto sea aprobado, van a mudarse a otra distro, por cuestiones éticas.

Referencia: http://lists.fedoraproject.org/pipermail/devel/2012-June/167732.html

2.- Una empresa que defiende la libertad, y la promueve, liberando los .src.rpm de su distro enterprise, compra una firma a Microsoft?, es evidente el porque lo hace, la entiendo, pero no lo justifico ni comparto.

3.- Esta nueva caracteristica, impide que sea usado un kernel compilado por uno mismo, o cualquier otra cosa ajena a la distribucion, como ser: VirtualBox, nvidia driver, .tar.gz compilados, y cualquier software que no este firmado. Al día de la fecha, Fedora no ha informado sobre alguna herramienta de firmado para los usuarios, ni tampoco la opcion de poder desactivar la posibilidad de secure boot.

4.- Debajo del manto de seguridad que nos quiere mostrar Microsoft, existe una malevola realidad, que es la de presionar a los OEM vendors, como HP, DELL, etc, para que solo puedan vender sus equipos con el logotipo de Windows 8, si lockean y viene por defecto el secure boot activado. Esto impediria que se instale cualquier otro OS o distro no firmado, por eso, redhat compró una firma a Microsoft.

Analizando brevemente esto, puedo decir, y tomando en cuenta comentarios de gente del Fedora Team, que RedHat toma a Fedora como RHEL-Devel, ni mas ni menos, le guste a quien le guste, no daré nicks de los developer porque no quiero perjudicar a nadie, pero poseo los LOG en caso de ser necesarios.

RedHat de forma arbitraria, se interpone en un proyecto comunitario, para imponer un feature que nadie pidio, pero le conviene a ellos, como?.

Al ser Fedora el RHEL-Devel, esto quiere decir que Fedora 18, sera el proximo RHEL7, el cual tendrá esa caracteristica, y RedHat, no quiere perder el soporte a equipos OEM y no clones, es decir, mucha gente usa RHEL en sus notebook o desktop de marca.

Donde esta el problema?, en ningun lado y en todos a la vez. La accion arbitraria de RedHat es correcta para su modelo de negocios, pero se contradice con los principios de Fedora, o ahora los valores de la distro pueden cambiarse?. El caso es que es una accion para no perder de ganar dinero en un futuro cercano, sin tener en cuenta los valores con los que se promociona Fedora Project.
Me pregunto, van a pagarme por los bugreport que hice?, de bug pequeños como de seguridad?, no !.
Entonces, tengo yo el derecho de interceder?, si, puedo?, no, ya se lo han negado a varios developer, quien soy yo?, nadie para RedHat.

Me parece bien que una distro linux compita de cara a cara con Windows 8 y no se quede afuera, lo que me parece errado, es comprar una key a Microsoft, y dejar como feature, secure boot en Fedora, dejandome a mi y a muchos usuarios, sin la posibilidad de compilar un kernel.

Es patetico ver como el mundo agacha la cabeza frente a M$, aka microsoft, y ceden a sus peticiones.

Esperaba mas de RedHat, como por ejemplo, comprar una key, para poder iniciar en hardware firmado para Windows 8, y mientras iniciar una demanda por acciones monopolicas, dado que esto no es ni mas ni menos que eso.

Esto se contradice con el banner de mi blog, que en breve cambiaré, porque?, no voy a seguir usando una distro que sea la esclava de las decisiones de una corporacion, si bien reitero, es correcto el camino de RedHat, no es la forma, podrian haber realizado su propia firma, o como harán otras distro, y no "transar" con M$.

Como dije, usaré Fedora y RHEL, pero cuando esto se confirme, si veo que no tengo herramientas para desactivarlo o firmar mis paquetes, me cambiaré de distro, sin dudarlo. Pero... no estabas molesto por el hecho en si?, asi es, pero debo reconocer que el sistema RPM + YUM es lo mejor que  probé, y entiendo, no soy tan cerrado, la postura de RedHat: No quedarse afuera. Es como las patentes que paga Google a M$ por Android.

Hay otro camino?, si realmente, generar una key propia, o una key de manos de un organismo sin fines de lucro, compartirla con M$, y mientras tanto, iniciar una demanda, para que si no retiran la exigencia, al menos permitan a cada OEM dejar claro en su manual y BIOS UEFI que pueden sacar el secure boot.

Voy a poner a continuacion un texto sobre el tema, de la FSF, y un lugar donde firmar, para pedir que M$ no obligue a los OEM a lockear esta caracteristica


No hace mucho que salío la noticia del acuerdo entro Microsoft y los fabricantes de computadoras para habilitar de forma predeterminada el "Booteo Seguro" impidiendo así arrancar y por lo tanto instalar un sistema operativo no firmado por el mismísimo Microsoft, Microsoft a pesar de haber aclarado que permitirá que los fabricantes implementen alguna opción para desactivar esta características, son muchas las personas escépticas (entre esas personas, yo), en que los fabricantes den realmente esta libertad. Por ello la FSF se a puesto en campaña para asegurarse de que todos los fabricantes de computadoras den la opción de desactivar el "Secure Boot".

FSF.org escribió:

Por favor firme nuestro petición para mostrar su apoyo!

Microsoft ha anunciado que si los fabricantes de computadoras desean distribuir las máquinas con el logotipo de compatibilidad con Windows 8, tendrá que aplicar una medida llamada "Arranque Seguro" (Secure Boot). Arranque Seguro está diseñado para proteger contra malware previniendo que las computadoras carguen programas binarios no autorizados en el arranque. En la práctica, esto significa que los equipos que implenten esta característica no podrán arrancar sistemas operativos no autorizados -- incluyendo los sistemas inicialmente autorizados que han sido modificados sin ser aprobado de nuevo.

Esto podría ser una característica, siempre y cuando el usuario está en condiciones de autorizar los programas que quiere usar, por lo que puede ejecutar el Software Libre escrito y modificado por el mismo o las personas de su confianza. Sin embargo, nos preocupa que Microsoft y los fabricantes de hardware incorporen el llamado Arranque Seguro de una manera que los usuarios no podrán iniciar algo que no sea Windows. En este caso, el requisito es una restricción en el usuario, no una característica de seguridad en absoluto.

La posible necesidad del arranque restringido viene como parte de una especificación denominada Interfaz Extensible del Firmware y Unificada (Unified Extensible Firmware Interface, UEFI), que define una interfaz entre el hardware y el software que se ejecuta. Es un software que permite al equipo arrancar, y que está destinado a sustituir la tradicional BIOS. La mayoría de las computadoras como Lenovo, HP, y Dell se distribuyen con UEFI, y otros fabricantes no se quedan atrás. Todos los ordenadores de Apple vienen con EFI y componentes de UEFI. Al arrancar, este software se inicia en conjunto, utilizando un protocolo de autenticación de clave pública basado ​​en criptografía, el cual puede comprobar el kernel del sistema operativo y otros componentes para asegurarse de que no se han modificado de manera no autorizada. Si los componentes dan error en la comprobación, el equipo no arranca.

La amenaza no es la especificación UEFI sí mismo, sino en cómo los fabricantes de ordenadores optarán por aplicar las restricciones de arranque. Dependiendo de la implementación de un fabricante, que podría bloquear los usuarios de sus propios equipos, evitando que nunca puedan arrancar o instalar de un sistema operativo de Software Libre.

Es esencial que los fabricantes implementen UEFI de la manera correcta. Para respetar la libertad del usuario y realmente proteger su seguridad, o bien debe permitir a los propietarios de ordenadores desactivar la restricción de arranque, o proporcionar una manera segura para que ellos puedan instalar y ejecutar un sistema operativo de Software Libre de su elección. Los propietarios de ordenadores no estarán obligados a solicitar la autorización externa para el ejercicio de sus libertades.

La alternativa es aterradora e inaceptable: los usuarios tendrán que ir a través de medidas complicadas y riesgosas para eludir las restricciones, la tendencia popular de revivir el hardware viejo con GNU/Linux llegará a su fin, causando que más hardware sea desechado como basura, y las compañias de Software Privativo podrían ganar una ventaja gigante sobre el movimiento del Software Libre, debido a sus conexiones con los fabricantes.

Estaremos siguiendo de cerca la evolución en esta área, y realizando una activa campaña para asegurarnos de proteger esta importante libertad. Nuestro primer paso es demostrar que la gente valora esa libertad, y no comprar o recomendar los equipos que intentan restringirla. 




Fuente de el texto anterior en Italic: http://www.somoslibres.org/modules.php?name=News&file=article&sid=4970

Donde firmar?: http://www.fsf.org/campaigns/secure-boot-vs-restricted-boot


Sin más, solo cabe aclarar algo más, porque no me gusta prestar a confusion sobre mi persona, para que luego se inicie un flamewar en comment sobre el blog

1.- No estoy de acuerdo con el camino que tomo RedHat para solucionar el problema
2.- Si me gusta Fedora y RHEL
3.- Dejaré de usar Fedora, en caso de que esta mi limite en cuestiones de compilacion y demas, por temas éticos, M$ me limita, ellos tambien?, no, serian la misma basura
4.- No dejaré de usar Fedora por temas éticos relacionados al pago, dado que entiendo que RedHat necesita del soporte para ganar dinero y asi mantener los servidores de Fedora, contribuir con codigo al linux kernel, etc
5.- Si creo firmemente que este es el comienzo del fin, una vez que aceptas algo de un matón (Microsoft), luego no hay vuelta atrás, hubiera preferido, que se generase una key en un organismo sin fines de lucro y se inicie una demanda a M$
6.-Si van a comprar una PC armada, notebook, chequeen que su BIOS tenga la opción de unlockear esa caracteristica
7.- Si el secure boot esta lockeado, es decir, fijado, su PC no correrá otra cosa que Windows 8 y por ahora, Fedora 18, ningun otro sistema operativo

Sin mas, saludos



31/5/2012

Al actualizar el primer kernel en Fedora 17 no aparece en advanced options de GRUB

Este es un error muy sencillo de solucionar.
Tras el update inicial de F17, veran que en el menu de grub, no aparece en advanced options, el nuevo kernel para recovery mode, entonces hacemos (una vez corregido lo del post anterior True Font)

grub2-mkconfig -o /boot/grub2/grub.cfg

Cannot Open Font File True y la terminal esta en inglés| Fedora 17

Si instalaron F17 final, verán un mensajito como el titulo de la entrada, es un bug no corregido en KDE spin al menos, como arreglarlo:

nano /etc/sysconfig/i18n

Donde dice SYSFONT="True", cambian True por latarcyrheb-sun16
Luego, editan /etc/default/grub y reemplazan SYSFONT=True por SYSFONT=latarcyrheb-sun16

Luego de eso:

grub2-mkconfig -o /boot/grub2/grub.cfg

Luego, habrán notado que yum y la consola en general, esta en inglés, asi que:

nano /etc/sysconfig/i18n, donde dice us_US ponen es_ES, sin cambiar toda la linea, por tanto, /etc/sysconfig/i18n quedaria asi:

LANG="es_ES.UTF-8"
SYSFONT="latarcyrheb-sun16"

Reiniciamos, y solucionados los dos problemas

Reducir el tiempo de inicio de Fedora 17 - 15 segundos a 2.5 (disco SSD) pero sirve tambien para discos SATA



En el blog de Harald Hoyer, un developer de Fedora y Red Hat, encargado de proyectos como Dracut, etc. Comenta paso a paso, a seguir en forma muy gráfica, con imagenes, de como el redujo el tiempo de inicio de su Fedora 17 en una lenovo ThinkPad T420, de 15 a 2.5 segundos.

Sería tonto copy&paste de todo el blog aquí, asi que pondré el enlace para que lo visiten y sigan sus pasos.

30/5/2012

Script inicio de Conky mejorado para evitar forks y duplicados

Muchos usarán conky, el que no sabe que es, puede buscar en Google, pero básicamente, es un pequeño programilla, que nos informa en la pantalla, cual reloj, cosas como procesos, consumo de CPU, conexiones, memoria usada, en fin, como el HTOP pero constante y con mas opciones.

Para usar conky de forma correcta, se debe lanzar al inicio del login, con un script que lo llame, lo ponga en modo daemon, y termine.

El problema, radica en que algunos DE, como xfce, lxde, no tienen control total sobre el reinicio de sus X, es decir, cuando no queremos reiniciar el sistema, pero si las X, con ctrl+alt+backspace, vuelve a leer el script, y lanza otro conky, teniendo 2, y asi sucesivamente.

Para evitar esto, creé un script de inicio que lo evita, primero pongo el codigo, luego les digo como se usa y que hace.

start_conky code:


#!/bin/sh
# Start Conky Script for prevent forks
# Author: SynFlag
#Licence: GNU GPLv2
conky_exist=`pgrep conky`
if [ "$conky_exist" != "" ]; then
   
      killall conky > /dev/null 2>&1
      sleep 20
      nice -n 19 conky -d >/dev/null 2>&1

unset conky_exist
exit

else
      sleep 20
      nice -n 19 conky -d > /dev/null 2>&1
unset conky_exist
exit
fi


Bueno, esto lo savan como start_conky o como prefieran llamarle, menos conky claro, y lo mueven a /usr/local/bin, donde le darán permisos de ejecucion con chmod +x al script, que reitero, no debe ser, no tiene porque ser script.sh, el sh esta de más.

Este script, lo que hace, segun su lógica, es:

Asigna el numero de PID de conky a una variable, si conky no existe, no asigna nada, por tanto, NULL.

Si la variable es distinta a NULL, entonces conky existe, lo mata, espera 20 segundos (si iniciamos conky antes que el desktop por lo general no se ve), y luego lo ejecuta y sale.

Por el contrario, si conky no se esta ejecutando, con lo cual la variable no posee NULL, sino un PID numerico, espera 20 segundos, ejecuta conky y sale.

Una vez iniciado el sistema incluso, pueden correrlo una y otra vez, y verán que no van a tener conky duplicados.

Por ultimo, este script, lo colocan en la seccion de inicio, añadir, en gnome, y lo mismo en KDE, cada uno conoce en donde agregar un script de inicio al login, o si no tienen nada, pueden ponerlo en /etc/rc.local

29/5/2012

ARM la consola de TOR basada en Ncurses

En la entrada anterior, explique como instalar, configurar TOR para el uso total, con una serie de scripts que yo mismo cree.
Existe para los mas perezosos una herramienta de TOR llamada ARM, que basicamente es una consola basada en ncurses, en la cual podemos ver IP's, circuitos, guard, middle, exit (nodos), nick.

Bajan de aqui el paquete para su distro: http://www.atagar.com/arm/download.php

Lo instalan, se corre en modo root solo para ver los LOG de debug y demas, pero el resto en modo usuario sin privilegios, ponen arm en consola, y comiencen a tocar, primero tips, pongan "m", de menu, mirenlo, con la barra espaciadora seleccionan, se mueven con las flechas, y salen con "q"

Van a encontrar algo interesante, que la mayoria de los circuitos de salida de TOR en europa, son de CCC (Chaos Computer Club) de Alemania. Será que le debemos mucho a ellos y lo hacen de buenos?, o será que justamente el Exit Node es el que puede ver la informacion y ellos buscan algo?, lo dejo a su criterio, sepan siempre, que el exit node, puede ver la informacion, passwords, etc.

Les dejo un screenshot:


TOR + Polipo + Firefox + Tsocks + tools en consola | Set completo de tor, incluido vidalia sin GUI, todo en modo consola

Configurar TOR + Polipo + vidalia SIN GUI + extras

Set completo de TOR



Como sabrán, uso SL6.2, un clon de RHEL6.2, como lo es CentOS, asi que esto es valido para uno como para otro, asi como para Fedora.
Antes que nada, haré algunas aclaraciones.

1.- El paquete torsocks no esta en Fedora, tampoco en RHEL, solo tsocks, la version old, dado que fue escrito originalmente para Debian, el que desee puede compilarlo y decirme que tal anda. En Opensuse si esta, pero no lo he probado.

2.- Esto es un tutorial 100% completo con todos los usos de TOR, para ser usado en consola, o sea, sin GUI, pero con la funcionalidad de Vidalia y demas chiches


Dado mi problema de no tener vidalia en SL, si en Fedora, me puse a hacer cosas para manejar TOR desde consola y tener control sobre el mismo, sin usar la GUI, de paso, es mas rapido, ya lo van a ver, mucho mas rapido!.

Paquetes necesarios a instalar:

tor (si usas CentOS, RHEL o SL desde rpmforge)
polipo (Idem anterior)
tsocks (si usas CentOS, RHEL o SL, desde el repo EPEL)
lynx
sh
bash
nc (netcat)

Empezemos:

yum install tor
yum install polipo
yum install lynx
yum install nc
yum --disablerepo=rpmforge install tsocks

Ya tenemos instalado lo esencial, comenzemos la configuracion

Primero que nada, configuremos TOR, para ello, usen su editor preferido, nano, vim, vi, y editen /etc/tor/torrc
La config probada es esta:



## Configuration file for a typical Tor user
## Last updated 16 July 2009 for Tor 0.2.2.1-alpha.
## (May or may not work for much older or much newer versions of Tor.)
##
## Lines that begin with "## " try to explain what's going on. Lines
## that begin with just "#" are disabled commands: you can enable them
## by removing the "#" symbol.
##
## See 'man tor', or https://www.torproject.org/tor-manual.html,
## for more options you can use in this file.
##
## Tor will look for this file in various places based on your platform:
## https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ#torrc


## Replace this with "SocksPort 0" if you plan to run Tor only as a
## relay, and not make any local application connections yourself.
SocksPort 9050 # what port to open for local application connections
SocksListenAddress 127.0.0.1 # accept connections only from localhost
#SocksListenAddress 192.168.0.1:9100 # listen on this IP:port also

## Entry policies to allow/deny SOCKS requests based on IP address.
## First entry that matches wins. If no SocksPolicy is set, we accept
## all (and only) requests from SocksListenAddress.
#SocksPolicy accept 192.168.0.0/16
SocksPolicy accept 192.168.X.X // CAMBIAR "X" POR LA IP Y RANGO DE TU PC //
#SocksPolicy reject *

## Logs go to stdout at level "notice" unless redirected by something
## else, like one of the below lines. You can have as many Log lines as
## you want.
##
## We advise using "notice" in most cases, since anything more verbose
## may provide sensitive information to an attacker who obtains the logs.
##
## Send all messages of level 'notice' or higher to /var/log/tor/notices.log
#Log notice file /var/log/tor/notices.log
## Send every possible message to /var/log/tor/debug.log
##Log debug file /var/log/tor/debug.log
## Use the system log instead of Tor's logfiles
Log notice syslog
## To send all messages to stderr:
#Log debug stderr

## Uncomment this to start the process in the background... or use
## --runasdaemon 1 on the command line. This is ignored on Windows;
## see the FAQ entry if you want Tor to run as an NT service.
RunAsDaemon 1

## The directory for keeping all the keys/etc. By default, we store
## things in $HOME/.tor on Unix, and in Application Data\tor on Windows.
DataDirectory /var/lib/tor

## The port on which Tor will listen for local connections from Tor
## controller applications, as documented in control-spec.txt.
ControlPort 9051
## If you enable the controlport, be sure to enable one of these
## authentication methods, to prevent attackers from accessing it.
#HashedControlPassword 16:872860B76453A77D60CA2BB8C1A7042072093276A3D701AD684053EC4C
#CookieAuthentication 1

############### This section is just for location-hidden services ###

## Once you have configured a hidden service, you can look at the
## contents of the file ".../hidden_service/hostname" for the address
## to tell people.
##
## HiddenServicePort x y:z says to redirect requests on port x to the
## address y:z.

#HiddenServiceDir /var/lib/tor/hidden_service/
#HiddenServicePort 80 127.0.0.1:80

#HiddenServiceDir /var/lib/tor/other_hidden_service/
#HiddenServicePort 80 127.0.0.1:80
#HiddenServicePort 22 127.0.0.1:22

################ This section is just for relays #####################
#
## See https://www.torproject.org/docs/tor-doc-relay for details.

## Required: what port to advertise for incoming Tor connections.
#ORPort 9001
## If you want to listen on a port other than the one advertised
## in ORPort (e.g. to advertise 443 but bind to 9090), uncomment the
## line below too. You'll need to do ipchains or other port forwarding
## yourself to make this work.
#ORListenAddress 0.0.0.0:9090

## A handle for your relay, so people don't have to refer to it by key.
#Nickname ididnteditheconfig

## The IP address or full DNS name for your relay. Leave commented out
## and Tor will guess.
#Address noname.example.com

## Define these to limit how much relayed traffic you will allow. Your
## own traffic is still unthrottled. Note that RelayBandwidthRate must
## be at least 20 KB.
#RelayBandwidthRate 100 KB  # Throttle traffic to 100KB/s (800Kbps)
#RelayBandwidthBurst 200 KB # But allow bursts up to 200KB/s (1600Kbps)

## Use these to restrict the maximum traffic per day, week, or month.
## Note that this threshold applies to sent _and_ to received bytes,
## not to their sum: Setting "4 GB" may allow up to 8 GB
## total before hibernating.
##
## Set a maximum of 4 gigabytes each way per period.
#AccountingMax 4 GB
## Each period starts daily at midnight (AccountingMax is per day)
#AccountingStart day 00:00
## Each period starts on the 3rd of the month at 15:00 (AccountingMax
## is per month)
#AccountingStart month 3 15:00

## Contact info to be published in the directory, so we can contact you
## if your relay is misconfigured or something else goes wrong. Google
## indexes this, so spammers might also collect it.
#ContactInfo Random Person <nobody AT example dot com>
## You might also include your PGP or GPG fingerprint if you have one:
#ContactInfo 1234D/FFFFFFFF Random Person <nobody AT example dot com>

## Uncomment this to mirror directory information for others. Please do
## if you have enough bandwidth.
#DirPort 9030 # what port to advertise for directory connections
## If you want to listen on a port other than the one advertised
## in DirPort (e.g. to advertise 80 but bind to 9091), uncomment the line
## below too. You'll need to do ipchains or other port forwarding yourself
## to make this work.
#DirListenAddress 0.0.0.0:9091
## Uncomment to return an arbitrary blob of html on your DirPort. Now you
## can explain what Tor is if anybody wonders why your IP address is
## contacting them. See contrib/tor-exit-notice.html in Tor's source
## distribution for a sample.
#DirPortFrontPage /etc/tor/tor-exit-notice.html

## Uncomment this if you run more than one Tor relay, and add the identity
## key fingerprint of each Tor relay you control, even if they're on
## different networks. You declare it here so Tor clients can avoid
## using more than one of your relays in a single circuit. See
## https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ#MultipleServers
#MyFamily $keyid,$keyid,...

## A comma-separated list of exit policies. They're considered first
## to last, and the first match wins. If you want to _replace_
## the default exit policy, end this with either a reject *:* or an
## accept *:*. Otherwise, you're _augmenting_ (prepending to) the
## default exit policy. Leave commented to just use the default, which is
## described in the man page or at
## https://www.torproject.org/documentation.html
##
## Look at https://www.torproject.org/faq-abuse.html#TypicalAbuses
## for issues you might encounter if you use the default exit policy.
##
## If certain IPs and ports are blocked externally, e.g. by your firewall,
## you should update your exit policy to reflect this -- otherwise Tor
## users will be told that those destinations are down.
##
#ExitPolicy accept *:6660-6667,reject *:* # allow irc ports but no more
#ExitPolicy accept *:119 # accept nntp as well as default exit policy
#ExitPolicy reject *:* # no exits allowed
#
## Bridge relays (or "bridges") are Tor relays that aren't listed in the
## main directory. Since there is no complete public list of them, even if an
## ISP is filtering connections to all the known Tor relays, they probably
## won't be able to block all the bridges. Also, websites won't treat you
## differently because they won't know you're running Tor. If you can
## be a real relay, please do; but if not, be a bridge!
#BridgeRelay 1
#ExitPolicy reject *:*
#mapaddress 10.40.40.40 p4fsi4ockecnea7l.onion


Esa es la config de /etc/tor/torrc

Ahora, que es polipo?, no me voy a extender mucho, solo lo basico, el que quiera saber mas, como siempre RTFM, Google it!

Polipo es un proxy cache similar a privoxy, para usar HTTP request a traves de socks5.

Configuracion de Polipo, editan /etc/polipo/config con nano o vim, la config probada es esta:


# Sample configuration file for Polipo. -*-sh-*-

# You should not need to use a configuration file; all configuration
# variables have reasonable defaults.  If you want to use one, you
# can copy this to /etc/polipo/config or to ~/.polipo and modify.

# This file only contains some of the configuration variables; see the
# list given by ``polipo -v'' and the manual for more.

### Configuration from Fedora RPM
### *****************************
daemonise = true
pidFile = /var/run/polipo/polipo.pid

### Basic configuration
### *******************

# Uncomment one of these if you want to allow remote clients to
# connect:

# proxyAddress = "::0"        # both IPv4 and IPv6
# proxyAddress = "0.0.0.0"    # IPv4 only

# If you do that, you'll want to restrict the set of hosts allowed to
# connect:

allowedClients = "127.0.0.1"
# allowedClients = "127.0.0.1, 134.157.168.0/24"

# Uncomment this if you want your Polipo to identify itself by
# something else than the host name:

# proxyName = "polipo.example.org"

# Uncomment this if there's only one user using this instance of Polipo:

cacheIsShared = false

# Uncomment this if you want to use a parent proxy:

# parentProxy = "squid.example.org:3128"

# Uncomment this if you want to use a parent SOCKS proxy:

socksParentProxy = "localhost:9050"
socksProxyType = socks5


### Memory
### ******

# Uncomment this if you want Polipo to use a ridiculously small amount
# of memory (a hundred C-64 worth or so):

# chunkHighMark = 819200
# objectHighMark = 128

# Uncomment this if you've got plenty of memory:

chunkHighMark = 50331648
objectHighMark = 16384


### On-disk data
### ************

# Uncomment this if you want to disable the on-disk cache:

# diskCacheRoot = ""

# Uncomment this if you want to put the on-disk cache in a
# non-standard location:

# diskCacheRoot = "~/.polipo-cache/"

# Uncomment this if you want to disable the local web server:

localDocumentRoot = ""

# Uncomment this if you want to enable the pages under /polipo/index?
# and /polipo/servers?.  This is a serious privacy leak if your proxy
# is shared.

# disableIndexing = false
# disableServersList = false


### Domain Name System
### ******************

# Uncomment this if you want to contact IPv4 hosts only (and make DNS
# queries somewhat faster):

dnsQueryIPv6 = no

# Uncomment this if you want Polipo to prefer IPv4 to IPv6 for
# double-stack hosts:

# dnsQueryIPv6 = reluctantly

# Uncomment this to disable Polipo's DNS resolver and use the system's
# default resolver instead.  If you do that, Polipo will freeze during
# every DNS query:

# dnsUseGethostbyname = yes


### HTTP
### ****

# Uncomment this if you want to enable detection of proxy loops.
# This will cause your hostname (or whatever you put into proxyName
# above) to be included in every request:

# disableVia=false

# Uncomment this if you want to slightly reduce the amount of
# information that you leak about yourself:

censoredHeaders = from, accept-language
censorReferer = maybe

# Uncomment this if you're paranoid.  This will break a lot of sites,
# though:

# censoredHeaders = set-cookie, cookie, cookie2, from, accept-language
# censorReferer = true

# Uncomment this if you want to use Poor Man's Multiplexing; increase
# the sizes if you're on a fast line.  They should each amount to a few
# seconds' worth of transfer; if pmmSize is small, you'll want
# pmmFirstSize to be larger.

# Note that PMM is somewhat unreliable.

# pmmFirstSize = 16384
# pmmSize = 8192

# Uncomment this if your user-agent does something reasonable with
# Warning headers (most don't):

# relaxTransparency = maybe

# Uncomment this if you never want to revalidate instances for which
# data is available (this is not a good idea):

# relaxTransparency = yes

# Uncomment this if you have no network:

# proxyOffline = yes

# Uncomment this if you want to avoid revalidating instances with a
# Vary header (this is not a good idea):

# mindlesslyCacheVary = true


Bien, ya tenemos tor + polipo, ya podriamos, añadir a Firefox FoxyProxy addon, y setear, http proxy, puerto 8123, destildan socks y solo dejan HTTP, direccion 127.0.0.1, puerto 8123.

Al activar el proxy en FoxyProxy estariamos navegando via TOR, lo pueden chequear en paginas como http://icanhazip.com

Ahora bien, faltan cosas, saber la IP de tor sin usar un navegador, renovarla sin reiniciar el demonio TOR, iniciar y parar polipo y TOR, entonces?.

Primero, para iniciar o detener TOR solamente, usamos este comando:

torctl start // para usuarios de Fedora # service tor start ó systemctl start tor.service
torctl stop

Asumiendo que se hace como root o bien su -c "torctl start", yo no uso sudo, aclaro.

Ahora bien, si quiero iniciar todo junto porque deseo navegar en modo TOR?, para ellos, me cree un script llamado torhttp, y es este:


#!/bin/sh

# torhttp: is a shell script to start tor and polipo, and stop tor and polipo from command line
# Description: Shell Script for start / stop torhttp
# Licence: GNU GPLv2
# Author SynFlag


start() {
service tor start
      service polipo start
       
       }
stop() {
service tor stop
       service polipo stop
       }

case "$1" in
  
  start)
start
;;
  stop)
stop
;;

     *)
    echo -e  "\E[1;37m - Uso: httptor [start | stop] - \033[0m"
esac

exit 2

El uso, es facil, torhttp start, stop, y se corre como root, dado que TOR requiere esos permisos, para hacerlo seguro:

su -c "torhttp start"
su -c "torhttp stop"

Bien, ya podemos iniciar TOR + Polipo para navegar, pero, como sabemos la IP? y mejor aun, como navegamos en consola?, como elinks, lynx, vamos a ello.

He creado un script que hace lo mismo que Vidalia, la GUI de Tor, pero sin GUI, en linea de comandos, llamado tornew

tornew code:

#!/bin/sh
# Author SynFlag
# Licence GNU GPLv2
# Script for renew identity of TOR and show the IP from command line
nc localhost 9051 << HERE
AUTHENTICATE "123456"
SIGNAL NEWNYM
QUIT
HERE
sleep 2
echo -e '\E[47;31m'"\033[1m"Nueva IP: `tsocks lynx -connect_timeout=5 -noreferer -dump http://tnx.nl/ip`"\033[0m"
exit 0

Eso lo pueden ejecutar en modo normal, SIN root, es la idea, y les va a indicar la IP en colores. La salida es algo asi:

~]$tornew
250 OK
250 OK
250 closing connection
06:47:37 libtsocks(12517): Call to connect received on completed request 3
Nueva IP: 173.254.216.67

Pero bien, para que este script funcione, necesitamos otro, llamado ip-ex e ip-tor

ip-ex, nos dirá la IP publica nuestra, mientras que ip-tor la IP Tor publica.


ip-ex code:


#!/bin/sh
# Author: SynFlag
# Licence: GNU GPLv2
# IP-EX: script for know the public ip from command line

curl -s --connect-timeout 2 http://icanhazip.com

ip-tor code:


#!/bin/sh
# Author: SynFlag
# Licence: GNU GPLv2
# IP-TOR: script for know the public TOR ip from command line

echo -e '\E[47;31m'"\033[1m"IP TOR: `tsocks lynx -connect_timeout=5 -noreferer -dump http://tnx.nl/ip`"\033[0m"


Bien, estos script, se guardan en /usr/local/bin/, y se les da permiso con chmod +x, lo mismo que torhttp.
Entonces, como root, hacemos:

cd /usr/local/bin

Donde previamente creamos o movimos los script, que NO poseen extension .sh, no es necesario, sus nombres son:

torhttp
tornew
ip-ex
ip-tor

A cada uno, le hacemos chmod +x nombre, para darle permisos de ejecucion.

Ahora, para que hicimos todo esto?.

tornew: Renueva la identidad de TOR y muestra la nueva IP, en solo 3 segundos
torhttp: Inicia y detiene TOR y Polipo para poder navegar usando Firefox
ip-ex: Nos dice la IP externa publica, tambien lo usa ip-tor y tornew
ip-tor: Nos dice la IP que tiene TOR en ese momento

Configuracion de /etc/tsocks.conf

# This is the configuration for libtsocks (transparent socks)
# Lines beginning with # and blank lines are ignored
#
# This sample configuration shows the simplest (and most common) use of
# tsocks. This is a basic LAN, this machine can access anything on the
# local ethernet (192.168.0.*) but anything else has to use the SOCKS version
# 4 server on the firewall. Further details can be found in the man pages,
# tsocks(8) and tsocks.conf(5) and a more complex example is presented in
# tsocks.conf.complex.example

# We can access 192.168.0.* directly
local = 192.168.0.0/255.255.255.0

# Otherwise we use the server
server = 127.0.0.1
server_type = 5
server_port = 9050
default_user = synflag
default_pass = 123456
local = 191.168.0.0/255.255.255.0 ## colocar la IP de su LAN, si es 192.168.1.30, poner 192.168.1.0/255.255.255.0

#TSOCKS_CONF_FILE=/etc/tsocks.conf

Por ultimo, si desean usar alguna app de consola, como irssi, elinks, lynx, links, ssh, pueden usar este comando:

tsocks irssi
tsocks firefox
tsocks xchat
tsocks pidgin
tsocks skype

Es el equivalente a torify, solo que por algun motivo en RHEL no funciona, pero es lo mismo, uno llama al otro.
No es seguro de ningun modo, usar ssh o cosas con password con tsocks, tampoco torify ni torsocks para los que usan Debian, la misma web de TOR lo dice.
Tambien pueden lanzar apps torificadas, como firefox, sin configurar FoxyProxy, xchat, pidgin, skype, etc

Bueno, espero que les sirva, haya gustado y si tienen dudas o preguntas las dejan aca, luego de la moderacion las respondo.
Si el modo de poner esto no es colorido y un poco tosco, bueno, yo soy asi, no pongo colores, etc, y tampoco esta orientado a usuarios noveles que usan todo en modo GUI.
Les recomiendo que no olviden usar el geoip, tambien de mi autoria, para por ej, chequear de donde es la IP que les dio TOR, sin necesidad de abrir un navegador, el enlace es: GEOIP