Usr-Merge: Solus’s New Approach to Linux Filesystems

Solus OS reboots its Usr-Merge strategy, aiming for a more seamless integration of Linux file systems. Here's more on that!

Solus OS’s innovative attempt to revamp its Linux filesystem structure with an approach known as “Usr-Merge” is a bold step we can’t fail to cover for our readers. But before we say anything more, let’s explain what’s behind the term “Usr-Merge.”

Traditionally, Linux filesystems have scattered files across multiple directories such as “/bin,” “/usr/bin,” “/sbin,” “/lib,” and others. The Usr-Merge project aims to consolidate these directories under the “/usr” tree, enhancing compatibility across different Linux distributions and simplifying the system’s architecture.

If we have to present it graphically to make it clearer, here’s what it’s about:

Usr-Merge Linux Filesystem Structure
Usr-Merge Linux Filesystem Structure

I’m almost certain that most of you like the Usr-Merge approach better. Implementing it, however, turns out not to be such an easy thing.

Referring to Solus’ devs, the initial rollout of Usr-Merge in May did not go as planned. The team encountered significant issues due to the non-deterministic nature of package updates with Solus’s package manager, eopkg. This issue led to a scenario where critical symlinks were not created before other updates, causing system malfunctions for many users.

The challenge was compounded by the system’s inability to ensure all users had the necessary prerequisites installed due to skipped updates, a common occurrence with eopkg’s update mechanism.

Solus developers are now incorporating a marker file system and early boot scripts into the update process to overcome these hurdles. These changes are designed to ensure that Usr-Merge only activates when all components are properly aligned, thereby avoiding the pitfalls of the first attempt.

The updates are meticulously planned to run a script that merges directories only after verifying the presence of marker files, safeguarding against premature or incorrect merges.

Okay, you’re probably asking yourself, why are Solus developers doing all this? It seems it’s all related to the distribution’s planned switch to moss, the package manager used by the still-in-development Serpent OS distribution.

“Serpent OS and moss take the idea of Statelessness a step further. The package manager cannot install files outside of “/usr,” enforcing a stateless system. Since Solus will also be moving to moss and associated tooling, we will also not be able to ship files outside of “/usr,” including files in directories like “/bin” and “/lib.” Thatโ€™s where Usr-Merge comes in; it is a prerequisite to switching to the Serpent OS tooling on Solus.”

As you know, Solus is a rolling-release Linux distribution. This means users typically install once and upgrade foreverโ€”the main concept behind rolling releases. This approach is usually convenient but complicates implementing big changes like Usr-Merge.

For point release distros, where a fresh install is often recommended, it’s easier to introduce significant changes by just issuing a new ISO with the new release. However, these major updates must be applied to existing Solus installations, making things far more complicated.

Yes, the distro has point releases, the most recent being Solus 4.5 (Resilience), rolled out at the beginning of the year. However, these releases are more like snapshots in time. For Solus users who regularly update their system, transitioning from one version to the next is completely transparent.

Finally, the main question is: When can we expect the switch to Usr-Merge in Solus? The simplest answer is, “It’ll be ready when it’s ready.” The Solus developers haven’t set a specific timeline yet, but it seems like we wonโ€™t have to wait too long before this exciting update rolls out.

A quick look at the project’s GitHub page reveals that Usr-Merge is set to be a major feature in the upcoming Solus 4.6 release. As of now, the development of this new version is 77% complete, indicating that over two-thirds of the work has already been done.

Progress on Solus OS 4.6
Progress on Solus OS 4.6

Visit the announcement for more detailed information. Additionally, you can find interesting information about Usr-Merge at this link.

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

Think You're an Ubuntu Expert? Let's Find Out!

Put your knowledge to the test in our lightning-fast Ubuntu quiz!
Ten questions to challenge yourself to see if you're a Linux legend or just a penguin in the making.

1 / 10

Ubuntu is an ancient African word that means:

2 / 10

Who is the Ubuntu's founder?

3 / 10

What year was the first official Ubuntu release?

4 / 10

What does the Ubuntu logo symbolize?

5 / 10

What package format does Ubuntu use for installing software?

6 / 10

When are Ubuntu's LTS versions released?

7 / 10

What is Unity?

8 / 10

What are Ubuntu versions named after?

9 / 10

What's Ubuntu Core?

10 / 10

Which Ubuntu version is Snap introduced?

The average score is 68%