[racket] Racket on Centos?
George Neuner wrote on 01/17/2015 04:58 PM:
>
> On 1/17/2015 1:26 AM, Neil Van Dyke wrote:
>> Finally, cross your fingers, and test it on target VM.
>
> It's the "cross you fingers" part that worries me. I'd be happier if
> I knew others already had done it successfully. I've never worked
> with CentOS and it's been a long while since Redhat. I work with
> Ubuntu and occasionally with SUSE. Very different admin environments.
>
Two more important things I forgot to mention last night:
* Being CentOS, your target VM might require SELinux labeling. If so,
you *might* want to figure that out on your build machine rather than on
the target VM.
* You might need make sure Linux address space layout randomization is
not enabled, or face bizarre intermittent failures of your app. (This is
a general OS issue for some GC'd language runtimes, and might still be
with Racket, regardless of how Racket is built and packaged.)
Other than those two, if it's done the way I said, and the initial test
on the target VM is good, that's a reasonable approach, and you're
probably golden. (The alternative to copying install tree from a
mimicing system would be to make a good CentOS package, including
getting the version dependencies proper in face of future automatic
security updates and such, but that alternative might be significantly
more learning and work. You don't want a poorly-done CentOS package,
regardless of whether you or someone else made it. But if this is a
small intranet app or similar, client might not want to invest in making
sure they have a good CentOS package, rather than just having a solid
way of copying over a normal install tree from mimic system.)
RHEL (CentOS) is the most solid enterprise server distro, so no worries
there. It's just (last time I looked) more intimidating than other
popular distros, if you just want to do a naive, one-off install.
> My problem is the client's provider: they will give me any Linux I
> want but they only provide management services for CentOS.
(Just noting this in general for the email list...) Since client has
people who maintain the CentOS VMs, depending on how much control they
exercise, and how much they want to know or be responsible for, it might
be a courtesy/obligation to touch bases with sys-admins on what you're
doing. They also might be able to help you out (e.g., they make sure
that the CentOS library packages you need are installed, make sure that
things like address space randomization won't get turned on later,
inform you of any VM provisioning considerations, etc.), and they might
have requests (e.g., provide SELinux labeling, don't copy libraries into
standard directories, put Racket somewhere other than /usr/local/, don't
store your persistent data on a particular filesystem, etc.). Sys-admin
is often misunderstood and under-appreciated, but the quality of its
decisions and practices can have a huge impact on the success of your
project/organization, similar to the quality of the software
developers. (Also, touching base might tell you whether the sys-admin
is actually more a reactive-only type, which info might affect how you
advise client on how to manage an important app's hosting.)
Neil V.