Mac OS X 10.5快速系统部署实践-制作核心系统镜像(1) v1

Mac OS X 10.5 Fast System Deployment Practice

Mac OS X 10.5快速系统部署实践


注:
前一篇在这里: Mac OS X 10.5快速系统部署实践-计划(2) v1

制作核心系统镜象

Core System Image

我们这里使用的系统镜象(System Image)概念是指:一个储存电脑磁盘系统和配置的文件,并且从该文件恢复到磁盘后,电脑可以按照原来预定的方式运行。普通来说就是使用克隆方法复制系 统的文件。在Windows中有以前的Ghost方式,后来微软开发了基于文件方式的WIM文件结构。在Mac系统上一般使用DMG文件格式。当然了 DMG文件不仅可以用于保存系统镜象,而且可以用作好多其它用途,还可以加密内容。

为什么要使用系统镜象,不能从安装盘重新安装吗?原因很简单,重新安装的系统还需要客户化的设置并测试,之后用户才能使用,客户化这一点在企业中尤其突 出。设想有1000台计算机需要分配到不同的部门,如果是一台一台地安装并配置,一是时间人力浪费,二是无法保证配置的前后一致性。听上去好像和品牌机批 量生产一样,但那是另外一个故事了。总之,可以说有了系统镜象技术,使得系统的部署和排错变得简易可行。(注:这一点在我的其它Blog中有专门的详述)

有了系统镜象,还要有一套方法来恢复这个镜象到目标机,从而获得和原系统一样并且可以使用的一个新系统。在Windows世界里Ghost一般是大家都了 解的,还有好多其它第三方厂商产品可以选择,也可以使用微软提供的免费Business Deploy方法。对于Mac系统,也有众多的软件和方法,其中一般都是用Apple的ASR (Apple Software Restore)作为基础,ASR可以同时作为制作和恢复的手段. 在后面我们可能很少谈及ASR,但是不意味着它没有用途.

为什么在标题中还要加一个“核心”的定语呢?在你了解和掌握了这里所说的系统镜象制作后,很可能会想,我把公司所有软件和配置都做好了,然后作一个系统镜 象,这样如果机器需要重新格式化,不就简单了?就我的经验,在某些场合,这样做是一个很好的方法,而且部署起来最快,也简单有效。但是多数情景是,系统和 软件等等方面需要更新, 这样很多时候只是制作一个核心的系统镜象,然后使用其它方式安装应用软件和更新等,是一个比较好的方式,可以减少对镜象文件的维护工作,而经历可以放在制 作测试新的软件包。

在我的工作实践和体会是,在一个企业中制作了一个核心镜象之后,还有可能根据不同部门的需要(好多时候是技术原因,不得不),做一个部门的系统镜象,以满 足部门特殊需要。就核心系统镜象来说,它的制作是整体部署中非常关键的一步,也是需要知识面和经验比较全面的部分,有可能需要要求制作人员具有一定的 shell编程能力,还需要对不同版本的系统有比较深的了解,并能够在不同系统版本中实现同一个目标。

下面我们来一步一步地解释制作核心系统镜象文件的步骤,以及需要慎重考虑的最重要的部分,当然了难免有疏漏.

当然了还有其他的方法可以用来制作核心系统镜像文件,这在后面再提及。

软硬件环境选择

电脑硬件

在前面的计划中已经提到了,针对Mac系统的特点,需要我们使用公司内最新的电脑硬件,以及可以找到的最新的操作系统,这样可以最大地保证,制作完的系统镜象可以被普遍应用于其它电脑上。

当然,有的时候可能也不能这样,尤其是在企业内部使用硬件年代跨度比较大的情况时,有可能需要在最新系统已经不支持的系统上,制作旧版本操作系统的一个镜象,以用于陈旧的系统。比如, Mac OS X 10.5 Leopard操作系统,要求CPU是
PowerPC G4 867MHz以上的,对于旧的硬件 ,如iMac G3等系统,就需要准备一个10.4甚至10.3的系统镜象,直到企业替换完最后一批旧系统之后,才可以放弃对那个旧系统的系统镜象维护。

系统和分区

找到硬件,首先要做的就是重新安装系统。建议对磁盘内容删除并重新分区,这样可以确保可以得到一个干净的系统。Mac的系统镜象制作是基于分区的,所以如 果是一个大磁盘,简易分三个分区,一个是系统镜象分区,系统镜象就从这个分区得到,为了后面简单叙述,我们使用Mac默认的分区名:Macintosh HD. 一个是数据分区,我们叫它: Data. 最后一个是制作磁盘镜象的工作分区,叫做:Work. 其中Macintosh HD和Work两个分区都要安装Mac OS X操作系统,而且最好是相同版本的系统.

分区类型建议使用Mac OS Extended( Journaled), 不建议使用Mac OS Extended(Case-Sensitive, Journaled), 原因很简单,大小写敏感的有可能造成有的程序运行失败。尤其是编写不严格规范的脚本程序。

就目前Mac OS X Leopard的系统来说,一个磁盘镜象的大小从7GB到10多个GB不等-这要根据具体情况差异会很大. 安装完后系统占至少9GB左右的磁盘空间,所以那两个分区的磁盘空间至少要10GB左右,而制作磁盘镜象的过程中需要生成中间文件等,所以需要几乎是2倍 系统所占磁盘空间的大小,也就是说,如果最终要制作系统镜象的磁盘,有12GB被系统和数据占用,那么保存磁盘镜象文件的分区至少要有24GB的空余空间 可用。

在安装Mac OS X系统的时候,有可选的安装包,用户根据需要选择安装,比如字体,打印机,X11和语言的选择。在保证系统最大适应性的同时,尽量少地安装各种软件,这样既避免空间浪费,也避免部署的资源占用浪费.

系统更新

一般来说,Mac的升级都是通过系统更新包的方式提供更新,有的是combo的更新包,这种更新包可以跨越不同的版本直接升级到最新的版本。在准备系统镜 象的时候,找到最新的系统安装盘,使用系统更新功能,下载更新包,或者到Apple.com官方网站去检查系统更新,并下载保留。


Mac OS X带有系统更新功能,从屏幕左上角的菜单的第二项就是Software Update, 点击运行,默认地它会到Apple的更新服务器去查找相关本机硬件和系统软件的更新,其中有个选项可以保留下载的更新包,见下图。后面我们可以讲到如何配 置系统到制定的提供更新服务的企业服务器寻找更新。


如果企业内部使用Mac OS X Server提供的Update Server服务,从而实现对更新的统一管理,那么可以在Workgroup Manager里面进行设置。

对于制作一般的核心镜像,应该禁止自动更新,采用手动(Manual)方式。

本地用户

对于本地帐户,我建议尽量少用,甚至不用。因为对于本地帐户的管理,可能会花费管理员更多的时间精力,而且也不太利于远程管理,也不易实现遵守企业安全规范. 但是还是有些情况需要使用本地用户的。

使用GUI图形界面


使用Mac OS X提供的图形界面生成一个普通帐户是最简单的方式了,下面只给出一个屏幕截图,相信都知道怎么建立。

使用shell命令

完全可以用shell命令来完成初步的帐户建立:

sudo -s

dscl . -create /Users/zhangsan

dscl . -create /Users/zhangsan UserShell /bin/bash

dscl . -create /Users/zhangsan RealName "Zhang San"

dscl . -create /Users/zhangsan UniqueID 1000

dscl . -create /Users/zhangsan PrimaryGroupID 20

dscl . -create /Users/zhangsan NFSHomeDirectory /Users/zhangsan

dscl . -passwd /Users/zhangsan "SysAdm1n"

dscl . -append /Groups/staff GroupMembership zhangsan

cp -R /System/Library/User/ Template/English.lproj /Users/zhangsan

chown -R zhangsan /Users/zhangsan


上面的bash脚本创建了真实姓名是"张三",Unix用户名是zhangsan的,Unix唯一ID是1000的,普通的本地帐户。

登陆选项

一般地,我们不使用自动登录(Automatic Login)功能,而且登陆界面也不使用用户列表(List of Users)功能, 禁止Fast User Switching. 上面都可以在System Preferences->Accounts里的Login Options找到设置。或者使用下面的命令行命令来设置:

sudo defaults delete /Library/Preferences/com.apple.loginwindow autoLoginUse
sudo defaults write /Library/Preferences/com.apple.loginwindow SHOWFULLNAME/ -bool true
sudo defaults write /Library/Preferences/com.apple.loginwindow showInputMenu/ -bool true
sudo defaults write /Library/Preferences/.GlobalPreferences/ MultipleSessionEnabled -bool False


注:在10.5.7版本中添加了一个"Allow network users to login to this computer",默认是选择的,这个选项对于一般情况要选上。

上面推荐的设置对于不同的需求会有不同的配置要求,比如作为公共Lab或者Kiosk机的时候,自动登录和禁止"Allow network users to login to this computer"就有可能是必需的选项了。

续:Mac OS X 10.5快速系统部署实践-制作核心系统镜像(2) v1


Tony Liu

2009 Calgary

你可能感兴趣的:(mac,OS,X)