Verificar una tarjeta Micro SD en una Raspberry PI (2)

Lamentablemente, el esquema propuesto en Verificar una tarjeta Micro SD en una Raspberry PI tiene dos problemas relacionados entre sí:

  1. Es necesario crear dos ficheros más grandes que la memoria RAM disponible. Hasta ahora bastaba con ficheros de 1 Gigabyte, pero la aparición de la Raspberry PI 4 con hasta 4 GB de RAM hace necesario el uso de ficheros muy grandes.

    Actualización 20200528: Acaba de aparecer la Raspberry PI 4 con 8 GB de RAM.

  2. Relacionado con el punto anterior, el uso de ficheros muy grandes es problemático porque requiere mucho espacio libre en la tarjeta microSD.

Estos dos puntos se explican por la necesidad de asegurarse de que, a la hora de comparar los ficheros, se van a comparar los datos grabados en la tarjeta microSD, no informacion guardada en la caché en la memoria RAM.

No obstante, la información proporcionada por el artículo ¿Qué es y cómo limpiar la caché del sistema de ficheros en Linux? abre la puerta a usar ficheros de un tamaño más razonable, simplemente pidiéndole al sistema operativo que limpie los datos en la caché antes de utilizarlos para obligarle a recurrir a la tarjeta microSD.

Leer más…

¿Qué es y cómo limpiar la caché del sistema de ficheros en Linux?

Una de las cosas que suele sorprender a los novatos es que tras usar el ordenador un rato, la memoria RAM está casi llena. Da igual cuánta memoria tengas, se llena. La primera reacción de pánico es creer que se necesita más RAM. En un momento de reflexión subsiguiente se constata que el ordenador va bien y cómodo, y que lanzar un programa gordo funciona sin problemas, a pesar de tener la memoria RAM llena... aparentemente.

En los viejos tiempos, la memoria de un ordenador estaba dedicada casi por completo a los programa que estuviesen funcionando, pero los programadores de sistemas operativos se dieron cuenta de que pagar por memoria RAM desocupada es un desperdicio. Lo importante es que cuando un programa requiere usar esa memoria, esta esté disponible para él, pero mientras tanto resulta útil tener en memoria RAM información que nos permita disfrutar de un mejor rendimiento del ordenador. Por ejemplo, podría ser útil que, una vez que cerremos un programa, este permanezca en RAM mientras dicha RAM no sea necesaria y si el usuario lanza el programa de nuevo, este se puede arrancar instantáneamente sin tener que tocar el disco duro. O se podría usar la memoria RAM libre para guardar el dibujo detallado de letras y palabras utilizadas recientemente para poder ponerlas en pantalla sin tener que realizar todos los cálculos matemáticos necesarios para dibujar una frase en la pantalla con la calidad que proporciona la tipografía moderna.

Podemos hablar de dos propiedades útiles: a) dejar en memoria RAM cosas que ha costado obtener, por si acaso son necesarias de nuevo y b) en cuanto el usuario necesita esa memoria RAM para su actividad, eliminar de la caché la información que estimamos menos necesaria y entregar esa memoria, ahora libre, al usuario.

Leer más…

¿Cómo controlar por software los LEDs de una Raspberry PI?

Tras escribir ¿Cómo detectar por software una mala alimentación de la Raspberry PI? me quedó la duda de si era posible controlar por software los LEDs de una Raspberry PI. Resulta que sí.

Opciones:

Advertencia

La Raspberry PI es una plataforma en evolución, por lo que a medida que aparezcan modelos nuevos o actualizaciones del sistema operativo, pueden surgir otros mecanismos y algunos de los que muestro aquí podrían dejar de funcionar.

  • El pseudofichero /sys/class/leds/led1/brightness controla el encendido del LED rojo (alimentación) de la Raspberry PI:

    root@raspberrypi:~# echo 0 >/sys/class/leds/led1/brightness
    (el LED rojo se apaga)
    root@raspberrypi:~# echo 255 >/sys/class/leds/led1/brightness
    (el LED rojo se enciende)
    

    El encendido está superditado a que el hardware de la Raspberry PI no esté señalizando una mala alimentación eléctrica, tal y como se explica en ¿Cómo detectar por software una mala alimentación de la Raspberry PI?

Leer más…

¿Cómo detectar por software una mala alimentación de la Raspberry PI?

Si una Raspberry PI detecta que su voltaje es inadecuado, mostrará el icono de un rayo amarillo en la esquina superior derecha de la pantalla. Si no tienes la Raspberry PI conectada a una pantalla, pero puedes ver la propia Raspberry Pi, observarás que esta señala una mala alimentación apagando o haciendo parpadear el LED rojo.

¿Cómo puedes saber si la Raspberry PI tiene problemas de alimentación cuando no tenemos acceso físico a ella?

Hay varias opciones:

Advertencia

La Raspberry PI es una plataforma en evolución, por lo que a medida que aparezcan modelos nuevos o actualizaciones del sistema operativo pueden surgir otros mecanismos y algunos de los que muestro aquí podrían dejar de funcionar.

Leer más…

Verificar una tarjeta Micro SD en una Raspberry PI

Tengo un parque bastante alto de Raspberry PI instaladas. Se trata de dispositivos baratos y capaces, muy convenientes en el mundo de IoT cuando es necesario utilizar un Sistema Operativo avanzado como Linux.

La fiabilidad de la Raspberry PI es bastante alta. Tanto es así que los únicos casos que estoy viendo de fallos son debidos a la fuente de alimentación o a defectos en la tarjeta microSD.

En líneas generales se puede detectar un cargador USB inadecuado observando un icono de un rayo amarillo en la esquina superior derecha de la pantalla conectada a la Raspberry PI o, si no tenemos pantalla, observando el LED rojo de alimentación en la placa base de la Raspberry PI. Si ese LED parpadea o se apaga, el cargador USB es inadecuado. Aunque la Raspberry PI esté funcionando bien, reemplaza ese cargador USB. Créeme, tarde o temprano tendrás problemas misteriosos e inexplicables. Cambia el cargador USB.

En serio, cámbialo.

El segundo punto débil de una instalación Raspberry PI es la tarjeta microSD. Muchas tarjetas están dañadas (por ser viejas, defectuosas o por una alimentación inadecuada como describo más arriba) y pueden corromper datos. Esta corrupción, además, suele ser muy errática y sus características son muy diferentes a los errores en un disco duro normal y corriente. Por ejemplo, una tarjeta microSD puede corromper datos de un fichero cuando leemos sectores de un fichero que no tiene nada que ver. Es decir, se pueden corromper datos incluso cuando solo estamos leyendo y los datos corruptos pueden estar en la otra punta de la lista de bloques que conforman una tarjeta microSD.

Leer más…

Generar un email diario a partir de un feed RSS (Slashdot)

Llevo décadas, literalmente, siguiendo Slashdot. Es una de mis fuentes de noticias de revisión diaria obligada. Se puede seguir a través del feed RSS, pero el tráfico diario es alto y es fácil perder noticias si pasas un par de días desconectado, porque, por ejemplo, estás de vacaciones o de viaje. Afortunadamente, Slashdot proporciona la opción de recibir un único mensaje diario con la recopilación de noticias del día anterior. Esto es muy conveniente para leerlas cuando te va bien, no preocuparte de perder noticias y, además, poder archivarlas en tu sistema de correo para futuras búsquedas o referencias.

Todo fue bien hasta el 23 de septiembre de 2018. Ese día me dejaron de llegar los mensajes diarios de noticias sin ningún motivo aparente [1]. Curiosamente, sí me llegaban los emails de Slashdot sobre promociones y publicidad.

Revisé mi configuración antispam, por si acaso mi servidor de correo electrónico se estaba comiendo los mensajes, los logs del servidor, etc., sin éxito. Preguntar online y revisar foros para ver si alguien más tenía problemas fue infructuoso. Intentar ponerme en contacto con la gente de Slashdot fue imposible.

Slashdot, sencillamente, ya no me enviaba los mensajes.

Durante un tiempo aguanté leyendo el feed RSS de forma diaria, pero los fines de semana eran problemáticos porque tenía apagado el ordenador un par de días y algunas noticias ya no entraban en el último feed RSS. Los lunes tocaba revisar noticias a mano.

Tras pensarlo un poco y evaluar el coste/beneficio, decidí crear un programa simple y mínimo para reemplazar el email de noticias que me enviaba Slashdot a diario. El programa me costó una tarde de trabajo y ha estado funcionando desde entonces sin ningún tipo de problema.

[1]

Slashdot empezó a enviarme las noticias diarias de nuevo el 6 de abril de 2019. Así, sin más. ¿Qué ocurrió? Imagino que nunca lo sabré. La cuestión es que ya tenía este reemplazo funcionando durante meses, sin publicidad, sin depender de terceros, sin comprometer mi privacidad...

Sigo suscrito a las notificaciones diarias de Slashdot, pero ya ni siquiera abro esos emails. Tengo las mías y son mejores.

El código completo es el siguiente:

Leer más…

Dumping SmartOS boot zpool when booting from harddisk

Read first

Before reading this article you would find useful to become familiar with this other two:

Problem to solve

The steps described in previous articles create a SmartOS installation booting from the harddisk instead the regular boot from a CD, a DVD, a USB pendrive or PXE. This is useful when managing remote machines with no physical access. You must be careful, though, since a mistake in the manipulation of the boot zpool can leave the machine offline with a slow and painful recovery procedure.

For my personal needs (servers hosted in a remote datacenter), my approach for boot recovery would be to restart the server with the rescue mode facilities of the datacenter using an Operating system with ZFS support. That would be enough to mount the harddisk and correct any misconfiguration.

This approach is fine 99.9% of the time, but it doesn't work (easily) if there is an issue in early boot stages, like a corruption of GRUB, bad upgrading of GRUB (trying, for instance, to support features available in new ZFS releases) or if you want to upgrade to new Illumos loader, enable ZFS encryption, etc.

We need a fast way to recover the machine if something goes wrong in the early boot stage.

Since in my case the boot ZFS zpool is only 1 GB in size, what about just dumping the harddisk datablocks as a file in another server? With gigabit data speed, you can rewrite 1 GB in ten seconds. Booting in rescue mode and typing the appropriate commands would be the slow part!

Leer más…

Novedades SmartOS de 20181011 a 20190829

SmartOS es un hipervisor derivado de Illumos, la evolución de código abierto de OpenSolaris. He estado usando Solaris desde principios de los 90 y aún creo que es un sistema operativo más "serio" y profesional que Linux.

La mayoría de las distribuciones basadas en Illumos son sistemas operativos completos. SmartOS es diferente. Un despliegue SmartOS típico consiste en un hipervisor ligero que ejecuta contenedores Solaris. Algo similar a Docker, pero más capaz y mucho más seguro.

Como hipervisor, SmartOS arranca desde un dispositivo como una memoria USB, un DVD o por PXE [1]. La imagen es bastante pequeña, menos de 300 Megabytes. El dispositivo de arranque no contiene ninguna personalización. El sistema arranca y lee la configuración desde el disco duro local. Se trata de un enfoque interesante: actualizar el hipervisor es trivial y a prueba de errores porque siempre puedes arrancar con la versión anterior y no puedes dañar el sistema con una actualización problemática. Al medir menos de 300 Megabytes puedes conservar varias versiones de SmartOS por ahí, por si las moscas.

[1] He documentado cómo instalar SmartOS en el disco duro local en Installing/booting SmartOS in/from a harddisk without physical access. Se trata de una configuración no soportada, pero muy útil cuando queremos usar SmartOS en una máquina sobre la que no tenemos acceso físico.

Acabo de actualizar mis máquinas SmartOS de la versión 20181011 a la versión 20190829, siguiendo el procedimiento que describí en Upgrading SmartOS when installed in your harddisk. El proyecto está muy activo y la lista de mejoras en estos casi once meses es importante. Puedes ver los cambios con detalle en inglés, pero aquí os doy una versión masticada y resumida en español (la lista no es exhaustiva, hay mucho más):

Leer más…

Audio de la participación radiofónica "Privacidad en Internet"

El 17 de noviembre de 2017 participé en el programa de radio Olvida tu equipaje de Radio Utopía para hablar sobre "Privacidad en Internet".

Se trataron varios temas:

  • Artículo 12 de la Declaración Universal de los Derechos Humanos: Nadie será objeto de injerencias arbitrarias en su vida privada, su familia, su domicilio o su correspondencia, ni de ataques a su honra o a su reputación. Toda persona tiene derecho a la protección de la ley contra tales injerencias o ataques.
  • ¿A la gente le importa la privacidad? Todo lo que te dan gratis... es a cambio de algo.
  • La novela 1984 se ha quedado pequeña.
  • Vigilancia masiva e indiscriminada.
  • ¿Qué cosas podemos y no podemos controlar?
  • Para las organizaciones es más fácil guardarlo todo que elegir.
  • Todo el mundo es persona de interés de forma retroactiva.
  • "Yo no tengo nada que ocultar".
  • Influencias en el día a dia que no son evidentes.
  • Autocensura.
  • Cuando tú no pagas, tú eres el producto.
  • La gente acepta términos legales sin leerlos.
  • Permisos abusivos de aplicaciones Android.
  • Las empresas como defensa ante los estados.
  • ¿Qué ordenador comprar?
  • ¿Qué móvil comprar?
  • La nube. La mensajería instantánea.
  • Geolocalización.
  • Usar WIFIs que no son de confianza. Firesheep y como un cambio decidido en una habitación con media docena de personas afecta a la seguridad de millones de usuarios.
  • https://maadix.net/.
  • Edward Snowden.

Acceso a la grabación, de una hora y treinta y dos minutos de duración:

Gracias a Armando Silles por esta oportunidad. Por cierto, que ha publicado Aire verdadero, un libro de poesía bastante interesante que igual te apetece.