167 lines
9.1 KiB
HTML
167 lines
9.1 KiB
HTML
<!--startcut ==============================================-->
|
|
<!-- *** BEGIN HTML header *** -->
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
<HTML><HEAD>
|
|
<title>Linux Installations Paths LG #93</title>
|
|
</HEAD>
|
|
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#0000AF"
|
|
ALINK="#FF0000">
|
|
<!-- *** END HTML header *** -->
|
|
|
|
<!-- *** BEGIN navbar *** -->
|
|
<A HREF="ecol.html"><< Prev</A> | <A HREF="index.html">TOC</A> | <A HREF="../index.html">Front Page</A> | <A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue93/lechnyr.html">Talkback</A> | <A HREF="../faq/index.html">FAQ</A> | <A HREF="yuan.html">Next >></A>
|
|
<!-- *** END navbar *** -->
|
|
|
|
<!--endcut ============================================================-->
|
|
|
|
<TABLE BORDER><TR><TD WIDTH="200">
|
|
<A HREF="http://www.linuxgazette.com/">
|
|
<IMG ALT="LINUX GAZETTE" SRC="../gx/2002/lglogo_200x41.png"
|
|
WIDTH="200" HEIGHT="41" border="0"></A>
|
|
<BR CLEAR="all">
|
|
<SMALL>...<I>making Linux just a little more fun!</I></SMALL>
|
|
</TD><TD WIDTH="380">
|
|
|
|
|
|
<CENTER>
|
|
<BIG><BIG><STRONG><FONT COLOR="maroon">Linux Installations Paths</FONT></STRONG></BIG></BIG>
|
|
<BR>
|
|
<STRONG>By <A HREF="../authors/lechnyr.html">David Lechnyr</A></STRONG>
|
|
</CENTER>
|
|
|
|
</TD></TR>
|
|
</TABLE>
|
|
<P>
|
|
|
|
<!-- END header -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
<html>
|
|
<body>
|
|
<h1>Linux Installation Paths</h1>
|
|
<p>When installing software, many people are confused. "Should I install in /usr/sbin? /usr/local?
|
|
/usr/local/packagename?" The additional belief in "one right way" to install software adds to this confusion. In
|
|
this short article, it is hoped that some of these confusions can be illuminated so that the user can make an informed
|
|
choice.</p>
|
|
<p>The <a href="http://www.pathname.com/fhs/">Filesystem Hierarchy Standard</a> (FHS) is a reference on how to manage a Unix
|
|
filesystem or directory hierarchy. Unfortunately many people assume it is a standard and/or tutorial, which is opposite of
|
|
their mission statement. The FHS is a subset of the <a href="http://www.linuxbase.org">Linux Standard Base</a> (LSB), which
|
|
promotes a set of standards to increase compatibility among Linux distributions and enable software applications to run on any
|
|
compliant system. However, whether intentional or not, these standards tend to be adopted by <em>Linux distribution vendors</em>
|
|
rather than by <em>software package maintainers</em>.</p>
|
|
<p>Take, for example, <a href="http://www.samba.org">Samba</a>. The default installation directory for Samba is
|
|
<code>/usr/local/samba</code>. Many people <a href="http://www.google.com/search?q=violate+fhs">complain</a> that this sort of
|
|
thing violates the FHS. What they fail to realize is what we have stated above: The adoption of the FHS seems to be encouraged
|
|
in Linux distribution vendors rather than with Linux software maintainers. It is somewhat uncertain as to why this is and
|
|
whether it is intentional or not. Regardless, the effect ends up being not unlike a dog barking at its own tail -- the audience
|
|
is complaining about one thing when it was never the focus of attention in the first place. Whether intentional or not is a
|
|
moot point at best; this is how it currently is playing out.</p>
|
|
<p>The installation location for many software packages is traditionally steeped in <a href="http://groups.google.com/groups?selm=94pcbt%2417u3%241%40FreeBSD.csie.NCTU.edu.tw&oe=UTF-8&output=gplain">historical precedence</a>. Many software maintainers assert that they install in <code>/usr/local/packagename</code> not out of any method
|
|
or philosophy, but rather because "we've always done it that way". And in the world of well-tuned software, if it
|
|
isn't broke, it isn't fixed.</p>
|
|
<p>Not that I disagree. Historical precedence is an important aspect. Alternately, the FHS has some excellent ideas towards
|
|
<a href="http://www.pathname.com/fhs/2.2/fhs-1.1.html">standardizing the location of installed files and directories</a>.
|
|
However, it is just simply that: a philosophy without encouragement of compliance. In neither focusing or encouraging their
|
|
philosophy on software package maintainers nor Linux distribution vendors, the reaction to the FHS from the Internet community
|
|
seems to reflexively be from the <em>distribution vendor</em>. In truth, this is part of the problem.</p>
|
|
<p>Focus on FHS compliance, whether intentional or not, should be placed on the software developers. This will clear up some of
|
|
the more traditional problems. For example:</p>
|
|
<blockquote><strong>Example 1: Before the advent of the FHS</strong>
|
|
<br>
|
|
A user installs RedHat Linux. After some time, she decides to upgrade one of the software packages by hand. No file location
|
|
conflicts exist, as the installation location under RedHat Linux for each software program is determined by the software
|
|
vendor. Packages installed in /usr/local/packagename will be replaced by files in the same location.</blockquote>
|
|
<blockquote><strong>Example 2: After the advent of the FHS</strong>
|
|
<br>
|
|
A user installs RedHat Linux. After some time, he decides to upgrade one of the software packages by hand. However, his
|
|
software package is installed in /usr/bin and /usr/sbin along with variable data files in /var/lib/packagename. The upgraded
|
|
software package he just downloaded installs everything by default into /usr/local/packagename. Being an average Linux user, he
|
|
is somewhat perplexed by what conflicts this may introduce into his system and is unsure how to proceed.</blockquote>
|
|
<p>Personally, I think we're focusing on the wrong angle for FHS-compliance. An alternate future reality, which would be
|
|
much better, would be:</p>
|
|
<blockquote><strong>Example 3: In the future</strong>
|
|
<br>
|
|
A user installs RedHat Linux. After some time, she decides to upgrade one of the software packages by hand. No file location
|
|
conflicts exist, as the installation location under RedHat Linux for each software program is determined by the FHS-compliant
|
|
software vendor (and not by RedHat). RedHat itself makes no modifications to the installation defaults for each software
|
|
package. Packages installed in on the system, whether by RPM or compiled by hand, will replaced files on the system in the
|
|
exact same location.</blockquote>
|
|
<p>With the upcoming release of version 2.3 of the FHS, it becomes even more important that we focus on the right issues. If we
|
|
are to succeed at minimizing confusion in the world of installable Linux software, we need to not only focus on our philosophy
|
|
and method but also on the correct audience. Hopefully, this article has helped make you more aware of the issues at hand.</p>
|
|
<hr>
|
|
<p>Some of the many distributions that attempt to maintain LFH-compliance include:</p>
|
|
<ul>
|
|
<li><a href="http://qa.debian.org/fhs.html">Debian</a></li>
|
|
<li><a href="http://linuxfromscratch.org">Linux From Scratch</a></li>
|
|
<li><a href="http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/ref-guide/s1-filesystem-fhs.html">Redhat</a></li>
|
|
<li><a href="http://www.sco.com">SCO (formerly Caldera OpenLinux)</a></li>
|
|
<li><a href="http://www.slackware.com/info/">Slackware</a></li>
|
|
<li><a href="http://www.suse.com">SuSE</a></li>
|
|
<li><a href="http://www.turbolinux.com">TurboLinux</a></li>
|
|
<li><a href="http://www.unitedlinux.com">UnitedLinux</a></li>
|
|
</ul>
|
|
</body>
|
|
</html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- *** BEGIN author bio *** -->
|
|
<P>
|
|
<P>
|
|
<!-- *** BEGIN bio *** -->
|
|
<P>
|
|
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
|
|
<em>
|
|
David Lechnyr is a Network Administrator for the Human
|
|
Resources department at the University of Oregon. He holds a Master's Degree in Social Work along with his MCSE+I, CNE, and
|
|
CCNA certifications. He has been working with Linux for the past seven years, with an emphasis on systems security, network
|
|
troubleshooting, and PHP/MySQL integration. He is also the author of the <a href=
|
|
"http://hr.uoregon.edu/davidrl/samba/">Unofficial Samba HOWTO</a> and the <a href=
|
|
"http://hr.uoregon.edu/davidrl/lamp/">Linux+Apache+MySQL+PHP HOWTO</a>.
|
|
</em>
|
|
<br CLEAR="all">
|
|
<!-- *** END bio *** -->
|
|
|
|
|
|
|
|
|
|
<!-- *** END author bio *** -->
|
|
|
|
|
|
<!-- *** BEGIN copyright *** -->
|
|
<hr>
|
|
<CENTER><SMALL><STRONG>
|
|
Copyright © 2003, David Lechnyr.
|
|
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
|
|
Published in Issue 93 of <i>Linux Gazette</i>, August 2003
|
|
</STRONG></SMALL></CENTER>
|
|
<!-- *** END copyright *** -->
|
|
<HR>
|
|
|
|
<!--startcut ==========================================================-->
|
|
<CENTER>
|
|
<!-- *** BEGIN navbar *** -->
|
|
<A HREF="ecol.html"><< Prev</A> | <A HREF="index.html">TOC</A> | <A HREF="../index.html">Front Page</A> | <A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue93/lechnyr.html">Talkback</A> | <A HREF="../faq/index.html">FAQ</A> | <A HREF="yuan.html">Next >></A>
|
|
<!-- *** END navbar *** -->
|
|
</CENTER>
|
|
</BODY></HTML>
|
|
<!--endcut ============================================================-->
|