Welcome to the Café

Explore the world of Linux with clear, approachable guides. Whether you’re just starting out or looking to sharpen your skills, you’ll find something to brew your interest here.

Taming Background Tasks with nohup and systemd - A Homelab Lesson Learned

Introduction to Background Tasks

As someone who’s spent years running a homelab, I’ve learned that managing background tasks can be a real challenge. You’ve got scripts and commands that need to keep running, even after you’ve logged out of your system. In my experience, nohup and systemd have been the two most useful tools for getting this done.

What is nohup?

nohup is a simple command that lets you run a process in the background, ignoring the SIGHUP signal that’s sent when the controlling terminal closes. This means you can start a process with nohup, log out, and the process will just keep on running. Here’s an example:

[Read More]

Reclaiming Disk Space with Find and xargs After a Package Manager Mishap

Introduction to Disk Space Reclamation

I’ve lost count of how many times I’ve run into issues with package managers leaving behind unnecessary files on my Linux systems. This can happen due to incomplete package removals, failed updates, or simply because the package manager didn’t clean up after itself. In my experience, this is more common than you’d think, especially when using less popular packages or experimenting with different distributions.

Identifying the Problem

To start reclaiming disk space, you first need to identify where the unnecessary files are located. A good starting point is to use the find command, which allows you to search for files based on various criteria such as size, modification time, and permissions. For example, to find all files larger than 100MB in the /usr directory, you can use the following command:

[Read More]

Taming Duplicate Logs with uniq, sort, and a Dash of jq

Introduction to Log Management

As a Linux user, you’re probably familiar with the importance of logs. I’ve seen this go wrong when trying to debug an issue or monitor system performance - duplicate logs can be overwhelming. In this article, we’ll explore how to remove duplicates using uniq, sort, and jq.

Understanding the Problem

Duplicate logs can come from multiple sources: multiple instances of the same service, redundant logging mechanisms, or simple configuration mistakes. The real trick is to identify the cause and develop a strategy for removing duplicates. Don’t bother with trying to manually sift through logs - that’s a surefire way to waste time and miss important trends.

[Read More]
linux  logging  uniq  jq 

Taming CPU Usage Spikes with `systemd` and `ps` in My Home Server Setup

Introduction to CPU Usage Spikes

I’ve had my fair share of CPU usage spikes on my home server, and I’ve learned that they can be caused by a variety of factors, including resource-intensive applications, misconfigured services, or even malware. The real trick is to identify the root cause of the spike and take corrective action. In my experience, using systemd and ps can be a powerful way to manage CPU usage spikes.

[Read More]

Taming the Chaos of External Drives on Desktop Linux with Udev Rules and Automounting

Introduction to External Drive Management

I’ve been using Linux for years, and one thing that’s always been a bit of a pain is managing external drives. Whether it’s a USB flash drive, an external hard drive, or an SSD, keeping track of these devices can be a chore. I’ve seen this go wrong when you’ve got multiple drives connected and you’re not sure which one is which. In practice, this can lead to a lot of confusion and wasted time. That’s why I’ve started using udev rules and automounting to manage my external drives.

[Read More]

Taming Dependency Chaos with Apt Pinning on a Small Debian Server

Introduction to Apt Pinning

I’ve seen this go wrong when you’re managing a small Debian server and dependencies become a challenge. That’s where apt pinning comes in – a feature that lets you control the version of packages installed on your system. On Debian-based systems, apt is the package manager of choice, providing a robust way to manage dependencies and install software. However, when you need to ensure a specific package version is used, apt pinning is your friend.

[Read More]

Replacing Ubuntu with Fedora on my Daily Driver Laptop: A Month of Tweaks and Surprises

Introduction to My Linux Migration

I’ve been an Ubuntu user for years, but after the 2025 release, I figured it was time to try something new. Fedora’s been on my radar, and as someone who’s always tinkering with Linux, I thought, why not? In this article, I’ll share my experience of ditching Ubuntu for Fedora on my laptop, including the tweaks and surprises I encountered along the way.

Preparing for the Migration

Before making the switch, I backed up all my important files using rsync to an external hard drive - don’t bother with anything less, you never know when you’ll need it. I also made a list of the packages I had installed on Ubuntu, so I could easily reinstall them on Fedora. To get a feel for the Fedora environment, I created a virtual machine using virt-manager and played around with the distribution before committing to a full installation. This is where people usually get burned, so take your time and test things out.

[Read More]

What I Would Actually Self-Host Again on Linux

Introduction to Self-Hosting

I’ve spent years running my own Linux servers, and over time, I’ve experimented with a bunch of self-hosted services. Recently, I decided to take a step back and simplify my setup. This involved figuring out what actually works for me and what I’d self-host again on Linux.

Choosing the Right Services

It’s easy to get carried away with all the services available for self-hosting. I’ve seen this go wrong when people try to host too many services at once. The real trick is to prioritize what’s truly necessary. For me, that includes a personal wiki, a photo gallery, and a Git server. These services are crucial for my daily workflow and personal projects.

[Read More]

Artificial Intelligence Powered Intrusion Detection Systems for Linux

Artificial Intelligence Powered Intrusion Detection Systems for Linux

As a Senior Linux Security Architect, I have witnessed significant advancements in the field of Linux security, particularly with the integration of Artificial Intelligence (AI) in Intrusion Detection Systems (IDS). In 2025, we saw a surge in the adoption of AI-powered IDS, and now in 2026, this trend continues to gain momentum.

Introduction to AI-Powered IDS

AI-powered IDS utilizes machine learning algorithms to analyze network traffic and identify potential security threats. These systems can learn from experience, adapt to new patterns, and detect anomalies that may evade traditional signature-based IDS. The use of AI in IDS has improved the accuracy of threat detection, reduced false positives, and enhanced the overall security posture of Linux systems.

[Read More]

Open-Source Implementation of Post-Quantum Cryptography in Linux

Implementing Post-Quantum Cryptography in Linux: A Technical Deep Dive

The advent of quantum computing poses a significant threat to classical cryptographic systems, prompting the need for post-quantum cryptography (PQC) solutions. As a Senior Linux Security Architect, I will delve into the technical implementation of open-source PQC in Linux, exploring the current state of PQC, its integration into the Linux kernel, and the mitigation of potential attacks using MITRE ATT&CK techniques.

[Read More]