Va uno cortito, uno de esos tips para la posteridad y para mí, para que cuando me pase de nuevo dentro de dos años no tenga que googlear cómo mierda fue que lo arreglé:

Prefacio: El volumen de Linux suena muy bajo si lo comparás con Windows y ni subiendo desde el mezclador de volumen de tu entorno gráfico ni desde el viejo alsamixer te complace el resultado.
Me pasa desde hace un par de años y jamás le había dedicado tiempo hasta que hoy se me dió por reproducir el soundtrack original de la película Dune, de Hans Zimmer y noté que debido a que el volumen obtenido en mis auriculares era demasiado bajo, me estaba perdiendo matices.

Por supuesto que me fuí derecho a alsamixer a darle a la tecla de cursor a tope pero encontré que tanto los canales main como pcm ya estaban seteados al 100%, y ahí, justo ahí, es que me puse a investigar que carajo.

Versiones anteriores de alsamixer (o será que depende de la placa de sonido que te toque en suerte, no lo sé), incorporaban un control de ganancia que uno podía modificar para aumentar hasta llegar a saturar el nivel de salida de audio. No es mi caso. Mi alsamixer no lo tiene.

Continúa leyendo

Un usuario feliz de linux utilizando kpartx para montar particiones desde dentro de una imagen de disco

Otro título sugerido: como usar kpartx para hacerse con el contenido de particiones dentro de una imágen de disco sin romper nada ni morir en el intento.

Hola. Vengo a documentar.

Varias veces al año me pasa que tengo que acceder a información contenida dentro de una imágen de disco. Esto usualmente es muy sencillo de resolver montando la imagen como de tipo loop en cualquier punto de montaje medio como sigue:

mount -o loop imagen.bin /punto/de/montaje

Esto funciona de maravillas cuando la imagen es de tipo RAW, usualmente de VMs de cualquier hypervisor/plataforma de virtualización de tu preferencia. La cosa se complica ligeramente cuando sobre la imagen.bin tenés particiones por que la VM corre Windows o por que sos un pelotudo, o ambas.

Un usuario feliz de linux utilizando kpartx para montar particiones desde dentro de una imagen de disco
Un usuario feliz de linux utilizando kpartx para montar particiones desde dentro de una imagen de disco

Como es usual, voy derecho al TL:DR y después si tenés tiempo y ganas de leer la explicación larga y de qué va todo te lo dejo debajo.

Continúa leyendo

Otro título sugerido: SecureBoot, la puta que te parió SecureBoot.

Hola, vengo de sobrevivir a esto y me lo voy a agendar por que tengo la sospecha de que si el kernel de Linux se actualiza me va a volver a pasar:

Al ejecutar VMware workstation Player o cualquiera de sus variantes en una computadora que tiene habilitado secureboot (y por consiguiente, todos los módulos y componentes del kernel firmados con una clave privada) via UEFI / Secureboot, la ejecución falla diciendo que el módulo vmmon no está cargado.

Mas específicamente, el mensaje de error reza:

Could not open /dev/vmmon: No such file or directory.
Please make sure that the kernel module `vmmon’ is loaded.

Para uno, que ya está versado en estos menesteres y va la consola a cargar el puto módulo como corresponde, convencido de que todo irá sobre rudas siempre es un ingrato despropósito encontrarse con que no, que no se va a poder:

modprobe vmnet

modprobe: ERROR: could not insert 'vmnet': Required key not available

Y ahí, justo ahí, empiezan tus problemas. Puteás mentalmente a todos los santos y acudís a Google a que te salve las papas. Con un poco de suerte, llegás hasta acá y te explico como seguir.

Foto real de una persona intentando utilizar VMware en Linux. Luego se preguntan por qué la gente odia Linux y prefiere Windows.

Foto real de una persona intentando utilizar VMware en Linux. Luego se preguntan por qué la gente odia Linux y prefiere Windows.

Lo que sigue es eso, como arreglar este problema, como cargar el módulo vmmon (y vmnet, que también vas a necesitar, sólo que todavía no lo sabés) si tu computadora y tu sistema operativo están usando secureboot en Linux y la cosa resulta relativamente sencilla una vez que entendés de que va todo:

Continúa leyendo

 

Lo tiro acá para toda la posteridad. Un pequeñísimo script para convertir el timestamping de syslog (la cantidad de segundos transcurridos desde que booteó el sistema) a hora local, cosa que a priori parece trivial pero que a la tercera vez que tenés que usar ya te cansa la cabeza.

 

Un poco de bash scripting. Convertir de Unix timestamping en el syslog de Linux a Hora en formato human readable.

Un poco de bash scripting. Convertir de Unix timestamping en el syslog de Linux a Hora en formato human readable.

 

Este script no es mío, lo robé de algún lado hace años y desde entonces me acompaña a todas partes:

#!/bin/bash

if [ "$#" != "1" ] ; then
echo "Usage: `basename $0` time-offset-integer"
exit 1
elif [ "`echo $1 | sed 's/[0-9]//g'`" != "" ] ; then
echo "Usage: `basename $0` time-offset-integer"
exit 1
fi

N=`date +'%s'`
U=`FS="." /usr/bin/awk '{print $1;}' < /proc/uptime | sed 's/[^0-9].*//'`
TS=`expr $N - $U + $1`
T=`date --date="@$TS"`

echo "$1 seconds after boot was about $T."

 

Como se usa.

A la típica salida del comando dmesg, o /var/log/syslog por ejemplo:

[511684.749771] Process accounting resumed
[511684.842941] systemd[1]: apt-daily-upgrade.timer: Adding 33min 25.167508s random time.
You have new mail in /var/mail/root

 

 

Ejecutás el script anterior, que en este caso llamé syslogtohuman.sh:

~# ./syslogtohuman.sh 511684
511684 seconds after boot was about Thu Aug 16 11:20:13 -03 2018.

 

Y así sabés que esa entrada en el syslog en particular aproximadamente en esa fecha y a esa hora: Thu Aug 16 11:20:13 -03 2018

 

De nada.