TonysMac
  • macOS软件安装包 [从入门到精通]
  • 前言:你是我的菜
    • 有话要说
    • 你是我的读者
    • 此书门槛高吗
    • 各章内容提要
    • 本书的约定
    • 版权
    • 联系作者和反馈
  • 第一章:整装待发
    • 基本概念
    • 参考书籍
    • 工具软件
    • 硬件考虑
    • 操作系统
  • 第二章:初试身手
    • 安装器
      • 安装器的其它功能
      • 安装的工作
    • 安装包形式
    • 安装包的组成
      • 小结
    • 查看安装包内容
      • Pacifist介绍
      • Suspicious Package介绍
      • 两个软件的比较
      • 查询安装包的命令
      • 安装包解包
      • 重新打包
    • macOS组织安装包
      • 已安装列表
      • 包标识符
      • 安装包文件
      • 查找安装包
      • 安装包信息
      • 安装包组
    • 本章总结
  • 第三章:重装出发
    • 命令行制作安装包
      • 真实场景
      • 测试App
      • 工作目录结构
      • 确保文件权限
      • 制作安装包
      • 小练习
      • 所有权选项
      • make脚本
      • 运行make脚本
      • 小结
    • Packages生成安装包
      • 1.建立项目
      • 2. 配置属性
      • 3.生成
      • 4.排错
      • 小结/练习
    • Iceberg生成安装包
      • 1.建立项目
      • 2.项目配置
      • 3.安装包设置
      • 4.文件
      • 5.设置权限
      • 6.生成
      • 7.小结和思考
    • 重新打包
    • 快照重新打包
      • 为快照搭建环境
      • Composer软件
      • 快照实例1:alfred
      • 快照实例2:smartmontools
    • 安装包更新
    • 本章总结
  • 第四章:暗度陈仓
    • 卸载简介
      • 卸载脚本
      • make脚本
      • 排错和完善
      • 小结
    • 使用Packages应用
      • 1.建立项目
      • 2.配置和生成
      • 3.小结
    • 详解安装包脚本
      • 脚本类型
      • 脚本参数
      • 脚本返回值
      • 用户环境
      • 注意事项
    • dockutil举例
      • 安装包脚本
      • make脚本
      • installer命令行
      • 查看日志
      • 小结
    • 总结
  • 第五章:扬帆起航
  • 第六章:庖丁解牛
Powered by GitBook
On this page

Was this helpful?

  1. 第一章:整装待发

操作系统

Previous硬件考虑Next第二章:初试身手

Last updated 6 years ago

Was this helpful?

除了特殊情况下,本书的读者无需考虑操作系统的问题。

当你准备制作一个真正的安装包的时候,对于一个严肃的开发和测试者来说,操作系统测试环境的要求,一方面最好是纯净的,这样可以最大限度地测试软件安装后的完整性,避免因软件的外部依赖而产生错误;另一方面,有的时候也需要测试与其他软件相互配合和相互的兼容性,那么最好是只安装所需的软件的纯净环境。如果是要试错,那么可能尽量让最多的用户测试,是一个不错的办法。

复杂的情况一般都来自网络或多用户的情况。一般来说,安装包可能被运行在不同版本的操作系统,而有些系统特性随着操作系统版本而不同,这些因素可能需要建立不同macOS系统版本的测试环境。

比如系统完整性保护(System Integrity Protection, 简称SIP,有时也会被坊间称作rootless),在OS X 10.11 El Captain 及更新版本中使用,那么在安装时就尽量使用SIP准许用户使用的文件路径,比如/Library和/usr/local等。如果被安装软件无法满足SIP的要求而需要用户禁止SIP,那么安装包最好预先判断用户环境,比如使用下面的命令做出判断: $ if csrutil status | grep enabled; then echo Yes; else echo No; fi

安装包制作者可以选择或者安装后提醒用户关闭SIP,或者提示用户必选先关闭SIP后才能安装。

再比如,从macOS 10.13 High Sierra开始支持的APFS文件系统的情况下,如果我们希望在安装过程中判断目标系统的中分区和文件卷的情况,那么就需要使用下面三个命令,才能完全掌握有可能的亦或只有普通卷,亦或有核心存储,抑或是APFS的所有情况: $ diskutil list $ diskutil cs list $ diskutil apfs list

很多时候,软件的不同版本,特别是经过重大改版的软件,它们安装后的环境与前期版本有可能有很大差异,而且有时它们可以共生,有时又是排他的,那么就要考虑周全这些情况的不同组合,搭建测试环境。为了简化环境,有时可能需要强制使用一种或者两个版本。这种排他性可能体现在用户环境中的特殊数据库或资源中,一旦在一台Mac上升级了,在没有该版本的其它电脑上就有可能出现错误。

Mac操作系统可以被安装在虚拟机中,我们也可以用虚拟机搭建测试环境,不仅快速便捷,还可以利用虚拟机的快照(snapshot)功能,更容易实现系统状态的回滚,而且也可以方便的新建和复制给团队使用等。

目前最流行的有三个虚拟机软件:

  • Parallels的 Parallels Desktop for Mac,需付费

  • VMWare的Fusion for Mac,需付费

  • Oracle的Virtual Box,免费

众所周知,这些软件可以安装运行Windows虚拟机,其实同样可以运行Mac系统,在网上可以找到适合每种虚拟机软件的安装macOS的方法,有的是软件官方文档,也有第三方的变通方法,或者仅仅是注意事项。

在使用虚拟机的时候需要注意Mac操作系统的使用许可协议,相关文档可以询问苹果官方,或者参考苹果官网信息,比如中文的:以及英文的。

法律信息及通知
Software License Agreements