this post was submitted on 20 Mar 2025
33 points (100.0% liked)

Linux

9337 readers
126 users here now

Welcome to c/linux!

Welcome to our thriving Linux community! Whether you're a seasoned Linux enthusiast or just starting your journey, we're excited to have you here. Explore, learn, and collaborate with like-minded individuals who share a passion for open-source software and the endless possibilities it offers. Together, let's dive into the world of Linux and embrace the power of freedom, customization, and innovation. Enjoy your stay and feel free to join the vibrant discussions that await you!

Rules:

  1. Stay on topic: Posts and discussions should be related to Linux, open source software, and related technologies.

  2. Be respectful: Treat fellow community members with respect and courtesy.

  3. Quality over quantity: Share informative and thought-provoking content.

  4. No spam or self-promotion: Avoid excessive self-promotion or spamming.

  5. No NSFW adult content

  6. Follow general lemmy guidelines.

founded 2 years ago
MODERATORS
 

The Linux Ship of Theseus

Crossposted from: https://lemmy.ml/post/27387345

  1. pick any distro and install it.
  2. Then, without installing another distro over the top of it, slowly convert it into another distro by replacing package managers, installed packages, and configurations.
  • System must be usable and fully native to the new distro (all old packages replaced with new ones).
  • No flatpaks, avoid snaps where physically possible, native packages only.

Difficulties:

  • Easy: pick two similar distros, such as Ubuntu and Debian or Manjaro and Arch and go from the base to the derivative.
  • Medium: Same as easy but go from the derivative to the base.
  • Hard: Pick two disparate distros like Debian and Artix and go from one to the other.
  • Nightmare: Make a self-compiled distro your target.

Clarifications

  • chroot, dd, debootstrap, and partition editors that allow you to install the new system in an empty container or blanket-overwrite the old system go against the spirit of this challenge.
  • These are very useful and valid tools under a normal context and I strongly recommend learning them.
  • You can use them if you prefer, but The ship of Theseus was replaced one board at a time. We are trying to avoid dropping a new ship in the harbor and tugging the old one out.
  • It may however be a good idea to use them to test out the target system in a safe environment as you perform the migration back in the real root, so you have a reference to go by.
top 4 comments
sorted by: hot top controversial new old
[–] [email protected] 6 points 13 hours ago

My current system was installed as manjaro, but i immediately started having AUR issues, so I just changed all the repos out to the official arch ones and over time everything manjaro specific has been updated or removed.

The first lines in my /var/log/pacman.log are from early 2015, and ive fully rebuilt my computer since then, including swapping hard drives (dd' to clone old drive onto new drive). So at this point my PC is a hardware and software ship of theseus.

[–] [email protected] 2 points 10 hours ago

When I started learning Linux at work, the game I played with myself was i'd install Debian stable minimal on my primary workstation and I would not reinstall it ever. No matter what happened, I would always fix it.

I learned to install the basic subsystems to get a GUI and audio, learned the fun of Nvidia drivers to get xinerama and hw decoding working. In retrospect it seems trivial but as a new learner it was challenging and rewarding.

At one point I was trying to do something, and a guide online suggested installing some repo and installing newer libraries. I did so, and a week later I did a dist-upgrade (because I didn't know any better) and when I rebooted I was presented with a splash screen for "crunchbang" linux.

Figuring out how to get back to Debian without breaking everything probably taught me more about packages, package managers, filesystems, system config files, init (systemd wasn't really a thing yet) than everything else I had done combined.

For anyone wondering: 12 years into the project I had a drive from the mdadm mirror die, and while mdadm was copying to another mirror, the other drive died. I considered that a win but y'all can be the judge (no files were lost, 12yr into my Linux journey I had long since figured out automating NFS and rsync).

[–] [email protected] 7 points 15 hours ago

Once I planned to do just this, converting my Ubuntu into Debian (or maybe it was the other way round). I assumed it would just be a matter of changing the repos and then apt full-upgrade and boom! new distro. Still, I decided to do some research first - you know, just in case. Whatever I learned made me abandon the idea in a hurry. Perhaps I'll try again but this time skip the boring research step.

[–] [email protected] 2 points 16 hours ago

Very cool idea and a fun project if you have a masochistic streak or a unique use case.

Also .. would running the other distro inside a docker container qualify because the processes are actually running on the same kernel albeit side-by-side with the native OS, or is this disqualified like using chroot?