Menu

program locations

2001-04-28
2001-10-18
  • Jason Schwefel

    Jason Schwefel - 2001-04-28

    First and foremost, I think we should set a standard for where ALL programs (packages) should go. (Exceptions being things like single file (not including libraries) ones like cp and the like) All libraries (and make symlinks to the other *common* dirs, etc, etc and etc.

    Comments anyone?

     
    • Kelledin

      Kelledin - 2001-04-28

      My standard practice is to put the stuff needed at boot time in /bin and /sbin, and other stuff in /usr/bin and /usr/sbin.  Also, every WM gets its own directory under /opt.

      Stuff should be put in /lib only if it is required by stuff in /bin and /sbin.

      System config files is a gray area; I tend to favor putting most config files in /etc, but every file in /etc takes up space on the root fs.

       
      • Jason Schwefel

        Jason Schwefel - 2001-04-28

        Good comments kelledin. We definately need to come up with a fs layout

        I am going to post a few tasks for this and the software packages. Going to have a couple of each, to get people to work in parallel.

         
    • Anonymous

      Anonymous - 2001-04-29

      Maybe following some of the BSD guidelines would be a good idea for determining program locations. Overall, the *BSDs directory layout is well thought out. Here's some of the main points. For the complete run-down, check "http://www.freebsd.org/cgi/man.cgi?manpath=FreeBSD+4.3-RELEASE" and look up "hier."
      - /bin and /sbin are for system-vital commands that are needed for both single-user mode (i.e. when /usr won't be mounted) and multi-user mode (includes fsck, mount, sh, mv, cp, ls, etc.)
      - there is no /lib because the binaries in /bin and /sbin are statically linked.
      - /usr contains pretty much everything that is for multi-user mode (programs, X11R6, shared libraries, docs, etc).
      - specifically, /usr/local contains software outside of the base distribution (i.e. KDE, abiword, most WMs, etc.) In FreeBSD, this usually means any of the programs found in the ports collection.
      - /etc is for all the config files of the base system (network interfaces, system bootup scripts, base system daemons like cron, etc). /usr/local/etc is for config files that are for programs outside of the base system (samba, squid, etc).

      IMHO, the most important part is that, whatever the layout may be (even if it doesn't follow any of the BSD layout ideas), is that it is strictly set up so that there is no question about where to put a program. Not only will it make it easier for developers, but it will make it easier for the user to make sense of.

       
      • Anonymous

        Anonymous - 2001-06-08

        Might I recommend we consider following Daniel Quinlan's proposed File System Standard (FSSTND). You can read more on it at

        http://www.pathname.com/fhs/1.2/fsstnd-toc.html

        At sometime in the near future, most if not all current (and future) linux distributions will be adhering to this proposed standard.

        Just a thought...

        Gord

         
    • Michael Lauzon

      Michael Lauzon - 2001-06-19

      Actually, it would be preferable to follow the LSB.

      Michael

       
      • Kelledin

        Kelledin - 2001-06-24

        That's what I'm planning on so far.  Since the FHS is actually a part of the LSB, that makes it easier.

        Since there are a great many packages (*cough*lesstif*cough*hack*) that don't install in an FHS-compliant manner, that makes it harder.  So far, though, I've been able to patch everything up to reasonable FHS compliance.

         
        • Eric Schellhammer

          I'd agree to follow the FHS.
          As to the version, FHS 2.3 is *expected* to be completed
          some time around April 2002, but I suppose FHS 2.2 will do nicely.

           

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.