Article View: comp.sys.next.sysadmin
Article #820Re: Vendors Considered Evil (Re: Perl use over NFS)
From: David Ross
Date: Mon, 31 Aug 1992 15:55
Date: Mon, 31 Aug 1992 15:55
61 lines
3449 bytes
3449 bytes
In article <2ttyzz=@rpi.edu> gad@eclipse.its.rpi.edu (Garance A. Drosehn)
writes:
> kochmar@sei.cmu.edu (John Kochmar) writes:
> > fwp@CC.MsState.Edu (Frank Peters) writes:
> >
> > You've gotta be kidding, right? You're not advocating that perl be
> > placed in /usr/bin so that scripts you pick up from who-knows-where
> > will run without modification, right?
> >
> > I got the same response from someone else in private mail. Since I
> > don't make a habit of picking up a script and running it without
> > checking it over, I don't see changing the #! at the beginning to
> > be that big a deal.
>
..
>
> If I write a cool script that runs on my NeXT, I certainly don't want to
> edit it to run on a Sun, an HP, an RS6000, or (gasp) aix370 just because
> each platform has it's own favorite place to stuff scripting-languages
like
> perl. I have enough headaches without trying to keep synchronized 6
copies
> of every script I feel like writing, with the only difference being
where
> the silly interpretter lives.
Okay, I'm putting on my preacher clothing... *preach on*!
No no no no no. Don't put ANYTHING in /usr/{bin,etc,lib,man} - put all
locally installed modifications in /usr/local! Don't even put symbolic
links in /usr/bin! It's more work for you, it's confusing for the users
when you do an upgrade and you forget to recreate a link, and it's
completely unnecessary if you are consistent!
We have something of a Sys Admin guidebook where we have agreed to certain
conventions. One is all local additions to the system go in the
/usr/local hiearchy. This applies to ALL vendor platforms.
What I did was ensure all users have /usr/local/bin in their path and I
modified my default .cshrc so that all new users got it as well. C
compilers all seem to look in /usr/local/lib by default. The man pages
are a bit trickier, but again changing the .cshrc to add /usr/local/man to
the MANPATH environment variable has fixed that.
No one has mentioned the case where you run out of room in /usr/local and
have to put a package in say, /u0. I had to do this. Now to make the
command findable, I did have to put a symbolic link somewhere in
everyone's path. What did I use? Not /usr/bin! /usr/local/bin!
Now when we do an upgrade, a simple "restore /usr/local" and zowie, we
have all local mods to the system restored and no extra work to do. No one
as ever complained since then that they can't find a particular command.
Perl is not a standard UNIX distribution - don't assume it is. All perl
scripts should start with #!/usr/local/bin/perl!
*preach off*
--
David A. Ross, Programmer Analyst | dave@nakiska.ucs.ualberta.ca
Computing and Network Services | (NeXTmail accepted)
352 Gen Serv Bldg, Univ of Alberta | Phone: (403) 492-9339
Edmonton, Alberta, Canada T6G 2H1 | Fax: (403) 492-1729
Technical Details
Message-ID:
<1992Aug31.155516.24977@kakwa.ucs.ualberta.ca>Path:
arc1-ca.pugleaf.net!sparky!uunet!destroyer!ubc-cs!unixg.ubc.ca!kakwa.ucs.ualberta.ca!newsReferences:
<2ttyzz=@rpi.edu>Show Full Headers
Complete Article Headers
Newsgroups: comp.sys.next.sysadmin Path: arc1-ca.pugleaf.net!sparky!uunet!destroyer!ubc-cs!unixg.ubc.ca!kakwa.ucs.ualberta.ca!news From: dave@nakiska.ucs.ualberta.ca (David Ross) Subject: Re: Vendors Considered Evil (Re: Perl use over NFS) Message-ID: <1992Aug31.155516.24977@kakwa.ucs.ualberta.ca> Sender: news@kakwa.ucs.ualberta.ca Nntp-Posting-Host: nakiska.ucs.ualberta.ca Organization: University Of Alberta, Edmonton Canada References: <2ttyzz=@rpi.edu> Date: Mon, 31 Aug 1992 15:55:16 GMT Lines: 61