Does the UNIX filesystem hierarchy need to be changed?

Not a complete rework, but maybe some improvements? It is a little outdated.

CRIME Shirt $21.68

Yakub: World's Greatest Dad Shirt $21.68

CRIME Shirt $21.68

  1. 1 month ago
    Anonymous

    what's wrong with it?

    • 1 month ago
      Anonymous

      Nothing is wrong with it, not change is needed. OP is a moron.

    • 1 month ago
      Anonymous

      nothing, but that is not how these types of people operate or care about

      >/bin is a symlink to /usr/bin
      systemd's worst mistake. /bin should be the main one, /usr/bin is the redundant weird thing. Same with other dirs like /lib.

      still systemd free here

      [...]
      Their reasoning is that having the main OS under /usr makes it easy to mount the whole OS as a single unit. Having a dozen top-level directories makes that more annoying. Poettering has a few blog posts about mixing and matching OSes with /home and /etc this way, and it's also how gpt-auto-generator works.

      if only we had a system for this, a local folder to handle system local binaries and such. Also, if only we could rebind directories of mount remote file systems or gasp, mount /home and /etc independently..... It's bullshit but not surprising from Poettering. NIH has always been his driver.

  2. 1 month ago
    Anonymous

    >/bin is a symlink to /usr/bin
    systemd's worst mistake. /bin should be the main one, /usr/bin is the redundant weird thing. Same with other dirs like /lib.

    • 1 month ago
      Anonymous

      Kek, u really think systemd invented /usr/bin?

      • 1 month ago
        Anonymous

        No. systemd was the on who said we don't need both /bin and /usr/bin. So they made /bin a symlink to /usr/bin. Which I think is the wrong way around.

        • 1 month ago
          Anonymous

          Fair enough. But, distros usually install packages under /usr so it makes sense.

          • 1 month ago
            Anonymous

            Where they install it doesn't matter. Unless they do something special, it's transparent to them.

          • 1 month ago
            Anonymous

            Did you just argue against your original point?

          • 1 month ago
            Anonymous

            No? I can say that systemd did it the wrong way around, even if it doesn't matter that much in the end.

    • 1 month ago
      Anonymous

      >/usr/bin is the redundant weird thing. Same with other dirs like /lib
      I dropped Arch many years ago because of their moronic idea to make /lib a symlink to /usr/lib which broke a lot of shit. All because one of their devs had /usr autism.

    • 1 month ago
      Anonymous

      No. systemd was the on who said we don't need both /bin and /usr/bin. So they made /bin a symlink to /usr/bin. Which I think is the wrong way around.

      Their reasoning is that having the main OS under /usr makes it easy to mount the whole OS as a single unit. Having a dozen top-level directories makes that more annoying. Poettering has a few blog posts about mixing and matching OSes with /home and /etc this way, and it's also how gpt-auto-generator works.

  3. 1 month ago
    Anonymous

    What would you change and why? It was already outdated in the 90s and we've been chugging along just fine.

  4. 1 month ago
    Anonymous

    Yeah all we need to do is
    >Remove everything except /var /home /run and /tmp
    >Add /nix/store

    • 1 month ago
      Anonymous

      you mean FHS? it should completely be removed and the /nix/store come into linux.

      >”Oh, yeah, all of our stuff is hosted on Microsoft Github and Amazon S3, uhh, please donate to keep us operational!”
      >”Heres the last hack I did to get my Nix stuff working, good enough for the wiki.”
      >”Hmm, looks like you’re doing something complicated. Better join our DISCORD SERVER and ask for help!”
      >”Graphics acceleration? Aren’t you using NixOS?”
      >”Oh, yeah these docs are for Nix flakes. Oh whats the difference? Ok so basically we had an RFC process and there are flakes and traditional Nix and none of us can agree on what to use and-“

      Folks, there it is. The future of package managaement!

  5. 1 month ago
    Anonymous

    You can't fix perfection.

  6. 1 month ago
    Anonymous

    >/bin
    >1.5k+ files in one dir
    this makes my mind shake. conventionally it can only be where you simply throw shit and forget about it.

    • 1 month ago
      Anonymous

      I only have 100, wtf are you doing?

      • 1 month ago
        Anonymous

        you probably don't have a merged /usr. check the file count in /usr/bin

    • 1 month ago
      Anonymous

      I only have 100, wtf are you doing?

      4k+ for me.

    • 1 month ago
      Anonymous

      i mean, it IS called 'bin'

    • 1 month ago
      Anonymous

      Unless you are manually placing shit in /bin, it shouldn't really matter though.

      • 1 month ago
        Anonymous

        >it shouldn't really matter though
        yeah, it doesn't. it just seems strange to bypass the ascription of meaning in directory hierarchy.

  7. 1 month ago
    Anonymous

    /tmp should definitely be partitioned into user-specific sub directories. How much pain and bullshit did Unix and Linux go through, just because it's shared between all users? We have the sticky bit (who of you knew it before), dozens of functions to generate temporary filenames (some which are inherently buggy, some which work), and it still doesn't work right.

  8. 1 month ago
    Anonymous

    You can't improve anything because contrarians just complain about everything you fix.

    >no you can't take away floppy disk support files, because *I* still use them on my ancient 333mhz computer, THANK YOU

    There are still people using HDDs. Think about that. We've had SSDs for decades.

    >no i NEED the /opt directory, chud
    >change is le bad

    • 1 month ago
      Anonymous

      >change is le bad
      In RHEL, you're goddamn right it is. You want an end-user testbed, run Fedora.

    • 1 month ago
      Anonymous

      You shouldnt be using Linux.

    • 1 month ago
      Anonymous

      >no i NEED the /opt directory, chud
      sudo mkdir /opt

      If you have a problem with this, it's no longer a matter of "change is le bad" - you're infringing on the owner's freedom and property rights.

    • 1 month ago
      Anonymous

      >There are still people using HDDs. Think about that. We've had SSDs for decades.
      and HDDs still have better reliability if you don't cheap out on them. also, frick systemd

      • 1 month ago
        Anonymous

        >better reliability
        grug buy sas drives
        no care about fast

        • 1 month ago
          Anonymous

          >SAS
          why? do you actually use SCSI features or are you dumb? SATA with multidrop is more than suitable for locally attached storage. I don't understand this meme.

          • 1 month ago
            Anonymous

            >multidrop
            What is that? Not him, but my main problem with SATA is that it needs a full PC main board with a lot of SATA ports. I'd rather have something light-weight ethernet connected, but that stuff is out of reach if it even exists in the form I want.

          • 1 month ago
            Anonymous

            I was using the caveman wojack meme to mock people who don't use SSDs. You know, cavemen, stoneage, outdated, etc. Spinning platters in 2024? They are heavier than bricks, and slow. Put your data on tapes if you're concerned with long term storage.

    • 1 month ago
      Anonymous

      I still use opt with shasum based paths for globally unique paths. user namespaces are powerful enough that you can basically fuax mount them too. It's a sorta win-win.

  9. 1 month ago
    Anonymous

    >maybe some improvements
    That already happened.
    https://wiki.debian.org/UsrMerge
    Debian followed suit after Red Hat did that.
    https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/
    There's your improvement.
    /thread

  10. 1 month ago
    Anonymous

    >Does the UNIX filesystem hierarchy need to be changed?
    Yes

    • 1 month ago
      Anonymous

      Damn, that looks comfy

  11. 1 month ago
    Anonymous

    FHS is fine.
    Now, a million of dotfiles in user home dir is outright moronic.

    • 1 month ago
      Anonymous

      That's what .config is for, so you have a million normal files or directories there.

      • 1 month ago
        Anonymous

        That would be better, but now wehave half a mil dotfiles in home and another half in .config instead.

        • 1 month ago
          Anonymous

          [...]
          picrel

    • 1 month ago
      Anonymous

      That's what .config is for, so you have a million normal files or directories there.

      picrel

      • 1 month ago
        Anonymous

        I rarely use vim or zsh so that leaves a total of 5 dotfiles that I actually `need` to be in ~. Most programs that place shit in home can have their config locations changed with environment variables.

        • 1 month ago
          Anonymous

          >environment variables
          Which are another hot mess.

          • 1 month ago
            Anonymous

            not really, just set them in your shell profile / rc file once and you're good. Usually documented in programs' manpages.

        • 1 month ago
          Anonymous

          Right, let me just add a thousand of env vars and keep looking out for new ones each time I install a random new package.
          Programs should look for config in .config, THEN look for one in $HOME for compatibility sake and make it in xdg config dir by default.

          • 1 month ago
            Anonymous

            I agree that it can be annoying but it's not hard, you don't need to have dozens of dotfiles in ~. Most of the programs I use follow the XDG spec anyways, only a few require environment variables to move them out of home.

      • 1 month ago
        Anonymous

        # ls -la | grep "." | wc -l
        55
        #ls -la .config | wc -l
        108
        It is getting better, but is still annoying.

        • 1 month ago
          Anonymous

          that's a heck of a lot, just out of interest would you care to show me what's in ~? I'm sure you can clean that up some.

          • 1 month ago
            Anonymous

            Also if you're trying to check for files with a leading dot I would add a '^' to the beginning of the grep regex, otherwise "file.txt" will also get matched

      • 1 month ago
        Anonymous

        I like it, thanks for sharing

  12. 1 month ago
    Anonymous

    All the replies in this thread and not a single mention of GoboLinux?
    https://gobolinux.org/

    • 1 month ago
      Sneedy Pie

      isn't it just an abstraction on top of the normal fhs with a bunch of symlinks

      • 1 month ago
        Anonymous

        I understand that it was the other way around: the new organization is the real thing, but then it links to the traditional locations for compatibility.

    • 1 month ago
      Anonymous

      >Windows-like
      It's shit.

      • 1 month ago
        Anonymous

        More like macOS-like, which is also an Unix that hides its unixness from the user.

        • 1 month ago
          Anonymous

          osx randomly deletes things i put in /tmp
          >truly hidden

          • 1 month ago
            Anonymous

            seems like things that go in /tmp are temporary or something. are you one of those people that stores all their mp3s in the recycle bin?

        • 1 month ago
          Anonymous

          >man

        • 1 month ago
          Anonymous

          >that hides its unixness from the user.
          We don't want normalgays to use linux what don't you understand? Use gayOS then.

          • 1 month ago
            Anonymous

            All Unixes are normalgay OSs. Literally for wagies. Windows actually has fun programs.

    • 1 month ago
      Anonymous

      are they still on linux kernel version 3?

    • 1 month ago
      Anonymous

      I'd just like to interject for a moment. What you're refering to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.

      Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called Linux, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.

      There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called Linux distributions are really distributions of GNU/Linux!

  13. 1 month ago
    Anonymous

    Environment vars is the real cancer on Loonix. On Windows at least know I where they are set.
    Loonix, not so much. Could be bashrc or profile, could be /etc/profile, could be pam.d faak

  14. 1 month ago
    Anonymous

    They tried it already. It didn't do enough to justify switching.

    • 1 month ago
      Anonymous

      namespaces ftw

    • 1 month ago
      piggyanon

      speaking of plan 9 i found this
      Apparently harveyOS got retired and they decided to make a rust version of plan9.
      >17% assembly
      lmao

  15. 1 month ago
    Anonymous
    • 1 month ago
      Anonymous

      This
      It was always a nonsense and a mess
      Like most Unix shit. We are not using a pdp11 with storage limitations

    • 1 month ago
      Anonymous

      Thanks Linus you fricking hack.

      • 1 month ago
        Anonymous

        >predated Linux
        Also Linus doesn't deal with userspace.

    • 1 month ago
      Anonymous

      Why didn't they just invent unions mounts?

    • 1 month ago
      Anonymous

      I understand wanting to separate user-installed binaries from system binaries, and I suppose the same for libraries, but even after reading I still don't understand why most of the folders exist. Why separate bin and sbin? Why separate home and usr? Why multiple temp folders?

      • 1 month ago
        Anonymous

        sbin should be called sys_bin
        bin && usr/bin should be combined into user_bin

  16. 1 month ago
    Anonymous

    Frick off Lennart

  17. 1 month ago
    Anonymous

    i dislike that systemd has service files in both /usr/lib/systemd and /etc/systemd/system/

  18. 1 month ago
    Anonymous

    /lib
    /usr/lib
    /usr/share/lib
    /usr/local/lib
    /var/lib

  19. 1 month ago
    Anonymous

    agreed
    mnt? proc? this is 2024, it needs a xim/xir and troony
    where's the representation? fricking nazis

    • 1 month ago
      Anonymous

      you can mnt me, nonny

  20. 1 month ago
    Anonymous

    /
    /root
    /boot
    /etc
    /etc/dev
    /etc/var
    /etc/proc
    /etc/opt
    /home
    /home/usr
    /home/usr/sbin
    /home/usr/sbin/64
    /home/tmp
    /mnt
    /run
    /sys
    /srv

    • 1 month ago
      Anonymous

      Ooops, missed one.

      /etc/dev/opt

  21. 1 month ago
    Anonymous

    https://gobolinux.org/doc/articles/clueless.html

    • 1 month ago
      Anonymous

      >because we believe there should be no standard.
      a certified moron.

      • 1 month ago
        Anonymous

        HDDs are fast enough unless you're forced to use bloatd

        • 1 month ago
          Anonymous

          fugg, meant for

          >better reliability
          grug buy sas drives
          no care about fast

  22. 1 month ago
    Anonymous

    The benefit from not changing forever is that nobody expects stuff like this to change any time soon. Cиcтeм иc фaйн.

  23. 1 month ago
    Anonymous

    If you understand userspace, FHS is a meme anyhow. you can do whatever the frick you want.

  24. 1 month ago
    Anonymous

    Yes, cut down all the redundant shit. /usr/sbin and /usr/bin for instance

  25. 1 month ago
    Anonymous

    >remove /usr/
    I believe it literally was just a extra directory they used to mount a extra hard drive to. It has no use case that /var/ or /etc/ does not fill
    >remove /proc/
    that should just be done via syscalls
    >remove /root/ and move it to /home/root
    >remove /opt/
    >remove /srv/
    not even used on my system
    >remove /sbin/
    too many programs get put there that can be run by a non-root user with no problem. debian also does not include it in PATH by default which is aids

    I think that should be it

    • 1 month ago
      Anonymous

      /proc/
      >that should just be done via syscalls
      this. most the linux fake filesystems are absolute shit anyway.

    • 1 month ago
      Anonymous

      /proc/
      >that should just be done via syscalls
      this. most the linux fake filesystems are absolute shit anyway.

      Do you fricks even know about /sys?
      Even if you invented a syscall interface to do the same thing, they'd also have to use hierarchic names or IDs to access all the damn key/value pairs they offer. Your solution would either look similar to the filesystem interface, or it'd be bloated as frick.
      I'm curious to hear what you're suggesting.

      • 1 month ago
        Anonymous

        >Do you fricks even know about /sys?
        yes I do.
        everything is a file is a big meme.

        • 1 month ago
          Anonymous

          >everything is a file
          It came from times when things like terminal and file interfaces were not unified. Nobody said everything should be a file. Network interfaces are not, sockets are not (sockets are file handles but you don't create them by opening a file).

          • 1 month ago
            Anonymous

            Somebody definitely said "everything is a file". This was before sockets.

        • 1 month ago
          Anonymous

          NTA and I don't know what you're on about. sysfs is one of my favorite parts of Linux.

    • 1 month ago
      Anonymous

      >remove /root/ and move it to /home/root
      and what if your remote /home mount fails and need to log in as root to fix it? yeah, that's why /root is separate.

      • 1 month ago
        Anonymous

        You can log in as root without /root. You'll get put in / and obviously won't have access to your epic dotfiles.

    • 1 month ago
      Anonymous

      /proc/
      >that should just be done via syscalls
      this. most the linux fake filesystems are absolute shit anyway.

      >better use syscall
      So you claim that it is better to have some other complex shit instead of a common abstraction over objects.
      Lets imagine that you really made that syscall, now show me how you would change cmdline of some proccess, hide other, make these syscalls be unavailable to some users etc.

      Ah yes, you could do all that shit with mount namespaces, but you prefer SYScalls, so lets have an yet another level of isolation and shit codes that does the same with stupid overhead because of 2.5 Black folk who never touched procfs

  26. 1 month ago
    Anonymous

    It's fine as is. Also IQfy don't have the discipline to change it even if they wanted to.

  27. 1 month ago
    Anonymous

    The /usr directory was the 'user' directory originally, like /home, and on the early UNIX systems you could find good programs shared under /usr/dmr etc, eventually leading to non-system programs being under /usr/bin.
    So if you're going to update things get rid of /usr, it's properly vestigial at this point.

    • 1 month ago
      Anonymous

      The story I've been told was that /usr served the function of /home, and /home didn't exist
      And /usr and / lived on different disks, so when the / disk got full they started putting stuff in /usr instead
      And then eventually they bought a third disk and moved user files to /home

      • 1 month ago
        Anonymous

        Sounds about right

  28. 1 month ago
    Anonymous

    you mean FHS? it should completely be removed and the /nix/store come into linux.

  29. 1 month ago
    Anonymous

    OP here, this is my idea, open to suggestions.

    /boot - Files needed to boot; kernels, bootloader, etc.
    /dev - Device files; null, sda, etc.
    /config - System wide configuration files.
    /home - User home directories.
    /mount - Mounted drives, filesystems, etc.

    /system - System files.
    /system/var - Variable files.
    /system/run - Runtime information.
    /system/proc - System proccesses.
    /system/srv - Site specific data.
    /system/sys - Kernel view of the system.
    /system/tmp - Temporary files.

    /programs
    /programs/sys-programs - Essential programs needed for system function.
    /programs/usr-programs - Non-essential programs.
    /programs/flatpak - Flatpak install location.
    /programs/snap - Snap install location.
    /programs/other - Other programs not installed normally.

    /libraries
    /libraries/sys-libraries - Essential libraries needed for system function.
    /libraries/usr-libraries Non-essential libraries.

    • 1 month ago
      Anonymous

      For clarification, you have /system as containing "system files". What system files? I see programs, libraries, and configs already exist elsewhere.

      I've always felt that there should be a dedicated storage directory for incidental outputs of programs, e.g. caches and logs. Something I dislike about the FHS is how programs will store these things in ~/.cache, ~/.local/state, ~/.program-name, /var/cache, /var/db/, /var/log, /var/program-name, whatever is going in with /var/tmp, ...

      It reminds me of hunting all over for config data or video game saves or something back in Windows. Is it in Program Files? Documents? AppData? Etc. There were so many "I guess it makes sense to put it here" options that consensus and consistency became impossible in practice.

      • 1 month ago
        Anonymous

        Programs, libraries and configs are installed software, system files are logs, caches, runtimes, etc.

  30. 1 month ago
    Anonymous

    The point of the FHS is backwards compatability. Saying that it is outdated is missing the point.

  31. 1 month ago
    Anonymous

    >/nix/store
    Looks fine to me

  32. 1 month ago
    Anonymous

    Ultimately, whether the Unix file system hierarchy needs to be changed is a matter of personal preference and the specific needs of the system and its users. Some alternative distributions, like GoboLinux, have experimented with different structures, but the traditional hierarchy remains widely used due to its proven reliability and the extensive ecosystem built around it.

    • 1 month ago
      Anonymous

      >but the traditional hierarchy remains widely used due to its proven reliability and the extensive ecosystem built around it.
      It's because of hardcoded paths that prevented people from changing things. Unix "heritage" is just someone doing something stupid and making it so other people can't fix it.

      why cant it have normal names? do they do this to make it harder to use the system or because its old?

      Because Unix was a hack. Originally it had one level of directories, then they added a hierarchical file system. It wasn't designed, it just grew over time. /usr was literally because Unix got too bloated and they had to keep some files on the user disk with people's home directories. A lot of this was because random people from different companies wrote code and Unix just bundled it all together. This is also why Unix commands have different conventions for parameters.

      • 1 month ago
        Anonymous

        >Because Unix was a hack. Originally it had one level of directories, then they added a hierarchical file system. It wasn't designed, it just grew over time.
        I fully agree. Unix/POSIX/Linux are full of historically grown flaws and wrong decisions. Yet, somehow, it managed to be better than Windows and actually seems to have LESS legacy baggage than Windows.

      • 1 month ago
        Anonymous

        >Because Unix was a hack.
        In the end all comes to this. People should stop the myth of unix, it was a hack used to tinker instead of the serious os of the time
        That linux in the 90s repeated the same mistakes is moronic

  33. 1 month ago
    Anonymous

    why cant it have normal names? do they do this to make it harder to use the system or because its old?

  34. 1 month ago
    Anonymous

    What would you call the root of the file tree? Bikini Bottom?
    >BikiniBottom/pineapple/user/homosexual/OPBlog.sh

  35. 1 month ago
    Anonymous

    >Changing what already works is a troony mentality
    Change my mind

  36. 1 month ago
    Anonymous

    haven't nix already tried that? everyone was/is upset

  37. 1 month ago
    Anonymous

    Changing something just because something seems "outdated" is how we ended up with shit like Rust, Wayland and systemd.

    • 1 month ago
      Anonymous

      The issue is that the Unix world is spread over different populations with distinct use cases. For an extreme alternative, look at Apple - they almost entirely (as far as I know) cater to enterprise and domestic users. These people don't expect their machines to last more than a few years before being replaced, though they could, and are willing to constantly upgrade the OS or other features. On the one hand, this makes Apple's work easier because they don't have to worry much about backwards compatibility or older hardware. The necessary trade-off is that someone can't buy an Apple device and plan to use it as a server for 20 years, because it will fall out of support from upstream relatively quickly.

      Part of the Unix community uses it as a stable, broadly cross-compatible family of systems that can be upgraded or maintained indefinitely, for machines and servers that last a long time. These people want an enforced and compatible FHS, coreutils, POSIX-compatible shells, etc. The other part are computing enthusiasts and home users, who are more akin to Apple users on this front. Most would rather have newer, saner design and not be as worried about compatibility with 50-year old machines.

      Programs, libraries and configs are installed software, system files are logs, caches, runtimes, etc.

      Then it bothers me that the hierarchy isn't strict. For example, /proc, /sys, and /tmp are in /system and all happen to be ephemeral directories whose contents can be expected to be on volatile storage that won't survive a reboot. That in and of itself is nice and consistent, because I can do something like set an exclusion pattern against /system/* for backups and other scripts. But then you have /system and (presumably) /system/var, where as I understand it you would be holding logs and caches that would survive restarts and would likely be stored on a hard drive.
      In my opinion, part of the appeal of a hierarchy is that properties and assumptions about directory A should hold true for A/* as well.

  38. 1 month ago
    Anonymous

    would be enough if every program saved shit in the same folder instead of one program using /opt/ and the next /usr/ or even (may god have mercy) /etc/

Your email address will not be published. Required fields are marked *