So, You Want to Learn Linux

I’m a week away from taking my Linux+/LPIC-1 certification exam, so I figured I’d take the time to express my thoughts on learning Linux, or at the very least how the hell I did it. I remember one time in particular where I had to help my mom save her stuff off her hard disk when Windows was failing, and she had this confused look as I popped in a thumb drive and booted into DamnSmallLinux and began ratatatting away getting her stuff copied over. Where did I find all this? How the hell do I even know what I’m doing? Why would I want to learn all this?

You Already Know What You’re Doing

Well, first, let’s get something straight here… Most of you all are already equipped to handle Linux, and you just don’t realize it. You know how to copy, cut, paste, rename, and edit text files. If I told you to copy a file from directory A to directory B, you’d know what I meant.

“Oh, you just right click it, and click copy, then right click in the other directory and click paste!”

You already know how to use an email client (hell most of you use a web-based client so you don’t have to worry with it). You already know how to use a browser (clearly, or you wouldn’t be reading this right now). You already know how to listen to a music file, or watch a video file (of course! just double-click it, and it opens in Windows media player!). You already know how to type a document, or make a spreadsheet, or make a slideshow (MS Office! Duh!).

Well, if you know how to do all that, then you know how to use Linux.

Picking a Distro

Understanding Distros

First, allow me to explain “Linux”. Linux comes in different flavors known as “distributions”. The best way to think about that is to look at the toppings at an ice cream bar. Everyone gets vanilla, but everyone has their own idea as to what toppings make the best ice cream cone. That’s the way Linux is. It’s all still Linux at the core, but everyone’s got a different idea behind how it should work. Mostly, the differences you’ll see are:

  • where stuff is stored
  • layout of the desktop
  • installed programs
  • color scheme/theme
  • desktop background image

That’s really all you’ll be worried about between distributions (distros). And as you can clearly tell, all of that stuff can be changed anyway, so really what’s the difference? The differences don’t come into play unless you’re using Linux as a server of some kind… and at that point the differences become more like:

  • what package manager does it have
  • where are configuration files stored
  • which bootloader does it use
  • what kind of init scripts does it use

“Ummm… What the hell is all that?”

Yeah, exactly. That’s all advanced crap you’ll never use. What distro do I recommend?

Just get Ubuntu

Ubuntu. I know, that’s the “mainstream” one, but I recommend it because it’s mainstream. You’re more likely to find any problem you have on forums than with other distros. Granted, you’re not likely to have a “problem” per se… rather you might be lost as to how to do something. Trust me, someone else has already been lost, and has already found the answer, and it’s out there. For instance, Ubuntu likes to put its window controls at the top left like on a Mac. Nobody likes it, but they’ve kept it that way for some dumb reason. You can Google how to get those window controls back to the right side again. First link you click will have the answer. It’s a common question, and many wanted the answer.

You won’t get that with other distros…

If you don’t like Ubuntu, you can also use Linux Mint, which is based on Ubuntu. I’ve enjoyed Linux Mint as well. It looks and feels more like Windows.

My Favorite Distro and Why

What other distros do I recommend? Only one: Debian. You will have to work your way up to Debian from Ubuntu, as Debian is more advanced. But, once you’re at that level, you’ll come to understand why Debian is the best distro out there.

“What about Red Hat and Fedora? And SUSE? And Slackware, and CentOS, and Arch, and <insert name of other distro>”.

I choose Debian over all of those. The reason why is because Debian is a hell of a lot more stable, has a lot more community support, and has probably the biggest database of packages and programs you can get for it. There are more people plugging away at Debian than any other distro. “I thought Ubuntu was the most popular…” It is. Ubuntu is based on Debian, so trust me… When you do something in Ubuntu, you’re already doing it in Debian. All Ubuntu does is throw some extra noob layer over top to stop you from shooting yourself in the foot.

Still, I was a noob once, and I wouldn’t love Debian as much as I do today if it weren’t for Ubuntu. You don’t need to dive right in to advanced stuff… Start simple. Also, while I may pick Debian, I really think Ubuntu has the better user experience as a desktop workstation.

My Thoughts on Red Hat and Linux Support

“I hear Red Hat is really popular, and so is Fedora!”

Yeah, well, that’s because corporate America is convinced that if they can point the finger at somebody when the product goes south, then it must be a good product. Red Hat is popular with lots of companies because Red Hat provides direct support for it.

“Something broke! Quick! Call Red Hat! They’ll make everything all better!”

Because of this, companies are convinced that other distributions don’t have a proper support department.

This is ignorant and stupid.

Debian has support too, in many different forms. While Red Hat has its support line, I hate hearing how Debian doesn’t. It does, and you can hire consultants to come in and fix whatever you want. You can chat with someone live in IRC and have them tell you what to do. Or, here’s a novel idea: Google the problem. I hate to be negative here, but this is the truth: most support people are lazy. There are very few people in this world I’ve found that actually want to figure a problem out and solve it just for the sake of solving the puzzle. Pat yourself on the back if you’re the type who will solve a problem even after everyone has long lost interest in it and found a different solution. Does it drive you nuts if you never actually found the real problem and the real solution? If so, you’re awesome.

Most, if not all of your problems in Debian – or Ubuntu – don’t need a support number to call; just type your issue into Google and spend 15 seconds finding the answer.

Anyway, I’ve droned on long enough about which distro to pick, and why it’s a good distro, and what I like, and yada yada. You want to actually use it, don’t ya?

Ok, Let’s See This Damned Thing in Action!

Alright, go to Ubuntu’s website and download the latest desktop edition. It’s pretty easy to find. Make sure you get the 32-bit edition. See, here’s what we’re going to do: try before you … uh… I was going to say buy because it rhymed, but you’re not spending any money actually…

Right. Colloquialism fail.

Anyway, download the 32-bit desktop edition :)

Now download Virtualbox. What is Virtualbox? It’s a free and open source virtual machine software. You’re going to create a pretend machine, load Linux on it, and use Linux on a machine that doesn’t actually physically exist! Cool, huh?

Shut up, this is awesome.

Once virtualbox is installed, create a new machine and run through the wizard. Select Linux, and Ubuntu, and just use all the default values it gives you for it. Once the machine is created, make sure you go into the machine’s cd/dvd drive settings and set it to the Ubuntu .iso file you downloaded earlier.

Start the machine. You’ll get many choices, but there are 2 you need to be worried with: install, and run live CD. Select run live CD. Yes, you could install it, but the point of this exercise is to see it in action.

And Now Let’s Recap What You Already Know

The machine will boot into Ubuntu, and you’ll be able to click on stuff! At the top left of the screen is a main menu/start menu kinda thing. Click on it. Here are your apps! You can browse by category, or type in what you’re looking for, or see ‘em all… whatever :)

“Uhhh… what do I click on?!”

Remember earlier when I asked you if you knew how to copy, cut, paste, and edit files? When I asked you if you knew how to play music and video files? How to use a browser? How to use an email client? How to use document, spreadsheet, and slideshow software?

It’s no different here.

Open the browser. Look, it’s firefox!

You’re now connected to the internet, browsing around. Hey, we got a browser working didn’t we? You know how to use one of these… quick, check facebook, watch a youtube video, browse for porn. We’re in familiar territory here.

Ok, now let’s do office work. Open the main “start menu” thing (I don’t know what they call it) and go under the “office” category. Notice a lot of “LibreOffice” stuff in there? You got Writer for making documents (aka Microsoft Word), Calc for spreadsheets (aka Excel), and Presentation for slideshows (aka Powerpoint). There are a couple others in there too for more office stuff, but click on the Writer application.

My oh my. Doesn’t this look like MS Word? Sure, there’s a few minor differences, but it’s almost exactly like it, isn’t it?

Try opening Calc. Spreadsheet editor! It looks just like Excel!!!

You already know how to use these applications… sure there might be a few minor differences, but nothing a quick Google search can’t solve. You’ll get used to it.

You can save your “Word” files as a .doc, .docx, and as a .odb format. What’s a odb? It’s kinda like a more generic version of a word document… It can be opened by darn near any product. Stick to .doc or .docx though.

Or, if you’re not afraid of Google, you can always open up that browser of yours and use Google docs.

There is no reason to use Microsoft Office. That stuff’s too expensive, especially when Linux and Google are offering similar solutions for free.

Ok, so we can browse web sites and do office work, but what about music? I dunno, go download a .mp3 and double-click it. Hey, a music player opened. Alright, try downloading a video file, then double-click that. Hey, it’s playing!

The only real difference between what you’re used to on Windows and what you see on Linux is the aesthetic. Functionally, it’s exactly the same. Sure, some stuff’s moved around a bit, but less than 10 seconds of searching will lead you to where it is.

“What about my email client?”

Mozilla Thunderbird comes preinstalled, so if you’ve been using Thunderbird like you should have on Windows, this really isn’t that big a change. If you’re used to MS Outlook, then this might be a bit of a jump. Truth be told though, you can figure out how to use Thunderbird on Windows if you want to, and I urge you to do so.

Why Should I Abandon Mac/Windows For This?

So all in all, this switch isn’t all that big. Why should you do it?

Because Linux is:

  1. Free. Tired of Windows coming out with a new shitty version (Windows 8… shudder)? Quit wasting your money.
  2. Better designed. It’s little things here and there, but you’ll be glad you switched when certain options are easier to find, or are put in more logically-found places.
  3. Secure. Linux by its inherent design is more secure than Windows. That said, there are constant updates going on for it, and the viruses of 1 week ago could not possibly infect your system now. Try going to dangerous malware-infested websites now. You will not get a virus.
  4. Customizable and Flexible. Most people don’t really want to customize their computer. Part of the reason why is because there isn’t much room to customize anything anyway (Apple is a HUGE offender here). In Linux, you could, in theory, customize literally everything in it. Granted, you have to have the knowledge to do so, but if you did, the whole thing’s at your fingertips. I don’t expect everyone to be ready to customize their computers… but for the brave out there, you’ll be glad that the option is at least out there waiting for you. Why stick to what already is, when you can make what already is into something that could be? What I mean is, why stick with what they give to everybody when you can change it to make it yours? Any annoyance and any problem you have you can resolve yourself. This makes life a little happier. They’re all little things, but they add up. Would you rather be annoyed by 20 minor annoying things, or not be annoyed at all, feeling proud that every annoyance has been dealt with? It’s also a prideful feeling knowing that while everyone else suffers from the annoyances, you don’t have to, because you were smart/courageous enough to figure out how to remove the annoyances. Don’t settle for the product as is; change it into something better for you.

Gamers

“But what if I love video games?”

Well… that’s where Linux begins to falter a bit, but don’t count it out yet. There’s a great application called Wine that allows you to run almost any Windows program or video game quite well.

Check that site for the program you want, and you’re likely to find it.

Also, news like this means Linux gaming is on the horizon.

Linux is Great! How Can I Make a Job of It?

Ah, you want to go the route I went. I’ve already written articles here detailing how I came to a server from the humble beginnings of an Ubuntu Desktop machine, so I won’t repeat it all.

Linux in the real world means servers. Linux is pretty much the de facto standard for servers in today’s world, and don’t let Microsoft fanboys tell you any different. I’m sure your company loves its Windows Server with ASP.NET web applications and SQL Server. Meanwhile, the rest of the world looks at you and laughs. Windows Server is great for managing users in the workplace; most users are using Windows, so it stands to reason that using Windows Server to manage Windows users makes the most sense. I won’t deny that. You’re also not likely to see Linux becoming adopted as a standard desktop software in your company either. But if you think that using Windows Server to handle common services – databases, web servers, application servers, file servers, NTP, email, dns – is a good idea, you are sorely mistaken. Windows Server is a resource hog with little to no robustness, it needlessly puts power towards a GUI so that morons can manage everything instead of people who know what they’re doing, and its powershell is barely living in the shadow of bash and zshell. Also, as a web developer, I have to protest at ASP.NET and SQL Server. SQL Server isn’t cross-platform, which means you’re stuck with a Windows Server for everything, and ASP.NET is “web development for non-web-developers”. Google the world’s feeling about ASP.NET, and you’ll see what I’m talking about.

Companies that make the big bucks don’t settle for Microsoft’s crap. Linux is far more robust, and far more efficient than Windows for running services, and everyone knows it. If you’re going to learn Linux, you’d better learn how to manage a server. And if you truly want a job in Linux, then you’d better start by getting certified.

Getting Certified

First Steps

The first thing you should do is play with Linux on your own. Grab a copy and install it on a crappy old computer you’ll never use again anyway. Use some of the tutorials I’ve posted on this blog to help get you started. You can use it to play minecraft with your friends, or nethack, or get a teamspeak 3 server running (although I hope you ignore that tutorial in favor of Mumble Update: er, I mean Discord) so you can talk to your friends online. You can use it to stream your whole music collection through the internet onto your phone or mobile device/tablet. You can use it to make websites and blogs just like mine.

Play around with it all first, and move your way up to using Debian. Once you’re used to Debian, you’ll be kinda prepared for what’s coming.

Test First

Grab a bunch of test questions for the LX0-101 and LX0-102 exams. Plug through ‘em, and see how much information you can memorize.

“But now I’ve got a bunch of useless data in my head… stuff I have no experience to base it on!”

So what? Test and test and test. Memorize the information, and research anything you don’t know, because this last step is crucial…

Get the Book

Alright… You’ve played with Linux. You’ve tried to make sense of concepts outside your scope of knowledge… and now, it’s time to tie it all together. Buy (or “acquire”) this book.

Why did I tell you to play with Linux first before opening this book? Because random facts of data with no experience to back them is still the same random facts of data with no experience to back them. Would you rather you read the book, then tried to do all this yourself? You’d have driven yourself insane. At least with doing it all up front, you got to learn first hand how to make something useful before the book told you what else you could do. As you read the book, you’ll have a point of reference to go off of, having messed around in the command line quite a bit already. You’ll be able to make assications a lot easier as you read.

Why did I tell you to take the tests before reading the book? The reason for that was so you’d get an idea of what the tests are asking for. Keep them in mind as you read, so that when something sticks out that you remember from the test, you’ll be more likely to understand it or really read into it so you can nail the real exam when it comes.

You now have experience, knowledge, and you’re ready to take the exam. Good luck. Because after both exams are completed, you’ll receive not one but two linux certifications. They look mighty sexy on your resume, and they boost your incoming pay by quite a bit. Trust me, this is worth it. Linux is used in the real world all over the place, so unless you want to spend the rest of your life resetting a Windows user’s password, get with Linux and start doing stuff that’s more challenging, rewarding, and most importantly: higher paying! :D