domingo, 5 de julio de 2009

Reiniciar un Ipod Classic



Solo para el Ipod Classic de 5ª generación (30 Gb en mi caso).

Para reiniciarlo en caso de que se nos quede mirando a las Bahamas (ya me ha pasado en más de una ocasión), el truco es el siguiente:




  1. Liberamos la tecla Hold (que no aparezca la zona roja)


  2. Pulsamos simultaneamente [Menú] y [Seleccionar], durante unos 5-6 segundos o hasta que aparezca la manzana en la pantalla.


sábado, 23 de mayo de 2009

Bizcocho de yogurt


Quizás el bizcocho más sencillo que existe. Todas las medidas van de acuerdo con un sencillo vasito de yogurt.

Ingredientes:

  • 3 huevos.
  • 1 yogurt de limón (y su vasito)
  • 3 vasitos harina
  • 2,5 vasitos de azucar (no hay que abusar)
  • 1 vasito de aceite. El de oliva deja el bollo con más sabor, el de girasol pasa desapercibido.
  • Ralladura de 1 limón
  • 1 cucharadita de levadura

Preparación:

En 60 minutos.

  • Lo primero, ponemos el horno a calentar a 180º.
  • Podemos hacer toda la mezcla con el accesorio de batir de la Minipimer, poniendolo a baja velocidad.
  • Batimos los huevos.
  • Añadimos por orden, el yogurt, la harina, el azucar, la levadura y la rayadura, mezclando en cada paso, hasta que quede homogeneo.
  • 40 minutos en el horno a 180º con la resistencia inferior (para que suba) y 20 minutos con las dos (para que se dore un poco).
¡Más fácil, imposible!

viernes, 24 de abril de 2009

Nuevo sistema operativo

Sin palabras.... seguro que es la sensación diaria de todos los compañeros de profesión.
¡Alf.... va por ti!


jueves, 9 de abril de 2009

Cliente FTP para linux en modo automático

Llevo toda la mañana tratando de configurar una tarea programada en un servidor Linux que envíe por FTP cada semana un fichero.

Se que es sencillo, porque lo he hecho en otra ocasión, pero me ha costado un triunfo localizar los comandos adecuados.

Creamos un fichero en el que guardaremos los comandos que queremos ejecutar con el cliente FTP casi tal-cual los escribiríamos en modo interactivo. En mi caso lo guardo con el nombre "comandos.ftp".
open ftp.servidor.com
user usuario clave
cd /directorio_remoto/
lcd /directorio_local/
put fichero
bye
Llamamos al cliente FTP con el siguiente comando:
ftp -n <comandos.ftp

Chuletilla - tar, split, cat

¿Como se hace?

Empaquetar y comprimir un directorio:

  • Incluyendolo en la estructura:
tar -cvzf archivo.tar.gz directorio
Con la opción "z" hacemos un comprimido (gz).
Sin ella, empaquetamos (tar).
  • Sin incluirlo:
cd directorio
tar -cvzf ../archivo.tar.gz *

Desempaquetar y descomprimir lo anterior:

  • En la ubicación del archivo:
tar -xvzf archivo.tar.gz
  • En otro directorio:
cd /directorio
tar -xvzf /ruta_de_nuestro_archivo/archivo.tar.gz

Cortar en trozos un fichero más grande:

split -b tamaño -d fichero_original nombre_fragmento.s
tamaño puede ser 100k, por ejemplo.
split -b 100m -d fichero.tar.gz fichero.tar.gz.s
Deberíamos haber obtenido unos cuantos fragmentos de 100 megas, con el formato fichero.tar.gz.s01, fichero.tar.gz.s02...

Unir los trozos de antes:

cat nombre_fragmento* > fichero_original
Muy macarra, ¿verdad?
cat fichero.tar.gz.s* > fichero.tar.gz

Por último, nunca es mala idea el asegurarnos de la integridad del fichero una vez reconstruido, mediante algo tan sencillo como comprara los valores de las firmas MD5 de ambos ficheros:
md5sum -b fichero.tar.gz > fichero.tar.gz.md5

Pasar un proceso a un segundo plano

Una de esas dudas eternas para cualquien novatillo en linux....

En ocasiones, podemos necesitar que un proceso que estamos ejecutando sobre nuestro terminal pase a un segundo plano (Background) de forma que nos permita continuar trabajando.

Imaginemos, por ejemplo, que hemos lanzado una compresión de gran tamaño:
tar -czf /datos/backup-2/archivo.tar.gz *
El sistema se quedará esperando a que el comando tar le devuelva el control del terminal.

Si en ese momento, pulsamos [ctrl+Z] detendremos el proceso en curso:
[1]+ Stopped tar -czf /datos/backup-2/archivo.tar.gz *
Seguidamente, usaremos el siguiente comando para continuar con el proceso en segundo plano:
bg
Con el comando "jobs", obtendremos un listado de los comandos que tenemos en proceso:
[1]+ Running tar -czf /datos/backup-2/archivo.tar.gz * &
Y con el siguiente comando volveremos a poner nuestro proceso en primer plano (foreground):
fg


No obstante, nunca está de más ser previsores y para ello, siempre podremos lanzar nuestro proceso directamente a un segundo plano, añadiendo al final el símbolo "&":
tar -czf /datos/backup-2/archivo.tar.gz * &

sábado, 28 de marzo de 2009

Inicio automático de IPTables

Siempre me ha llamado la atención las enormes posibilidades que ofrece Linux, pero la configuración se complica a la par que crecen sus capacidades.

Hace unos tres años, alguien me introdujo en el maravilloso mundo de iptables, y en mis primeros pinitos, como no, lo primero que hice fue bloquear mi equipo totalmente. Más adelante me presentaron una herramienta imprescindible para todo buen administrador de sistemas Linux, Firewall Builder (http://www.fwbuilder.org/), que me ha permitido, siempre con ayuda, crear cortafuegos realmente interesantes.

Sin embargo, hay algo que falta en todos los sistemas linux que conozco. Una vez instalados los paquetes "iptables" e "ipchain", necesitamos algún procedimiento que nos permita tanto cambiar la configuración de nuestro firewall como que nuestro cortafuegos se inicie a la par que nuestro sistema.

Aunque solo son unas sencillas pinceladas, seguro que para más de uno (yo mismo incluido), resultan más que útiles.

Los organizaré en pasos:

  1. Suponemos que nuestra máquina se llama "destellos". Decidimos donde vamos a situar nuestros ficheros. Trabajaremos con dos, uno "destellos.fw" que almacenará las reglas y actuales y otro, "inactive" que nos permitirá desactivar el firewall.

    Guardaremos ambos ficheros en la ruta "/etc/local/iptables", configurando adecuadamente FWBuilder para que use dicha ruta al enviarnos el fichero de reglas.

  2. Tenemos que crear un nuevo fichero que nos permite arrancar y parar nuestro firewall a voluntad. Lo almacenaremos en "/etc/init.d", con el nombre de "iptables". El contenido será el siguiente (haciendo las modificaciones adecuadas):
    #!/bin/sh

    ruta="/etc/local/iptables"
    maquina="`uname -n`"

    case "$1" in
    start)

    # Arranca el iptables
    sh ${ruta}/${maquina}.fw
    echo " "
    echo " Iptables ACTIVADO "
    echo " "
    ;;

    stop)
    # Borramos todas las reglas:
    iptables-restore < ${ruta}/inactive
    echo " iptables DESACTIVADO "
    ;;

    save)
    iptables-save > ${ruta}/$2
    echo " Configuracion guardada en ${ruta}/$2 "
    ;;

    restart)
    iptables-restore < ${ruta}/inactive
    echo ""
    echo " iptables DESACTIVADO "
    sh ${ruta}/${maquina}.fw
    echo " Iptables ACTIVADO "
    ;;

    *)
    echo "Usage: /etc/init.d/iptables {start|stop|save NombreFichero}"
    exit 1
    ;;
    esac

    exit 0

    Este fichero tendrá que tener los permisos adecuados (-rwxr-xr-x), mediante el comando siguiente:
    chmod 755 /etc/init.d/iptables

    Ahora, mediante los comandos "start", "stop", "restart" y "save" podremos utilizar con mayor facilidad nuestro cortafuegos.

  3. Pero aun no queda algo que hacer, ya que por el momento, nuestro cortafuegos no se inicia de forma automática. Para ello, lo primero que necesitamos conocer es el nivel en el que se encuentra nuestro sistema en reposo (generalmente, será el 2). Ejecutamos lo siguiente:
    runlevel

  4. Nos dirigimos a la ruta adecuada. En caso general, iremos a "/etc/rc2.d", donde crearemos el enlace simbólico adecualdo.

    Primero, deberíamos hacer un listado "ls" de lo que contiene el directorio para ver la posición más adecuada de inicio (queda determinada por el orden ascendente de los ficheros). La verdad es que no conozco realmente la razón (la preguntaré), pero en mi trabajo siempre lo hemos colocado en las máquinas debian y ubuntu en la posición 12.

    En este caso, IPTables debería arrancar, así que nuestro enlace debería tener un nombre de tipo "S12iptables", apuntando al script que creamos antes en "/etc/init.d". En otras palabras:
    ln -s /etc/init.d/iptables S12iptables
    Como es un enlace, al hacer un "ls -la" obtendremos algo como esto:
    lrwxrwxrwx 1 root root 20 2008-02-07 16:47 S12iptables -> /etc/init.d/iptables
  5. El sieguiente paso será parar el servicio al apagar. Para eso, nos iremos al directorio "/etc/rc1.d" y, siguiendo la misma idea, haremos un enlace simbólico a "/etc/init.d" con un nombre parecido a "K12iptables":
    ln -s /etc/init.d/iptables K12iptables

Eso es todo... por el momento.