Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

22
  • 122
    /usr/local, for self, inhouse, compiled and maintained software. /opt is for non-self, external, prepackaged binary/application bundle installation area. Hmmm...we do not have C:\program files for everything ;-) Commented Feb 2, 2012 at 12:49
  • 6
    "On the other hand, /opt is a directory where to install unbundled packages" What does 'unbundled' packages mean here? Commented Aug 16, 2015 at 1:54
  • 7
    @KevinWheeler That is explained in the next sentence. Unbundled means packages not part of the Operating System distribution but provided by an independent source. Commented Aug 16, 2015 at 1:59
  • 2
    @jlliagre the centos docs* state "For instance, if the /usr/ directory is mounted as a read-only NFS share from a remote host, it is still possible to install a package or program under the /usr/local/ directory" I don't know who is right, but this seems to be in contradiction to your claim about an area where FHS is weak. (*source centos.org/docs/5/html/5.1/Deployment_Guide/…) Commented Dec 6, 2015 at 11:44
  • 12
    I'll add that by default /usr/local/bin is on the PATH while the /opt/<package>/bin folders will not automatically be added to the PATH. So when I install a pre-built software, I put it in /opt but I will add a symlink for it in /usr/local/bin if I need to start it from the command line. Commented Nov 1, 2020 at 8:21