deb、ipa和pxl的格式是什么?有什么区别?
和deb、ipa、pxl分别是什么格式??有什么区别目前iOS平台上常见的软件安装包有三种,分别是deb、ipa和pxl格式的文件。它们之间有什么区别?如果你不清楚,可以看下面的内容来了解!
deb、ipa和pxl的格式是什么?
Deb格式是Debian系统(包括Debian和Ubuntu)的专属安装包格式。有了APT软件管理系统,Deb格式成为Linux下非常流行的安装包。进入2.x时代后,Cydia作者JayFreeman(saurik)与APT软件管理系统一起被移植到iPhone平台。
Ipa格式是苹果在iOS平台推出的独家软件安装包,2.0固件启动后才正式使用。它是目前iPhone/iPodTouch/iPad平台上唯一的官方安装包。
Pxl格式起源于Mac系统上的pkg安装包,在1.x固件时代被广泛使用。它曾经是iPhone平台上唯一的软件安装包,至今仍被91软件使用。
各种安装包概述:
一、关于deb格式
Deb是Unix系统下的安装包(其实主要是Linux),是基于tar包的,所以记录了文件的权限(读/写/可执行)和所有者/用户组。由于Unix类系统对权限、所有者和组有严格的要求,而deb格式安装包往往涉及系统的底层操作,权限的设置就显得尤为重要。
deb包本身有三部分组成:
包含实际安装的程序数据的数据包,文件名为data . tar . XXX;安装信息和控制脚本包,包括deb安装说明、徽标、脚本等。而文件名是control.tar.gz;
最后一个是deb文件的一些二进制数据,包括文件头信息,一般是看不到的,但是在一些软件中打开就能看到。Deb本身可以使用不同的压缩方法。Tar格式不是压缩格式,而是直接将分散的文件和目录聚集在一起,记录它们的权限和其他数据信息。前面提到的data.tar.XXX,其中XXX是压缩后的后缀名称。deb使用的默认压缩格式是gzip格式,所以最常见的是data.tar.gz。常见的压缩格式有bzip2和lzma,其中lzma的压缩率最高,但压缩所需的CPU资源和时间相对较长。
data.tar.gz包含实际安装的程序数据,在安装过程中,包中的数据会直接解压到根目录(/),所以打包前要根据文件位置设置对应的文件/目录树。control.tar.gz包含安装deb时所需的控制信息。通常有五个文件:
控件,用于记录软件标识、版本号、平台、依赖信息等数据;
Preinst,在打开data.tar.gz之前运行的脚本;
Postinst,一个在解包数据后运行的脚本;
Prerm,卸载时删除文件前运行的脚本;
Postrm,删除文件后运行的脚本;
在Cydia系统中,Cydia的作者Saurik添加了另一个脚本extrainst _,类似于postinst。
二、关于ipa格式
用过MacOS的人可能都知道,Mac下的软件大多只有一个。app目录,包含所有程序资源和可执行文件。简单来说,Mac下的软件就像Windows下的便携应用。解压后即可使用,无需安装或卸载,只需删除程序文件即可(这里不涉及pkg格式安装包)。Ipa格式可以看作是这个的衍生。app软件。
Ipa文件本质上是一个zip压缩包(不是rar或7z包),它包含三个组件:有效载荷目录下的app目录,是软件的主程序;
ITunesArtwork,本质上是一张没有后缀名称的png图片,用来在iTunes中显示图标;
ITunesMetadata.plist,记录买家信息、售价等数据。
由于zip包无法记录权限、所有者等信息,苹果规定了ipa的安装方式,即所有ipa将被解包安装在/var/mobile/Applications目录中,所有文件和目录的所有者和用户组设置为mobile(ID 501),主程序(可执行文件)的权限设置为0755(所有人都可以执行,但只有所有者可以修改),可执行文件在plist中定义。所有目录权限设置为0755,其他所有文件设置为0644(只有所有者可以修改,其他人只能读取,不允许全部执行)。Ipa解包后不是直接放在Applications目录中,而是放在一系列由随机代码组成的目录中。它的功能是允许这个软件在特定的Sandbox中运行,并且不干扰其他软件。所以那根弦跟着
版权声明:deb、ipa和pxl的格式是什么?有什么区别?是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。