this post was submitted on 05 Sep 2023
48 points (92.9% liked)
Linux
48129 readers
480 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
There just isn't any reason to do it manually. You don't learn anything useful that you can't learn on a VM. And it adds complexity to your system that doesn't need to be there.
As others have stated, the main risk comes from having Windows as one of your partitions, as Windows doesn't care if you are working with other systems, it only cares about Windows.
I know SOLID principles are meant for object oriented programming, but, they have merit in many areas. One of the more impactful ones is the principle of single responsibility "...[X] should do one thing and therefore it should have only a single reason to change." Adding in additional responsibilities increases entropy and increases the likelihood that if something goes wrong, you won't be able to pinpoint what caused it, and therefore how to fix it. Situations like that are antithetical to your stated impetus of learning.
However, if you used virtual machines, not only are you now abiding by the principle of single responsibility, but you are also giving yourself access to standard industry tools and techniques that will serve you well in your learning journey. For example, when dual booting, if you royally mess something up, you are now left with a useless hunk of computer until you either figure out what you did and how to undo it, or you just give up and reinstall your OS. With VMs, you can just take a snapshot before you make your changes, and if shit hits the fan, you just revert to your snapshot and retry. This gives you the chance to figure out not just what happened, but why, and how to avoid it, all without losing access to your main system.
Not only that, but multiple VMs can be running simultaneously and can be used to simulate networks of interconnected machines all running disparate software with different goals and responsibilities.
It's obviously your computer and your choice. But, I'm trying to save you the headache many of us had to go through on our learning adventures. Just use VMs.
Thanks a lot. I'm just looking for more permanent solutions. Idk a whole lot about VM, but isn't your image wiped after each use? I dont want to keep tweaking settings and configurations, I want them to be like my own personal desktop where you install your own programs and make your own configurations and tweaks and they actually remain. Is that possible for VM distros? I would like to actually learn and use the other distros as work stations too. Not just trying to peak and toy around with other distros. If that were the case, I'd use my ventoy drive
So, for a bit of a crash course, a virtual machine is just that, a machine that is virtualized. So, anything you can do with your physical machine (your computer) you can do on a virtual machine. (You could even dual or triple [or more] boot a VM)
Just like a normal computer, changes made to a virtual machine are persistent unless you configure them not to be. So no need to worry about losing changes. (Though, I would suggest taking a snapshot of your newly installed distro as soon as you finish the initial installation, it will be useful if you need a clean starting point for something you want to do)
I suggest you download a couple of Linux distros you want to play with, download VirtualBox, and setup a virtual machine for each distro. You can also setup the VM to run in full screen mode, so it feels like native.
There are tons of guides online to help you out, and a large number of computer nerds here that will help you too.
The one limitation with VMs is gaming. You can get around that limitation once you're more well versed with them, but just don't expect to be gaming on a VM for quite a while.
Perfect! so you feel that Virtualbox is the way to go then?
Is there a specific VM software or method you would recommend for this project?
VirtualBox is the simplest and must accessible option for beginners. It's not very well aligned with Linux ethos, but it is easy to use and is well documented with many users to help if you need it. It also does a good job of walking you through the installation process when setting up VMs.
Perfect, thanks for all the replies lol