• wvstolzing@lemmy.ml
    link
    fedilink
    arrow-up
    38
    ·
    4 months ago

    A pedantic thing to say, surely, but the title really should’ve been: “Linux Directory Structure” – ‘Linux filesystems’ (the title in the graphic) refers to a different topic entirely; the title of this post mitigates the confusion a bit, though still, ‘directory structure’ is the better term.

  • Leaflet@lemmy.world
    link
    fedilink
    English
    arrow-up
    86
    arrow-down
    3
    ·
    4 months ago

    I don’t get why this sort of picture always gets posted and upvoted when it’s wrong for most distros nowadays.

    • TrickDacy@lemmy.world
      link
      fedilink
      arrow-up
      12
      ·
      4 months ago

      Can you recommend one that is correct? I use pop_os (Ubuntu) and Arch. Kinda curious about either one

      • Leaflet@lemmy.world
        link
        fedilink
        English
        arrow-up
        35
        arrow-down
        1
        ·
        edit-2
        4 months ago

        Not aware of any correct pictures, but I can tell you what’s wrong with this one

        • /usr: explaining it as “Unix System Resources” is a bit vague
        • /bin: /bin is usually a symlink to /usr/bin
        • /sbin: /sbin is usually a symlink to /usr/sbin, distros like Fedora are also looking into merging sbin into bin
        • /opt: many, I’d say most, “add-on applications” put themselves in bin
        • /media: /media is usually a symlink to /run/media, also weird to mention CD-ROMs when flash drives and other forms of storage get mounted here by default
        • /mnt: i would disagree about the temporary part, as I mentioned before, stuff like flash drives are usually mounted in /run/media by default
        • /root: the root user is usually not enabled on home systems
        • /lib: /lib is usually a symlink to /usr/lib

        I would also like the mention that the FHS standard wasn’t designed to be elegant, well thought out system. It mainly documents how the filesystem has been traditionally laid out. I forget which folder(s), but once a new folder has been made just because the main hard drive in a developer’s system filled up so they created a new folder named something different on a secondary hard drive.

        • TrickDacy@lemmy.world
          link
          fedilink
          arrow-up
          5
          ·
          4 months ago

          Thanks for this. I’m always confused by the layout and this tend to stick to putting things in the same places, even if they’re wrong :)

        • Sips'@slrpnk.net
          link
          fedilink
          arrow-up
          3
          ·
          4 months ago

          On my distro(Bazzite), /mnt is only a symlink to /var/mnt. Not sure why, but only found out the other day.

          • Leaflet@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            4 months ago

            I’m using Silverblue and it also symlinks to /var/mnt. I don’t think it does that on traditional distros, like Fedora 40 Workstation.

            • LeFantome@programming.dev
              link
              fedilink
              arrow-up
              1
              ·
              4 months ago

              I assume it is because /var can be written to while the rest of the filesystem ( outside /home ) is expected to be read-only.

    • Kusimulkku@lemm.ee
      link
      fedilink
      arrow-up
      8
      arrow-down
      1
      ·
      4 months ago

      It seems handy when you’re learning about stuff but only when you haven’t learned enough to realize it’s not correct.

    • HereIAm@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      4 months ago

      Huh. I did as well. Like /use/bin was for user installed applications and such. You learn something everyday.

    • InverseParallax@lemmy.world
      link
      fedilink
      English
      arrow-up
      11
      ·
      4 months ago

      It did, let me explain:

      On the original (ie Thompson and Ritchie at Bell in 1969-71), I think it was a PDP-11, they installed to a 512kb hard disk.

      As their “stuff” grew they needed to sprawl the OS to another drive, so they mounted it under /usr and threw OS components that didn’t fit.

      https://landley.net/writing/unixpaths.pdf

      I’ve done the same, outgrew so you mount under a tree to keep going, it just never became a historical artifact.

    • jalkasieni@sopuli.xyz
      link
      fedilink
      arrow-up
      22
      ·
      4 months ago

      It is, this infographic is wrong. Or I guess technically some other standard could define it like the infographic, but the Filesystem Hierarchy Standard defines it as a secondary hierarchy specifically for user data.

      • Avatar_of_Self@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        ·
        edit-2
        4 months ago

        /usr used to be the user home directory on Unix…well most of them. I think Solaris/SunOS has always been /export/home as I recall.

  • Samueru@lemmy.ml
    link
    fedilink
    arrow-up
    13
    ·
    4 months ago

    I’m pretty sure sbin originally meant static binaries and not system binaries lol

  • SavvyWolf@pawb.social
    link
    fedilink
    English
    arrow-up
    4
    ·
    4 months ago

    If my /bin contains exe files, something has gone very wrong somewhere…

    Also, all these infographics are a sad casualty of the /usr/bin merge.

    • Sonotsugipaa@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      3
      ·
      4 months ago

      Nah, it’s just that /proc is incorrect - it contains information about running processes, as well as kernel data structures as visible by the process reading them.

    • BananaTrifleViolin@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      4 months ago

      No I thinks is basically right although could be better worded maybe

      /sys is virtual file structure for kernel system info

      /proc is virtual file structure of kernel process info

      My understanding is /proc came first but was abused/free for all and started being used for all sorts of non standard/process kernel access. So /sys was created with stricter rules to make it more standardised.

  • Grass@sh.itjust.works
    link
    fedilink
    arrow-up
    1
    ·
    4 months ago

    it usually seems more like whatever distro doing things however they want rather than following any standard