The Linux Page

Help other users realize that everything is possible, especially avoiding Windows for their own personal use.

Welcome to The Linux Page

Fox Trot by Bill Amend. Click to enlarge.
Click to enlarge

This site is a collection of my own work with Linux. Certain things are easy, others take time to decipher and if I ever need to repeat the work (which usually happens!), then I need to remember everything by memory or... have a site with all the steps taken and to take again.

The following are my most recent posts:

A Telephone post with many lines to the surrounding homes.

I have noticed that quite a few people were trying to create UDP communication and I thought that proposing my class could help them. This is very basic as it does not define anything such as the size of a packet or any protocol to ensure arrival of the packets. However, it can be useful if you want to send a signal from one process to another, which is exactly how I use this implementation (i.e. I send a PING message to wake up a background process whenever the front end adds data to the database.)

This code is part of the Snap! C++ implementation. The latest version can be found in the ...


Last night we had a pretty large scale power issue. It went down for over 1h.

I restarted the computer in the middle of the night, but when I came in the office in the morning, the LAN computers and phones were not connecting to the Internet.

I fairly quickly ruled out the firewall as an issue, it was in place as expected.

Looking further, I noticed that my PC's would find some DHCP info, but the DNS IP addresses were the local IP address (such as instead of my Internet provider DNS IPs). So the culprit had to be the DHCP server.

Sure enough, the server was ...

Namibia Desert has audio like curves

Issue with pulseaudio

It looks like pulseaudio is about to become history¹. I've read that you should be using a new system in replacement to pulseaudio.

In the meantime, I have pulse audio installed and so was thinking it makes more sense to use that at the moment rather than trying to get a new thing going and that was preventing Shotcut from working².

Is it running?

To see whether it is running, use:

$ pactl info

If it works, you see a list of details about your audio device.

Server String:
Library Protocol Version: 35
Server Protocol Version: ...

Anacron Time Changed

After upgrading, I noticed that I was getting some results from my Anacron at 07:38 instead of the usual "around midnight" time (which was often off by 1h in winter and/or summer... but that was fine with me).

Anacron Settings on 22.04

So I looked around and found out that the setup to start the Anacron scripts, a calendar setup in systemd, is used on newer systems. The other scripts starting CRON will test whether anacron is installed then do nothing if so. The old anacron script will test whether systemd is installed and if so, again, do nothing.


Yesterday I upgraded to Ubuntu 20.04 from Ubuntu 18.04. I wanted to do that soon, but somehow the firewall stopped working and I just couldn't find a solution (the NAT table was being ignored and as a result the LAN was dead because all the FORWARD rules would not be hit).

First, the upgrade did not want to start because the 20.04 repository was being updated. I tried again after about 1h and that worked.

The whole process took a very long time, but at least it worked.

I'm not too sure why, but MySQL took FOREVER. I have database that should be copied in 2 minutes, okay, maybe 5. ...

I had to delete many emails that ended up in my archives.

When I received an email from postfix, I have a virtual entry that looks like this: is the main mail server receiving all the external mail. is a separate system where mail gets sent for archival.

The archival happens in /var/mail/archive and when the file grows over a certain size, it gets compressed and saved in a different location.

The files are therefore mailbox like. Emails are written one after the other with a From to start each email.


dmidecode to retrieve information about your hardware

The Linux system offers a set of commands that allow you to read manufacturer information from the command line.

These are decoded as DMI data.

The motherboard info if listed with:

sudo dmidecode --type baseboard | less

The output should at least include a Manufacturer name and a Product Name. The Product Name would be the motherboard name as defined by the manufacturer.

You can also find memory information with:

sudo dmidecode --type memory | less

You should get a list of  DIMM slots with information about whether those slots are filled with a DIMM or not. Those with a DIMM ...

What's the Issue?

It looks like there was a bug in the MPI binary package where some alternative created a "same link" issue.

alternatives: error: /var/lib/dpkg/alternatives/mpi corrupt: slave link same as main link

The error says that an "update-alternatives ..." command found an issue trying to create an alternative where the alternative is actually not an alternative.

Did the Upgrade Work?

If you saw many other installations going and this is the last thing you see, then yes, you have your OS upgraded to the newer version. You can reboot and do whatever, ...

Retrieve a Docker Image

You found an image and you have a URL now you want to get a copy, you do a pull like so:

docker pull

It will load that image in docker.

List Files in a Docker Image

I often would like to see the files inside a docker image. The fact is that Docker has a tarball of those files that one can export to see said files.

First you can try the save command like so:

docker save <image-uuid> > foo.tar

If that doesn't seem to work, you can try the following few steps to check out your image contents by first creating a ...

Run processes in parallel in a bash script.

The other day, I worked on creating a video which means extract over 4,000 frames and then processing those frames. One of the processes is to overlay one image over another (using convert from ImageMagick). This process is very slow because each time the convert tool reloads the background image and the movie frame to overlay... so I thought I should run these commands in parallel. After all, I have 64 CPUs, let's use them!

In bash, there is a special option on the wait command: -n. This option means: wait for any one of the currently running jobs to finish. This is quite practical ...

Unfreeze your Mouse when it Froze

Thank you for visiting my website.