jueves, 3 de febrero de 2011

Problemas dependencias Ubuntu

Cuando tengamos un problema con las dependencias de nuestro sistema operativo o nos retenga algunas actualizaciones lo recomendable es ejecutar el siguiente comando:
  • sudo aptitude full-upgrade
Mano de santo oiga!

miércoles, 2 de febrero de 2011

Ejecutar comandos con sudo al iniciar Ubuntu

Anteriormente mencioné como hacer scripts para montar automáticamente las particiones compartidas en la red. Al comando le llamé amistosamente montar, pero... hay que ejecutarlo todo el rato al iniciar el ordenador, algo que es poco eficiente.

Por ello mismo investigué y descubrí el script rc.local.

  • sudo gedit /etc/rc.local

Una vez se nos abra el editor de texto añadiremos antes del exit 0 nuestro comando
Que dando algó así:
montar
firefox
thunderbird
emesene
rythmbox
exit 0
Guardamos y cuando iniciemos voilá, ya funciona.

sábado, 4 de diciembre de 2010

Cortar Archivos en trozos ubuntu y renombrarlos.

Hoy os voy a hablar de una utilidad bastante importante para mi. El comando split y un comando que realiza limpieza del comando split.

Los que ya sepáis inglés averiguaréis que split es cortar, dividir o como queráis decirlo, efectivamente, lo popularmente conocido como hacha.

Esta utilidad es de gran utilidad para los uploaders de rapidshare para cortar los archivos en 100 mb y luego unirlos, o en mi caso, para los amantes de las sesiones de música electrónica o los conciertos grabados, para trocear y grabarlos en un CD sin tener que rompernos el dedo rebobinando en nuestro aparato mp3.

Para ello ejecutaremos lo siguiente:
  • split -b 5m archivo.mp3
  • for file in x?? ; do mv $file `echo $file | sed 's/\(.*\.\)/\1mp3/'` ; done
En este caso nos dividiría el archivo en trozos de 5 megas. Si quisiéramos que fueran de 100 Megas, tan sólo habría que modificar el 5 por 100 y listo!

Por último si queremos cambiar el renombre a otro formato que no sea mp3 modificaremos en el segundo comando la palabra mp3 por la que queráis.

sábado, 20 de noviembre de 2010

Acelera tu UBUNTU (Mediante el parche del Kernel)

Estos días se ha estado debatiendo sobre el maravilloso Kernel que implementa una mejora en el rendimiento sustancial, en cuanto a la velocidad de la interfaz gráfica. Aparentemente el código mejora la velocidad de las prioridades de los procesos en BASH, pero extrañamente esa mejora de los TTY se refleja en una velocidad de la interfaz rapidísima.

Lo he experimentado yo mismo y el teclado va mucho más fluido y el ratón, el navegador y los programas funcionan mucho más fluidos. 

Mientras se prepara el Kernel podemos emplear el parche propuesto en BASH para ir tirando hasta que se integre en nuestra distro.

Para ello en el terminal ejecutaremos:
  • sudo gedit /etc/rc.local
y pegaremos este código antes del exit 0
mkdir -p /dev/cgroup/cpu
mount -t cgroup cgroup /dev/cgroup/cpu -o cpu
mkdir -m 0777 /dev/cgroup/cpu/user
echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent
Luego ejecutaremos:
  • sudo chmod +x /etc/rc.local
Luego:
  • gedit $HOME/.bashrc
Añadimos al final:

if [ "$PS1" ] ; then  
   mkdir -p -m 0700 /dev/cgroup/cpu/user/$$ > /dev/null 2>&1
   echo $$ > /dev/cgroup/cpu/user/$$/tasks
   echo "1" > /dev/cgroup/cpu/user/$$/notify_on_release
fi
Luego ejecutamos:
  • sudo gedit /usr/local/sbin/cgroup_clean


Añadimos esto:

#!/bin/sh
rmdir /dev/cgroup/cpu/$*

Luego ejecutamos:


  • sudo chmod +x /usr/local/sbin/cgroup_clean


Por último ejecutamos:

  • sudo /etc/rc.local


sábado, 9 de octubre de 2010

PHP: Generador de palabras por fuerza bruta.

Hoy a petición de un amigo he creado un script muy sencillo y que probablemente existan mejores maneras de hacerlo con programación genérica pero oye al que le sirva que lo use.

En este caso es un generador de todas las palabras del alfabeto Hexadecimal, es decir, del 1 al 0 y de la A a la F. No se diferencia entre mayúsculas y minúsculas pero no es un problema arreglarlo. Tan sólo hay que añadir todos los caracteres que deseemos a la cadena alpha y cambiar la variable longitud por su nuevo valor.

Por otro lado la longitud de este diccionario será siempre 7 ya que conocemos el número exacto de caracteres. Si no fuera así, existen otros métodos para generar un diccionario completo. Pedírmelo y os lo pondré.

También añadir que si quieres que tenga 10 caracteres de longitud tendrás que añadir 3 for y concatenar alpha al valor de sus contadores.

Por último, el resultado será guardado en la variable $token.

<?php
$token = "";
$longitud = 16;
$alfa = "1234567890abcdef";
for ($caracter1 = 0; $caracter1< $longitud; $caracter1++){
    for ($caracter2=0; $caracter2< $longitud; $caracter2++){
        for ($caracter3=0; $caracter3< $longitud; $caracter3++){
            for ($caracter4=0; $caracter4< $longitud; $caracter4++){
                for ($caracter5=0; $caracter5< $longitud; $caracter5++){
                    for ($caracter6=0; $caracter6< $longitud; $caracter6++){
                        for ($caracter7=0; $caracter7< $longitud; $caracter7++){
                            $token  = $alfa[$caracter1].$alfa[$caracter2].$alfa[$caracter3].$alfa[$caracter4].$alfa[$caracter5].$alfa[$caracter6].$alfa[$caracter7];
                        }
                    }
                }
            }   
        }
    }
}
?>

Espero que os sirva de utilidad.