Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Perhaps thisis an age old question, but as we started to have more and more Macs in the department I feel the need to streamline the setup time.

I have about 30 latest MacPro's and I need to install a bunch of software on them. So I was thinking about doing it all on 1 machines and then cloning the driveto 30 others. It would be nice if that can be done over network so all 30 at once but I guess that is asking rather much. Any ideas? I had a look at CarbonCopy and that seems promising. There is also CloneZilla.

Is there any experience out there for a largeish scale OS X setups? An immediate problem I can think of are the usernames. I guess they will have to be manually changed.

What if Macs also have Windows partitions? Will CarbonCopy and/or CloneZilla cope with that?

Alex

share|improve this question
    
Don't know a lot about doing this for macs, but for windows, it just takes one computer, use sysprep (so all the computer that will have the same image all have different UIDs), and then write the image as many times as you want (assuming volume license here and identical hardware). I imagine it is similar for macs. Domain usually takes care of the usernames. –  soandos Aug 3 '11 at 20:05
    
Normally it should work if you have the same hardware. Just give it a spin. You could always revert back a machine with a backup you've made before (using CCC or Clonezilla). Concerning user names: What are your specific requirements? A different user for each machine? –  slhck Aug 3 '11 at 20:20
add comment

2 Answers

up vote 1 down vote accepted

There are a number of options, with a general tradeoff between how much effort you put into setting up vs. how much effort there is per computer once it's set up. Here are some general techniques (note: most of these are based on Snow Leopard; Lion changes things a bit and I don't have any experience with it yet):

  • To handle individual usernames on each machine, you can set things up using a generic admin account, then delete the invisible file /var/db/.AppleSetupDone -- next time you reboot, the Setup Assistant will run again, and let you create a new user account (leaving the old admin account, installed software, etc in place). Only problem is that the new user will have default preferences, so any per-user settings you did in the original account won't carry over.

  • You can customize the default preferences by setting prefs the way you want them, then copying the preference files into the appropriate spots user template (/System/Library/User Template/English.lproj) folder. This can be a bit tricky, since only the root user has access to this folder (and if you change this, newly created users will have weird permissions on their home folders...).

  • For smallish-scale cloning (i.e. if you aren't doing enough computers to make a network setup worthwhile), I recommend getting an external HD (USB+FireWire preferred), installing OS X on it, and use it as a sort of mobile imaging tool, both for creating images and cloning them to computers.

  • Rather than cloning from drive to drive, create a disk image of your "prototype" computer. Boot from the external drive (or put the prototype into target disk mode and hook it to another Mac). Run Disk Utility, choose File > New > Disk Image from Folder, select your prototype volume as the source "folder", and save the image on another disk (e.g. the volume you booted from) in either Read-Only or Compressed format. Once the image is created, choose Images > Scan Image for Restore to prep the image for restoration.

  • Once the image is scanned, it can be cloned to a HD with Disk Utility's Restore tab (from the external imaging drive or over Target Disk Mode). Scanned images can also be restored in a variety of other ways.

  • If you want to do network deployment, you pretty much need OS X Server, mainly for its ability to serve NetBoot images. The standard Apple-supported method is to use the System Image Utility to create a NetInstall image. Once that's created and the NetBoot service is set up, you can NetBoot a client machine (or a bunch of them at once), and restore their HDs from the master on the server.

  • If you want more flexibility in a network imaging system, I recommend the free program DeployStudio. After some additional setup work, it allows you to set up a NetBoot image that can run "workflows" on the client -- things like: 1) partition the HD in two, 2) restore a scanned OS X image to one partition, 3) restore a Windows NTFS image to the other partition, 4) customize computer settings based on a database of which settings go with which computer (identified by ethernet MAC address), etc.

  • If you want even more capability than that, take a look at the Casper Suite -- I haven't used it, but everyone I've talked to who has used it liked it.

share|improve this answer
    
Had a small scale cloning with single image and dump it onto every other machine with Target Mode. Then runing "rm /var/db/.applesetupdone" in single user mode and it works like a charm and even prompts to new user creation dialog. –  Alex Apr 21 '13 at 15:35
add comment

What you probably want is some form of configuration management software such as Puppet or Chef. There are other applications that you can also look into.

There are some Puppet tutorial videos on YouTube, and at least one interview video about Chef. There may be others, but I haven't looked for them personally. There's enough there to help you get a better idea about the software.

Edit: WRT the username issue, you might want to consider using network-based user authentication, such as LDAP, which is the foundation of Apple's Open Directory. Ideally, you should determine how much of your current infrastructure can a) be centralized, b) be automated, and c) work towards that goal.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.