https://www.gravatar.com/avatar/4d420075a242b2c9b470b23ec2a914a0?s=240&d=mp

André P. Santos

Depurar strings com caracteres invisíveis

Recentemente, precisei criar um script bash que iterava sobre o barramento USB, listando os dispositivos conectados e comparando seus nomes com uma lista de dispositivos específicos que eu queria configurar.

Primeiro identifiquei o nome dos dispositivos com um loop:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
$ for d in /sys/bus/usb/devices/*/product; do
  printf "%s: " "$(cat "$d")"
  echo "$d"
done
USB OPTICAL MOUSE : /sys/bus/usb/devices/2-3/product
Gaming KB : /sys/bus/usb/devices/2-4/product
EHCI Host Controller: /sys/bus/usb/devices/usb1/product
xHCI Host Controller: /sys/bus/usb/devices/usb2/product
EHCI Host Controller: /sys/bus/usb/devices/usb3/product
xHCI Host Controller: /sys/bus/usb/devices/usb4/product
xHCI Host Controller: /sys/bus/usb/devices/usb5/product
xHCI Host Controller: /sys/bus/usb/devices/usb6/product

A ideia parecia simples, verificar se o nome do dispositivo, por exemplo USB OPTICAL MOUSE, correspondia a um item da minha lista e, se sim, executar um comando.

Máquinas virtuais no Arch Linux

KVM (Kernel-Based Virtual Machine)

KVM é uma infraestrutura de virtualização integrada ao Linux é faz uso das extensões de virtualização do processador (como Intel VT-x e AMD-V). O KVM é composto do modulo do kernel kvm.ko que fornece a infraestrutura principal de virtualização e modulos especificos para processadores kvm-intel.ko e kvm-amd.ko.

O KVM permite que uma máquina host execute vários ambientes virtuais isolados, chamados de máquinas virtuais (VMs), transformando o Linux em um hipervisor. O KVM faz parte do kernel Linux a partir da versão 2.6.20.