Linux Lab 1: Overview
A compilation of LinkedIn Learning course thumbnails.

Linux Lab 1: Overview

Learning Linux isn't quite the same as learning Photoshop, or Excel, or another software product. Often, a software product will run on one or another operating system, and you just need to install the software to be ready to go.

But with Linux, it's the whole operating system that needs to be installed. And how do you install an operating system when you already have a different one? Luckily, there's a few different options, and all of them will help you set up a personal Linux Lab to practice and extend your skills. Getting started with Linux can be challenging at first, and you’ll quickly come up against a few decision points and minor obstacles that can derail your learning. These obstacles and questions can be frustrating at best, and deal-breakers at worst.

I often get feedback from our members about these questions and road blocks that show up when trying to set up a Linux Lab, so I've decided to set out the options in a series of articles, to help give you some background to think about and build up your lab. In later articles in this series, I'll dig into the details of each common setup method and provide some troubleshooting tips. 

Overview of options

Overall, there are three primary ways you can get a Linux environment running. You can use a physical machine, a virtual machine, or you can start up an environment using a cloud service like Amazon Web Services, Microsoft Azure, Google Cloud Services, or a provider like Linode, DigitalOcean, Vultr, and various others.  

Using a physical machine means installing Linux on a laptop (old-ish laptops are great for this!) or a desktop PC. Using a physical machine, you can either choose to install Linux as the only operating system, or to install it alongside another operating system like windows or macOS.

On the other hand, a virtual machine doesn’t disrupt your real computer at all. Instead, the guest operating system, in our case Linux, just takes part of the resources on your real (or host) computer and operates in a little protected space separate from your files and settings. It's a whole self-contained computer that runs just like any other program you might use — like Photoshop, Google Earth, or Excel.  

Setting up a cloud environment is an option for you, too, depending on what you need to do and what you want to learn. When you’re just getting started, it can be difficult to get things set up the way you need in a public cloud environment, though.

Before we dig into the details, let’s take a look at the general benefits, drawbacks, and recommended audience for each kind of installation.

Physical (or bare metal) installation

A physical, or bare metal installation means installing Linux directly on a computer, either as the only operating system, or alongside an existing operating system, where you can reboot and switch between them.

Benefits

  • It's a real computer: You’re really running Linux on a real computer. All of the system’s resources are available for you to use. 
  • Extensibility: You can plug in devices and change hardware.
  • Recycling: It gives an old computer something to do. If you have a Windows laptop that's a few years old, you can give it a new lease on life as a Linux system.

Drawbacks

  • Resources: You may not have an extra computer to erase and use for learning. 
  • Convenience: You may not want to carry another laptop with you, or have to leave your learning machine at home on a desk.
  • Troubleshooting and configuration: You might not have all the hardware on the system working correctly after installation, or at all. Usually, with virtual machines, the system has virtual hardware that’s supported and works correctly right at installation — especially the wireless network adapter. On a physical machine, you may need to install a driver or make some changes to get network access. Be sure to do a web search for the model of the computer and Linux to discover if there are known problems before you start.

Audience

  • If you want to resurrect an old computer you have in the closet, or set up a separate piece of hardware for running server-type tasks, a bare metal installation is the way to go.
  • If you're okay spending some time troubleshooting hardware compatibility issues (which can be somewhat interesting and rewarding), a physical machine may be an option for you.
  • If you’re looking to use Linux for computationally demanding things, like creative media work, data analysis, and so on, using a bare metal install on a physical machine is going to give you access to the full resources of your hardware. 

Virtual (or VM) installation

A virtual machine is a small partitioned or sandboxed operating system that uses some of your computer’s resources and can have changes made to it without affecting your real computer.

Benefits

  • Disposable environment:  A virtual machine is perfect for an environment you want to use and not worry about breaking it — for example, if you want to really explore and try things out on your own throughout your Linux learning. You can always make a new virtual machine, or you can make snapshots of the machine as you go along, so you can roll back if something breaks.
  • Portable environment: Setting up a virtual machine is a good choice if you need to have a working environment that you can take with you. You can copy the environment on to a portable disk and use it on different machines.
  • Offline environment: It’s also a great option if you need to use a Linux machine when you’re disconnected from the internet, like when you’re traveling. Of course, a physical machine works well for this too, but again, if you’re traveling, it may not be possible or practical to bring along a second laptop. 
  • Easy to create a virtual network: Another benefit of virtual machines is that you can create a virtual network with more than one virtual machines for exploring networking and client/server programming scenarios.

Drawbacks

  • Resources: Virtual Machines consume resources on your computer, so it’s important to both correctly configure and keep an eye on how much disk space, RAM, and CPU resources your virtual machine is taking away from other programs on your computer. That means having 4GB or more of RAM, about 20GB of free hard drive space, and an Intel or AMD processor from the last few years at a minimum. A basic, small VM won’t take up all these resources, but having them will help make sure your system still works well while running a VM. Because of these limitations, a Surface RT tablet, a Chromebook, or a Raspberry Pi won’t cut it. 
  • Additional software: To work smoothly, Virtual Machines need to have some software installed inside of them after the OS is installed in the VM. Because there are many different versions of VM software and many different Linux distributions, this can get a little bit tricky. Sometimes the software breaks, or expects you to be able to troubleshoot it. Sometimes these troubleshooting tasks take some work at the command line to get going just right — and if you’re learning how to use the command line, that can be extremely frustrating. I've noticed this particularly on Fedora, but Ubuntu Desktop is very easy to get working.

Audience

  • A virtual machine is a good choice for almost everyone, as long as your computer has enough resources to run it, and you’re willing to do a little troubleshooting to get things installed and working smoothly. And, it's the easiest way to get started learning about networking, without having to set up a room full of PC's and cables.

Cloud services

Cloud providers allow you to run a virtual machine on someone else’s hardware, rather than on your laptop or in your office. Cloud services let your machine continue running even if your local computer is turned off or asleep.

Benefits

  • Always On: Because a cloud service keeps your virtual machine running all the time, it’s a good choice if you’re running a website or hosting an app or service that other people need to use. 
  • Fast Setup: Often, the setup for a cloud server is a point-and-click experience and you can start using your machine within minutes. 

Drawbacks

  • Won’t work well for some tasks: If you’re exploring different desktop managers, or want to see how different kinds of hardware work with Linux, a cloud provider isn’t the right choice. Some will run desktops, but none will let you plug in that cool USB Software-Defined Radio adapter you picked up from Amazon. 
  • Can be costly: While many providers offer a free trial or a low-cost entry point, there’s almost always a cost involved with using cloud services. You are, after all, using someone else’s resources. If you do sign up for a cloud service, be sure you understand how the billing works, and how to avoid unexpected bills by shutting down or removing unused resources.
  • Can be difficult to connect to: Because cloud services are generally meant for professional use, the setup and connection processes assume you have a certain set of knowledge already. Some are easier than others, though.  

Audience

  • Cloud services are for servers. If you want to learn about web servers and be able to easily share your site with the world, a small cloud instance may not be a bad idea.
  • If you’re learning about installation, hardware or networking, these services typically won’t give you what you need. And using a cloud server to learn about the command line itself can be more frustrating than it’s worth.

Next Steps and Recommendations

This is the first decision point where you need to make some choices:

  • How do you need to use your Linux machine?
  • What services might you need that are offered by one installation method, or are not offered by another?
  • Do you want to share resources on your primary computer with a virtual machine, or do you want to use a separate computer for your exploration? 

Our ever-growing library of Linux courses on LinkedIn Learning typically assume that someone following the course has access to a computer that’s powerful enough to run one or more virtual machines. Most of the courses can be completed either using one VM or one computer running Linux. Going forward, using a VM with Ubuntu Desktop is my recommendation. But your mileage may vary. 

Stay tuned for more articles in this series, and watch for more great #Linux content on #LinkedInLearning!

Gianluca Vaglio

Consulente tecnologico: aiuto le PMI a #risparmiareinnovando grazie all'Open Source - Innovation Manager - Formatore - Project Manager

7 年

A very usefull guide to start move first steps on Linux. I'll stay tuned!!

回复

要查看或添加评论,请登录

社区洞察

其他会员也浏览了