Hey, I’ve recently designed a Poster about the FHS since I often forget where I should place or find things. Do you have any feedback how to make it better?

Edit: Put up new version

Dark mode

Dark mode

  • SciPiTie @iusearchlinux.fyi
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    1 year ago

    This is really helpful, thank you!

    I never understood why the shareable /usr is parent to the non shareable /usr/local. Wouldn’t a /usr/shared be way easier especially in the early network days?

    If anyone has a link or some insights into this historical nitbit I’d highly appreciate it!

    • Markaos
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      No comment on sensibility, but technically both are equally difficult - mount the parent filesystem, then mount the child filesystem into an empty directory in the parent. Doesn’t matter which one is where, it’s all abstracted away at this level anyway.

      • SciPiTie @iusearchlinux.fyi
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        But when I mount a shared /usr on a remote machine it will always have the mount point /usr/local as empty folder - and either have an empty folder or have a mount target that is dependent on a network resource - that’s why for me it’s so unintuitive.

        But then again I started with network stuff way more than a decade after all this got created 🤣

        • Markaos
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          I think the idea at the time was that if /usr is unavailable, you won’t be doing much with the system anyway (other than fixing the configuration).

          Nevermind, apparently the original meaning had nothing to do with a network (TIL for me), so our discussion is kinda moot. See section 0.24 in this 2.9BSD (1983) installation guide

          Locally written commands that aren’t distributed are kept in /usr/src/local and their binaries are kept in /usr/local. This allows /usr/bin, /usr/ucb, and /bin to correspond to the distribution tape (and to the manuals that people can buy). People wishing to use /usr/local commands are made aware that they aren’t in the base manual.