Linux Yak First (Part 1): Installation

If you want an unimportant intro, check this preamble. Otherwise, let’s go.

The first step is installing Linux. I recommend you start with the Xfce version of Linux Mint or Ubuntu (Xubuntu) in a VirtualBox virtual machine. Let me explain why.

Linux can be installed on most computers, from Macs to PCs to Chromebooks. A lot of variants of Linux are optimized to work on older hardware too, so an old, unused computer or laptop may make a great starting point.

Putting it in a virtual machine let’s you put it Linux on a computer you’re going to use every day. There’s other ways to do this (like dual-booting) which give you a better setup, but require learning parts of fdisk and hard drive partitioning — things that you don’t really need to learn now. Within VirtualBox, Linux won’t perform quite as well as if you wiped your computer and installed it or dual-booted, but VirtualBox runs well enough that you’ll be able to try it out, see what it’s about, screw up a few times and start over without the computer being totally unusable.

VirtualBox is owned by Oracle now, which frankly, is cause for concern — Oracle doesn’t have a good history of maintaining open source projects — but it’s the best free virtualization software out there. If you’re okay with spending money, VMware makes great software that works even better, but you’ll have to do some digging to figure out which of their products is the right one for you.

I recommend Mint or Ubuntu because they’re currently #1 and #4 most popular Linux distributions according to DistroWatch. Choosing a first distro based on popularity is a good idea because they’ll also have a strong community and documentation to help you get going.

I would recommend Debian (#2) But Debian’s install process is harder to get through. Second, because of Debian’s commitment to being free (which is great), if you did install on hardware, you’ll probably run into issues with getting wifi drivers working and get plunged into using modprobe and manage repositories; stuff that will be easier to learn later.

I certainly recommend avoiding rolling release distros like Manjaro or Arch to start. Rolling release distros just add new software once it’s tested rather than bundling up and having major releases like most operating systems. Rolling release distros mean you get faster access to updates and new software, but it also means that you’re more likely to run into problems you’ll need to troubleshoot on your own.

Lastly, I’m personally recommending starting with Xfce for a few reasons. First, Xfce is fairly lightweight, so it performs well on nearly any hardware, including within VirtualBox. Second, Xfce is a pretty simple Desktop Environment. Because it’s a Desktop Environment, it provides GUI apps for nearly any basic task you’d want to do. It’s designed to be modular, so it’s easy to learn about the apps individually and not get overwhelmed.

Lastly, Xfce is very configurable. It’s likely be familiar feeling if you’re coming from Windows or OS X, but you can make it work very differently too.

If you want to dual boot Arch Linux running Budgie, that’s fine. I consider myself pretty adept with Linux, and I’m still intimidated and skeptical that installing Arch is worth the amount of effort it’d take me. I’d rather start with an easier install and customize, because ultimately, nearly any distribution can run any desktop environment.

If you have a strong preference, go with it. You’re going to be spending a lot of time learning how everything works, so choosing a setup that you want so you’ll be more motivated to invest time into it. This won’t be set it and forget it.

--

--

The Principal Engineer at Imarc, Erratic Author on Medium. Writing about web development and being a better web developer.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Kevin Hamer

The Principal Engineer at Imarc, Erratic Author on Medium. Writing about web development and being a better web developer.