I recently installed Ubuntu and have been learning the basics, including the kernel, navigating with cd and ls, and installing software with sudo apt. My long-term interests are Linux system administration, software detection, and eventually building anti-cheat technology for video games. I'm not sure what I should study next, whether these skills can lead to a job, or how useful it would be to build a home lab. Should I buy a NAS, run a few virtual machines, or work on projects with older hardware? I'd appreciate advice on choosing a practical learning path without trying to tackle everything at once.
4 Answers
For system administration, focus less on memorizing individual commands and start building things. Learn filesystems and permissions, users and groups, SSH, networking, services with systemctl, logs with journalctl, Bash scripting, and Docker. A small home lab is useful, but it can be as simple as a couple of virtual machines. Use them to intentionally break configurations and then practice fixing them. Pick one topic, build a small project, and move on once you understand it.
You don’t need to buy a NAS right away. Start with virtual machines on whatever computer you have, or repurpose an older machine if it can run them. Add hardware only when you have a specific need, such as shared storage or backups. The most valuable part of a home lab is the practice you get from configuring services, troubleshooting failures, and documenting what you learned.
Anti-cheat development is a separate and fairly advanced direction. Start with a solid programming foundation in C, C++, or Rust, along with operating-system concepts, processes, memory, networking, and security. Creating a serious anti-cheat system can take months of full-time work, so begin with small experiments rather than trying to build the complete product immediately.
If your goal is anti-cheat software for PC games, don’t limit your studies to Linux. Much of the relevant work involves Windows internals and low-level components that run with high privileges, including kernel and driver concepts. Linux is still excellent for learning programming, networking, operating systems, and administration, but you’ll eventually need to understand the platform your target games actually use.
I had assumed most operating systems were basically variations of the Linux kernel, so that distinction helps. I’ll study Windows internals as well.

I already know some C++, but Rust is new to me. I’ll look into it and keep working on smaller projects first.