Demystify Multitasking Terminal with the TMUX Utility

Let’s talk today about the very useful utility called tmux. After reading this post, you will know what tmux is, why and how you use it, and a few tricks to  make the experience better.

Let’s start with the question, what is tmux? Just like the name implies, tmux stands for teminal multiplexer, it has for all practical purposes, replaced the older but similar utility called screens. Once you start tmux, you are welcomed by a similar screen as before, the only difference is the task bar located at the bottom. Let’s see it in  action. Continue reading “Demystify Multitasking Terminal with the TMUX Utility”

Exporting a variable (inheritance) in a UNIX Shell. What is it and why.

Hello again, today we are discussing exporting a variable in a UNIX Shell.  I am sure that sometimes, you have come across something like the following code snippet:

debug=true

or:

export debug=true

In both cases, we are assigning the value of true to a variable named debug. But what does this mystical export statement do? Continue reading “Exporting a variable (inheritance) in a UNIX Shell. What is it and why.”

The Perfect Bash Prompt (PS1)

Welcome back, let’s discuss something that many UNIX/Linux users do not think about it even after they’ve been working on systems for years. Let’s discuss the bash prompt. If you don’t know what the bash prompt is, the bash prompt is the text that appears on the command line right before the cursor. Most Linux systems have a default bash prompt something like:

root@localhost:~#

The above prompt displays the user, the system name, and current directory and a $ or # depending if you are a regular or superuser. Continue reading “The Perfect Bash Prompt (PS1)”

Replace Failed Drive in RAID Array

This guide can serve as a general to do list when you receive a disk error on a NAS device protected by redundant disks, for example: RAID 1, RAID 4, RAID 5, etc. With this process, you will not have any data loss, unless you unplug the wrong disk or perform the steps indicated here not in the correct order. So, please pay attention to the instructions.

First of all it’s important to identify the correct disk to replace, and keep in mind that, for data loss risks, you do not want to run a failing disk for long. A failing disk is a disk on which, bad sectors are starting to appear, and the SMART disk troubleshooting indicates an imminent failure. Continue reading “Replace Failed Drive in RAID Array”

The case for UNIX to run your business critical applications and not Windows

After the CrowdStrike incident, I decided to remind everyone that Windows has no business running business critical applications. In this article I will cover why it’s not a good idea and why it’s a great idea to have UNIX/Linux derivatives to run business critical applications.

First let’s describe how Windows evolved into the operating system of today and why it cannot change its core architecture to accomodate business critical applications die to the lack of of what I call foundational security. Continue reading “The case for UNIX to run your business critical applications and not Windows”

Run Minecraft (Spigot) and Geyser server in Containers

Did you ever wanted to run a Minecraft server, but after looking at the instructions, tried different ways, at in the end, gave up? Or you just want a quick and easy way to run a Minecraft server? Well this article is for you.

I am going to show you how to quickly get a integrated Minecraft server, bedrock and Java into a single configuration executed in docker containers.

In order to accomplish this, we need to run two products, a spigot server and a geyser server, a spigot is a high performance Java Minecraft server, and a geyser server is a gateway for bedrock clients to use a Java server. Continue reading “Run Minecraft (Spigot) and Geyser server in Containers”

SSH Public/Private Keys Explained

I decided to write this post mainly because during my career, I’ve experienced many people not understanding private/public keys, the different uses, when and when not to use them.

This article is going to cover public/private key pairs to use only with SSH, but there are many uses for public/private key pair, however, they are beyond the scope of this article.

In the most simpler terms, a private/public key pair can be considered like a door lock and a key, the door lock can be compared to the public key, and the key to the provate key. Everyone can see the door lock, but only the key can open it, you need both to be able to unlock the door.

Continue reading “SSH Public/Private Keys Explained”

Relocate Docker Data Root Directory

Lately I had a need to move the Docker root directory to a different filesystem. After researching the item and saw that the documentation out there was limited and not very clear, I decided to write the necessary steps here.

By default, on most systems, the docker root directory is located in the directory /var/lib/docker, this directory is used to store thigs like images, volumes, and other different docker runtime items. In order to move this directory to a different location, let’s say /opt/docker-root, there are few steps required, more specifically:

Continue reading “Relocate Docker Data Root Directory”