why JAMF Software moving the location of the jamf binary to /usr/local/jamf instead of /usr/local/sbin/jamf?
The original idea behind '/usr/local' was to have a separate local '/usr' directory on every machine besides '/usr'.
Good point. I think this was a typo. I heard the jamf binary will be located in /usr/local/bin/jamf. Just wonder why they put in in bin instead of sbin ...
BTW: Here is the original post about the new location for the jamf binary: https://jamfnation.jamfsoftware.com/discussion.html?id=15299#responseChild94212
I can think of a couple of reasons why
/usr/local/jamf, as opposed to
/usr/local/sbin/jamf, is a good idea.
Homebrew coexistence - Homebrew is going to be installed on a lot of Macs which Casper will be installed on. Homebrew installs into
/usr/local and many Homebrew packages install stuff into
/usr/local/sbin. Conversely uninstalling Homebrew may also entail removing things from
/usr/local/sbin. By not putting the jamf binary into
/usr/local/sbin, potential conflicts with Homebrew (and folks who use Homebrew) can be avoided on Mac OS X 10.7.x and later.
El Capitan and
/usr/local - As the only
/usr directory not locked down by System Integrity Protection on OS X 10.11.x,
/usr/local is likely going to get crowded. By having
/usr/local/jamf at the top level of
/usr/local, the jamf binary is likely to avoid future potential conflicts like that mentioned above for Homebrew.
I strongly disagree with @rtrouton. Why should JAMF care about Homebrew? The Homebrew stuff is correctly installed into
/usr/local/sbin etc. If you want to uninstall those stuff YOU and not JAMF have to make sure that you remove the correct items from those folders. BTW: It is most likely that there is other non-Homebrew stuff in these folders.
According to Filesystem Hierarchy Standard (FHS), the binary should reside in
/usr/local/bin would be ok as well). It is really uncommon to put stuff directly into
/usr/local. I checked a few of our Red Hat Servers and Fedora machines and none of them has executable files directly in
Let's stick to standards please!
/usr/local/binisn't a dedicated space for Homebrew, it's a standard directory for various binaries. Besides that I doubt that Homebrew will be installed on more than just a tiny amount of devices managed by Casper.
/usr/local/sbin, it would create the crowded space no one wants.
As @mthielemann said Stick to standards!
FWIW, I have seen how closely JAMF work with Apple and trust that they will put the binaries in the most appropriate location.
I would make an assumption (dangerous I know!) that the vast majority of the JAMF community will be satisfied that Casper continues to function from 10.11 onwards, regardless whether it's
/Library/Application Support/JAMF/bin/jamf? It's not like any of the proposed locations are included in the default
$PATH (well, except
jamf being found in the default path would be a big plus, either by using standard folders or by dropping a config file into
Sorry for the confusion. I commented on the other post that I had that may have started the confusion as well.
The new full path is /usr/local/bin/jamf. Thanks for keeping the conversation going.
As one of the pedants who asked to get the “hier” man page updated (when its last update was before 2007), I would have preferred /usr/local/sbin over /usr/local/bin.
But, as Apple says in that man page, it’s “a historical sketch of the filesystem hierarchy.” Decision made, it works, move along.
For those wondering
/bin This directory contains executable programs which are needed in single user mode and to bring the system up or repair it. /sbin Like /bin, this directory holds commands needed to boot the system, but which are usually not executed by normal users. /usr/bin This is the primary directory for executable programs. Most programs executed by normal users which are not needed for booting or for repairing the system and which are not installed locally should be placed in this directory. /usr/local This is where programs which are local to the site typically go. /usr/local/bin Binaries for programs local to the site. /usr/local/sbin Locally installed programs for system administration.