deb、ipa和pxl是iOS平台上常见的三种软件安装包格式,它们之间存在以下区别:
deb格式是Debian系统(包含Debian和Ubuntu)的专属安装包格式,配合APT软件管理系统,成为了当前在Linux下非常流行的一种安装包。进入2.x时代之后,Cydia作者JayFreeman(saurik)将其移植到iPhone平台上,同时还有APT软件管理系统。deb格式基于tar包,因此会记录文件的权限(读/写/可执行)以及所有者/用户组。由于Unix类系统对权限、所有者、组的严格要求,所以deb格式安装包经常涉及到系统比较底层的操作,权限等的设置尤其重要。deb包本身有三部分组成:数据包,包含实际安装的程序数据,文件名为data.tar.XXX;安装信息及控制脚本包,包含deb的安装说明、标识、脚本等,文件名为control.tar.gz;最后一个是deb文件的一些二进制数据,包括文件头等信息。
ipa格式是苹果在iOS平台上推出的专属软件安装包,从2.0固件开始正式使用,是目前iPhone/iPodTouch/iPad平台上唯一的官方安装包。它实际上是一个zip压缩包(不是rar或7z包),包含三个组件:payload目录下的.app目录、iTunesArtwork(一个无后缀名的png图片)和iTunesMetadata.plist(记录购买者信息、售价等数据)。由于zip包不能记录权限和所有者等信息,所以苹果规定了ipa的安装方式,即全部ipa都会解包安装在/var/mobile/Applications目录下,全部文件和目录的所有者及用户组均设为mobile(ID为501),主程序(可执行文件)的权限设为0755(所有人都可以执行,但只有所有者可以修改),可执行文件在plist中定义。全部目录权限设为0755,而其它所有文件都设为0644(仅所有者可以修改,其余人只允许读取,全部人都不允许执行)。
pxl格式起源于Mac系统上的pkg安装包,被广泛应用于1.x固件时代,曾经是iPhone平台上唯一的软件安装包,现在仍在被91等软件所使用。
这三种格式的主要区别在于它们的起源和用途。deb格式主要用于Linux系统下的软件安装和管理;ipa格式是苹果官方在iOS平台上推出的软件安装包格式;pxl格式则起源于Mac系统上的pkg安装包,被广泛应用于1.x固件时代。