[racket] Serving multiple, read-only Racket versions?
Jukka Tuominen wrote at 10/24/2011 12:06 PM:
> I wonder if it's possible to place multiple, read-only Racket versions on a
> server and have users executing them directly without needing to install
> them individually? I think this is possible, but I'd like to know for sure
> that it won't cause any unexpected problems.
Yes, I have been doing this for years, including on production servers,
by building with the "--prefix" argument to "configure". For example,
on this laptop, at the moment, I have:
ls -ld /usr/local/racket-*
drwxr-sr-x 6 root staff 4096 Sep 29 08:55 /usr/local/racket-5.1.2
drwxr-sr-x 6 root staff 4096 Sep 25 06:21 /usr/local/racket-5.1.3
drwxr-sr-x 6 root staff 4096 Sep 26 18:32 /usr/local/racket-5.1.3.10
drwxr-sr-x 6 root staff 4096 Oct 10 23:56 /usr/local/racket-5.2.0.1-nightly
(Eli has a somewhat different way of accomplishing this same thing; you
might prefer to search the mail archive for his way. This has come up
multiple times before.)
> Does this sound feasible? I understand that initial PLaneT libraries may
> take time to download and are placed into home directory (version handled?).
My understanding is... Yes, the PLaneT libraries are installed in the
user's home directory. Each such PLaneT package's installation is
specific to the Racket version by which it was installed, and multiple
such versions can be installed simultaneously. Note that these Racket
version numbers are the official Racket version numbers, not any other
version number you might use in directory names in "/usr/local".
> One possible threat is to manipulate source code with a newer program
> version and make it inaccessible thereafter for the older versions?
You will have to look closely at security. Depending on the nature of
your system, the current version of PLaneT might not be secure enough
as-is. If it's not secure enough, but you still desire to use it in
some way, you could layer your own security atop it. You could also
talk with PLT people and me about how the next big version of PLaneT
could address the specific issues you see.
--
http://www.neilvandyke.org/