delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/01/24/23:23:32

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
X-Authentication-Warning: tweedle.cabbey.net: cabbey owned process doing -bs
Date: Wed, 24 Jan 2001 22:21:10 -0600 (CST)
From: Christopher Abbey <cabbey AT bresnanlink DOT net>
X-Sender: cabbey AT tweedle DOT cabbey DOT net
To: cygwin AT cygwin DOT com
Subject: RE: Questions about Cygwin's setup...
In-Reply-To: <5C838890A2EDD411AFB2009027CC67091A2B76@cupex3.rational.com>
Message-ID: <Pine.LNX.4.21.0101242139540.20724-100000@tweedle.cabbey.net>
MIME-Version: 1.0

Dave,
	We do something like that at work... there is one installed tree
out on the LAN (equivalent of c:\cygwin\, call it n:\cygwin_cur\ *) that
we all mount stuff out of. This then can be updated by any of us, and
everyone gets the new code. The only problem we've really seen is if
I'm running something and you want to update it you're SOL because
I've got the dlls locked. The "solution" to this was to move to a
readonly file system to access the files, and a second share that was
read-write to update them. This works nearly 100%, the problem that
has sometimes been seen is that if I have a dll loaded and one it
depends on gets replaced with an incompatible version before I load
it... kaboom. The solution to this that some of us have adopted is
that instead of remotely mounting the network share, we periodically
mirror a local copy.
	The setup method we use to get a new machine going into this
environment is basically to run setup but not install anything (like
DJ suggested, run it in an empty dir and say install from local). Then
mount /bin, /lib, /sbin, /usr, /usr/bin, /usr/lib, and a couple local
directories to the right network mount point, shallow copy /etc, make
/tmp and /var and finally remount / to our local directory.

(* in reality there are two, _cur and _tst ;)

	That said, I have a prefered method I use at home to keep my
three machines happy. Setup a network share to keep the tarballs in,
periodically use the download from internet option to refresh that
collection (and unless you've got the space, periodically manually weed
out the old tarballs.) and save a copy of setup.exe in that location.
If you want you could use mirror or something to keep it up todate.
Also create a directory called "isCurrent" (or whatever).
	Then do an install on each machine by running setup from the
share, and using UNC for the paths with the install from local directroy.
After you've done the initial setup you can update automatically like
this:

if exist \\computer\share\cygwin\isCurrent\%COMPUTERNAME% goto :amCurrent
net stop inetd
\\computer\share\cygwin\setup.exe
echo "" > \\computer\share\cygwin\isCurrent\%COMPUTERNAME%
net start inetd
:amCurrent

personally I have this in the top of the cygwin.bat file
so it checks the currency whenever I start cygwin. You could also
put this in a manualy executed file, although I'd remove the if test
for that (but not the creation of the file). Obviously the inetd
stuff can be removed if you don't have it on the machine, and know 
you won't be putting it on (or will remember to put it back if you
do). Oh, and in case it isn't obvious you would delete all the files in
the isCurrent directory when you update the tarballs on the server,
or at least when you do major updates. and the use of UNC everywhere
allows you to do this without tying up some driver letter with a
mount point, in a multi user environment you're bound to piss off
someone that doesn't want you taking any letters away from them.
(there's a guy down the hall at work that has 25 drive letters in use,
he'd have all 26 if he could just make use of b:... ;)  speaking
of multi user... if it were my tree I'd make all but isCurrent ro.

	I hope that give you some ideas... to answer your basic question,
yeah, it's doable....

-- 
now the forces of openness have a powerful and
  unexpected new ally - http://ibm.com/linux


--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019