[Portland] Re: defending /opt/
Christopher Yeoh
cyeoh at samba.org
Wed Jul 19 17:03:34 PDT 2006
> George Kraft wrote:
> > James Richard Tyrer <tyrerj at acm.org>/* wrote:
> > */James Richard Tyrer <tyrerj at acm.org>/* wrote:
> >
> > With all these links, is there really any point in installing an
> > application in: "/opt/"? I suppose so, but I can't help but wonder.
> >
> > Here is the original FHS rationale.
> >
> > http://www.pathname.com/fhs/2.2/fhs-3.12.html
> >
> > What do you do if three different vendors want to install Java? The
> > /opt/vendor/product/ resolves that. What do you do if you want to
> > install multiple versions of the same product? What do you do if you
> > want to install both ppc32 and ppc64? The /opt/ isolates the vendor so
> > they only polute their namespace subdirectory. :-)
> >
> > http://lsbbook.gforge.freestandards.org/pack-adv.html
> >
> > In short, /opt/ is to protect /usr/ from insane 3rd party packages.
> >
> Yes, this is the rational. It is also why apps installed in: "/opt/" do
> not make links for their executables.
>
> IIUC, your method would defeat this rational since everything would be
> linked to: "/opt/bin/", "/opt/lib/", "/opt/man/", "/opt/<etc>/" and you
> are back to having collisions. This is what I said that all the links
> will defeat the purpose of installing in: "/opt/".
I think it would better if the links made for the executables in /opt
for /opt/bin, /opt/lib etc were made under the optional control of the
administrator installing the package. Analagous to how Debian handles
packages providing similar functionality and making the selection
through the /etc/alternatives mechanism.
This way you could have multiple packages installed, the /opt/bin
would merely be the default version used for the system, but with the others
still accessible.
> The method which OpenOffice uses works, however it would work just as
> well if it were installed in: "/usr/local/OpenOffice-<version>/". And
> Firefox and Thunderbird binaries do install in: "/usr/local/<app_name>/"
> -- for some reason they don't use a version number (go figure since
> you get folders with version numbers if you build Firefox from source).
/usr/local is meant to be used for locally compiled software, not
prepackaged binary packages.
Chris
--
cyeoh at au.ibm.com
IBM OzLabs Linux Development Group
Canberra, Australia
More information about the Portland
mailing list