Plot twist: Ubuntu isn’t the only Linux operating system. Like a Netflix film that is buffering, KodeKloud’s user interface is also trying my patience.
I received a sobering reminder during the second week of the 100 Days challenge: Ubuntu isn’t the only Linux distribution. After years of DevOps lessons focused on Ubuntu, KodeKloud threw CentOS Stream at me and watched me struggle.
This week, I discovered (and broke) these things.
Why I was startled by this: Ubuntu is used in every DevOps tutorial I’ve ever completed. AWS guides? Ubuntu. Docker labs? Ubuntu. Courses on Kubernetes? Ubuntu. It was similar to showing up to a JavaScript class and being given Assembly code when you encountered CentOS.
Lesson learned: Before presuming you know what distribution you’re running, always check /etc/os-release. Despite what my Ubuntu-trained muscle memory tells me, package managers are not interchangeable.
Day 6: Cron Jobs – Easier Than Expected
Set up a cron job to echo “hello” to every 5 minutes.
Cron syntax breakdown for
- Position 1 (*/5): Every 5 minutes
- Position 2 (*): Every hour
- Position 3 (*): Every day of month
- Position 4 (*): Every month
- Position 5 (*): Every day of week
Translation: “Run this every 5 minutes until the heat death of the universe.”
Day 7: Passwordless SSH – The Magic of Public Keys
Set up passwordless SSH from jump host to all app servers. Because typing passwords repeatedly builds carpal tunnel, not character.
Required permissions
Get these wrong and SSH will silently ignore your keys like you ignored the documentation.
Day 8: Ansible Installation – Version Hell
Install Ansible. Sounds simple until they want a specific version available globally on all servers.
- Package managers tried: 2 (apt failed, dnf worked)
- Cron jobs created: 3 (one per server)
- SSH key pairs generated: 1 (4096-bit RSA)
Key Takeaways
Commands I now know by heart:
cat /etc/os-release # Always check your distro
crontab -l # List cron jobs
ssh user@host hostname # Test passwordless SSH
ansible --version # Verify Ansible installation
Mistakes that taught me:
- Always check your OS before running commands
- SSH permissions must be exactly right
- Global vs user installations matter
- Version management is not optional
What’s Next
Days 9-12 coming up:
- Ansible playbooks (finally using what I installed)
- Docker fundamentals
- Network configuration
- More troubleshooting (probably)
Full Article
This is a condensed version. For the complete writeup with more details, all the commands, and the full story of my UI struggles:
- Read the full article
Following this challenge? Drop your “wrong distro” moment in the comments. The first time you tried Ubuntu commands on CentOS, or vice versa. We’ve all been there.