Quote:
Originally Posted by
sudon't
I am told it's mostly like FreeBSD.
Frankly, i haven't ever used FreeBSD either. In fact, machines which occupy less than 1m³ of space are not to my liking.
Quote:
Well, we want ruby1.9 as the target file, right? Shouldn't it be the opposite?
Actually, no. We want "ruby1.9" to be reachable also via "ruby", so we have to create a link from the source "ruby1.9" to the target "ruby". At least this was what i had in mind. For a test i wanted to do as little change to the system as possible and hence the link instead of shuffling around files.
Quote:
Here's a couple thoughts I've had:
Will it break anything if I simply change the names? Change ruby to ruby1.8, and change ruby1.9 to ruby? I guess it would likely break ports.
No, it probably will not break anything, but again: as long as i am less than 101% sure what i do and which consequences it will have i try do be as reversible as possible, therefore the idea with the link. In practice your idea will do the same but in a wee bit more intrusive way.
In general a systems administrator should avoid changes to the system like the plague. This is why self-written utilities go to
/usr/local/bin instead of
/usr/bin: to avoid mixing system-provided executables and your own. This way your system stays as "clean" as possible and you never will experience version problems, when newer system tools overwrite your hand-hacked ones during a version upgrade.
Quote:
It never occurred to me that the names were the problem. I wonder why they attached the version number to the filename in this case?
Probably for the same reason: avoiding version conflicts. When you have a binary "ruby", which is in fact "ruby v1.8" and you replace it with another binary which is "ruby v1.9" it might be that some program using it depends on some feature ruby 1.8 exhibits and ruby 1.9 doesn't. You are in deep kimchi in such a case.
Some programs (java under AIX for instance) install every version into a different path and use environment variables to select a certain version. Others have the version included in their executable's names and create a link to the "normal" name with the default version: there will be
/usr/bin/prog1.0,
/usr/bin/prog1.1 and
/usr/bin/prog2.0 and a link
/usr/bin/prog which points to, say,
/usr/bin/prog2.0. Every program using "prog" will be directed to prog2.0 but every other version can be used too by selecting it explicitly. To change the default one just removes the link and creates it anew pointing to another version.
Quote:
Well ok, enough of that. I'll no doubt be back once I've had a chance to look closely at this scrabble-solver script. It doesn't look much like a ksh script, but I can already see it looks in the wrong place for the dictionary.
Good. I am looking forward to. Post the script (or relevant parts) and we go over it.
I hope this helps.
bakunin