Nov. 1, 2025
URL: Documentation on docs.podman.io Podman has a service, that can be enabled on a per user basis, that allows podman to automatically update a container, when it detects a new version of the container image. This service is called podman-auto-update and is installed with podman, along side a .timer file aswell.
The service:
$ systemctl --user status podman-auto-update.service ○ podman-auto-update.service - Podman auto-update service Loaded: loaded (/usr/lib/systemd/user/podman-auto-update.service; disabled; preset: disabled) Active: inactive (dead) Docs: man:podman-auto-update(1) The timer:
Nov. 1, 2025
This project saw the light of day, after testing Techno Tims excellent K3S with etcd setup, using ansible.
I highly recommend you check it out here: Fully Automated K3S etcd High Availability Install on technotim.live .
I am trying to learn how to use kubernetes, and after trying and failing to set up a full K8S cluster on my 3 Raspberry Pi 4 2GB’s, i found Techno Tims fantastic video on setting up a K3S cluster with ansible (find it here: Techno Tims video on Youtube ), I decided to give it a go.
Nov. 1, 2025
Documentation at Gitea: https://docs.gitea.com/usage/actions/overview Gitea Actions is a CI/CD Automation tool, like (and compatible with) Github Actions. Gitea Actions uses Act Runner as its medium of running the desired workflows. It does this, by creating one or more containers that the jobs run inside of. When a job is done, the container is deleted again, and the runner is now ready for the next job.
How to run it? Gitea Actions Act runner, can either be installed directly on a host computer (this can be the same hosts that Gitea is installed on, or a different one), or run in docker containers.
Nov. 1, 2025
Vagrant is a piece of software, that allows for easy building and tearing down of virtual machines from the command line. This makes the tool very good for spinning up, and tearing down test environments fast.
It can work with libvirt (QEMU), hyperV, Virtualbox and others. Though my personal testing, seems to show it working best with Virtualbox
Note that while Vagrant itself can work with multiple hypervisors, the image used has to be made for the chosen hypervisor.
Nov. 1, 2025
A Python virtual environment is an isolated space, where we can work with different versions of Python packages, than what we have on our host system. This allows us to have a small confined space where we only have the packages we actually need.
Creating a Python virtual environment. How do we actually create a virtual environment then? We use the builtin venv packages, that comes with a Python installation.
Nov. 1, 2025
Podman Quadlets are a way of handling podman containers with Systemd, by creating Unit files for the containers.
How does it work? A Podman Quadlet needs a file.container file. This is a podman systemd file - The .container file, can be compaired to a docker-compose file. It is a declarative file, where we describe the options we want to run the container with.
[Unit] Description=Oneline description goes here After=List here which target this should start after.
Nov. 1, 2025
Link: Download the main.py file from the autotiling folder.
Install python3-i3ipc
sudo apt install python3-i3ipc Move the main.py file from Downloads to /usr/bin and rename it autotiling
sudo mv main.py /usr/bin/autotiling Make the autotiling file executable
sudo chmod +x /usr/bin/autotiling add the autotiling to i3 config
vim ~/.config/i3/config ### Add the following two lines # enable autotiling (from https://github.com/nwg-piotr/autotiling ) exec_always --no-startup-id autotiling
Nov. 1, 2025
When I open a Terminal session I am usually limited to doing one thing at a time, per terminal session, and if I close the terminal, what I was doing usually goes away. If I open a new terminal session, I start from scratch again. But the solution to this problem is terminal multiplexing. This allows me to have multiple “panes or windows” inside of one terminal window.
It also gives me the ability to detach from a session, and reattach later.
Nov. 1, 2025
From time to time it is necesarry to securely erase a disk. This could be a disk I want to sell, or a second hand disk I have bought.
Finding the disk First thing we need to do is find out the device name of the disk
We do this with the “lsblk command”. In this example, I know I mounted a 120G disk in to my USB Harddrive enclosure, and attached it.
Nov. 1, 2025
If we are setting up a server as a firewall, router, or NAT device, we will need packet forwarding. Remember it should only be turned on, in these instances.
Check if ipv4 packet forwarding is enabled On most systems, we can use the sysctl command to check the status of packet forwarding.
[root@rhcsa2 ~] sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 0 The 0 means that is is turned off at the moment. It would be a 1, if turned on.
Nov. 1, 2025
Sometimes it can be necessary to set up a local repository, with the packages from the installation DVD.
Step one is to download the ISO and mount it. We can download the ISO file with wget
wget <file link> We now need to create a directory for the ISO file to be mounted to.
mkdir -p /mnt/disc ## for ISO, do this: mount -o loop <iso file> /mnt/disc ## if we have the dvd in the drive, do this: mount /dev/sr0 /mnt/disc If mounted correctly, the system should give a warning, that /mnt/disc is mounted as read only.
Nov. 1, 2025
If we need recover a lost root password on a Linux server, we can do it by booting the server in to emergency mode.
To boot a server to emergency mode we need console access to the server (if it is a VM), or either physical access or ILO access if it is a physical server.
For the first step, we need access to the grub menu. On most distributions, we can force the grub menu to appear by holding in the SHIFT key while the server is booting.
Nov. 1, 2025
RHEL servers use NetworkManager by default to manage networking connections. On ubuntu servers, with netplan, the networking renderer can be set to use NetworkManager aswell.
See Network Devices To see the servers available network devices, we can use the nmcli command
nmcli device status DEVICE TYPE STATE CONNECTION ens18 ethernet connected static ens19 ethernet connected rhcsa lo loopback connected (externally) lo in this case, we will change the IP adress of the ens19 interface.
Nov. 1, 2025
When I SSH in to an Ubuntu based Server, that has automated Security updates enabled, the SSH Splash Screen will show if the server needs a reboot with this message:
*** System restart required *** Last login: Sun Jan 9 17:44:51 2022 from 10.0.0.100 That is a very handy feature, but only shows up when I log in to the server, so how do I check if the server needs to be rebooted, after I have manually triggered an update?
Nov. 1, 2025
To see what shell we currently have set as the default shell, we can use the “echo $SHELL” command, like so:
[ramiraz@Thor ~]$ echo $SHELL /bin/zsh If the shell listed, isn’t the one we want as default, we can change it.
We change the default shell with the command “chsh”. First we use it to list the available shells on the system. We do this by passing the “-l” option to the command.