Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , 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 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: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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