2024年4月7日发(作者:鱼娟丽)
iOS 平台上常见的安装包有三种,deb、ipa 和 pxl。
deb 格式是 Debian 系统(包含 Debian 和 Ubuntu )专属安装包格式,配合 APT
软件管理系统,成为了当前在 Linux 下非常流行的一种安装包。进入 2.x 时代之后有
Cydia 作者 Jay Freeman(saurik) 移植到 iPhone 平台上,一起的还有 APT 软件管
理系统。
ipa 格式则是苹果在 iOS 平台上推出的专属软件安装包,在2.0固件开始才正式使用,
是目前 iPhone/iPod Touch/iPad 平台上唯一的官方安装包。
pxl格式则起源于 Mac 系统上的 pkg 安装包,被广泛应用于1.x固件时代,曾经是
iPhone 平台上唯一的软件安装包,现在仍在被91等软件所使用。
deb
deb 是 Unix 系统(其实主要是 Linux )下的安装包,基于 tar 包,因此本身会记录
文件的权限(读/写/可执行)以及所有者/用户组。
由于 Unix 类系统对权限、所有者、组的严格要求,而 deb 格式安装包又经常会涉
及到系统比较底层的操作,所以权限等的设置尤其重要。
deb 包本身有三部分组成:
1)数据包,包含实际安装的程序数据,文件名为 ;
2)安装信息及控制脚本包,包含 deb 的安装说明,标识,脚本等,文件名为
;
3)最后一个是 deb 文件的一些二进制数据,包括文件头等信息,一般看不到,在某
些软件中打开可以看到。
deb 本身可以使用不同的压缩方式。tar 格式并不是一种压缩格式,而是直接把分散
的文件和目录集合在一起,并记录其权限等数据信息。之前提到过的 ,这里
XXX 就是经过压缩后的后缀名。deb 默认使用的压缩格式为 gzip 格式,所以最常见的
就是 。常有的压缩格式还有 bzip2 和 lzma,其中 lzma 压缩率最高,但压
缩需要的 CPU 资源和时间都比较长。
包含的是实际安装的程序数据,而在安装过程中,该包里的数据会被直接
解压到根目录(即 / ),因此在打包之前需要根据文件所在位置设置好相应的文件/目录树。
而 则包含了一个 deb 安装的时候所需要的控制信息。一般有 5 个文
件:
。control,用了记录软件标识,版本号,平台,依赖信息等数据;
。preinst,在解包 前运行的脚本;
。postinst,在解包数据后运行的脚本;
2024年4月7日发(作者:鱼娟丽)
iOS 平台上常见的安装包有三种,deb、ipa 和 pxl。
deb 格式是 Debian 系统(包含 Debian 和 Ubuntu )专属安装包格式,配合 APT
软件管理系统,成为了当前在 Linux 下非常流行的一种安装包。进入 2.x 时代之后有
Cydia 作者 Jay Freeman(saurik) 移植到 iPhone 平台上,一起的还有 APT 软件管
理系统。
ipa 格式则是苹果在 iOS 平台上推出的专属软件安装包,在2.0固件开始才正式使用,
是目前 iPhone/iPod Touch/iPad 平台上唯一的官方安装包。
pxl格式则起源于 Mac 系统上的 pkg 安装包,被广泛应用于1.x固件时代,曾经是
iPhone 平台上唯一的软件安装包,现在仍在被91等软件所使用。
deb
deb 是 Unix 系统(其实主要是 Linux )下的安装包,基于 tar 包,因此本身会记录
文件的权限(读/写/可执行)以及所有者/用户组。
由于 Unix 类系统对权限、所有者、组的严格要求,而 deb 格式安装包又经常会涉
及到系统比较底层的操作,所以权限等的设置尤其重要。
deb 包本身有三部分组成:
1)数据包,包含实际安装的程序数据,文件名为 ;
2)安装信息及控制脚本包,包含 deb 的安装说明,标识,脚本等,文件名为
;
3)最后一个是 deb 文件的一些二进制数据,包括文件头等信息,一般看不到,在某
些软件中打开可以看到。
deb 本身可以使用不同的压缩方式。tar 格式并不是一种压缩格式,而是直接把分散
的文件和目录集合在一起,并记录其权限等数据信息。之前提到过的 ,这里
XXX 就是经过压缩后的后缀名。deb 默认使用的压缩格式为 gzip 格式,所以最常见的
就是 。常有的压缩格式还有 bzip2 和 lzma,其中 lzma 压缩率最高,但压
缩需要的 CPU 资源和时间都比较长。
包含的是实际安装的程序数据,而在安装过程中,该包里的数据会被直接
解压到根目录(即 / ),因此在打包之前需要根据文件所在位置设置好相应的文件/目录树。
而 则包含了一个 deb 安装的时候所需要的控制信息。一般有 5 个文
件:
。control,用了记录软件标识,版本号,平台,依赖信息等数据;
。preinst,在解包 前运行的脚本;
。postinst,在解包数据后运行的脚本;