this post was submitted on 19 Mar 2025
235 points (96.1% liked)

Linux

52123 readers
739 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

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

The Linux Ship of Theseus

  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.

EDIT: Some clarification on some of the clever tools brought up here:

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.


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.

you are viewing a single comment's thread
view the rest of the comments
[–] sxan@midwest.social 4 points 22 hours ago (1 children)

I've done the Arch to Artix. It wasn't hard, per se, but it took a while. I think that should be Medium, because Artix isn't just an Arch derivative.

In fact, might I suggest a different way of looking at the difficulties?

  • Replacing the package manager: Hard.
  • Replacing the package manager without a live USB: Extreme.
  • Going from a basic systemd-based distro (init, log, cron) to anything else: Hard
  • Going from a systemd distro that's bought into the entire systemd stack, including home and boot: Extreme
  • Going from one init to another: Medium
  • Changing boot systems: grub to UEFI, for example: Easy.
  • Replacing all GNU tools with other things: Extreme (mainly because of script expectations).

And so on. You get 1 point for Easy, 2 for Medium, 4 for Hard, and 8 for Extreme. Add 'em up, go for a high score.

I don't think rolling your own is that hard, TBH, unless you're expected to also build a package manager. If maintaining it would be harder than building it.

[–] semperverus@lemmy.world 1 points 5 hours ago