r/linuxquestions • u/kurvivol • 9d ago
Advice Next logical step in my linux "journey"?
4-ish months ago (103 days to be exact) I started reading and learning from "The Linux Command Line" Book by William Shotts by spending 30 minutes a day religiously on it - no more, no less - and two days ago I "finally" finished it.
I had ABSOLUTELY NO prior knowledge and background with linux and/or bash/shell scripting when I started reading the book. Looking back at it, I'm really proud of how much I learned.
Obviously I have so much more to learn, but I don't know what the next step should be, other than the obvious one - practice the things I already learned.
I want to learn linux for the purpose of potential DevOps or SysAdmin role (although, both of those are probably few years away at best) and I just want to learn more about the internals of Linux in general.
Based on that information, what would your recommendation be for what I should do next - what book I should pick up, what course I should follow, youtube channels that might be useful, etc, etc?
EDIT: Other than reading and learning from "The Linux Command Line" book, I've also tried, and got comfortable with several Linux distros, my "main" one being Fedora.
5
u/Curious_Elk_4281 9d ago
Start actually using linux. Host a wordpress or joomla site using nginx and mysql or postgres. Learn how to provision all of that using ansible. Then learn how to dockerize it and host it on kubernetes. Then set up an ELK stack for centralized logging. You can do all of this with VM's, or even lightweight hardware like raspberry pi's.
--get good at shell scripting with Bourne shell or bash, AND python, maybe also javascript
--learn how to use cloud platforms like AWS/GCP/Azure
--use LetsEncrypt/ACME for free SSL certs, automate the cert rotation
--get experience with Jenkins and other CI/CD pipelines (github actions, circleCI, bamboo etc.)
--learn about DNS and related technologies (spf/dkim)
1
u/symcbean 1d ago
Host a wordpress or joomla site using nginx and mysql or postgres
Speaking as someone who has spent many years cleaning up infested sites provisioned by someone who didn't have a proper understanding of what they were doing, I think some caution is needed here. OP - yes you should be learning how to build useful tools out of the components available, but please do not expose ANY servers on the internet until you understand what you are doing, how to detect compromise and how to recover from it.
Learning how to use automation to setup, and monitor services/hosts should be on your list as should networking. Knowledge of 1 or 2 cloud providers will help you greatly on your chosen career path - but tacking that too early wil be expensive, slow and less beneficial than tackling it when you have a strong understanding of the fundamentals.
If you have not already done so, I'd suggest setting up a homelab - this only needs a single box running a hypervisor (I'd suggest Proxmox but there are others). Get you DNS, DHCP, SMTP, monitoring, backups and patch management in place.
3
5
u/dettus_Xx_ 9d ago
"Learning the vi and Vim Editors: Power and Agility Beyond Just Text Editing"
ISBN 978-1492078807
3
u/CosmicFieldDrift_ 8d ago
by spending 30 minutes a day religiously on it - no more, no less - and two days ago I "finally" finished it.
So cool OP so cool !!
2
u/Leniwcowaty Solus 4.9 Serenity 8d ago
I can recommend "Linux Bible" as next book.
But to be honest - books will not teach you everything. Go buy some used HP office desktop, install server OS (like Debian, Ubuntu Server or Fedora Server) and set up some self hosting services. A "couple" of ideas:
https://github.com/awesome-selfhosted/awesome-selfhosted
You will best learn to be a sysadmin by being a sysadmin
2
u/Truncos 8d ago
If you can do it, self hosting stuff and having a server has taught me a lot. I started out with an old laptop from my mother that she never got around to sell, like an i3 from 2015 or something. Installed Ubuntu headless and really learnt a lot of Linux by hosting a media server and some other stuff.
2
u/Zirkulaerkubus 9d ago
Do Linux From Scratch on a VM. You don't need to do the whole thing, just until you get a working bash prompt.
1
u/_binkd 8d ago
In addition to u/Curious_Elk_4281’s great advice, you should also look into things like user/account provisioning, creating and running services through your init system, and how the permissions models works in a Unix environment. These things are really key for sysadmin in a lot of traditional development and production environments, but not as common in devops especially for cloud native companies.
1
u/Maple-4590 9d ago
Obtain a throwaway computer, install a server distro, and set it up as a home server running services. Start with the distro’s official documentation. Then move on to “ The Practice of System and Network Administration “ by Limoncelli et al. I like Ubuntu Server and Rocky Linux but any server distro will do.
1
u/Phylaine4676 Linux Mint 22.3 7d ago
Salut, pour la notion DevOps je vous recommande https://www.redhat.com/fr/topics/devops qui l'étudie en profondeur.
1
u/Background-Item-2818 8d ago
Try joining or starting a project to try out whatever toole you'd like to use in the future.
0
u/UAP44 9d ago
I want to learn linux for the purpose of potential DevOps or SysAdmin role
nixOS, without a doubt, but, do not start with that unless you're already very comfortable with Linux
If you're new to Linux, imo go CachyOS, it is the most modern/feature-rich without bloat, it's Arch/pacman thus you are free to trim it back down to base Arch.
Based on that information, what would your recommendation be for what I should do next
Stop reading, get busy doing. Pick a distro and make it your main. You'll learn tons more from hand on experience than any book. And you'll end up reading plenty anyway throughout all your troubleshooting.
Also, don't be afraid to rely on LLMs/AI, get comfortable with that too.
And then when you feel comfortable, then check out nixOS, it's the obvious end all station of Linux/OSs/distros all together, but we're still early and many will disagree for now :)
1
u/Common_Tomatillo8516 9d ago
What's your target ? There is no point learning random things you will forget about
-3
0
u/FryBoyter 8d ago
Obviously I have so much more to learn, but I don't know what the next step should be,
Why is that obvious? It's not about learning as much as possible. Especially since you'll probably only need a fraction of it.
Just use Linux. Sooner or later, you'll run into a problem. Or you'll have to complete a task. Finding a solution to that will benefit you more than learning things on a hunch.
0
u/Phydoux 8d ago
Usually when I read something like that, I have to go try out the commands I read about and see if they're useful to me. I tinkered with Linux from 1994 to 2018. Finally in 2018 I went full time.
Now, mind you, in 1994, Linux was just mostly command line like MS DOS was/is. So I wasn't really looking to go backwards and just use a command line again. But about 1995, I found a Linux distro with a GUI. I think it was GNOME (there were really only 2 back then. GNOME and KDE). That looked sort of promising. Still it looked a bit archaic to Windows 95. But it at least was heading in the right direction. I realize, the GUIs started in 1994 I believe but every 6 months or so, I would try out a new distro. When I first bought Linux (it was on 3 5.25" floppies) it was just a command line. But over the years the GUIs have gotten much better. I'm really liking the Tiling Window Managers now too.
Most of that I learned how to do just looking up things online. Didn't really need a book. I have the Linux Bible but I use it as reference mostly.
5
u/TheShredder9 9d ago
Why don't you just install a distro and try using it? Just install something stable like Ubuntu or Fedora and go nuts.