Robin Laing wrote:
Christoph Wickert wrote:
Am Do, den 05.02.2004 schrieb Robin Laing um 16:50:
I like Fedora but I don't like that it doesn't follow the standards as laid down by the Filesystem Hierarchy Standard <http://www.pathname.com/fhs/index.html> for location of applications and files.
Could you give an example?
Christoph
Install Mozilla in fedora and it installs in /usr/lib/mozilla-x Install OpenOffice in Fedora and it installs in /usr/lib/openoffice
These are two major applications.
Now install the binaries from either download site (non-rpm) and they will install in /opt, not /usr/lib .
Looking at the fhs standards it states.
[quote] /usr/lib : Libraries for programming and packages Purpose
/usr/lib includes object files, libraries, and internal binaries that are not intended to be executed directly by users or shell scripts.
Applications may use a single subdirectory under /usr/lib. If an application uses a subdirectory, all architecture-dependent data exclusively used by the application must be placed within that subdirectory.
[/quote]
and
[quote] /opt : Add-on application software packages Purpose
/opt is reserved for the installation of add-on application software packages.
A package to be installed in /opt must locate its static files in a separate /opt/<package> or /opt/<provider> directory tree, where <package> is a name that describes the software package and <provider> is the provider's LANANA registered name.
[/quote]
From the standards it is clear that Fedora is installing OpenOffice and Mozilla in the wrong directories. I have not had a chance to check on a totally Fedora machine about various application ~/ config files.
One reason that I am looking at this as being a problem is from trouble shooting. If an application is supposed to install in /opt and Fedora installs it in /usr/lib, online info for the common user can just confuse the user.
Another concern of mine is in managing different OS's with common applications. Example between Gentoo and RedHat.
What about shared directories and links between different versions of Linux. This could be an issue if different distros put configuration files in different directories. An example here is Open Office again. In the users directory is .openoffice that has a link to /usr/lib/openoffice/program/soffice
Now if I want to share this /home partition between different distro's of Linux, the link could point to a non-existent file as OpenOffice will be installed in /opt/openoffice or /usr/local. Now how do I fix this problem easily?
I do admit that Fedora is following the standard that states an application can be fully put in a subdirectory of /usr/lib but as I said earlier, if you download the binary from Mozilla and install it, then it will install in the /usr/local/mozilla directory. Same with OpenOffice or most other applications that I have installed without using RPM's.
I for one want linux to become more mainstream but when I have problems and I can fix them it is one thing. When I try telling a new user that is trying Linux and he is finding that the documentation on the WWW site is pointing to a location that is not on his RH distribution, he starts wondering about the usefulness of this.
An example of what I am saying here is on this page.
http://www.mozilla.org/docs/end-user/guide/get-started.html#installing-on-linux
It references /usr/local/mozilla/plugins whereas on Fedora it would be /usr/lib/mozilla/plugins.
I may be nitpicking here but with reference to the article, I think it can become a problem in the scheme of things. I know around work since RH is dropping support for RH9 people are looking and trying different distros. As I was still on RH8, I became the first to try Fedora. I am also about to look at other distros. As my /home directory is on a NFS server, I have to look at compatibility between distros and this is one area that keeps showing up.
I hope this explains my comments in detail enough to be discussed.
Personally I find this all very interesting as before reading this thread I didn't even know that there was a spec about where to put things! Here are a few randomish thoughts.
On Windows you will see the typical installer ask to put a new program at "C:\Program Files\some-vendor-name" but you can change this to "e:\where-ever-ya-want" and the program will still install. However it now won't match the documentation -- does this confuse users too? (ans: yes, even though they chose to put it there)
I must admit that on more than one occasion I have installed something in Linux (via RPM and via "make install") and the docs indicate that it would go to /usr/local/bin/pgm-name but I find it in /usr/bin/pgm-name. What controls this? Is it an exported (or somehow retrieved) system setting, the RPM builder, the makefile author, or what? I have not viewed this an inhibitor to using RedHat, more like I thought it was my inexperience with Linux leading me astray.
Lastly, I have installed IBM's WSAD in RH9 and FC1 and it gets installed into /opt/IBM/... so I have to assume that the installer does have control over where things are installed. It was not an RPM install though.
So I guess that I do see some inconsistency but I don't see a problem...
Mike