We faced a similar issue in our local network: we have "project related" binaries (stuff that just doesn't go into /usr/local/bin on all the various machines) and these need to run from a "common path" on different OS's (solaris/sparc vs. freebsd/i386 vs. freebsd/amd64 etc) -- people using a given tool want to use it the same way, no matter which machine they happen to be sitting in front of.
I don't know if this will help for your case, but the method we came up with was something like this:
- There's a disk volume on a central file server that is mounted on all machines; it contains a path I'll call "/common" (we actually call it something else, but the point is, it's different from /usr).
- There's a default, shared .bashrc that just about everyone includes in their shell login/startup process, and it includes, among other things, "/common/bin" being part of PATH.
- In that central disk volume (mounted everywhere), /common/bin is actually a symbolic link to /etc/common/bin (given that /etc is always "local" to every machine, or to the "netboot" path for each diskless workstation).
- In that same central /common path, besides the symlink pointing into /etc, we also have actual subdirectory paths like 'arch/sol_s64/bin", "arch/bsd_i386/bin", "arch/bsd_amd64/bin"; this is where we install binaries that don't belong in /usr/bin or /usr/local/bin, and we build for each distinct platform in the appropriate subpath.
- Now, each machine is built with its own /etc/common directory, and inside that, we have a symlink called "bin", which points back to the particular "/common/arch/xxx_xxx/bin" appropriate to the given machine.
Setting it up and keeping things straight as new machines are brought online is pretty simple once you get used to it, and maintaining the different binary installations is something we'd have to do in any case -- this arrangement actually makes that part a little easier to manage, I think.
The same basic approach also covers "/common/lib" and a few other things where different versions of files need to be sorted out according to what kind of machine is using them.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.