>

The Best Way to Learn Linux


The title is a bit “misleading.” I more mean “The Fastest Way to Learn Linux.” And also while I am at it, I need to clarify “learn.” Not learn as in textbook memorize what to do or whatever but to understand linux and feel confident using it.

You have to start with Arch Linux , and you need to go through that pain of installing it yourself, no scripts.

My Experience Doing This

When I first was getting into cyber security, I was using the Kali distribution of Linux. I then heard of something called Black Arch , a distribution based off Arch Linux. In reality, it’s just Arch Linux but they slapped a extra repository for the package manager a nd gave you a desktop environment. You can basically have Arch Linux and then add the Black Arch repositories to your package manager, which is what I would recommend. My first time setting Arch was a challenge, but it forced me to understand linux better.

Way it Works

  1. Booting into live usb which takes you to a TTY

    • This teaches people that you can do everything a computer can through the terminal through example of the user litterally about to set up his whole operating system from the terminal.

    • This teaches people to get comftorable with doing things that would seem natural for us to use a GUI for in a terminal.

  2. Setting up drives and partitions

    • The person learns about different types of partition tables and he has to figure out which will work for him as older systems and newer systems need their specific partition table.

    • The person learns about different file systems and pick which suits him best.

    • He learns how to partition his drive. Does he want swap as a partition or a file? Does he even want swamp? Does he want a seperate partition for a home user?

  3. Configuring the System

    • The person learns to attach packages to his newly mounted file system. Here he has to figure out what kernel he wants.

    • He will also learn how linux figures out which storage units to use by setting up his fstab file.

    • He will have a better understanding of how his system works. He will understand where his hostname comes from, where his timezones are set, where his keymaps are set. He is no longer thinking about services and these things as “stuff in the settings menu but instead as accessable files in his system that he can easily mess with and at this point he will relize that the “settings menu” is just a piece of software that comes branded with whatever desktop environment he chooses to use that changes these file. It’s basically just a text editor app, not a glorified authoratative settings menu.

    • He has to be aware of the metal he is running. He will learn about, maybe a little, but some, about kernel modules through drivers. He will have to analyze what kind of drivers best fits his CPU’s microarchetecture. He will have to figure out wether he needs propietary or opensource especially in reference to his GPU.

The Result

When you go through this process, it gives you the confidence to, lets say, try a custom kernel, mess with kernel modules, mess with a interesting file system (BTRFS or “butter-fs”), etc.

All these questions and options force the person to make a decision and that decision requires some amount of learning. This is also more significant because this will affect his usage, so he has to care to some extend

The Caviet

Of course, you could mindlessly follow the given “default how to,” but even in this case, he will still learn a lot. In the back of his head, he will have thought about these steps. Also, from my experience, the build usually doesn’t go perfectly, ever. There’s always some thing that makes you have to “figure it out yourself.”

Zane F. Salti

Find me here


2023-06-03