Saturday, June 16, 2012

So, you want to learn Linux?

Recently, I have happily been surrounded by some folks with little (or no) experience with Linux who are now eager to learn more about both Linux and Open Source.

I have occasionally caught myself talking to them like a Grandpa talking to his grandkids about walking to the snow. Why? When I first loaded Linux things were very different. Sure, it was a lot easier when I started (about 11-12 years ago) than in the really early days of distributions like SLS. My first distro was Red Hat 7 (the *original* Red Hat before the Fedora Project). Even though some things were less magically auto-configuring as they are now, it was still pretty easy to install and use for someone who was already a Windows and Macintosh 'power-user'. It wasn't until I got 'bored' with Red Hat/Fedora and moved on to Slackware did I really learn about Linux.

I used Slackware exclusively for several years before moving on Ubuntu (and eventually, most recently back to Fedora/Red Hat). I initially moved on from Slackware because I was at the point where I truly understood the system, and just wanted something that was more magically auto-configuring, with a more robust package manager, and with more pre-built packages in the repositories (with proper dependency resolution). I'm glad I had that experience with Slackware though...because...without it, I don't think I would have ever really understood how a Linux distribution works the way I now do.

Really (I feel kinda 'old' saying this) folks who only started with a distro like Ubuntu, Mint, Fedora or openSUSE, that just works with a few mouse-clicks after booting from a LiveCD/USB just don't get exposed to the underpinnings of the system in the same way. Sure, you can go seek out the innards, but how many really do? Even if you want to learn, it's just harder to do (or it seems that way to me).

The funny thing is, now, I look at distros like Slackware and Arch and think of them as 'simple'. Why? Because there is no magic happening anywhere. You can easily see where everything is and what it does. They really aren't hard even though they are thought of as hard distros. Sure they are less automatic, but I wouldn't call that hard. My truck is a straight-drive...I don't find it hard, just less automatic. Same difference, really.

My advice to someone wanting to use Linux? Download one of the top-5 distros, load it up and compute away. Simple as that. My advice to someone wanting to learn Linux?

  • Use it. Don't dual-boot. MAKE it do what you need it to do. Don't give up.
  • Install a hard (ahem...less automatic) distro. Slackware, Arch, Debian, even Gentoo (if you have the patience for emerges).
  • Make that hard distro work. MAKE it do what you need it to. Don't give up.
  • Either stick with the hard distro, or move back to an easy distro.
  • Break stuff, then FIX it.
  • Ask for help. Join Mailing-lists, IRC channels and Internet Forums. You'll meet some cool people..and some jerks...just like 'real-life'. Learn from the cool people and ignore the jerks (unless they have good info).
  • TEACH back to others what you learn.
  • Become a part of the Open Source community.
  • Learn the difference between Open Source, Free Software and 'Freeware'. 
  • Use what distro/desktop environment/text editor/insert some other app here that makes you happy; Not what makes some anonymous internet person happy.
  • Argue with those anonymous internet people about what you think is best.
  • Change your mind. Try different things. You would've never known you liked Chocolate Ice Cream if you never tried it.

...and most importantly...

Have Fun!

Regardless of whether I'm using a computer for pleasure, learning or for work, I'm always having fun. That's how I know I'm in the right career. I love computers...I'm fascinated by them. I like teaching them new things, and I like them to teach me new things. 


  1. Such a great post! Gave up paying MS tax after Vista debacle. Currently run 40+ distros as VMs. Some BSD, and Solaris as well.Own and operate It ain't much but it's mine.

  2. I love Linux but I also lack the patience to 'learn' all about it. I use Ubuntu, Lubuntu and Mint KDE. Something happened to my Mint install and I fixed it as I also do things via the terminal but that's the beauty of Linux. There is a distro for every user. One of the cool things about Ubuntu is that it is so simple and automated. I like Fedora as well. I had a similar conversation with a experienced Linux user who hated Ubuntu and the more automated Linux distros. He felt they were too easy. The height of sophistication is simplicity was my reply.

    I don't feel I should know all about how my car works to drive it nor should I need a IT degree to use Linux. Those who want to learn all about Linux should. I want to be able to use my computer to do work not to have to spend hours to get it to work.

  3. @ Confused by Linux I think Jayson pointed it out pretty clearly "... My advice to someone wanting to *use* Linux? Download one of the top-5 distros, load it up and compute away.. "
    He did not insinuate that you need to "Learn how your car works, to use it" but that if you want to learn linux, you have to get you hands dirty with the configurations, you have to ask for help and you should help others, that is how you *learn* Linux

  4. I recommend revising this post regarding Debian.

    Debian's installer asks a few more questions than Ubuntu, say, but at least since Debian the install has been something that novice users can do by clicking the next button a bunch of times.

    The only area where I think Debian has some difficulty over things like Ubuntu and Mint is installing codecs and some hardware drivers. It's not hard by any means, it's just not automatic/done for you. Unfortunately, this hasn't stopped bloggers and other tech writers who may not be familiar with Debian from saying it's "advanced" or "user unfriendly."

    (P.S. I think that because Debian ships upstream versions of all its software, more or less, it is much easier to use than, say, Mint. I trust the expects at GNOME to make a better user experience than the Mint developers.)

  5. I agree - I don't think Debian is hard...neither is Slackware or Arch - as I said in the post - just less automatic. You will learn more setting up a Debian system just the way you want it than you will simply installing a LiveCD and running along.

  6. Thanks for the motivating and clear beginner tasklist at the end of the article. For about 2 years now I've been using Ubuntu and for this summer I was planning on configuring a Fedora desktop. After reading this I might as well give any of the 'harder' distros a go.

  7. Isnt RHEL also a lot of config but comes with an auto config on the side? Wouldn't it be a good idea to just stick to redhat? I like Slackware but the creator Patrick is a 1 man show and I don't think its being too focused on. Maybe its just that Slackware is more BSD like that you prefer over the Sys V type linux for learning? I definitely would like to learn the inner workings of Linux better but I just don't understand why that can't be done on Redhat terminal?

  8. thanks a lot, you really point out the way !

  9. Hi Jayson, just have to say, you've made an excellent post. I've been a Slacker since late 1993, and I've played with every major distro out there, and always relaxed and breathed right once I go back to Slackware. The one point I wish people understood better was what you drove home - that with Slackware, you live the operating system. It's like learning a foreign language by Rosetta Stone or community college vs. living in the culture. And you're dead on about you're approach to learning the OS by using it full time. Regardless of OS, this is excellent advice. Just persisting is a triumph some days.

  10. Awesome, I've wanted to start with linux for ages! However, I only have a MacBook Air (2011) and none of the distributions I've seen like that D: as a student I can't really afford a desktop pc. Is there anything you can recommend?