🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.next.sysadmin
Article #820

Re: Vendors Considered Evil (Re: Perl use over NFS)

#820
From: David Ross
Date: Mon, 31 Aug 1992 15:55
61 lines
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!news
References: <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