Arch Linux Reinventing the Filesystem Structure?

Arch Linux Reinventing the Filesystem Structure?

Unix and Linux has changed, evolved and matured. But there’s one thing that has not changed too much from the very beginnings. And it is something that we probably all take for granted and don’t really think too much about. I can admit, until recently I had not given it much thought. I am referring to the structure of the Unix/Linux filesystem.

I mention Unix because ultimately, that’s where our current filesystem structure originated. It’s a slightly long and complicated story about how we got to where we did today when it comes to the filesystem structure that we today take for granted. It’s actually a very intriguing historical path with many different standards, past and present. And even a brand new draft for a new standard in the making. It’s definitely something I will revisit at a later date at Unixmen. Admittedly, not much has changed over the years as there really has been no reason for major change.

The developers at Arch Linux beg to differ. They’ve taken things in to their own hands and had a go at re-inventing the filesystem structure. Or a small part of it. As of June 2013, the team at Arch Linux merged /sbin and /usr/sbin in to /usr/bin.

This is done through the use of symlinking current packages that reside and install to /sbin or /usr/sbin. Arch Linux developers are urging package maintainers to update their configurations to install to /usr/bin exclusively.

On June 3, 2013 Arch Developer Allan McRae, announced information about the changes implemented. See here for more information

The reasons for the change, as explained here by the developers is quite simple: To keep things within obvious KISS standards. Simplicity. As pointed out, Arch Linux traditionally likes to dump all binaries in to /usr/*, so the new changes are simply the best option for what makes perfect sense. As they believe it makes no sense to have four different directories for binaries and two for libraries, rather than one directory for each, /usr/bin for binaries and /usr/lib for libraries. Yet, it’s very important they maintain the traditional directories to ensure of no package breakages, backward compatibility and to be friendly with other Linux distributions that choose to have things set out a little more traditional.


The changes all seem pretty logically thought out to me and the way they have implemented the changes with minimal disruption is equally impressive.

The real question is, will this change the mentality and way of thinking of opposing Linux distributions or are Arch Linux just leaving themselves out in the cold on this decision?


Let us know what you think. Have the Arch Linux developers made a good decision with the new changes to the filesystem structure?

11 Comments on this Post

  1. knamit

    I think they are doing the right thing. It will definitely make the file system organization better.

  2. Thulasiraja m

    i think this is the innovative step for linux…

  3. I think thank you kissers. And that others will follow this – not so obvious – path, I would have done many time ago.

  4. RollMeAway

    If it works well, and is not broken. DON’T FIX IT!

  5. Frank Kaufmann

    I never figured out why we need so many /bin directories. I once tried to understand the difference between sbin and bin and it turned out it’s is very subjective anyway. Good move!

  6. Lucain

    The Unix filesystem has changed a lot through the years, as long as new devices and protocols had been invented the filesystem had changed too.

    Also, there are slight differences between different Unix based operating systems, I.E. you can see the differences between a linux distro’s filesystem and a BSD based OS one.

    The Arch devs weren’t the first ones to do this move to /usr/bin Fedora did this almost a year before:

    I think, that the /usr rearragement is more implicated with systemd that anything else, but keep in mind that the Linux (and other unix systems) filesystem has been changing through time

  7. Dani Ortez

    The ‘…if it ain’t broke …’ is what has Windows in the state that it is in. For Linux to remain an excellent operating system, then the best thing to do is to find weaknesses and refine them as you go. Arch’s approach both addresses a weakness and puts forth a sensible plan and approach for moving forward. Bravo Arch!

  8. Tom Gundersen

    As other’s pointed out this idea originally came from some Fedora guys (it doesn’t really have anything to do with systemd though), and other distros are also making this change. I suppose we might be the first ones to take the idea all the way and also merge /usr/sbin into /usr/bin, but I believe everyone else will also do the same eventually.

  9. Um. You seem to have missed that Fedora did this over a year ago.

  10. Slackeee

    While I think that this is actually a good idea, Arch developers should stop talking about KISS. They lost that part of Arch with the change to “I am doing it all”-systemd.

  11. The reasoning, as one would expect from Unix, is both simple and logical.

    The ‘bin’ vs. ‘sbin’ directories depend on whether the binaries within are statically linked or not. While this normally matters very little to the average user on the system, the distinction becomes rather important if you are trying to recover a system after some sort of failure.

    This also, of course, explains the existence of the / and /usr duplication of ‘bin’ and ‘sbin’. It is possible (and in most systems also quite legal) for /usr to be mounted on its own filesystem. Thus there isn’t guarantee that any required binary would be available during startup unless they also resided on the / filesystem.

    This would then explain why sh is in /bin (it should be a static binary: ldd /bin/sh should show no dependencies) and why bash lives in /usr/bin/… sh is required during startup, bash would merely be a “nice to have”.

    Hope this un-muddies the water a bit… /grin

Leave a Comment