How to Learn GNU/Linux
This post is inspired by the question posted here: Do I know better?
Since this question or a variant of it comes up fairly often, and I find myself repeating it very often, I’ve decided to put it in a separate thread, as a guide.
It is intended primarily for newbies who fancy themselves as “power users”, but find GNU/Linux unfamiliar.
Obligatory disclaimer: this is all very, very opinionated. Being convinced that I am right, I state my opinions as if they were facts, and you may easily find yourself in disagreement with me.
Unlearning windoze
Using your computer with the GNU/Linux operating system is very easy. It is something an idiot can do. GNU/Linux is a very simple operating system, and also very logical. There no concepts related to its daily use that are intrinsically difficult to grasp.
The biggest difficulty in getting to know the GNU∕Linux operating system is, in my experience, the user’s familiarity with another operating system that is fundamentally very different from GNU/Linux. In that regard, the so-called “power users” are at a disadvantage, compared to “normies” who do not know much about their computers. A windoze power user who decided to switch to GNU/Linux will find himself in a completely foreign land, and very little will make sense to him since he already has preconceived notions and expectations of how things ought to be. Also, he will be greatly frustrated when he realises that his vast knowledge about the other operating system, and skills which took years to acquire, are now utterly useless on GNU/Linux. Since everything is so different, suddenly he has no idea how to accomplish even the simplest tasks which before he took for granted.
He will be tempted to dual boot with windoze. After all, one needs windoze for gaming, right? (Wrong!) So one might as well use it for other tasks, like Photoshop – who has time to learn GIMP, anyway – and you need M$-Office, since you have to be compatible with your coworkers and friends, right? (Absolute twaddle, screw them and their defective-by-design proprietary file formats! )
He might have the best intention to switch completely to GNU/Linux, to use GIMP and LibreOffice, to play games through Wine, etc… But he is taking it slowly, it is difficult to just wipe the windoze partition clean and never look back.
Dual booting windoze is stupid and you should not be doing it.
There are at least three reasons against it:
-
It is really the slowest and the most painful way to learn GNU/Linux, it is like slowly removing a band-aid.
-
Dual-boot setups are more complicated, tend to create problems all the time. There are countless posts here on the forum of situations where a windoze update wiped out the bootloader, making Linux unbootable. It is not something you want to worry about when struggling to learn a completely different operating system.
-
It is not secure. Windoze is not only ridden with malware, it is malware. You are probably aware of that and it may be one of the main reasons why you wish to switch to GNU/Linux. Windoze makes Linux unsafe, since it can read and modify Linux partitions without the user being aware of it. Does it actually do that? I don’t know, and neither do you. But it certainly can do it, so it is up to you to decide how trustworthy M$ is…
All learning happens outside the comfort zone. Learning is a fundamentally uncomfortable process. A windoze power user will, naturally, want to avoid this discomfort, by keeping a windoze partition around as a fail-safe. When he installs a GNU/Linux distribution, he will probably be very enthusiastic about this shiny new operating system, but slowly, as he gets more and more frustrated about the new operating system not conforming to his expectations, he may find himself booting windoze more and more often – until he realises that Linux is nothing but a 50 GiB partition of wasted space, he never uses. He had good intentions, but wasn’t willing to endure the discomfort for a prolonged period, which his fail-safe dual boot setup allowed him.
A Better Way
Instead, it is much smarter to do it cold turkey. Just delete windoze, install a GNU/Linux distribution and deal with any difficulties that will arise, keeping a stiff upper lip. Make it be the only operating system you use. If you are getting a new computer, do some research about hardware compatibility (avoid NoVidea graphics). When you encounter a difficulty, don’t look for shortcuts, do it as you would if no other operating system existed. When you need to edit a photo to make a dank meme, you will not be tempted to boot up windoze where you have your Photocrap, because you will have already deleted that partition. Instead, you’ll do it in GIMP, shaking your fist and swearing at how “unintuitive” its UI is. For the first few months (maybe up to a year), it will feel hopelessly awful, but take solace in the fact that this is just a transitional period you have to endure. It is not easy to suddenly become a complete newbie, with people who may be your intellectual inferiors suddenly being more knowledgeable than you. But if they could become comfortable with this operating system, by golly, so can you!
On the other hand, a grandma learning Linux is quite an uneventful process. She has no expectations of it, she is blissfully unaware of how things are different on that other operating system. She finds it very easy to launch a web browser and find a recipe to the new and improved prune juice, and to write a letter in LibreOffice to her knitting club. She knows that Linux is easy, and does not make a fuss about it.
Be smart like grandma. Use your system daily, do not worry about breaking things, fixing them will be a great learning experience. Do not bother with system snapshots or try to make your system unbreakable. But do keep a backup of all important files, preferably on multiple external drives (hardware fails all the time, this is not a matter of Linux vs. windoze). And please, do not reinstall your GNU/Linux distribution every time you encounter a problem – doing that will only make you good at one thing: installing Linux. Ideally, if you are using a rolling release distribution like EndeavourOS, you should do that once per computer and not look back.
If you are curious, you can do some distro-hopping, but since you are reading this on the EndeavourOS forum, you’re probably home already.
Necessary Skills
If you are like grandma, you will need to know how to do the things you want to do, and nothing more. You do not need a deep understanding of how your operating system works. In that case, using a GNU/Linux distribution like Linux Mint will make your life easy. Linux Mint has the internal machinery of the operating system abstracted away from the end user by a layer of GUI utilities.
However, if you are a tinkerer, a curious newbie wanting to grow a legendary UNIX beard, you will be better off with a simpler system which lacks such abstractions. Here “simple” does not mean “easy to use”, but “lacking complexity in its parts”. EndeavourOS is perfect for that, because it is basically, Arch Linux. All of the benefits of Arch apply here, too: it is a fairly simple operating system, the great documentation for it is provided in the form of the Arch Wiki, and you have access to one of the largest user software repositories in existence: the AUR. In addition, you can get EndeavourOS up and running quickly and effortlessly, thanks to its ISO live image with Calamares installer, and it also has the best support forum on the web.
Be prepared to do a lot of reading, especially the Arch Wiki, but also the manpages that come installed on the operating system. They are a great source of information and will greatly help alleviate your newbie frustrations.
Try to get comfortable with the shell. A shell is a program that runs in a terminal emulator and lets you type commands to your computer. The two most popular ones are Bash and Zsh (don’t bother with fish). This command line interface (CLI) is the most efficient way for humans to communicate their intentions to the computer. If you want to master Linux, you should be very comfortable with it. And how to get comfortable with it? Like with any other thing, just use it daily. If you are using Arch or EndeavourOS, you should, at the very least, use the shell for all package management (installing, upgrading and removal of software). Don’t bother with GUI package managers like Pamac, they are utter rubbish. If you are comfortable with the shell, you find it much easier to do troubleshooting and you will not dread having to chroot
when your GRUB breaks.
If you are so inclined, do try to get your feet wet with some shell programming (“scripting”), too. If you are already knowledgeable about programming, you should find it fairly easy (though very frustrating at first, of course!). Reading a book about it could be helpful, but unless you actually do it, purely theoretical knowledge you get from a book will not stick.
Unless you intend to quickly land a job as a Linux sysadmin, I don’t think you should bother learning about the components of the operating system, like soystemd. Eventually, you will learn all of that, out of necessity, but I would not do it sooner than the need arises.
Do not rely on YouTube videos and various “tech” websites about Linux. While it may seem like good source of information, a lot of these Tubers are utterly incompetent idiots who often give seemingly good, but actually disastrous advice to newbies. They are in it for the clout, not to help you. While there are a few good ones, as a newbie you have no way of telling them apart, so better avoid it all.
Instead, a good way to learn is to read this forum, especially if you have a question to ask, but also if you don’t – a wise person learns from his own mistakes, but a wiser one learns from the mistakes of others. Read what problems others are experiencing, help them if you know the answer, but if you don’t, wait until someone solves their problem and observe the solution. Even better, try to find out what was the general method for solving such a problem. Soon, you’ll discover how useful system logs can be, how permissions work, how package management works, what is a partial update, what are mirrors, etc, etc… There is so much foreign terminology here, but you don’t have to have a systematic approach to learning all of it – if you are at all interested in it, you’ll eventually absorb it. And if you are not, don’t waste your time, there is nothing wrong in being just be like grandma and enjoying using your computer.
Remember, it takes time. Don’t be frustrated at the fact you cannot do it overnight. It actually takes much less time than you probably think.
And remember to stay hydrated, by drinking at least eight glasses of water every day.