Windows to Linux is a hard transition for many users. I find this especially true for advanced Windows users. Here are all the things I wish I knew before trying to switch to Linux after using Windows for 20+ years.
Understand that Linux is NOT Windows and they work differently. Figure out the shortcomings of Linux in your current workflow and be flexible in learning alternatives or be comfortable dual booting.
Think about program alternatives and incompatibilities
Why do you want to switch? For me, I was tired of Windows and their update cycle.
Before you nuke your Windows and install Linux, you need to understand what you are getting yourself into. The best way is to setup a test environment using either a Virtual Machine or even another PC. I personally recommend using a raspberry pi to cut your teeth in Linux and understanding terminal.
There are two types of distributions in Linux, Rolling and Stable A.K.A. LTS (Long Term Service). There is a scale of bleeding edge to really stable, but old packages.
Most other tutorials will tell you to install ubuntu or mint at this point, but I want you to understand what Linux is capable of and building your own distribution is the best way to learn. There are so many distributions how do you pick one? Let me simplify this decision… Install Debian. Its the most common and easiest to find guides on. Arch Linux is a second choice as it is very friendly on installing any package. Third, would be Fedora as it is a good middle ground between Arch and Debian.
What about the 100 or so other distributions? Most of these are just the same thing with a few different options that don’t matter or just look different. Once you figure out how to change Linux to your liking you won’t care which one you pick.
Arch Linux is probably the most well known rolling release that has the most up to date packages, but the more of these you install, the more unstable the system will become. It is not uncommon to run into a bad update and have the system start acting up. I don’t recommend this type of distribution, but understand the appeal. Honorable mentions in this space are OpenSUSE tumbleweed, but is more obscure for newbies to the Linux space.
These packages can be relatively modern, but not as bleeding edge as Arch or rolling releases. There are three distributions I’d recommend.
Distributions are just pre-packaged components making up Linux. Unlike Windows or Mac, you can choose different options for bootloader, init systems, display rendering, display managers, desktop environments or window managers. Which are the basic components every system has, once on the desktop you can pickup your own file browser, start menu, bars, configuration tools and utilities.
Linux can be changed in any way you want. Where a pre-packaged system like Windows or Mac all these decisions are made for you and can’t be removed.
Here is a short list of things you need to know:
/etc
folder and User configuration is done in the /home/user/.config
folder. Windows can spread config files everywhere and Linux doesn’t and puts them in these folders depending on if it is systemwide or user based.The biggest thing a specific distribution gives you is a Package Manager. How it installs programs is something that doesn’t change very much.
Here are some examples so you don’t go look dumb trying to install packages on a different distribution with a different package manager:
sudo apt install name
- Debian, Ubuntu, and a TON of Linux distributions use apt
as the package manager.sudo pacman -Sy name
- Arch-based also uses yay
or paru
to expand this to include almost any Linux package in existence.sudo dnf install name
- RHEL-based distros like Fedora use this package manager. It used to be yum
instead, but was changed in recent years to dnf.There are a ton of others for different distros, like zypper
for OpenSUSE or swupd
for Clear Linux, but these are pretty niche and you shouldn’t concern yourself with them.
Packages for ALL Distributions are made using Flatpak, AppImage, Flatpak, and even installing a secondary package manager like homebrew or nix. Everything I just listed works on all distributions and are containerized for the most part.
Common alternatives in parenthesis
Example Configuration
Ubuntu
Grab a debian ISO here: https://www.debian.org/download
The basic netinst is fine for now. We just want a sample system to build up and learn on.
Use Arch Linux here: https://archlinux.org/download/
Instead of using a wizard included with Arch, I recommend walking through all the steps @ https://wiki.archlinux.org/title/Installation_guide and learning about what goes into the setup process. Arch does a fantastic job of breaking down each step and I highly recommend their wiki as a resource even when NOT using arch.
Start messing around with window managers and configuring the system from a command line interface (CLI). This will make you more comfortable with Linux as a whole. After this is done, decide which way you enjoy the most.