in reply to installing Perl (and other software) on multiple identical machines

This is a standard unix thing to do, and since Apple are now based around Darwin (a BSD clone) it should be simple (Caveat and full disclosure - not an apple boy, they may have done something to break this model - but its standard under any other Unix).

The following is what I'd do in BSD, Linux or any of the other Unices I've worked on.

Simply create your own stack in /opt directory. You do this using the "configure --prefix=/opt/stackname" option. Which creates everything under /opt/stackname. You end up with an /etc, a /var, and so on, all under you main dir. Then you just copy your stack (i.e. everything under the prefix). Assuming the boxes are genuinely identical then it will be fine.

This is also a good way for making software uninstalls easy - you just delete the ../stackname directory and you know you've got everything. (note though that if you do this you have to treat /opt the way you would /var, i.e. if you normally put /var on it's own partition so that logs (for example) don't fill up all your working space, then you should do the same to /opt)

Also given the next couple of comments I should say that this is, obviously, separate to package management systems.

  • Comment on Re: installing Perl (and other software) on multiple identical machines

Replies are listed 'Best First'.
Re^2: installing Perl (and other software) on multiple identical machines
by punkish (Priest) on Jul 01, 2009 at 16:20 UTC
    stevemayes, this is precisely what I was thinking. Since, user installed software, by default, ends up in /usr/local, esp. when using Gnu make and Autoconf, I thought I could just tarball /usr/local and copy it over to the other machines. For subsequent updates, as noted in another reply, I could rsync any updates from the "mommy" machine. In fact, as far as I can see, /usr/local/ ends up getting its own etc, include, lib, var and so on, mirroring the tree under /. My only worry about CPU architecture, (dual core Xeon vs. quad core Xeon), but that seems to be not a problem... after all, I routinely copy regular applications between machines... the only hitch is that one can't exchange applications between PowerPC and Intel.

    Perhaps threaded perl might be affected on multicore machines, but that is an area I know nothing about. And, I guess, if I have to ask, I should stay out of that mess completely anyway.

    I will go ahead with the above strategy... I will download and compile everything on one server, and when everything is working there, I will tarball/gzip the entire /usr/local/ directory and copy it over to the other machines and test there. If everything works, I am good.

    Many thanks all.

    --

    when small people start casting long shadows, it is time to go to bed