Categorías
Sistemas

Linux recibe importante mejora en sólo 200 líneas de código

Linux en general se comporta bien realizando varias tareas al mismo tiempo, pero en sistemas de escritorio el uso intensivo de CPU puede hacer que las aplicaciones típicas se sientan más lentas.  Por ejemplo si se está codificando un video, compilando una aplicación o actualizando el sistema, aplicaciones mundanas como un navegador o la reproducción de video se verán afectadas, causando que el usuario sienta que el sistema está más lento.

El cambio propuesto modifica la forma en que se distribuye la CPU entre las distintas tareas que está corriendo el sistema, de tal forma que esta distribución no deje sin recursos a una aplicación cuando otra está solicitando intensivamente el procesador.  No se trata de que el sistema corra más rápido, sino de que las aplicaciones no se sientan lentas bajo estas condiciones.

Básicamente lo que hace el cambio es agrupar las tareas para que un proceso que levanta varios hilos de ejecución compita de igual forma con otra aplicación que también requiere de la atención del procesador.  Esta agrupación se crea al vuelo de forma automática, sin que el usuario tenga que hacer nada especial.

Este cambio será percibido por todos los usuarios de escritorio, ya hay varios alabando el cambio, incluyendo a Linus Torvalds:

Sí, tengo que decir que estoy (felizmente) sorprendido por lo pequeño que termina siendo el parche, y cómo no es ni intrusivo ni feo […] Es una mejora en cosas como el desplazamiento suave (scrolling), pero donde lo he encontrado más interesante es cómo pareciera hacer que las páginas web cargaran más rápido […] Pienso derechamente que este es uno de esos parches que significan una real mejora.  Buen trabajo.  La agrupación de tareas va desde “útil para algunos casos” hasta “esto es una característica asesina”.

Michael Larabel de Phoronix, el sitio que presentó este trabajo al público general, preparó un par de videos en donde se puede ver el antes y el después de aplicar el cambio.  Si bien se trata de un caso extremo ya que usa una máquina bastante potente, ilustra claramente la contundencia del cambio, y otros usuarios ya han confirmado que se percibe perfectamente en otros escenarios con aplicaciones y hardware más comunes.

La prueba consiste en crear un proceso intensivo en CPU como el compilar el kernel con 64 tareas en paralelo, al mismo tiempo que se realizan tareas “mundanas” como reproducir un video en 1080p, navegar por la web y ejecutar una aplicación OpenGL simple.  En el primer video se puede ver que la reproducción del video se vuelve imposible, mientras que las otras aplicaciones tienen problemas en responder.

 

FayerWayer

Categorías
Sistemas

Burg Manager, la aplicación para «vestir» al GRUB, se actualiza con nuevas opciones

{youtube}4l4OA3T8q-c{/youtube}

Una de las más interesantes es la posibilidad de añadir al menú una ISO y arrancar el sistema desde ella. Otra novedades son la posibilidad de restaurar Burg tras una actualización del Kernel, poder eliminar entradas de kernels antiguos, restauración de la configuración original de la aplicación y nuevos temas para instalar.

No he podido probar la opción de la ISO por no tener ninguna a mano en el momento de preparar el post, pero al examinar el menú para añadir una, parece ser que sólo es posible incluir aquellas que aparecen listadas. Entre ellas hay algunas distros muy populares como Ubuntu, Kubuntu o Linux Mint. Tampoco he podido probar la restauración del Brug o la eliminación de entradas de kernels debido a que no ha habido ninguna actualización muy reciente y estoy al día. Pero creo que estas mejoras le hacen ganar bastantes puntos a la aplicación.

Para instalar el programa debemos recordar que en primer lugar es necesario instalar BUC y después Burg Manager. Pero ojo, que si tenemos instalada una versión anterior de Burg Manager no podremos instalar la nueva así como así, sino que hay que desinstalar la vieja primero. Para ello, usaremos los siguientes comandos:

sudo apt-get purge burg-manager
sudo rm -rf ~/.burg-manager
sudo rm -rf /root/.burg-manager

Entonces ya estamos en condición de instalarlo.

 

Web Upd8 via Genbeta

Categorías
Sistemas

Como Averiguar quien esta conectado en tu equipo en tiempo real

Así que me puse a googlear un poco y encontré varias herramientas que nos pueden informar que usuarios se encuentran conectados y que procesos están corriendo en el equipo

Los comandos abajo nombrados son sumamente sencillos que nos brinda la información de los usuarios conectados es:

$ w  ----> Informa  los usuarios conectado al sistema

$ finger usuario ----> Informa sobre un usuario conectado al sistema 
$ finger @servidor  ----> Informa sobre todos los usuarios conectados a un servidor (nombre o IP) 
$ finger usuario@servidor ----> Informa sobre un usuario conectado a un servidor

 

ubuntu-ve.org

Ahora bien, también tenemos Whowatch que es un programa interactivo que muestra información sobre los usuarios que están conectados al equipo en tiempo real. Además de los datos básicos como el nombre de usuario o los procesos del mismo, por poner unos ejemplos, también se indica el tipo de conexión (ssh, telnet, etc.). Y por si todo esto no fuera suficiente nos permite ver el árbol de procesos, navegar por él y enviar señales INIT y KILL.

Para instalarlo en Ubuntu simplemente tenemos que ejecutar en un Terminal el siguiente comando:

$ sudo apt-get install whowatch

Si queremos ejecutar Whowatch, nos basta con teclear:

$ whowatch

ubuntu.chapinware.com

Categorías
Sistemas

Sustituyendo wget por axel

Dada mi naturaleza desconfiada hacia los aceleradores de descargas, hice una prueba de funcionamiento, comprobando que se ahorraba el 50% de tiempo.

Para ello lo primero instalé axel:

sudo apt-get install axel

Lo siguiente subí un archivo de unos 12 Mb a mi carpeta publica de Dropbox, asegurándome de esta manera un archivo imparcial a descargar, y que tampoco estuviera dos horas para hacer una demostración gráfica.

Para medir el tiempo empleado por cada uno empleé “time”:

  • wget
time wget http://dl.dropbox.com/u/442870/catalogo.pdf

Terminal_034
Resultado 1 minuto 0.954 segundos

  • axel
time axel http://dl.dropbox.com/u/442870/catalogo.pdf

Terminal_035

Terminal_036
Total cero minutos 30.707 segundos

Es decir la mitad que con wget, pues esto viene a demostrar la rapidez de axel. Además con la configuración básica, donde axel intenta establecer 4 conexiones con el servidor (lo que depende del servidor, no todos lo permiten)  para descargar el archivo. Además se puede indicar más de una dirección, de manera que axel intentará descargar un trozo de cada dirección.

De los modificadores disponibles destacar dos. El primero “-a”, que permite ver el progreso de la descarga más facimente. El segundo “-n” que nos permite indicar el número de conexiones que queremos que haga.

Sin embargo, no por poner muchas conexiones va más rápido. De echo, de las pruebas que realicé con Dropbox, lo más rápido ha sido con solo 3 conexiones, reduciendo el tiempo de descarga a 17 segundos, no está nada mal.

Terminal_037

 

el Atareao

Categorías
Sistemas

Buenos hábitos al usar la terminal

Es muy recomendable la lectura del artículo original, es verdaderamente interesante:

  1. Crea directorios en una sola línea
  2. Cambia el path y no muevas archivos
  3. Combina los comandos utilizando operadores de control
  4. Usa secuencias de escape con entradas largas
  5. Agrupa tus comandos en una lista

Crea directorios en una sola línea

Este primero es muy útil, en lugar de hacer esta operación:

~ $ mkdir tmp
~ $ cd tmp
~/tmp $ mkdir a
~/tmp $ cd a
~/tmp/a $ mkdir b
~/tmp/a $ cd b
~/tmp/a/b/ $ mkdir c
~/tmp/a/b/ $ cd c
~/tmp/a/b/c $

es mucho más cómodo escribir la estructura de directorios de un solo plumazo. Simplemente es necesario utilizar la opción “-p”

~ $ mkdir -p tmp/a/b/c

Otro ejemplo de uso es el siguiente:

mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}

Cuando lo he probado, me he quedado fascinado de la potencia de esta opción, simplemente con añadir -p, y en una sola línea de comando.

 

Cambia el path y no muevas archivos

El siguiente buen hábito es similar al anterior, simplemente se trata de utilizar una opción en “tar”, es decir:

en lugar de hacer:

mv newarc.tar.gz tmp/a/b/c/
cd tmp/a/b/c
tar xvf newarc.tar.gz

Simplemente añadiendo -C, tenemos en una sola línea todo el trabajo realizado.

tar xvf -C tmp/a/b/c newarc.tar.gz

 

Combina los comandos utilizando operadores de control

Usa el operador && para combinar dos comandos de forma que el segundo sólo se ejecuta si el primero retorna cero, es decir, si el primer comando se ejecuta correctamente, el segundo también se ejecuta, de lo contrario, el segundo no se ejecutará, por ejemplo:

cd tmp/a/b/c && tar xvf archive.tar

En este ejemplo, el contenido del archibo es extraído a ~/tmp/a/b/c directory siempre y cuando el directorio exista, de no existir no se extrae.

La verdad, es que tienes que pensar un poquito para correr una línea de comando, pero es muy útil.

Otra opción es “||”, es decir, “Or”. En este caso es al revés si, si el primer comando no se ejecuta, entonces se ejecuta el segundo. Por ejemplo:

cd tmp/a/b/c || mkdir -p tmp/a/b/c

En este caso, si no te puedes cambiar al directorio por que no existe, entonces lo creas. Magnífico.

Ahora ya lo combinas todo:

cd tmp/a/b/c || mkdir -p tmp/a/b/c && tar xvf -C tmp/a/b/c ~/archive.tar

Es decir: si no te puedes cambiar al directorio lo creas y entonces extraes el archivo. No es fácil, a la primera, pero habrá que practicar. Mira lo que puedes hacer en una solo línea.

 

Usa secuencias de escape con entradas largas

Mira que molesta cuando ves una línea en el terminal que se sale de tu campo de visión del terminal. Bueno, con este hábito, este problema se soluciona, simplemente tienes que utilizar la contrabarra (ella también tiene derecho), por ejemplo:

~ $ cd tmp/a/b/c || 
> mkdir -p tmp/a/b/c &&
> tar xvf -C tmp/a/b/c ~/archive.tar

De esta simple manera queda mucho más despejado y sencillo.

 

Agrupa tus comandos en una lista

Simplemente se trata de agrupar, encerrando entre paréntesis, los comandos que quieres utilizar, de forma que la salida se pueda redirigir a otro comando, como puede ser en el caso del siguiente ejemplo:

$ ( cd tmp/a/b/c/ || mkdir -p tmp/a/b/c && 
> VAR=$PWD; cd ~; tar xvf -C $VAR archive.tar )
> | mailx admin -S "Archive contents"

En el ejemplo, el contenido del archivo se extrae en el directorio tmp/a/b/c/, de forma que la salida de la agrupación de comandos, incluyendo yna lista de los archivos extraidos es enviada vía email a la dirección del administrador.

El uso de este tipo de agrupaciones es preferible en aquellos casos en los que defines variables en tu lista de comandos y no quieres que se apliquen a todo el shell.

 

Nota:

La verdad es que una vez leído el artículo, no te sale de forma gratuita aplicar este conjunto de “buenos” hábitos, sino que se trata de un ejercicio de práctica, hasta que fluyen sin esfuerzo alguno (frase típica de Karate Kid, o similar). Así que a practicar.

 

el Atareao

Categorías
Sistemas

Libro sobre «Implementación de Servidores con GNU/Linux»

La obra se publica con licenciamiento Creative Commons Reconocimiento – NoComercial – CompartirIgual 2.1, es decir, se puede hacer prácticamente todo excepto lucrar con la obra sin el consentimiento del autor; los interesados en una licencia comercial o PDF en alta resolución, pueden contactar al autor.

Los cambios respecto de la edición anterior son la corrección y actualización de los siguientes documentos.

  • Cómo configurar clamav-milter
  • Cómo configurar spamass-milter
  • Cómo instalar y configurar Spamassassin
  • Cómo configurar Postfix en CentOS 5 para utilizar dominios virtuales con usuarios del sistema
  • Cómo instalar y configurar Amavisd-new con Postfix en CentOS 5
  • Breve lección de mandatos básicos
  • Cómo instalar Java 1.6 en CentOS 5

El libro se puede descargar directamente


Segu-Info

Categorías
Sistemas

Usar un script para saber cuando alguien accede a nuestra PC

notifyosd

El script puede incluso notificarte por correo electrónico usando sendmail. Claro que necesitarás configurar eso. Ver Usar Gmail desde la consola

Usando el script

1. Instalar libnotify-bin:

sudo apt-get install libnotify-bin
2. Descargar el script y hacerlo ejecutable haciendo clic con el botón derecho, luego en la solapa «Permisos» marcar «Permitir ejecutar el archivo como un programa».
3. Agregar el script a las aplicaciones de inicio: ir a Sistema > Preferencias > Aplicaciones al inicio, clic «Agregar», luego le indicamos la ubicación del script y le damos un nombre. Eso es todo!
4. Opcional: Si te interesa ser notificado por correo electrónico (asegurate de haber configurado eso primero – ver el comienzo del artículo), deberás modificar esta parte del script:
mail=0
mailto=TU_CORREO

Asignando «1» a la variable «mail» y a «mailto» tu dirección postal electrónica.

 

WebUpd8

Categorías
Sistemas

Usar Gmail desde la consola

curl -u usuario:clave --silent "https://mail.google.com/mail/feed/atom" | perl -ne 'print "t" if /<name>/; print "$2n" if /<(title|name)>(.*)</1>/;'

WebUpd8

¿Y para enviar correo?

Es bastante sencillo, esto es lo que tenés que hacer:

1. Instalar ssmtp.

sudo apt-get install ssmtp

2. Editar el archivo de configuración de ssmtp. Presionar Alt + F2 y escribir:

gksu gedit /etc/ssmtp/ssmtp.conf

Si no usas Gedit, reemplazalo con tu editor de texto preferido (kate, etc).
Y en el ssmtp.conf pegás esto:

root=TU_CORREO@gmail.com
mailhub=smtp.gmail.com:465
rewriteDomain=gmail.com
AuthUser=TU_USUARIO_GMAIL # (sin @gmail.com)
AuthPass=TU_CLAVE_GMAIL
FromLineOverride=YES
UseTLS=YES

Y reemplazás todo lo que aparece en mayúsculas con tus credenciales.

3. Uso Ubuntu Karmic Koala y este paso no fue necesario, pero podría serlo para vos. Así que asegurate que no tengas sendmail instalado.

sudo service sendmail stop
sudo apt-get remove sendmail

Y creamos un enlace simbólico a ssmtp para reemplazar sendmail:

sudo ln  -s /usr/sbin/ssmtp /usr/sbin/sendmail

4. Ya lo tenemos funcional. Existen múltiples maneras de enviar un correo electrónico.

a)

echo "contenido del mensaje" | mail -s "asunto" direccion_destinatario@algundominio.com.ar

La linea anterior es bastante autoexplicativa así que reemplazar el texto entrecomillado con el cuerpo de tu mensaje y hacé lo mismo con direccion_destinatario@algundominio.com.ar – reemplazar con la dirección de correo electrónico de la persona a quien le querés enviar el mensaje.

b)

ssmtp direccion_destinatario@algundominio.com.ar

Luego ingresa las siguiente lineas en la terminal (presionando ENTER luego de cada linea):

To: direccion_destinatario@algundominio.com.ar
From: tu_correo@gmail.com Subject: este es el asunto del mensaje

Y aquí podés escribir el contenido del mensaje

Para enviar el correo presioná CTRL + D

Es necesario seguir exactamente el formato detallado, sin lineas en blanco entre el asunto del mensaje y el contenido.

c)
Podemos, incluso, enviar correo desde un archivo de texto usando el siguiente comando:

ssmtp direccion_destinatario@algundominio.com.ar < mesaje.txt

Donde mensaje.txt debe seguir el mismo formato del punto b).

Esto tiene muchos usos. Podríamos crear una tarea cron para enviar diferentes mensajes a determinada hora, etc. Seguramente se te ocurrirá algún uso para esto.

Nota de seguridad: ya que la clave será guardada en texto plano, recomiendo no usar tu cuenta principal de Gmail. En lugar de eso, create una solo para esto.

 

WebUpd8

Categorías
Sistemas

Como bajar e instalar aplicaciones en la terminal detras de un proxy

Cuando tenemos configurado un proxy en nuestra estructura todo el tráfico interno hacia internet pasa por medio del msimo; existen muchas aplicaciciones en la cuales debemos configurarlas independientemente de tener configurado nuestro navegador para que pase a través del proxy.

Nos ha pasado muchas veces que al tratar de actualizar o instalar una aplicación desde la consola y que la misma necesite se bajada desde internet el sistema nos devuelva el siguiente mensaje

Aquí puntualmente definimos la instalación del flash

http://archive.canonical.com/pool/partner/a/adobe-flashplugin/adobe-flashplugin_10.1.53.64.orig.tar.gz
Resolving archive.canonical.com… 91.189.88.33
Connecting to archive.canonical.com|91.189.88.33|:80… failed: Connection timed out.
Retrying.

Luego de 20 intentos, la actualización se cancelaba.
El problema detectado era que Wget no estaba usando la configuración del proxy global.
La solución a este problema es

sudo nano /etc/wgetrc

Agregar en en este archivo los servidores proxy y los puertos a mano, así lo obliga a utilizar el proxy.

https_proxy = http://proxy.midominio…:3128/
http_proxy = http://proxy.midominio…:3128/
ftp_proxy = http://proxy.midominio…:3128/
use_proxy = on

http://ubuntuforums.org/

Categorías
Sistemas

Nuevo avance para securizar DNS

Esta iniciativa ha sido uno de los últimos pasos en el despliegue de DNS Security Extensions (DNSSEC) sobre la zona raíz de Internet. DNSSEC es un estándar emergente que previene los ataques de spoofing al permitir a los sitios Web verificar sus nombres de dominio y las correspondientes direcciones IP utilizando firmas digitales y encriptación de clave pública.

En la ceremonia de la semana pasada se generó la clave raíz maestra, la que firmará todas las demás claves, según ha explicado Ken Silva, CTO de VeriSign, compañía que opera dos de los servidores raíces de Internet existentes en el mundo, así como los sistemas de back-end que soportan los dominios de máximo nivel .com y .net.

segu-info