Pegar código en ipython

Si pegamos código complejo en ipython nos dará un error a la primera línea que esté tabulada detrás de un espacio en blanco. Por ejemplo, tenemos el siguiente código:

for i in range(0,10):
if i == 5:
continue

print i

Si lo pegamos directamente en ipython:

In [1]: for i in range(0,10):
...: if i == 5:
...: continue
...:

Tags: 

Gestión de volúmenes cifrados (o encriptados) con y sin LVM

Aquí os mostraré son los pasos para crear, montar y mantener un volumen de datos cifrado bajo Linux (con LUKS). Esto nos permite proteger todos los datos del disco con contraseña, de forma que en caso de pérdida o robo (cosa cada vez más común dado el tamaño de pendrives y portátiles) no haya acceso a nuestros datos.

Tags: 

¿Unidad de CD o DVD?

Estamos trabajando con un servidor remoto que vamos a reinstalar en breve y necesitamos saber si tiene un CD o un DVD para grabar el disco de instalación apropiado. El siguiente comando nos será de utilidad:

Tags: 

Uso de memoria de un proceso

Para ver cuánta memoria está consumiendo un proceso disponemos del siguiente comando:

pmap PID
(el PID de un proceso lo podemos obtener con el comando ps)

El resultado es algo como esto:

# pmap 2333
2333: /usr/sbin/acpid
08048000 32K r-x-- /usr/sbin/acpid
08050000 4K rw--- /usr/sbin/acpid
[...]
b7fe8000 8K rw--- /lib/ld-2.7.so
bffe4000 84K rw--- [ stack ]
total 1772K

Tags: 

Monitorizar conexiones entrantes

Hay veces que queremos saber si se están estableciendo conexiones a un determinado puesto de nuestra máquina. Para ello se puede usar la herramienta iptables, que aunque habitualmente se utiliza para filtrar también permite guardar un registro de todo lo relacionado con red.

Por ejemplo, para supervisar conexiones a una BBDD MySQL, que escucha en el puerto 3306:

iptables -A INPUT -p tcp --dport 3306 --syn -j LOG

Tags: 

Hacer que un proceso siga corriendo tras cerrar una sesión

La mayoría de vosotros ya sabréis que un comando que se lanza desde terminal añadiendo un "&" se ejecuta en segundo plano. Sin embargo, si cerramos la sesión cuando el comando aún no ha terminado, éste es abortado por el sistema.

Para evitarlo se puede ejecutar:

nohup comando parámetros &

Esto crea un fichero "nohup.out" en el directorio actual (o en $HOME si no se tienen permisos), al que se redirige lo que el comando escupa por pantalla (stdout).

Tags: 

Cómo modificar un paquete .deb (VIDEO)

A continuación tenéis un pequeño videotutorial para aquellos que os manejéis un poco con la programación y queráis modificar alguno de vuestros programas habituales.

En el vídeo se muestra cómo descargar un paquete fuente, realizar modificaciones al código, recompilarlo e introducirlo en el sistema en su versión binaria.

Tags: 

Login en una máquina remota mediante SSH y sin contraseña

Además de la autenticación por contraseña, existe otro método para acceder a una máquina remota con SSH: usando llaves pública/privada. Hace unos años montar la infraestructura necesaria para esto era algo complicado, pero hoy en día se reduce al uso de dos simples comandos.

Primero, es necesario generar un par de llaves:

$ ssh-keygen -t rsa

Este comando solicitará un nombre para el fichero generado (podemos aceptar el que viene por omisión, $HOME/.ssh/id_rsa) y una clave para proteger la llave privada generada (se puede dejar en blanco, ver más abajo).

Tags: 

Trucos del terminal

A continuación tenéis varios comandos de terminal (la mayoría propios de bash) que os pueden ser de utilidad:

cd
Te lleva a tu directorio $HOME

cd -
Te lleva al directorio en el que estuvieses antes del último cd

for i in `ls -1 *zip`; do unzip $i; done
Descomprime todos los ficheros ZIP de un directorio

comando !$
Ejecuta el comando especificado pasandole como parámetro lo mismo que al comando anterior. Ejemplo: "mkdir DIRECTORIO" seguido de "cd !$"

Sid Meier's Alpha Centauri en Debian Lenny

Cuando uno intenta instalar la versión para Linux del juego Alpha Centauri en una distribución moderna, a veces éste se cierra bruscamente nada más comenzar la partida. Para evitarlo, es necesario añadir las siguientes líneas al fichero /etc/X11/xorg.conf (o modificar la sección existente):

Section "Extensions"
   Option "Composite" "Disable"
EndSection

Más información (en inglés):

Tags: 

Páginas

Suscribirse a Gheesh.org RSS