Hello Peeps!
Itโs been a great week of learning โ and more importantly, using what Iโve learned. Like I said earlier, Iโve been feeding my brain a ton lately, and it finally feels like Iโm flexing those muscles the right way. These mini projects have been a game-changer in making things concrete in my head.
So, I started working on putting my so-called Linux mastery to useโฆ
Let me correct myself โ I thought I had mastery. ๐
But the moment I started building something real, I realized:
โOof, Iโve got work to do.โ
And honestly, I needed that reality check. These projects are what give me the right to say,
โYeah, I know a few things about Linux.โ
Iโm not a master yet โ keyword: yet โ but Iโll get there. Slowly. Surely.
I made myself a promise, and Iโm keeping it.
(Sorry for the motivational rant โ just hyping myself up here ๐)
๐ ๏ธ Project 1: Auto-Provision Me (Shell Scripting)
I started working on a shell scripting project I call Auto-Provision Me, where I built a Bash script to set up a DevOps-ready Linux environment from scratch โ safely and repeatably.
๐ง Features:
- โ
Package Management (
apt install
,remove
,purge
,autoremove
) - ๐ Firewall Setup using
ufw
with SSH-only default rules - ๐ค User & Group Creation with validation
- ๐ฆ Restrict Tools to Groups (e.g. podman โ devops)
- ๐งช Dry Run Mode for safe testing before execution
- ๐ Logging with timestamps to
~/provisioner/install.log
- ๐ DevOps Tool Installer with interactive CLI menu
๐ Check it out:
๐ Auto-Provision Me on GitHub
๐ตโ๐ซ Challenge of the Week: Users, Groups & The Podman Mystery
One thing I wasnโt too comfortable with โ and honestly, kind of scared of โ was dealing with users and groups.
Creating users, setting up groups, assigning permissions... it all felt like a permissions mess waiting to explode. ๐งจ
But once I got over that wall of fear?
It wasnโt nearly as bad as I imagined.
Actually... I kinda enjoyed it.
Yep โ me, having fun playing system admin. ๐
It felt good to flex control and make the system obey. Like I was the boss of my own mini server universe.
๐ป Then came the Podman Ghost Huntโฆ
So Iโm cruising along, feeling good. I write a clean, reusable function to install packages using apt
.
First test? Letโs try installing Podman.
๐ฅ Boom. Right in my face.
E: Package 'podman' has no installation candidate
Wait, what!? ๐ณ
โWhat do you mean you donโt have Podman? This is Ubuntu 24.04!โ
Naturally, I dove headfirst into the rabbit hole ๐ณ๏ธ๐.
I discovered:
- The package likely wasnโt present in the systemโs default APT registry
- I needed to add an external registry manually
- Learned all about GPG key authentication ๐ก๏ธ
- Understood how Linux verifies trust using signed packages
- Even found where those keys live (
/etc/apt/keyrings
) ๐
At this point, I was geeked out, ready to go full wizard ๐งโโ๏ธ.
I told myself:
โLet me just try one last time...
sudo apt install -y podman
โ
And guess what?
๐ IT. JUST. WORKED.
No fix. No registry. No GPG key.
Just installed.
I was like:
โBro... the universe just trolled me.โ ๐ญ
At that moment, I swear all the stars aligned.
Shouldโve bought a lottery ticket. ๐
I still donโt know what changed. Maybe the cache updated. Maybe the package gods blessed me.
But I donโt care โ because that deep dive taught me a TON.
Sometimes, the bug disappears, but the lessons stay.
๐ Project 2: Monitor Health
Next up was a fun one โ building a Bash-based system health monitor. This script gives me insights into how my system is doing and can even run on a schedule using cron.
๐งฐ Features:
- ๐ Full System Health Checks (Disk, Memory, CPU, Users, Services)
- ๐จ Alerting when thresholds are breached (Disk > 80%, Memory < 20%, CPU Overload)
- ๐ Summary Report
- ๐ Cron-based Daemon Mode
- ๐งน Log Management with Timestamped Logging
- ๐ Built-in Help Menu
- ๐ชต Clean Logging Format with
[INFO]
and[ERROR]
tags
๐ Check it out:
๐ Monitor Health on GitHub
๐ญ Final Thoughts
With these two mini projects in the bag, Iโm feeling so much more confident than I did last week.
Projects like this give me perspective โ itโs one thing to learn theory, but implementing it teaches you 10x more.
That doesnโt mean we skip the theory โ without it, I wouldnโt know where to start or what to build. But this has been a solid exercise in turning theory into real-world execution.
If youโve done similar projects (or are working on something cool), share them with me! Iโd love to check them out, learn from them, and stay motivated.
๐ง Whatโs Next? Time to GIT Going!
Next up, itโs time to GIT going โ literally. ๐
Iโve used Git before, but now I want to dive deeper into the fundamentals and advanced usage โ rebasing, hooks, cherry-picking, all that fun stuff.
Because letโs be honest, when you think you know Git...
Git hits back. ๐
But Iโm here for it.
Thanks for tagging along, and if you checked out the projects โ thank you.
If you left a โญ or dropped a comment โ you're the real MVP.
Stay sharp. Stay curious.
And remember โ even when the package โhas no installation candidateโ...
๐ Youโve got this.
Top comments (1)
Projects are great โจ๏ธ Also it's great that you put this as series, looks good and easy to navigate.
Keep up the good work. Looking forward to more Projects and resources ๐ฅ๐