SpamAssassin, MIMEDefang, and Procmail: Best Trio of 2024
This trio of applications can be combined to manage server-side email sorting in a beautiful and elegant way. They are my “Best Trio,” because resolving the problem I set out to fix—effective server-side email sorting—took three pieces of software working together. Here’s how I got everything to work using SpamAssassin, MIMEDefang, and Procmail–three common and freely available open source software packages.
Using the Alpine Linux email client to access messages from any network
Sometimes when I’m traveling, I have trouble sending email from my devices that typically connect to my ISP at home via hardwire or WiFi. This is because some ISPs do not like outbound email to leave their network unless it is routed through their own email servers. But you need to have an account with the ISP in order to send outbound email through their servers.
This intentional blocking of outbound port 25 for email is usually aimed at preventing hijacked hosts from acting as spambots and sending email over the ISP’s network.
Read about how I circumvented that problem.
Replacing rc.local in systemd Linux systems
Missing rc.local for adding commands to run on startup?
The rc.local file was—and in some cases still is—the place for Linux sysadmins to put commands that need to be run at startup. Use of the rc.local file is not only deprecated but after a couple of hours worth of attempts, was not working in any event. This despite the fact that the systemd documentation mentions the use of a “generator” that generates systemd services from an rc.local file if one exists.
Here’s how to set up similar functionality with today’s systemd.
The Art of Problem Solving
Image by: Opensource.com Although it would be nice to believe that cars, home theater systems, computers, and Linux never break, the reality is that they...
Problem solving strategies for SysAdmins
Solving complex problems is not a straightforward proposition.
I’ve participated in plenty of technical interviews with people who had passed many certification tests and who had fine resumes. I also participated in many interviews in which we were looking for Linux skills, but very few of those applicants had certifications. Very few of the Linux applicants were yet certified.
Few of the Windows certificate owners could reason their way through the scenarios we presented while a very large percentage of the Linux applicants were able to do so.
How I fixed Random Reboots on One of My Laptops
I have three laptops that I've purchased from System76 out of Denver Colorado. They design and build exceptional laptops and install Pop!_OS, their own mix...
Managing devices in Linux
There are many interesting features of the Linux directory structure. In this article I cover some fascinating aspects of the /dev directory.
Device files are also known as device special files. Device files are employed to provide the operating system and users an interface to the devices that they represent. All Linux device files are located in the /dev directory, which is an integral part of the root (/) filesystem.
Get started with Midnight Commander, a visual shell and file manager for Linux
Midnight Commander (MC) is a text-based Command Line Interface (CLI) program. It is particularly useful when a GUI is not available but can also be used as a primary file manager in a terminal session even when you are using a GUI. Midnight Commander can be used to interact with local and remote Linux computers using the CLI.
The man page for Midnight Commander calls it a visual shell because it’s capabilities are greater than the file manager we usually use it as. This article will provide you with enough information to get started using Midnight Commander as a file manager as well as its other capabilities.
The job is not done until the documentation is complete
Which came first, the program or the documentation? Therein lies the dilemma.
I don’t think I have ever heard anyone say, “This documentation is great.” Mostly I hear how badly some specific documentation sucks, and I have repeated that refrain myself many times.
Testing Linux hardware compatibility with USB sticks
Like everyone else, those of us who use Linux sometimes need to purchase a new computer. Although the days of poor hardware compatibility are long gone, it is still possible to run into issues. Try it out first with USB stick in the store.
How to build rpm packages
Over the years I have created a number of Bash scripts, some of which have separate configuration files, that I like to install on most of my new computers and virtual machines. It reached the point that it took a great deal of time to install all of these packages, so I decided to automate that process by creating an rpm package that I could copy to the target hosts and install all of these files in their proper locations.
Save time and effort installing files and scripts across multiple hosts.
Why it’s important for leaders to mentor and support others
After decades in the tech industry with invaluable mentorship, a seasoned professional is now giving back by mentoring new tech aspirants through DigitalBridge. This nonprofit offers adaptive online training for aspiring tech professionals, breaking barriers in traditional education and creating inclusive opportunities in tech. Additionally, participation in open source communities and events like All Things Open enhances this mentor’s ability to guide and inspire learners into digital careers, embodying a cycle of learning and giving back.
A minimalistic approach to debugging
Originally published in 2016, this interview with Katrina Hayes on Opensource.com details her distinct approach to coding and debugging. A self-taught programmer, Hayes emphasizes simplicity in her tools, preferring minimalist methods. She discusses overcoming challenges in legacy systems, advocating for maintainable code bases to enhance long-term IT sustainability.
Regular Expressions #4: Pulling it all together
This series delves into the practical applications of regular expressions within Linux tools such as grep, sed, and awk, demonstrating how to simplify and optimize command-line tasks. The articles guide readers from basic to more complex uses of regex, emphasizing their usefulness in data stream transformation and text manipulation across various tools and programming languages. Through hands-on examples and resource recommendations, the series aims to enhance the reader’s understanding and proficiency with regex in diverse scenarios.
Regular Expressions #3: grep — Data flow and building blocks
In Regular Expressions #1: Introduction, I covered what they are and why they’re useful. In Regular Expressions #2: An example, we looked at a more complex example of the uses of regular expressions.
In this third of four articles you’ll learn how to make tighter matches with your regexes.
Ansible #3: Finishing our Ansible playbook to manage workstation and server updates
In part two of this series on writing Ansible playbooks, “Ansible #2 How to create an Ansible Playbook,” we examined the task of installing updates for servers and workstations. This playbook is intended to manage updates differently depending on the role the systems play on the network. Last time we created the play designed to install updates on the Ansible hub. This time we add two more plays; one to install updates on the servers and another to install updates on the regular workstations.