Saturday, March 23, 2019

command line - Linux: which is "most appropriate" directory to place an exectuable for all users?


A bit of newb question.. I usually install packages and don't worry about these things.


But, now I have a one file executable CLI program (Kindlegen from Amazon). I want it to be in the path of all users on the computer.. from whatever directory they may be in.


Question: which is the most appropriate linux directory to put the kindlegen file into?


(Amazon's directions were to place in your own home directory and use a custom command to start it.. that's not how I want to do it)


I was thinking /bin or /usr/sbin would be best. Similar Q led to /opt and /localusers.. with symlinks.. which seems laborious, especially for a simple CLI program.


(I'm running Linux Mint)


Thanks!


Answer



Use /usr/bin or /usr/local/bin.


The latter is usually used for additional software that you install, to keep it separate from what the system provides out of the box and is probably the technically correct choice.


However, the former is more commonly on the PATH by default and might therefore be easier to use.


/bin is primarily for essential system software required in single-user mode.


See the Filesystem Hierarchy Standard or its Wikipedia article for more information.




/opt is for software packages (usually with many files and its own directory hierarchy), and a single binary hardly makes it a package.


No comments:

Post a Comment

hard drive - Leaving bad sectors in unformatted partition?

Laptop was acting really weird, and copy and seek times were really slow, so I decided to scan the hard drive surface. I have a couple hundr...