Sort of making snapshots of UEFI libvirt-based virtual machines

As of early 2022, one of the limitations of libvirt is that it doesn't support making snapshotsof virtual machines that use UEFI instead of BIOS booting. Since various people want to get rid of BIOS booting ,this is a problem on several levels. Fortunately it's possible tosort of get around this, in one of two ways; the difficult and Ibelieve incomplete way that I haven't gotten working, and the easierway that I have. All of this assumes that you


Some things that make shell scripts have performance issues

Yesterday I mentioned that one version of my shell script thatprobably shouldn't be a shell script had performance problems . Both versions of this script actually makea useful illustration of some things that make shell scripts slowand, along with it, some of the things you may have to do to makethem fast.

One thing that does not make shell scripts slow is the basic Unixcommands themselves that you use in shell scripts. Those Unix commandsgenerally perform pretty well, and their processing speed is probablyclose to the


The temptation of writing shell scripts, illustrated

It's an article of faith in many quarters that you shouldn't writeanything much as a shell script and should instead use a properprogramming language. I generally agree with this in theory, butrecently I went through a great experience of why this doesn'tnecessarily work out for me in practice, as I wrote (and thenrewrote) a shell script that really should be a program in, say,Python.

A systemd-based Linux system can be set to track how much memoryis being


The state of Python (both 2 and 3) in Ubuntu 22.04 LTS

Ubuntu 22.04 LTS has just been released and is on our minds, because we have a lot ofUbuntu 18.04 machines to upgrade to 22.04 in the next year. Sinceboth we and our users use Python, I've been looking into the stateof it on 22.04 and it's time for an entry on it, with various bitsof news.

On the Python 2 front, 22.04 still provides a package


4K HiDPI monitors come in inconvenient sizes if you want two of them

It used to be that I used the same monitors at work and at home,although at home I had one of them instead of the two at work; mostrecently this was one of Dell's 24" 16:10 1920x1200 monitors. Several years ago I upgraded my home setup toa Dell 27" 16:9 4K HiDPI monitor. Recently the price of good 4Kmonitors dropped low enough that I got two of them at


My virtualization setup so far with Linux's virt-manager and friends

Recently, I reached a tipping point of dissatisfaction with VMWareWorkstation due to both performanceproblems and its non-handling of HiDPI for guest consoles. So asis sometimes my way, I completely changed my virtualization setupstarting this Monday, switching over to virt-manager and friends, which is to say the stackof libvirt , QEMU , and KVM .For the most part the change has been relatively straightforward,although there have been learning experiences . MostlyI've been using my new setup through the virt-manager


Some bits on keeping isolated network interfaces organized (on Linux)

My Fedora office workstation has wound up with a complicated networksetup and to go with it, a complicated set of policy based IProuting rules that are intended to create interfaces with dualidentity routing and isolation ( seealso ). Right now, my workstationis on two public networks and a shifting number of internal"sandbox" RFC 1918 networks thatare behind firewalls, serves as the Wireguard endpoint for my homemachine's connection, and now has a NAT'd virtual network for virtualmachines.


Where Linux's load average comes from in the kernel

Suppose, not hypothetically, that you have a machine that periodicallyhas its load average briefly soar to relatively absurd levels forno obvious reason; the machine is normally at, say, 0.5 load averagebut briefly spikes to 10 or 15 a number of times a day. You would liketo know why this happens. Capturing 'top' output once a minute doesn'tshow anything revealing, and since these spikes are unpredictable it'sdifficult to watch top continuously to possibly catch one in action


How to talk to a local IPMI under OpenBSD

Much like Linux, modern versions of OpenBSD are theoretically ableto talk to a suitable local IPMI using the standard ipmi(4) kernel driver. This is imprecisealthough widely understood terminology; in more precise terms , OpenBSD can talk to a machine's BMC(Baseboard Management Controller) that implements the IPMI specificationusing one of a number of standard interfaces, as covered in the"System Interfaces" section of ipmi(4) . However, OpenBSD throwsus a curve ball in that the ipmi(4) driver


"Long term support" Unixes and versions of software in them

In a comment on my entry about how Firefox versions are relativelytightly tied to Rust versions and how this affects LTS Unixes , Tom said, in part:

[...] But, if Ubuntu LTS is going to have a version of rust that isrelevant to users (rather than just as a build dependency), theyshould really package a up-to-date version of rust as well, since ithas the same support period as does Firefox.

The problem that all Unix distributions face sooner or later