25 octubre 2008

Reboot seguro de un sistema colgado

No suele pasar, pero en ocasiones se te puede colgar el sistema. ¿Qué hacer en un caso así? Afortunadamente es posible enviar al sistema comandos de bajo nivel directamente al kernel que permiten un rearranque seguro.

Solución

Presiona la siguiente secuencia de teclas: Alt-Gr + Print, r, e, i, s, u, b.

Explicación

La combinación Alt-Gr + Print es conocida como la Tecla Mágica SysRq y es la combinación de teclas que activa la posibilidad de enviar los mencionados comandos de bajo nivel al kernel. Este es el resultado de cada tecla presionada después de la Tecla Mágica SysRq:
  • r: tomar el control del teclado
  • e: enviar la señal SIGTERM a todos los procesos, permitiéndoles que se terminen adecuadamente
  • i: enviar la señal SIGKILL a todos aquellos procesos que no se terminaron al recibir la señal SIGTERM, esto los matará
  • s: excribir los datos de los buffers en los discos
  • u: remontar todos los sistemas de archivos en modo sólo lectura
  • b: rearrancar
Si has presionado la secuencia de teclas correctamente, tu sistema arrancará correctamente sin causar una inconsistencia en los sistemas de archivos :-)

Para tener más información sobre la Tecla Mágica SysRq en la página correspondiente de Wikipedia.

09 octubre 2008

Eliminación de ficheros recuperable

Todo usuario de Linux ha eliminado alguna vez algún fichero con rm que no quería eliminar, para luego darse cuenta de que no puede recuperarlo. Algunos de ellos han aprendido con la experiencia (tal vez no a la primera, pero a base de repetir se acaba quedando grabado) y se han acostumbrado a ello, hay otros que desearían que exista esa opción. Este post es para estos últimos :-)

Solución
  1. Abre el script the inicio (en el ejemplo para la shell bash) con tu editor preferido (vi es mi favorito para cosas tan rápidas):
  2. vi ~/.bashrc
  3. Añade el siguiente alias al fichero (junto a los otros alias que probablemente contenga ya el script):
  4. alias del 'mv -i \!* ~/.Trash'
    Perdon, este alias es para csh, no se como se haría para bash :-S
  5. Guarda el fichero.
¡Y listo! Ya puedes recuperar todos aquellos ficheros que borres con el comando del, el comando rm seguirá funcionando como siempre (irrecuperable.

Explicación

Nunca se debería crear un alias de rm por las siguientes razones:
  • se puede dañar scripts/programas que dependen de dicho comando
  • probablemente usarías el comando rm en otras máquinas que no tienen el alias sin darte cuenta de que no podrás recuperar los ficheros
  • aunque los argumentos de rm y mv se parecen mucho, ¡la man page correspondiente al alias de rm sería la man page correspondiente a mv y no la correspondiente a rm!
La opción -i usada en el alias propuesto hace que no se sobreescriban ficheros existentes en la papelera con el mismo nombre sin pedir confirmación antes.

Purgar paquetes deinstalados

¿Tienes dudas de si los paquetes deinstalados con apt-get autoremove o manualmente han sido correctamente purgados (no tengo muy claro si es la palabra correcta en español para 'purge', pero me refiero a eliminar los archivos de configuración viejos)?

Solución

Simplemente ejecuta
dpkg --get-selections | awk '/deinstall$/ {print $1}' | xargs sudo dpkg --purge
y puedes estar seguro de que no quedará en tu sistema ningún archivo de configuración viejo de paquetes desintalados.

Explicación

dpkg --get-selections devuelve una lista de paquetes instalados en el sistema, pero también de paquetes que han sido desinstalados y no purgados. Este comando devuelve una lista en la que cada línea es 'nombre_paquete install' o 'nombre_paquete deinstall'.

awk '/deinstall$/ {print $1}' simplemente extrae package_name de cada línea marcada como deinstall, resultando una lista de paquetes deinstalados, pero no purgados.

xargs sudo dpkg --purge finalmente purga todos esos paquetes desinstalados, pero no purgados

01 octubre 2008

Shell auto-logout

¿Te gustaría que ciertas sesiones shell se cierren automáticamente después de un tiempo? Las sesiones root que se quedan abiertas en un ordenador ajeno o las sesiones SSH abiertas a un servidor importante pueden resultar un grave agujero de seguridad, especialmente si permanecen abiertas largo tiempo. Aunque su cierre automático no elimina el agujero de seguridad, sí minimiza su impacto.

Solución


La solución es muy sencilla, pero la implementación depende del tipo de shell usado.

bash, zsh, ksh:
  1. Edita el script de inicio (para una shell bash en este ejemplo) con tu editor favorito (vi en el ejemplo):
  2. vim ~/.bashrc
  3. Al añadir la siguiente linea al final del fichero se configuran 1800s (30min) como tiempo de espera antes de cerrar la sesión automáticamente:
  4. export TMOUT=1800
tcsh:
  1. Edita el script de inicio (lo siento, pero no sé cual es el fichero correspondiente en este caso) con tu editor favorito.
  2. Al añadir la siguiente linea al final del fichero se configuran 30min como tiempo de espera antes de cerrar la sesión automáticamente:
  3. set autologout=30
¡Y listo!

Explicación

Todas las shells mencionadas tienen soporte para cierre automático de sesión después de un tiempo de espera, simplemente hay que configurar el tiempo de espera activando la variable de entorno correspondiente. Échale un vistazo a la documentación de tu shell (man bash, por ejemplo) para ver más información al respecto.

Créditos: Descubrí esta configuración al dar con esta página

28 septiembre 2008

Disco extraible no puede ser montado

¿Has intentado alguna vez cambiar las opciones de montaje de un disco extraible y ya no puedes volver a montarlo? No te preocupes, la solución es muy fácil. Bueno, la solución es fácil, pero descubrirla no fue fácil.

Cuando el automontaje de un disco extraible falla, una ventana muestra un mensaje con el título "Cannot mount volume shows up".

Dependiendo del origen del problema, el texto del mensaje puede ser uno de los siguientes:
  1. Invalid mount option when attempting to mount the volume.
  2. Unable to mount the volume.
  3. The volume uses the abc file system which is not supported by your system.
Solución

Las opciones de automontaje del disco que está fallando tienen que ser eliminadas de Gnome Configuration:
  1. Inicia el Gnome Configuration Editor: gconf-editor
  2. Ve a la sección /system/storage
  3. Busca la configuración que está fallando en las secciones volumes y disks.
  4. Intenta encontrar en esas secciones la sección del disco que está fallando (comienza con el texto _org_freedesktop_...). Será muy fácil si sólo has cambiado la configuración del disco que está fallando, si has cambiado la configuración de varios discos, tendrás que recurrir a tus dotes detestivescas (tal vez te sirvan para ello lsusb -v y ls /dev/disk/by-uuid).
  5. Finalmente elimina la clave que está provocando el problema (alguna de estas: mount_options, mount_point o fstype_override) presionando el botón derecho del ratón y seleccionando Unset Key.
Ahora conecta el disco extraíble de nuevo y debería ser montado sin problemas.

Explicación

Cuando conectas el disco extraíble, Gnome se encarga de automontarlo ejecutando gnome-mount. Como se puede ver en la documentación del comando (man gnome-mount), las opciones para el montaje son extraídas de Gnome Configuration (gconf).

25 septiembre 2008

CompeGPS en Linux

CompeGPS, Wine y Ubuntu para conectar un GPS (en nuestro caso un Gramin Etrex Vista) con conexión serie a un ordenador sin puerto serie y Ubuntu 8.04 y poder cargar archivos desde el ordenador al GPS y viceversa 

El GPS viene provisto de la conexión a un puerto serie del ordenador. 

Es necesario adquirir un cable USB-Serie, macho-macho que facilite la conexión al puerto USB del ordenador. 

Hay que realizar lo siguiente:Hay que realizar lo siguiente:

1º Bajar la librería MFC42.dll (puede ser desde http://www.dll-files.com/dllindex/dll-files.shtml?mfc42) copiarla en: 

 ~/.wine/drive_c/windows/system/

2º Crear un link simbólico del puerto serie de Linux a Wine así(ejecutar el comando en la consola):

ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com2 

3º Configurar la conexión del programa CompeGPS con los parámetros que figuran en la imagen: 

Ya se puede comunicar con el GPS 


El link simbólico para que la aplicación wine pueda acceder al puerto puede servir para otros programas que estén instalados bajo wine

23 septiembre 2008

¿Un paso en la dirección correcta?

Parece que por fin ha habido un juez "alternativo" capaz de salirse de la doctrina de la SGAE y de plantearse hasta que punto es justo y lógico el sistema del canon digital. A ver que dice ahora Europa:

La Audiencia de Barcelona lleva el canon digital a Europa