DEV Community

Blake Cooley
Blake Cooley

Posted on • Updated on

Installing Linux or How I Stopped Worrying and Learned to Love the Penguin

Why I made the jump:

Windows is great for a lot of things but using it as your development environment, not so much. Sure, Microsoft has made some advancements recently that makes things easier: virtual desktop support on Windows 10, Windows Subsystem for Linux, and the oh so wonderful VSCode, but it's not without it's headaches even still.

One of the problems is you actually need Windows 10 to get the aforementioned features and if you were like me with a absolutel fossil of a laptop still running Windows 7 you're left with the nightmare of actually installing it. I still have PTSD over loosing an entire day's worth of course work due to downloading 40 gigs worth of OS. Who knows many hours of sleep I've lost to waking up in a cold sweat, the memory of that sky blue screen mocking me with it's slowly creeping percentage while my colleagues coded away.

windows10install
THE HORROR

Afterwards my experience with coding on Windows was still a bumpy ride- often times things never worked out of the box and needed some asinine work-around I'd spend way too long googling, and I was assured by many that it wouldn't get any better. So I decided to make the jump into the scary new world of an unfamiliar OS.

How to actually get it installed:

The first step you have to make is picking your distribution or distro. Linux just isn't one Linux, as an open-source OS there's a variety of versions that all have a different focus. Fancy yourself an ethical hacker who wants to find security holes to fix then give Kali a try. Maybe you want to fully embrace that open-source life and grab Fedora. Me? I just wanted to code with minimal headache and switch to a new OS with little learning curve- so I settled on Mint: a lightweight distro that comes preloaded with a Windows-esque GUI.

linuxdistros
Seriously, there's a lot of 'em

From there, you actually got to install the sucker- thankfully Mint has some easy to follow documentation that lays out the process. You'll need some sort of boot medium- a usb drive preferably, but burning the ISO on a disk will also work. Next you'll slap your boot medium into your computer, restart it and change the boot order in your BIOS to load Mint. If you've never messed with BIOS before, check out this guide, it's not as scary as you might think.

Once you've set that up you'll boot into a live version of Mint that's running off of the boot medium. It'll operate the same as the real deal, though you won't be able to save any changes you make, this will give you a opportunity to click some buttons and make sure nothing exploded. Once you're satisfied that everything is in working order, run the install wizard located on the desktop which will walk you through the process of either formatting your drive for a pure Linux install, or set up a partition so you can dual-boot into either OS. And that's it. It was such a surprisingly easy experience I was left wondering why I was so worried in the first place.

What I think about it:

I've been using Mint for about a week now, and so far, I love it. All your familiar shortcuts work, and minus a few slight changes in the UI, it works almost exactly like a Windows OS. It feels natural to use and your average user will barely notice the difference. But the thing I really love the most is that if you start digging around and pushing buttons...you can break the crap out of it.

I know that sounds counter-intuitive. Why would you want something you can break? Because to truly get the most out of something you've got to take off the training wheels. Way back when dinosaurs roamed the earth and I got my first computer with Windows 98- I pressed every button, typed things in the command line I really shouldn't of, deleted files that bricked the entire OS, and had to re-install multiple times. But in doing so, I learned the in's and out's of that machine. Pulling it apart and looking at all the parts gave me a more intimate understanding of how to fix things when everything went fubar.

Linux gives you a lot of power. Can't run a command normally? Prepend sudo (super user do) to the front of it and BAM, you're the master of your own destiny. But, as Uncle Ben said in the superior Raimi Spiderman flicks (don't @ me), "Great power comes with great responsibility." If you run 'sudo rm -rf' in your root folder, you won't feel so good.

spooderman
A visual representation of your hard drive when you run '$root sudo rm -rf'

On the topic of the terminal commands: they're likely my biggest gripe about Linux. Apparently the Linux devs have an allergic reaction to typing or easy to understand alias for commands. They're all some esoteric acronym followed by an entire alphabet of -flags that only a Google search will reveal the meaning of. grep stands for "Global regular expression print" which is a very useful command who's acronym sounds like a sound a dying animal would make.

Regardless, I've very much enjoyed my experience with Linux and I'm quickly becoming one of 'those people'. It's only a matter of time before I slap a penguin sticker on the back of my laptop and start making childish jokes about 'fsck', and I invite you to become one too.

Top comments (1)

Collapse
 
abdellani profile image
Mohamed ABDELLANI

Hi,

I recommend checking distrowatch.com/ to have an idea about the available distributions.

There are also some websites like distrochooser.de that asks you some questions and suggests a list of distributions based on your answers.

Personally, I tried several distributions like Debian, Mint, Gentoo, Arch and Fedora. As a web developer and a daily user of Linux, I prefer Ubuntu LTS. The community is big, active and chances are higher to find support.

Thanks for sharing.