--- Forwarded Message from Joseph Kautz <[log in to unmask]> --- >Date: Wed, 7 Aug 2002 15:00:46 -0700 (PDT) >From: Joseph Kautz <[log in to unmask]> >To: LLTI-Editor <[log in to unmask]> >Subject: Re: Fwd: #6773.2 Language Lab (!) >In-Reply-To: <[log in to unmask]> We use a program called Assimilator for reimaging Macs. We have gone almost all PC though since OS X's multilingual capability os so limited for now. On the PCs we use Ghost. Best - Joseph On Wed, 7 Aug 2002, LLTI-Editor wrote: > --- Forwarded Message from "Jason Filice" <[log in to unmask]> --- > > >Date: Wed, 07 Aug 2002 09:31:33 -0700 > >Subject: Re: Fwd: #6773 Language Lab > >To: [log in to unmask], [log in to unmask], [log in to unmask] > >Cc: [log in to unmask] > >From: "Jason Filice" <[log in to unmask]> > > ------------------ > > >--- Forwarded Message from Aleta Anderson <[log in to unmask]> --- > > > >>Date: Tue, 6 Aug 2002 12:02:00 -0700 > >>To: [log in to unmask] > >>From: Aleta Anderson <[log in to unmask]> > >>Subject: Language Lab > > > >Does anyone have any ideas about daily (or weekly) restoring hard drives > >in > >a lab? We are hesitant to try RevRDist, as it may not work with both > >Macintosh OS 9 and OS X on the machine. The graphics program (with whom we > >share the lab) will be using OS X, but the language programs do not work > >in > >OS X, even in the Classic mode. > > > >It would be very convenient to be able to run a program that would restore > >the language part of the disk, removing all applications and files that > >have been added by individuals over the week. Please let us know your > >thoughts and experience. > > > ======================================= > > There are several options for keeping a lab hard drive refreshed, even if > you want it to be free. As with most things, you'll have to work a little > harder for the free stuff--in this case that mostly means writing some > AppleScript. I will assume that your booting Mac OS 9 and into Mac OS X > with Classic mode. If you don't need Classic mode while booted into OS X, > it simplifies things considerably; more on that later. > > *Mac OS 9 booted* > If you have or are able to get Mac OS X Server, then the easiest solution > for the OS 9 environment would to boot into Netboot for the classes that > need it. In that way you never have to worry about maintaining an OS 9 > load set that needs to be refreshed, because all you have to do is > re-Netboot the Macs. The added benefit is of course that when you no > longer need to boot into OS 9, you can repurpose the Server as a web > server or the dozens of other things OS X Server can do. > > If you need to do things on the cheap and do not have an OS X Server, then > I suggest you go with Mac OS 9's built-in Multiple Users abilities to > create a restricted account (not panels), which you can optionally have > automatically log in when the Mac starts up. Alternately, you can use > some third party software, as we do, such as FoolProof or On Guard. I've > had more success with On Guard than with FoolProof, but that's another > email. > > When it comes to keeping the software refreshed, the Multiple Users or > third party solution will allow you to keep users from changing everything > except the individual applications' preference settings, any documents > that you allow the user to save to the hard drive (such as in the local > disk's Documents folder), and possibly the Mac's chosen desktop printers > (because most labs leave the Chooser accessible, even though Network > Browser works perfectly well--it can even connect to FTP servers if you > start the address with ftp://). > > *Refresh OS 9 with AppleScript* > A solution is to delete the contents of such Documents folder and to > refresh the contents of the Preferences folder. I believe RevRDist could > provide this, as well as Apple's Network Assistant, but I like to use an > AppleScript to do it. The advantage of using AppleScript over RevRDist > (and the sometimes unreliable and spotty Network Assistant) is that > AppleScript can delete and recreate desktop printers, while using > something like RevRDist will require knowing exactly what visible and > invisible files in the System Folder need to be refreshed, and even then > the printer's icon (for those who care about such things) tends to revert > to the generic printer icon. Also, you could use both and have RevRDist > do some of the work and AppleScript do the rest. > > Basically what the AppleScript needs to do is move the contents of the > Documents folder to the Trash, then do the same with the contents of the > Preferences folder, keeping any files which should be unique to each Mac, > such as TCP/IP Preferences, AppleTalk Preferences, Norton Schedule File > and LiveUpdate Preferences, File Sharing CP prefs, and the Users & Groups > Data File. Next, refresh the preferences with a backup copy either > elsewhere on the local drive or from a file server. > > The final two steps would be to empty the the Trash and restart the Mac to > use the refreshed settings. However, that won't work for one or two > reasons: locked items and in-use items (files that are still open in some > application, including preferences used by system software). These two > reasons are also the reason why you cannot simply use a "duplicate with > replacing" command to refresh the contents of the Preferences folder; the > Finder simply will not let you replace a file that is open or locked. > > First of all, if any of the items moved to the Trash were locked, then you > cannot empty the trash using an AppleScript command (there is no > AppleScript command for holding down the option key while emptying the > Trash). Therefore, you need to unlock all the locked items in the Trash, > and the algorithm to do such a thing can be complicated. > > The second obstacle, open files, usually requires restarting the Mac. For > that reason, I have the Trash emptied after the Mac is restarted. You can > create a separate AppleScript application that only empties the trash. I > like to have the cleanup script, just before restarting the Mac, simply > create an alias of this empty-trash script to the Startup Items folder. > Then, after startup, the empty-trash script can move that alias to the > Trash, and then empty the trash. > > As long as you restart the Mac first, however, the emptying the Trash can > be done manually by lab staff, which also negates the need to unlock the > contents of the Trash because the staff can just Option-empty-Trash. > > Deleting and recreating desktop printers is a process which basically > involves stopping all the desktop printer print queues, deleting all > queued print jobs, deleting the printers, and creating the desktop > printers with the correct settings (including the PPD file). These > desktop printing commands can be found on Apple's > <http://www.apple.com/applescript/help_mods.html> web site. If you would > like to see my AppleScript code for all of the above, just ask me. > > *Mac OS X* > Now, for the OS X lab, it is also possible to use Netboot if you install > Apple's latest version of Mac OS X Server 10.2 (Jaguar Server), because it > finally adds that ability for Mac OS X clients. However, if you intend to > spend most of the time booted into OS X, and especially for video and > graphics programs, that is probably not a good solution. If the OS X > Netboot works the same as the OS 9 version, then everything written to a > hard drive is actually being written to the server temporarily, which is > not good unless you have one heck of a fast server and some wicked fast > network bandwidth (full gigabit Ethernet from the workstations to the > server). > > Mac OS X Server 10.2 will also include a feature for automatically pushing > out software installs, and in conjunction with Apple Remote Desktop, > should solve this refresh problem nicely--but for a price. However, if > you need to keep things cheap, below is how I would do it. > > With Mac OS X, refreshing things get much simpler (especially if you can > stay away from Classic). If you create your setup such that the default > user(s) only have normal NON-administrator privileges, OS X will keep them > at bay by default. Almost all of the stuff users can change or mess up > will all be kept in one tidy place (with the exception of the Mac OS 9 > Applications and System Folder, which are both left unprotected by the Mac > OS X folder privileges). > > The users will be kept out of certain System Preference panes, and will > only be allowed to save and make changes to files within his or her own > directory (e.g. /Users/labuser/). The user's Desktop, Documents, > preferences, and anything else the user tries to install will only be > installed or changed within the appropriate locations in the user's home > directory, found within the Users folder (again, except for the Mac OS 9 > Applications and System Folder). > > I am still developing the exact scripting to accomplish this, but > basically the process is as follows: (1) log the user out; (2) delete the > contents of the generic lab user's folder; (3) copy the refreshed settings > backup (similar to the OS 9 stuff above) from another location on the > local drive or from a file server. Bare in mind that all of this needs to > be done using root level privileges, meaning you cannot simply log in as > an administrator and expect to be able to start deleting a user's > directory and replace it with a new one--that's where AppleScript's > fantastic integration with Mac OS X's Unix side comes in. In other words, > you need to have AppleScript execute some Unix commands that it will > execute as the root user and do all these things. Don't worry about that, > however; when I come up with the code, I would be glad to post it to this > listserve. > > > As for all the automated AppleScript stuff above, I haven't gotten it all > quite automated in the sense of automatic scheduling. I just found it was > easier creating an AppleScript application that our lab staff could walk > up and double-click once a week or could use some other software (Apple > Network Assistant, remote program linking, etc) to remotely invoke the > scripts. > > *Mac OS X with Classic* > When you are using Classic in Mac OS X, things get a bit more complicated. > You can still refresh the OS X user folder as I described above. > However, because you cannot lock down Classic's System Folder with OS X > (you can, but then Classic will refuse to startup). My solution was to > keep the Classic System Folder unprotected, but to create a copy of it > which could be refreshed when the rest of the OS X user environment is > refreshed. > > The thing to do is to create a System Folder that is intended just for > booting into Classic. This folder will include only the extensions > required for Classic to startup and have networking, plus any extensions > required by any of your Classic applications. This will keep the Classic > system a few hundred megabytes smaller and make it startup and operate > much faster. Directions for creating an optimized Classic folder can be > found at many web sites listed below. > > Then, use Disk Copy to create a compressed read-only image of that Classic > System Folder. This will give you an image file that is as small as half > the size of the actual Classic system folder. > > Leave the Classic System Folder in the root of the hard drive and make > sure the Classic system pane is set to use it for Classic. The Classic > system folder should have read/write access by everyone (use OS X's Show > Info command). > > If you also have a normal System Folder (or any other folders that may be > on another partition on the Mac and for which you need protection), be > sure to set Mac OS X to give all users ("Owner," "Group," and "Everyone") > read-only access to it. > > When the automated script runs, it should shut down Classic (not necessary > if the user is already logged out), mount the disk image created above, > delete the contents of the Classic System Folder, and copy the contents of > the mounted disk image to replace the Classic System Folder. > > I am still working on this script "on paper," but as soon as I have a few > machines to test, I think I will finally be able to make some real > progress. I'll let you folks know. > > *Other Resources* > Also, although it may seem like it at times, you are not the only one > trying to do the exact same things in creating an OS X lab. For that very > reason, there is a great site with a great deal of information including > techniques, documentation, software tools, thought process of developing a > lab, and even an explanation of why on Earth even create a Mac OS X lab. > The following are several other resources on the Web: > > Mac OS X Labs > http://www.macosxlabs.org/ > > Optimizing Classic > http://www.macosxhints.com/article.php?story=20010413120058733 > > Optimizing Classic > http://www.bombich.com/mactips/optimize.html > > Classic minimum System Folder > http://mc04.equinox.net/informinit//exposf2002.html > > Using the Classic Environment in OS X > http://www.InformINIT.com/exponyc2001.html > > Troubleshooting the Classic Environment > http://kbase.info.apple.com/cgi-bin/WebObjects/kbase.woa/111/wa/query?type=id&val=PQ.106677 > > Classic Playing Nicer (faster) > http://www.macosxhints.com/article.php?story=20001221185034927 > > Setting up Macintosh OS X 10 Web Browsers for Multilingual and Unicode > Support > http://www.hclrss.demon.co.uk/unicode/macbrowsers_osx.html > > Mac OS X: About the "Install Mac OS 9 Drivers" Option in Disk Utility > http://docs.info.apple.com/article.html?artnum=75275 > http://www.info.apple.com/kbnum/n75275 > > Mac OS X 10.1: How to Set up Open Firmware Password Protection > http://www.info.apple.com/kbnum/n106482 > > HideOrShowPreviousLogin: How to disable the feature in which the prior > user's login name appears in the login window in Mac OS X > http://www.info.apple.com/kbnum/n106691 > > ASM: the reincarnation of the application switcher menu. > http://asm.vercruesse.de/ > > BatChmod: manipulates file and folder privileges and empties a stubborn > Trash in Mac OS X . > http://www.macchampion.com/arbysoft/ > > > --Jason Filice > > Student Systems Administrator > Language Lab, Institute for World Languages and Cultures > http://LanguageLab.csumb.edu > CSU Monterey Bay > 100 Campus Center, Building 48, Room 119 > Seaside, CA 93955-8001 > 831.582.5046 > ____________________________________________________________ Joseph Ollie Kautz Stanford Digital Language Lab tel -(650) 725-1615 fax - (650) 725-8495 "Spoon feeding in the long run teaches us nothing but the shape of the spoon." -E. M. Forster ____________________________________________________________