Clueless re Java: /opt vs. /usr/local

Thread Tools Search this Thread
Operating Systems Linux Fedora Clueless re Java: /opt vs. /usr/local
# 1  
Old 12-09-2013
Clueless re Java: /opt vs. /usr/local

It seems this is a oft debated item, that's over my head.

So here's what I've got:
Java 7 set up at /opt/ but I really want it at /usr/local...

What have I done?

Have: Debian 7 (whezzy) with gnome, so what do I do to set things back where it should be?

I guess this is a hot topic according to these two who made some good points....I'm having issue getting Hadoop happy bc I followed the /opt path for Java and I think /usr/local is what it's looking for...

---------- Post updated at 02:59 PM ---------- Previous update was at 12:04 PM ----------

Think I got it, just needed to set the PATH

Can now run jpsSmilie
# 2  
Old 12-15-2013
The debate about "/opt" versus "/usr/local" boils down to the following:

In Unix the layout of the filesystem is more or less fixed. Every file, executable or not, should have its designated place where it has to go. This only as an afore.

The Linux initiative came up with an attempt to further codify this already long-used "best practice" and published the "Filesystem Hierarchy Standard".

I won't comment on the other parts of the document, just the part dealing with "/usr/local" and "/opt":

"/opt" is where all application should go. For every application there should be a subdirectory with its name (and optionally manufacturer) and in that a directory with its version. The "foo" application of the "bar" company in version 1.23 would go to "/opt/bar/foo/1.23", for instance. The executables for this software should be in "/opt/bar/foo/1.23/bin" with optional links to "/opt/bin" to avoid a convoluted PATH.

"/usr/local" is the place for all the OS extensions the administrator wants to have at this particular system. As "/usr" (short for "Unix Software Resources") is under the sole discretion of the OS provider this is the only place that should be modifyable by the SysAdmin. Still, this should be limited to OS-relevant utilities, not for applications in their own right. You might place a third-party "ssh"-client there or "gzip", but not, for instance, "MySQL".

Having said that: if you put java into "/usr/local" or into "/opt" is a question of if you see it as an application in its own right or merely a system tool. There is no "correct" answer to that, just your sensible decision about what best describes its usage on your system.

I hope this helps.

# 3  
Old 12-15-2013
A word of caution regarding the FHS. It is quite an old document. Many distributions, led by Fedora, are moving away from this standard as far as /usr/bin, /bin, /usr/sbin, /sbin and other OS-specifc directories are concerned.

However the intended purpose for /usr/local and /opt has not changed over the years.
# 4  
Old 12-16-2013
As an addition to Buknin's post /opt is considered as "static" (vs dynamic ) and so any data variable or dynamic files for the application's configuration etc should be played in /var/opt/<app-name>, it has its importance if you have limited time frame for e.g. backups, you know that what is important to you on a daily basis check is in /var/opt for all your applications which should be save with your data...
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Red Hat

Process not running: /opt/java15/jdk/bin/java -classpath /opt/apache/apache-ant-1.7.0-mod/lib/ant-la

Have no idea on what the below error message is: Process not running: /opt/java15/jdk/bin/java -classpath /opt/apache/apache-ant-1.7.0-mod/lib/ant-launcher.jar -buildfile build.xml dist. Any help? (3 Replies)
Discussion started by: gull05
3 Replies

2. BSD

FreeBSD: /usr/bin/ld not looking in /usr/local/lib

I'm not sure if this is the default behavior for the ld command, but it does not seem to be looking in /usr/local/lib for shared libraries. I was trying to compile the latest version of Kanatest from svn. The script seems to exit without too much trouble: $ ./ checking... (2 Replies)
Discussion started by: AntumDeluge
2 Replies

3. Shell Programming and Scripting

/usr/local/bin/expr function not working

Legends, I am not able to set "expr" function in ksh script. Below is the sample code i used, and output is as "Syntax error" Please help me to come out of it. OUTPUT (9 Replies)
Discussion started by: sdosanjh
9 Replies

4. OS X (Apple)

sudo chown -R `whoami` /usr/local

I was following a tutorial on installing Homebrew and I changed the ownership of /usr/local/ to me. Now McAfee Security won't start This is the exact line I typed: sudo chown -R `whoami` /usr/local Then I tried to fix it with: sudo chown -R root /usr/local I still can't start mcafee. It say... (7 Replies)
Discussion started by: chancho
7 Replies

5. AIX

/usr/local/bin/cvs: Not found

I can able to access /usr/local/bin/cvs in the terminal (AIX 6.1 Box). but i am getting the "/usr/local/bin/cvs: Not found " when i call it from the script. please some one assist me what maybe problem (6 Replies)
Discussion started by: hifirockz
6 Replies

6. UNIX for Dummies Questions & Answers

Difference between /opt and /usr/local.

Hello Gurus, Can any one explain me the difference between /opt and /usr/local. When should we use them. Can we link with any directory in windows I mean similarity between unix and windows. (7 Replies)
Discussion started by: rama krishna
7 Replies

7. UNIX for Dummies Questions & Answers

/usr/local/lib is not searched by by default?

it seems that /usr/local/lib is not searched by by default in fedora14. If so, why some software put its lib files in /usr/local/lib? eg: glib and gtk+. (6 Replies)
Discussion started by: vistastar
6 Replies

8. Solaris

Questions about /usr/local/bin & scripts.

Hi gentlemen. For what intended is the directory /usr/local/bin? In this directory are some script. I don't understand how these scripts being in this directory are started. Each time after registration of the user occurs start of these scripts. These scripts start applications. (7 Replies)
Discussion started by: wolfgang
7 Replies

9. BSD

configure /usr/local/etc/be-agent.cfg

hi Howto configure Ralus at /usr/local/etc/be-agent.cfg on freeBSD 7.0 for Backup Exec 9.1? I've tried the following: # cat /usr/local/etc/be-agent.cfg name bsd.domain export / as root export /usr as usr export /var as var export /tmp as tmp force_address tell... (0 Replies)
Discussion started by: ccc
0 Replies

10. Programming

/usr/bin/ld: warning:, needed by /opt/openmpi/lib/, may

hello, i get these warnings on make(ing) /usr/bin/ld: warning:, needed by /opt/openmpi/lib/, may conflict with /usr/bin/ld: warning:, needed by /usr/lib/gcc/x86_64-redhat-linux6E/4.3.2/../../../liblapack.a, may conflict with... (1 Reply)
Discussion started by: sreekar
1 Replies
Login or Register to Ask a Question