Learning Linux - JasonLocklin/jasonlocklin.github.com GitHub Wiki

Background

The term "Linux" has a specific technical meaning, but popularly, it refers to a computer operating system with a complete software suite for various needs based on Free Software. Because the software is Free, anyone can build such a system. Because doing so would be a lot of work, there are several groups, both commercial and community, that assemble a complete "distribution," packaging everything together. This is where people get overwhelmed; because they want Linux, but can't make head's or tails of the various distributions. For the last few years, Ubuntu is a distribution that the majority of new users ended up downloading and trying, but there are others that are just as good.

A little education: There are only a few projects where the software is packaged from scratch as a distribution, and the rest of them take one of these "base" distributions, and make their own tweaks and changes to those. The big commercial ones are Red Hat and SUSE, while the big community ones are Arch and Debian. The, "second tier" distributions based on those four are often far easier for new users, as they make tweaks and changes that streamline things and make it easier.

How to proceed?

In the old days, the typical thing was to recommend a personal "favourite" distribution to someone; then they would have to download it, burn it to a CD/DVD or USB drive, and reboot their computer to try it out. This is sub-optimal because 1. it's a fair amount of work just to try Linux, 2. it prevents the new user from trying a few different systems in order to get a feel for things, and 3. driver and hardware issues might frustrate the potential new Linux user before he or she even get's to see what the desktop looks like. If you have an older computer, this is certainly still the way to go. If you do this, I recommend learning how to copy disk images to a USB drive so that you can easily experiment with different systems. Sometimes one distribution will work better that another on a particular computer, so trying a couple is recommended.

The better way: A relatively new technology, called virtual machines, make it possible to try a system without installing it, or even rebooting. You can run a complete system just like a simple program, in a window, without installing it. A free (and mostly Free) way of doing this that is convenient on a desktop is by installing VirtualBox. It is a high quality package for running virtualized systems, and is ideal for trying out Linux systems. Download and install it to your computer from the link above, then proceed.

Getting and trying a few Linux Images

Now that VirtualBox is installed, take a look at Linux Mint. Mint is one of those new-user friendly "second tier" distributions mentioned above. On the page from the above link, you will see several downloads. These are CD image files that can be downloaded, and run either in VirtualBox, or by burning to CD. Ignore the ones that say "No codecs" and "OEM," and download either the 32-bit or 64-bit versions of the remaining ones (it doesn't really matter which you choose- for performance reasons, you may want to base it on whether your version of Windows is 32 or 64 bit, but don't worry about it). That should be 4 downloads, for Cinnamon, Mate, KDE, and Xfce.

Why 4 downloads? because this is about experimenting and learning. These are the 4 main desktops you will see when looking across the various distributions. They are slightly different, and playing with all four in VirtualBox, rather than me suggesting one, allows you to learn about Linux better, and eventually choose the one that you like the best. This will enable the best chance of success, as you will end up with a desktop more suited to your tastes, not mine.

Once downloaded, open VirtualBox, click "New", under name, type "Mint Cinnamon", and select Type: "Linux". Version will say "Ubuntu 64bit," you can change it to "Ubuntu 32bit" if you downloaded the 32 bit images, otherwise just leave it. Click "Next". Slide the "Memory size" to about 1000MB or so (keep it in the green, minimum 512, but 2000MB is probably ideal -this is the system memory VirtualBox will hand over to the virtual machine while it's running). Click "Next," "Create," and keep clicking "Next" until the window goes away (that creates a virtual hard disk in case you want to practice installing the system later).

Now you will see your new virtual machine in the VirtualBox Manager. You can double click it, or click "start." VitualBox will complain that it doesn't have a boot disk, and offer you the option of loading one. Click the button to browse for one, navigate to where you downloaded the Mint disk images to, and select the Cinnamon one. VirtualBox will now be able to boot into this system. Ideally, make VirtualBox go full-screen from the view menu once it's done booting, and you have a complete demonstration of the Cinnamon desktop. Poke around with the applications, make a file, browse the web, etc. This system is running "live" from the image (think demo mode), and any changes you make will not save back to the image. If you chose to "install" it, it will not be installed to your system, but the virtual machine you created in VirtualBox.

Now shut down the machine, and repeat for the other three desktops. You now have four virtual Linux computers, with the 4 main Linux desktops, to experiment with. Spend time playing with each, trying to do some work, browsing the internet, etc. Install at least one of them to the virtual machine to get an idea of the process and have a persistent system for working with. Once you get comfortable, you may want to try some other distributions, like Ubuntu, OpenSUSE, Fedora, or Arch, depending on how adventurous you are (listed generally from easiest to most advanced). There are lot's of systems available for the curious, but the 4 Mint downloads will certainly give you enough to have a good idea of what Linux is like.

Only once you are reasonably comfortable working with one of your virtual machines, should you go ahead and install it to your computer. This will absolutely minimize frustration. Whatever system you decide on should have instructions for burning the image to CD/DVD or a USB stick. You will then be able to reboot your computer and run through the install process and install it along side your Windows operating system. When you boot your computer afterwards, you will have the choice of which system to start (this is called dual booting).

Conclusions

Linux is a great system to learn, and will teach you a lot about computers in general. It also opens up lot's of avenues to utilizing Free software, and avoiding many of the pitfalls of Windows. By spending lot's of time playing with virtual machines, you can do most of your learning in a very forgiving, and risk-free way. You can start and stop, or even just minimize virtual machines when you are stuck or need to do something quickly. In this way, learning is very laid-back, and non-frustrating. The only downside is that the virtual machine requires relatively modern computer, and will run somewhat slower that the same system installed on the computer proper. Even if you never install Linux outside of VirtualBox, the above procedure will be eye-opening, will teach you plenty about how computers work, will make you more comfortable with interface changes across systems, and will give you handy virtual computers for various tasks, like trying out new software or just providing a change of scenery once and a while.

Enjoy.