An Introduction to Linux part 1

Guest article by Leonid Bloch of The Alternative

9 August 2017


The topic of Linux and open source software is extremely broad, and I cannot give a good introduction without interacting personally with the reader. So the only way I can approach it in the current article is to touch a variety of topics very lightly, from the most general to the more specific ones, and just share my personal experience regarding how to continue by yourself. When you take your first dive into this world, it can be very disorientating. Not necessarily difficult, technically speaking, but disorientating. So I guess that some guidelines can help, and this is the purpose here; to provide guidelines. I’ll summarize in one phrase: do not despair, but if you do despair, do not continue. I hope that by the time you’ve read this piece, you’ll understand what I mean by this.

Before diving any deeper, let's first define what Linux is to get the terminology right. Linux is a kernel. The kernel, simply put, is the piece of software that tells your computer hardware what to do, essentially linking between the user's input and output (what you type on the keyboard, what you see on the screen, etc.). Every computer operating system has a kernel. It has to, by definition. Windows and MacOS ship the “whole package”, i.e. they don’t separate their kernel from the graphical environment, from the internet browser, music players, and so on. Linux, on the other hand, is just the kernel, not the thing you “see” when you turn on your laptop. But what can be done with it? Well, many people put different graphical environments, different tools, different image viewing programs, and internet browsers on top of it. They distribute these “all included” packages as “distributions”, which look and feel completely different from each other, even if they run the same exact version of Linux. In many cases, these distributions have distinct uses and target audiences. You may have heard of Ubuntu, Fedora, or Red Hat. These all are distributions, and one is free to choose any of them if they want to use Linux. Moreover, one can make the same distribution look entirely different by installing a different graphical environment; a different “desktop”. And I mean entirely different. Not just “theming” the desktop, but getting a brand new one, without switching the operating system itself.

Now that we’ve got past the part that Linux is completely separate from the graphical environment which you see when you use your computer, let's see why would you want to use Linux. The good news is that you’re already using Linux. The Android operating system, which, chances are, is installed on your phone, runs on the Linux kernel. (If you have an iPhone, you’re actually using a derivative of FreeBSD - another Unix-like operating system. Yes, Linux may be the biggest kid on the block, but not the only one.) The majority of web servers, Google, Facebook, the overwhelming majority of supercomputers which we all rely on to predict the weather and to handle our finances, they all run Linux, and you use them every single day. Why do they run Linux? They run it because they want flexibility, full control over the software, optimizations to the hardware, stability, security, and the ability to customize the operating system to their needs. Why would you want to use Linux personally? For the exact same reasons! Let's save you some time: if you are OK with using your computer as its vendor intended you to use it, if you’re OK with things that “just work”, and are not interested to explore in this area, if you’re fine with your tool (the computer) being under the control of the company which sold it to you as long as it does what you want, do not read any further. Your experience with Linux will not be pleasant, and will be a waste of your time. Similarly, if you want to try Linux just because you study IT and want experience with it, without genuine interest in exploring this world, you probably shouldn’t install Linux. There are plenty of developers who work solely on Windows or Mac, and there’s a huge number of jobs in developing Windows applications. Quoting the 35th president of the United States, John F. Kennedy, in his famous 1962 speech: “we choose to do things not because they are easy, but because they are hard”. In my opinion, this kind of spirit of adventurous exploration is what you need if you want to enjoy your Linux experience.

The reward for this hardship, however, is great: when you’re using Linux on your personal computer, and you do it for the reasons mentioned above, it forces you to learn, and it forces you to become a member of a vibrant and very knowledgeable community, with its own internal jokes and code of conduct; a very fun community to be part of. It can be a life changer. Take me for example: my formal education is in physics and materials science, but because I chose to install and use Linux over a decade ago, I learned a huge number of things, and my entire following career, a career I enjoy very much, is entirely defined by this choice, the choice to install, use, and not to give up when things don't work out, but rather to keep exploring.

Technicalities

I guess now it's time for some technicalities. Which distribution to choose? How to install? On which hardware? While there is obviously not enough space here to describe all the possibilities, I'll give some general guidelines, which should be enough to get you on the right path. For any details and questions, you can ask Google for help. I highly suggest not to stop at the first answer that Google gives you, Even if this answer seems to solve your problem! The first answer may not be the best one. Frequently, I find that the 3rd or even 4th suggestion for a solution is better, more efficient, and more elegant than the highest ranking one. That’s how you learn. This also goes for stackoverflow.com, and all the web resources in general.

So let’s begin. If you are new to Linux, I’d highly recommend installing Ubuntu. When the initial version of Ubuntu came out, in 2004, Linux was hard to install. Hard and frustrating. Ubuntu made it its goal to change that; to make Linux usable for “regular” humans. Now times have changed, and almost all distributions are easy to install. Despite that, Ubuntu is still, in my opinion, the distribution which makes the installation the most problem-free and straight forward. It is a novice-friendly distribution, but do not think less of it because of that - power users can tweak it as they wish by touching some under-the-hood features. Besides, Ubuntu is probably the most community-supported Linux distribution, which means that you will easily find help online for any issue or question you'll encounter. What about other distributions? There are hundreds of them (to get a partial overlook, you can visit distrowatch.com) and each one usually has its own purpose. If you’re managing a server at work which runs the commercial Red Hat Linux, you’d probably want to install Fedora on your desktop to be familiar with your environment at work. If you want to enjoy the very latest software, and familiarize yourself with Linux fundamentals, you may want to run Arch Linux. If you have an old PC sitting at home and you would like to make a media server or a file server out of it, there are distributions specifically for that. However, as your introduction into the Linux world, Ubuntu is definitely the one to go for. You can of course do some distro-hopping (switching different distributions frequently) just for fun.

What is the recommended hardware to run Linux?Linux can be installed on almost anything from wrist watches to refrigerators (seriously!). Typically, however, the best choice are business oriented laptops and desktops like the business range of HP and Dell, for example. They use standardized hardware, and the devices are sometimes even tested for compatibility with Linux. Gaming or multimedia oriented machines tend to ship with more proprietary, non-standard hardware, and thus some problems with hardware support may arise. However, these problems are now much less acute than a few years ago, and are typically solved by the community relatively swiftly. So, if you have a 2-3 years old machine, it's safe to say that it will work. Nevertheless, if you intend to buy a new PC and install Linux on it, definitely go for a business model. Also, I highly recommend buying a PC without a pre-installed copy of Windows on it. This is just wasted money (a.k.a. Microsoft tax) if you do not intend to use Windows. Instead, you could donate this money to your favorite open source project (and you probably will have one if you don’t have one right now). Or just go out for a weekend. Either way, it’s better than throwing it away on something that you don’t intend to use, essentially “donating” it to a multi-billion dollar corporation. Instead, you can check out machines which are sold with Linux pre-installed, like some Dell laptops, or without an operating system at all (sometimes this option is called “Free-DOS”). These are harder to find than just any laptop you see in a store, but it’s worth it: you’ll be both avoiding an involuntary “donation” and getting a device which will likely run Linux “by design”.

An installation can be made in 3 ways: with Linux as the only OS, alongside Windows (dual boot), or in a virtual machine which enables to run Linux from within Windows, or from within another Linux operating system. Each way has its own benefits, but I recommend installing Linux as the only OS on your computer. It will allow for a more immersive experience, and you will find yourself using it more often, therefore getting used to it more quickly. One choice would be to install on an old laptop which you don't need every day, but if you are thinking about buying a new PC, I recommend installing Linux on it, while picking the old one up if you still need Windows or MacOS for any reason.

Here comes the “do not despair” part. In the beginning, you will think that you miss some features or programs that you had on Windows or Mac, but trust me: in over a decade of intensive usage, I found only 2 things which can’t be done on Linux: gaming (although more and more games are becoming Linux compatible now) and professional graphic design (and by “professional”, I mean not designing a webpage or retouching a photo, but working on publication of high-profile fashion magazines and the like). If you are engaged in these areas, simply don’t install Linux on your main working (or gaming) machine. That's it. Other than that, when it comes to scientific calculations, document creation, media consumption, 3D rendering, or professional video editing, all these and much more can be done on Linux, often much more more easily and efficiently than on other platforms, after you learn how. You just need to trust me at this point, and believe that it can be done! Do not give up, search hard, and you will find a way to do it. You just need to take this leap of faith, and insist on finding a solution, instead of quitting and returning to your familiar tools. You will benefit from that. Just remember that Linux is used for some of the most professional and critical tasks, and one of the reasons for that, as I mentioned before, is flexibility. With comprehensive control over the system, there is little that can’t be done. There is a video somewhere on YouTube of a guy who does professional video editing, who decided to create a video using tools which are available on Linux. This video looks horrible, with washed-out color, and sound problems. He blames the tools for that. But in reality there are Oscar-winning professional video editing tools for Linux, there are fully featured 3D rendering, modeling, and animation solutions, and extremely professional tools in many other areas. They are just not easy to use. But once you learn how to use them, this knowledge is yours, and no one can take it from you. You become free to produce highly sought after products on a platform under your own control! Think of the power in that!

See the second part of this article next week in a week for details on how to install Linux.