While I haven't used Linux for quite as long as some of the other XDA staff, I've used it long enough and hopped enough distros to know that I'm no longer a novice. But you wouldn't know that by looking at my home lab, or the handful of machines I torture weekly with new distros, tools, and tweaks. The one constant in my lifelong learning experience with Linux is that things go wrong; when they do, it's often something serious.
And you know what. I wouldn't have it any other way. I've learned more about mountain bikes by breaking them and having to fix them—Ditto for two-stroke engines running my old landscaping equipment. I used to be the same with any other engine until cars became much closer to computers, and I deferred to the professionals, and even then, it's partly because of a lack of tools and not a lack of will.
By the same token, I've learned reams by breaking countless Linux installations and having to start from scratch. These include things like how to get back into a system when you break the root account and need to reset the password. Or how to remove troublesome programs installed outside the package managers, or in some cases, the quickest way to get running again. They've all taught me resilience, research skills, and ways of looking at problems from outside the situation, and it's been invaluable.
If you haven't broken Linux you haven't been trying hard enough
No, really. You haven't.
I've broken Linux so many times I don't remember when or what the first instance was. But since then, most issues can be sorted into one of a few categories. Times I've broken the install, which is most of them if I'm being brutally honest. Times a genuine bug broke things. And times GRUB broke things. Of the three, genuine bugs are the fewest times I've had to reinstall.
The majority were of my own design, whether it was from not knowing and misconfiguring whatever I was working on, or reverting user permissions so I couldn't log in, and sometimes just glitched installs that worked fine except for the one thing I needed to update or view for further experimentation.
I'll never forget some of the GRUB issues, though. Apparently, it's better behaved these days, but I still won't trust dual booting because I've been bitten every time I've done it in the past. The most memorable wasn't entirely GRUB's fault, as the Samsung laptop I owned split the BIOS into a firmware chip and a UEFI partition for everything past boot.
If you can see where this is going, you've probably used Linux as much as I have. I had Windows 7 on it at the time, and wanted to use Linux, so I dual-booted Ubuntu because the internet told me it was the easiest and one of the most stable distros in 2012. Except that the laptop didn't like dual-booting, so I uninstalled Ubuntu, did the necessary BCDEDIT routine to get Windows the only bootable OS, and rebooted to a basic BIOS screen and nothing else. GRUB either used the UEFI partition or erased it when I uninstalled it, and it took some juggling with Hiren's BootCD and the firmware updater from Samsung to get it working properly again.
My home lab is for experimentation
Sometimes things work, but others they get broken beyond belief
I ran Linux in various forms exclusively on the battered HP business laptop that was my treasured possession at the time. That device got better treatment as it was my only connection to the internet. But when I started building my home lab, all bets were off, because I knew those devices could be wiped at a moment's notice if needed.
I've not gotten to the stage where any SSD or HDD has worn out from reinstallation, but I have worn out about a dozen USB drives I used for LiveUSBs etc., over the last decade. I've reinstalled my NAS several times, but unfortunately, I lost data in the first instance. I'm better at data security now, with backups before any significant and periodic changes, but that doesn't extend to every device.
I like working with virtual machines because I can set them up once, then make a copy for future use when I invariably break the copy I'm working on. I'm trying to move to a container-focused workflow for those types of tasks because I can see the utility of using containers, but again, that's even more breaking of programs because I'm not used to the workflow, and it's trying to unlearn the habits of a lifetime.
Every destroyed discovery is a learning moment
I won't promise I'll never make that mistake again, but I know how to fix it when I do
Over the years, I've learned enough of the underlying concepts of Linux that I can pick up most distros and get going quickly. Package managers all work similarly, the Terminal is the Terminal wherever you are, and the SU/SUDO duality makes sense. The only distro I've not tried yet is NixOS, which treats your system configuration as code, in a similar way to Ansible or Terraform, and it's on my list to get to grips with. I'm sure I'll break that lots too, while I learn the ropes, but it'll be a new experience.
I've got Proxmox running most of my home lab, and I haven't managed to break the Proxmox install (yet), but every VM or LXC running on it has been broken, wiped, and rebuilt a dozen times or more now. Every time, the rebuild is a little bit easier, and I've learned multiple ways to back up everything to save me from myself. I don't think I'll ever get to the stage where I won't break something at some point, but learning how to recover from and fix your mistakes is as important as not making them in the first place.
There is one thing I'll never forget
Oh, and getting back into a Debian-based distro without a password? I'll never forget to have a LiveUSB handy, so I can boot into that on the system, mount the main disk, and edit /etc/shadow to erase the existing password, so I'll get prompted to recreate it on the first boot of the original installation. I know I can also do this from the GRUB menu, by editing the bootloader from ro to rw and adding init=/bin/bash, then using CTRL+X to get into a root shell and change from the same shadow file, but I'm more used to the other way and I like having a LiveUSB around so I can do this even if GRUB won't boot.
The ultimate control Linux gives the user means it's easier to break
The relative lack of guardrails in Linux means it's more likely to break, but it's also often something you've done that you can learn from. I can't say that about any other computer operating system I've used, where most of the install-breaking bugs came from the developers pushing ill-advised updates without enough testing. I know I'll break countless Linux installations in the future, even on so-called immutable installs like Bazzite or NixOS, and I look forward to the challenge of fixing those mistakes.
