0

I have seen seemingly contradictory advice on installing software downloaded from the internet. On the one hand, people install software using the ./configure make make install combo (such as this question. On the other hand, I have followed other advice to just download the package, unarchive, then copy into /usr/bin (which worked for PhantomJS).

Why do we have different ways to do this?

Another related question is, for the second method of copying files into /usr/bin, sometimes people create a link to the files in /usr/local. What's the difference from directly copying in to /usr/bin?

Heisenberg
  • 667
  • 1
  • 6
  • 20

2 Answers2

1

The installation method defers from one app to another
Read the instructions inside the .tar.bz2 Archive, there should be a README or INSTALL file inside it.

Dzero
  • 3,178
1

The FHS says this:

  • /opt is for third-party applications that don't rely on any dependencies outside the scope of that package.
  • /usr/local is for packages installed on the machine outside the scope of the distribution package manager.
  • /usr/bin/: Non-essential command binaries (not needed in single user mode); for all users.

Why do we have different ways to do this?

Because Linux is all about choice. Thing is... iinstalling software like this probably means it is intended for another operating system. So the installation method is probably the one adviced for that operating system.

Another related question is, for the second method of copying files into /usr/bin, sometimes people create a link to the files in /usr/local. What's the difference from directly copying in to /usr/bin?

  • Copying the file to /usr/bin/ would have you have 2 files instead of 1. So an admin needs to keep track of 2 versions of that executable. And since that is unneeded.

  • And who is going to decide what name everyone gets to use when putting commands in /usr/bin/?

  • How do you know where the file in /usr/bin/ is comming from in 1 year time? If you link there is a clear connection.

Rinzwind
  • 299,756
  • For the second question, what I meant was why don't we just move everything into /usr/bin? Why do we have stuff in /usr/local then make a link? – Heisenberg Nov 04 '13 at 01:48
  • and who is going to decide what name everyone gets to use when putting commands in /usr/bin/? @anh – Rinzwind Nov 04 '13 at 07:49