Posted on 07-29-2015 11:13 PM
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'.
Posted on 07-30-2015 12:49 AM
that was also my first thought...
Posted on 07-30-2015 01:45 AM
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
Posted on 07-30-2015 04:21 AM
I can think of a couple of reasons why /usr/local/jamf
, as opposed to /usr/local/bin/jamf
or /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/bin
or
/usr/local/sbin
. Conversely uninstalling Homebrew may also entail removing things from /usr/local/bin
or /usr/local/sbin
. By not putting the jamf binary into /usr/local/bin
or /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.
Posted on 07-30-2015 05:25 AM
I strongly disagree with @rtrouton. Why should JAMF care about Homebrew? The Homebrew stuff is correctly installed into /usr/local/bin
, /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/sbin
(/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 /usr/local
.
Let's stick to standards please!
Posted on 07-30-2015 05:59 AM
/usr/local/bin
isn'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/bin
or /usr/local/sbin
, it would create the crowded space no one wants.As @mthielemann said Stick to standards!
Posted on 07-30-2015 06:04 AM
Except those are Unix standards, not Mac OS X. Just because our platform of choice has unix underpinnings doesn't make it identical to unix.
Posted on 07-30-2015 06:10 AM
As I remember OS X is certified as a UNIX system so it should meet those standards.
Posted on 07-30-2015 06:16 AM
I take the same view as @mthielemann and @udopigorsch .
Now i am interested+ to hear the arguments+ from the JAMF Team @Jamfsoftware
Posted on 07-30-2015 06:16 AM
Except the Unix standard doesn't specify that set of folders.
Unix 03 Standards
Posted on 07-30-2015 06:18 AM
I hope JAMF engineering makes the right decision ...
Posted on 07-30-2015 06:30 AM
@franton but if you just type "man hier" in the terminal you may see that the BSD part of OS X also relies on FHS. So I think we should quit that conversation for now and wait for JAMF engineering. Then we'll see who is right ...
Posted on 07-30-2015 06:33 AM
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 /usr/local/jamf
, /usr/local/bin/jamf
etc...
Posted on 07-30-2015 06:33 AM
How about /Library/Application Support/JAMF/bin/jamf
? It's not like any of the proposed locations are included in the default $PATH
(well, except /usr/local/bin
).
;-)
Jokes aside, jamf
being found in the default path would be a big plus, either by using standard folders or by dropping a config file into /etc/paths.d/
.
Posted on 07-30-2015 06:40 AM
Hey everyone
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.
Posted on 07-30-2015 06:41 AM
Thanks a lot for doing it the right way.
Posted on 07-30-2015 07:21 AM
CasperCheck has now been updated with the correct path information:
Posted on 07-30-2015 08:42 AM
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.
Posted on 07-30-2015 04:52 PM
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.