[TOC]
***
# dmg
## 简述
dmg,全称为disk image,即磁盘镜像文件。
它是 Mac 应用软件通用的打包格式(相当于 ipa),相当于在Windows上常见的 iso文件。
***
##包含内容
一般包含
- 应用程序.app 的图标
- 一个应用程序文件夹(/Applications)快捷方式,
## 安装
直接将 应用程序.app 拖曳至应用程序文件夹即可完成安装。
## 卸载
卸载也同样绿色,
方法一:直接在 Launchpad 中删除;
方法二:或cd 到 ` /Applications` 目录下,删除应用(文件夹)即可。
## 运行
dmg 在苹果机上可以直接运行加载,在Windows PC上可以通过命令行软件 dmg2iso.exe 转换成 ISO文件。
## dmg 转 ISO: dmg2iso、UltraISO
命令运行格式:dmg2iso.exe filename(待转换文件名).dmg filename(转换后文件名).iso
如:`dmg2iso.exe filename0.dmg filename1.iso `
dmg2iso是一个免费软件,但其功能相对有限,某些情况下目标dmg文件无法成功转换为iso。这种情况下可以使用UltraISO等商业软件进行格式转换。
同时,用户可以在 程序-常用工具-磁盘工具 里面创建,大小自己定义的dmg文件,用来放程序,文件打包 或用来做一个限定容量的路径。然后你可以对这个磁盘做你要做的事情,如用TOAST刻录。因此说,dmg文件在Mac中又相当于一个软U盘。
***
##特性
***
# pkg
## 简述
pkg 类似 Windows 下的安装程序 Setup.exe 和 *.msi
1.pkg文件也就是安装包配置文件,是制作Symbian OS安装程序的核心部分。
2.它包含了制作安装文件所需要的全部信息,根据这个文件的内容,sis文件生成器(安装程序的扩展名是.sis)制作生成应用程序的安装程序,也就是.sis文件。
3.sis文件相当于PC中的 setup.exe 这样的程序,通过这个文件,Symbian OS的智能电话可以将应用程序部署到合适的位置,使得我们所编写的程序可以在手机中正常工作。
DMG是一个镜像格式,当你双击镜像是等于将镜像挂载到 `/volumes` 目录,这些镜像里面可以保存任何文件。当然也包括.app或.pkg了。
.app是一个软件封装格式,里面包含了应用需要的源文件。当你打开这样一个.app时,它会向~/library里的编好设置文件夹写入内容。这些内容记录着这个.app的首选项。
`.pkg` 一般都是些插件,用于设定系统或修改系统某些内容。
`.app`则是带图形操作界面的应用,可以生产,读取对应文件等。
## 安装
一般要求 sudo 授权
有可能将文件写入你掌握不了行踪的目录。
一般都会有附带一个卸载软件。
属于系统级软件的安装程序,相当于 iOS 越狱后装的 deb,一般会修改系统配置,权限较高。
## 卸载
比较麻烦
http://blog.csdn.net/play_fun_tech/article/details/27964861
***
Windows 下可以使用 Install Shield 来制作安装程序,可使用 Xcode 自带的 PackageMaker 或打包命令行工具 [pkgbuild](http://developer.apple.com/library/mac/documentation/Darwin/Reference/Manpages/man1/pkgbuild.1.html)+[productbuild](https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/productbuild.1.html)+[pkgutil](https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/pkgutil.1.html) 或 [Iceberg](http://s.sudre.free.fr/Software/Iceberg.html)(an Integrated Packaging Environment (IPE) )来[制作安装包](http://blog.csdn.net/handsomerocco/article/details/7761212)。
***
## 卸载方法
### 查看系统已安装的pkgs
pkg和app不一样,有的卸载后在系统有残留。
```
pkgutil --pkgs
```
这个命令将会显示当前系统已安装的pkgs
工具 pkg-uninstall
下载地址: https://github.com/bgandon/pkg-uninstall
***
##包含内容
***
##特性
***
# mpkg
## 简述
pkg是单个文件的pkg,而mpkg其实是多个pkg的含义,即multi pkg的含义。
mpkg:pkg 是单个[应用程序的安装包](http://blog.csdn.net/dongdongdongjl/article/details/7896771),而 mpkg(multi pkg)是多个 pkg 。
我们来看一下从 AppleStore 下载的 OS X EI Capitan 安装器文件——安装 OS X EI Capitan.app的 /Contents/SharedSupport
***
##包含内容
***
##特性
***
***
# 打包工具
## iceberg
## Packages
Mac OS平台下应用程序安装包制作工具Packages的使用介绍
<http://blog.csdn.net/liuyan20092009/article/details/61201607>
***
# 相关资料
#### 卸载 pkg 包
http://blog.csdn.net/play_fun_tech/article/details/27964861
#### pkgbuild 命令行
https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/pkgbuild.1.html
#### productbuild
https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/productbuild.1.html
#### Install Shield安装程序制作图解
http://www.yesky.com/460/1843460.shtml
***