![]() |
VOOZH | about |
We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.
Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.
Follow TNS on your favorite social media networks.
Become a TNS follower on LinkedIn.
Check out the latest featured and trending stories while you wait for your first TNS newsletter.
You’ve chosen a Linux distribution and are ready to begin the installation process, but you need to figure out your hardware options. Do you have to go buy a new computer? Can you use an older system? What about this virtualization thing? Are containers a choice?
This article doesn’t provide technical configurations. Instead, it discusses installation options for experimenting with Linux as you pursue career development, programming, or technical certifications. It offers ideas about what hardware is necessary and how to use your existing resources. I also cover this information with an eye toward not spending too much money on the solution.
The related articles in the series discuss choosing one or more distributions and the actual installation process.
The term “bare metal” refers to a computer’s hardware without an operating system or applications (though firmware is usually in place). A computer typically has four major subsystems: processor, memory, storage, and networking. On bare metal hardware, these components are installed and ready, but no software exists to utilize them.
Installing Linux on a bare metal device means installing it on a computer with no other operating system or applications you intend to retain. This could be a new computer you’ve just assembled or an older device whose OS, applications, and data you intend to overwrite.
Linux is very flexible when it comes to hardware requirements. Most Linux distributions can get by on much smaller quantities of RAM and hard disk space than the Windows and macOS operating systems. Some distributions are even specialized to run well on much older hardware platforms. Because so many distributions exist and their functionality varies widely, it’s difficult to pin down a specific set of minimum and recommended hardware requirements. It’s best to check these recommendations on a per-distribution basis.
Here are a few sample recommendations:
Those are pretty light requirements for today’s systems. You may find that an older computer gathering dust in your closet or basement will work very well for Linux, even if it no longer works effectively with other operating systems.
If you choose to buy hardware, be sure to look for Linux-compatible systems. For example, Ubuntu certifies specific hardware for use with its distribution. Some major manufacturers, such as Dell, offer Linux as a preinstalled operating system choice on some systems.
Other vendors specialize in nothing but Linux. Consider System76‘s line of laptops, workstations, minis, and servers using their own Pop!_OS or Ubuntu 22.04 LTS. Tuxedo Computers also offers Linux-specific computers with Tuxedo OS Linux and Ubuntu. Many additional choices exist.
However, Linux has a very robust set of drivers and is compatible with most of today’s standard and modern hardware. I wouldn’t hesitate to put the OS on nearly any computer I might come across.
Virtualization software takes a very different approach from bare metal installations. This solution begins with a bare metal hardware device and an existing operating system, like Linux, Windows, or macOS. You’ll install virtualization software on the computer the same way you would a web browser or PDF reader. This software allows you to create virtual computers upon which you can install various operating systems, including Linux.
The virtualization software divides your computer’s process, memory, storage, and network capabilities into “virtual machines” and allows an operating system to be installed on them.
Virtualization is a weird concept. Let’s break it down by examining the two words “virtual machine.” The word “virtual” means pretend or simulated. In this case, the processor, memory, storage, and networking capabilities are being simulated. The word “machine” indicates they are simulated as if they were a real computer. In essence, you’re creating a pretend computer within the software of your regular computer and operating system.
Because this virtual machine looks and acts like a real computer, you can install an operating system on it so you can use it the same way you would any other computer.
Consider the following example: Suppose I have an Apple MacBook Pro laptop. This physical device includes an installation of the Apple Sonoma macOS. I can use this laptop and the programs installed on it to write documents, explore the web, manage email, and edit images. In other words, this is a basic day-to-day use computer.
But what if I decide to learn some Python programming? I could do that using macOS with no problem, but it might be useful to isolate my programming experiments so that if something goes wrong, I don’t blow up the computer I use for business. I could install virtualization software like Parallels on my Mac and then create a virtual machine that borrows processor, memory, storage, and networking from my physical computer. I’d then install the Fedora Linux distribution on that virtual machine. Fedora will treat this VM as if it were a real computer. I could then add any Python tools and resources to the Fedora VM and use it to work on my programming projects.
The bare metal and virtualization approaches each have advantages, though I will say virtualization is really a very robust solution.
Advantages of bare metal:
Disadvantages of bare metal:
Advantages of virtualization:
Disadvantages of virtualization:
Most of today’s computers are plenty powerful to run the host operating system and at least a couple of VMs simultaneously. That’s enough to experiment with a few different Linux distributions to find the one you like. I regularly run Fedora and Ubuntu Linux VMs at the same time on my Mac laptop with no performance hit, and I wouldn’t hesitate to run two or three more VMs concurrently. Powerful servers may host many production VMs simultaneously.
You have many options for virtualization software. The two main limitations are compatibility with your host OS (Windows, macOS, or Linux) and cost. The following list shows the most common choices.
Note that pricing and specification information is current at the time of writing.
Another interesting option is the Raspberry Pi platform. A Raspberry Pi is a small single-board computer with a remarkable amount of power in a very small package. You can install a Raspberry Pi-specific Linux distribution on it to run many applications, use Internet of Things utilities, or stream multimedia. These devices are small, flexible, and very affordable. They were originally designed to get kids interested in programming and computing. Ubuntu even has a Pi version of its distribution.
Raspberry Pi can be a great option for those looking to break into Linux.
Containers are a newer form of virtualization that receives a lot of attention today. You may wonder about using Linux in a container to learn the operating system. It’s certainly possible, but the process is more convoluted than a traditional virtual machine and not as easy to work with.
As with virtual machines, containers require host software (a container engine) running on your regular computer. However, containers are really meant to be computing environments for applications rather than for the OS layer.
While I strongly recommend learning all you can about containers, I think you’ll find there are more effective ways of working with the Linux OS than containerizing it.
The most essential part of learning a new operating system is hands-on experience. If you’re ready to work with Linux daily, you’ll need a way to practice commands, install software, configure security, etc. You can gain this experience by installing Linux on a physical computer system or creating virtual machines on your existing computer. Both options have advantages, but virtualization is usually cheaper and easier. Furthermore, you’ll need familiarity with virtualization anyway if you work in the IT industry. Finally, virtual machines make it much easier to experiment with the many available Linux distributions. I suggest starting with Ubuntu, Fedora, Rocky, or Mint.