你是我的读者

前一节我们从软件第一次运行的角度,对软件初始化过程中的方方面面做了一个简单的说明。其实本书的内容和目的并不仅仅在于此,内容更广泛,技术更深入。

* 个人用户

对于个人用户来说,了解安装器工作过程和安装包格式,帮助读者深入了解macOS系统,本书为读者提供了相关基本的知识和工具,比如安装前先看看安装包里有什么,哪些文件会被安装到哪些目录中等等。安装前需要慎重对待来源和渠道不确定的软件,使用工具软件可以先大概了解一下这个软件是不是使用了可信的签名,如果答案是确定的,那么可信度会增加一分;看看它到底要做什么、安装了什么文件、会不会覆盖某些重要文件、哪些是不想安装的等等;当安装出了问题时,查看日志信息以便初步排错;即便自己无法解决,至少在网上询问他人或者向软件商提交错误报告的时候,可以提供更详细的信息等, 这样可大大提高获得准确有效及时帮助的几率。友情提示,要特别注意文件复制后的安装后期的操作情况,有助于判断其是否可信可靠。

* 多用户网络环境

随着Mac用户的增多,特别是在多用户网络环境中应用场景的迅速增多,管理员们面临着苹果电脑管理的迫切需求。

目前有多种Mac管理工具可供管理员选择,无论是商业还是开源的移动设备管理MDM系统(Mobile Device Management,简称:MDM),还是使用传统的UNIX管理系统,如 Puppet, Salt和Chef等;无论是利用macOS内置功能的描述文件(Profile),还是使用老式的MCX等来配置目标电脑;企业员工电脑部署策略无论是传统的安装系统镜像部署还是BYOD或者利用苹果的“设备登记计划”(Device Enrollment Program,简称 DEP);无论是使用苹果远程桌面(Apple Remote Desktop)还是使用ssh实现远程控制。显然这些都是管理员可以选择的工具和技术,具体到某一个企业会根据自身情况(网络、人员、技术储备、可移动性和管理条例等等)可能会选择综合使用某种或多种手段。

无论哪种方式管理工具,无论是采用用户主动(pull)还是管理端主动(push)或综合模式,在实际工作中通常都会遇到部署途径问题。利用macOS的安装机制,在多种管理工具中都是一种基础技术手段。利用安装包远程无人干预实现到目标客户机的软件安装,用户和系统配置,更新库存信息,添加或移除软件、加密或解密,与公司数据同步等等工作。所以,一个管理员必须知道并熟练掌握程序打包和重新打包技术。

打包有两种说法

  • 程序打包:主要是指将程序和脚本等按照安装器的规定制作一个安装pkg文件的过程。

  • 重新打包:将外来软件/软件包解包后在重新打包的过程。这有什么用途呢?我们举一个简单的重新打包的例子。比如,公司从Plasq购买了50个ComicLife软件许可证(不是苹果公司提供的多用户许可证购买计划-VPP-购买的许可证),为了尽快给每个员工安装,除了要将app程序正确复制到/Applications(/应用)文件夹中,还应该将所购买的许可证一同安装到指定的位置(有时还会复制一些初始化文件给用户等)以避免软件提示用户自己输入许可证,并且确保各个文件的权限和属性等正确。对于这种情况,一种可行的方式是,将原软件的安装包打开或安装运行注册一次之后,将软件、许可证和其它信息等再制作成一个安装pkg文件,作为公司特有的安装包,用于发布内部软件。

在多用户环境中,手动复制文件的方式是最不可取的,步骤繁复容易出现人工操作纰漏;仅仅采用脚本也不太可靠,分散存放的文件不易管理。而打包后部署有诸多好处,比如:许可证管理和分发,用户启动软件就可以直接使用,而无需打电话向有关人员询问软件注册信息和注册步骤,这既方便了用户使用,保证软件在公司内部的统一完整和有效,也可以防止许可证被滥用。进一步,如果使用许可证管理系统的话,还可以将许可证的发放、回收和审计管理工作包含在安装包中,实现许可证管理自动化。而且在今后的软件升级过程中,利用以前的打包工程文件,快速制作升级安装包,避免不必要的失误。在分层级管理的环境里,不同的管理员都使用一致的方式完成工作,保证部门的工作一致而可靠。

* 程序开发者

对不不同的软件开发商或者开发者来说,本书也有一些参考作用。虽然Xcode等开发环境可以完成软件的打包,但开发者也可以根据软件的具体情况、版本管理、组件分发或个人偏好等,制作客户化的安装包,以满足不同目标用户的要求和场景。

Last updated