Three formats of the iPhone/iPad installation package: Deb, IPA, and pxl

Source: Internet
Author: User

References that are only interested in a specific format can be searched . DebOr . IPAOr . PxlTo quickly jump to the corresponding location.

Reference Preface:
Currently, there are three common installation packages on the iOS platform: Deb, IPA, and pxl.

The Deb format is the exclusive installation package format of the Debian system (including Debian and UBUNTU). Combined with the apt software management system, Deb has become a popular installation package in Linux. After entering the 2.x era, cydia author Jay Freeman (saurik) was transplanted to the iPhone platform, along with the apt software management system.

The IPA format is the exclusive Software Installation Package released by apple on the iOS platform. It was officially used only after firmware 2.0 was released. It is the only official installation package on the iPhone/iPod Touch/iPad platform.

The pxl format originated from the PKG installation package on MAC systems and is widely used in the 1.x firmware era. It was once the only software installation package on the iPhone platform and is still used by software such as 91.

Installation package format:
Reference. Deb
Deb is the installation package in UNIX systems (mainly Linux). Based on the TAR package, Deb records the file permissions (read/write/executable) and owner/user group.

Because UNIX systems have strict requirements on permissions, owners, and groups, and Deb-format installation packages often involve underlying operations of the system, permission setting is particularly important.

The Deb package consists of three parts:

  • Package, which contains the actual installed program data. The file name is data.tar. xxx;
  • Installation information and control script package, including Deb installation instructions, identifiers, scripts, etc. The file name is control.tar.gz;
  • The last one is some binary data of the Deb file, including the file's first class information, which is generally invisible and can be seen in some software.

Deb itself can use different compression methods. Tar is not a compression format. Instead, it directly aggregates scattered files and directories, and records data information such as permissions. Previously mentioned data.tar. xxx, Here XXX is the suffix after compression. Deb uses the GZIP format by default, so the most common is data.tar.gz. Common compression formats include Bzip2 and lzma. the lzma has the highest compression rate, but the CPU resources and time required for compression are relatively long.

Data.tar.gz contains the actual installed program data. During the installation process, the data in this package is directly extracted to the root directory (I .e /), therefore, you need to set the corresponding file/directory tree according to the file location before packaging.

Control.tar.gz contains the control information required for Deb installation. Generally, there are five files:

  • Control, used to record software identification, version number, platform, dependency information, and other data;
  • Preinst, the script run before data.tar.gz is unwrapped;
  • Postinst: the script that runs after data is unwrapped;
  • Prerm: the script that runs before the file is deleted during uninstallation;
  • Postrm: the script that runs after the file is deleted;
  • In the cydia system, saurik, the author of cydia, adds another script, extrainst _, which is similar to postinst.

For Deb detailed introduction and packaging instructions, please refer to this post 1 floor: http://bbs.weiphone.com/read-htm-tid-669283.html

Reference. IPA
Users who have used Mac OS may know that most of the software on Mac has only one. app Directory, which contains all the resources and executable files of the program. Simply put, Mac software is like a green software in windows. It can be used after being decompressed without installation, to uninstall the SDK, you only need to delete the program file (the PKG installation package is not involved here ). The IPA format can be regarded as a derivative of the. app software.

The IPA file is essentially a zip package (not a RAR or 7z package) and contains three components:

  • The. app directory under the payload directory. This is the main program of the software;
  • Itunesartwork is essentially a PNG image without a suffix, used to display icons in iTunes;
  • Itunesmetadata. plist records purchaser information, prices, and other data.

Because the zip package cannot record permissions and owner information, Apple specifies the IPA installation method, that is, all IPA will be unpackaged and installed in the/var/mobile/applications directory, the owner and user group of all files and directories are set to mobile (ID: 501), and the master program (executable files) permissions are set to 0755 (all files can be executed, but only the owner can modify it). The executable file is defined in plist. All directory permissions are set to 0755, while all other files are set to 0644 (only the owner can modify the permission, and others can only read the permission, but not all users can execute the permission ).

After IPA is unwrapped, it is not directly placed in the applications directory, but in a directory composed of random codes. The function is to allow the software to run only in a specific sandbox) and cannot interfere with other software. Therefore, in the random code directory, apart from the three components of IPA, there are three directories:

  • Library, usually used to store data such as setting files;
  • Documents, which stores data and uses multiple storage archives;
  • TMP, Temporary Folder.

Because this software can only run under this specific directory (of course, some programs will call the system's address book, camera, and other components, but it is still restricted ), this ensures the security and stability of the entire system.

Because the UNIX system has strict permission requirements, the "unauthorized" behavior is absolutely not allowed. For example, mobile users do not have the permission to delete all root files because the root permission is higher than mobile. Therefore, when you modify the files installed with IPA, such as Chinese or archive modification, You cannot delete the software or save the files. This is because you cannot delete all root files, the program itself cannot write all the root archive files.

Reference. pxl
In the 1.x era, the pxl format was the only installation format on the iPhone platform because no apt management software such as cydia was available at that time, and Apple did not officially launch the App Store. As we have accumulated a lot of popularity in the 1.x era, in the next app store era, pxl still occupies a large part of the market with its relatively simple packaging and installation methods. However, as the installer stops development and software such as ibrickr stops updating, there are currently only 91 software that are still in pxl format.

The pxl installation package usually contains three components:

  1. Pxlpkg. plist records the storage location, owner, permission, and software ID of a program file;
  2. Pkgscript file folder, which stores the installation and uninstallation scripts;
  3. Program file.

The beginning of the pxlpkg. plist file is usually cfbundleidentifier, which records the unique identifier of the software and distinguishes it from other software. Rdpxlpackageversion records the software version. Rdpxlpackagefireware is used to record the firmware versions that can run. Other key values are used to record data such as the software introduction, URL, and author information.

In addition to the software identification, software version, and available firmware version, the core of pxlpkg. plist is rdpxlpackagefiles and rdpxlpackagepostflight. Rdpxlpackagefiles records the path to which the program file should be copied, and provides the overwrite parameter. Rdpxlpackagepostflight records the owner and permissions granted to the program file, which are implemented by chown and CHMOD commands respectively. In addition, for pxl containing the installation/uninstall script, the corresponding script postflight will also be executed using the sh command
And preremove.

Pkgscript usually contains two files: The postflight script executed after installation and the preremove script executed before uninstallation. These two scripts are standard Linux shell scripts executed with SH commands.

Features of the installation package
Reference. Deb
  • A wide range of resources: cydia itself has a lot of resources, not to mention any format of the installation package can be converted to Deb.
  • Relatively convenient online purchase mode: cydia store, although there is no limit on the five devices of App Store, it is difficult for domestic users to make payment.
  • It is difficult to crack and does not use the App Store verification method. Therefore, verification and anti-cracking measures must be added to the program, which makes it more difficult to crack and is a good thing for software developers.
  • Comprehensive Unix File System Support: you do not need to use commands to set file permissions, owner, and user groups (of course, you can also set them with scripts)
  • Complete script support: five scripts are executed in the order of installation and uninstallation. More options are available. For example, you can back up files in preinst and Restore Files in postrm.
  • Strict dependency: Deb follows a strict dependency (specified by depends and pre-depends) to ensure that the components necessary for running the software. During online installation, the dependent software package is automatically installed. It is also important to uninstall software package A. For example, if Software Package A depends on B, A is prompted to depend on B when B is uninstalled. If B is uninstalled, A cannot be used, this ensures system integrity and stability.
  • The existence of key values such as conflicts, replaces, and provides can cause a conflict or replace other software packages.
  • Full permission: because Deb must run as the root with the highest permission, Deb can operate on any system location. In other words, Deb has full control over the entire system, therefore, the Deb installation package software can implement many functions that IPA cannot implement.
  • It is relatively simple to obtain (online or offline) and install methods, and you do not have to worry about removing programs during synchronization on different machines.
  • Relatively simple installation: in fact, no matter which installation package is used, the installation method is not very complicated, but Deb is slightly more complicated.

Deb has five installation methods.:

  1. Cydia or similar apt management software is installed online. This is the best installation method, because dependencies are usually not considered, but the disadvantage is that the network requirements are relatively high;
  2. Run dpkg-I XXX in the command line. deb installation, the advantage is that you can install multiple Deb instances at a time with wildcards, and you can also directly see the script running status and prompt information about successful/failed installation, the disadvantage is the support of the command line software, such as the putty/winscp console/ISSH/mobileterminal. Many people are not familiar with the operations under the command line. In addition, no icon is displayed after installation;
  3. Place it in the autoinstall directory and restart the installation. This method is actually a STARTUP script provided by cydia. When the system starts each time, run the dpkg command to install Deb under the autoinstall directory. The advantage is that you do not need to perform the command line operation. The disadvantage is that you must restart the system, some even need to be restarted twice, but the icon is not displayed;
  4. The advantage of using ifile for installation is graphical operations. The desktop displays icons. The disadvantage is that multiple Debs cannot be installed at a time;
  5. Cyder II and other software are used for installation. The principle is to simulate an apt software manager to download the corresponding Deb file and transmit it to the device. Then, install the software in the previous several ways.

In general, Deb installation depends on the dpkg-I command, but some commands are entered under the command line, and some provide a graphical interface. However, apart from cydia installation, there are some other installation methodsCommon problems:

  • Does not search for Dependencies by yourself. You must manually provide the dependent Deb;
  • Cydia reads some special statements in the installation script, such as executing the command only during the new installation instead of during the upgrade, and restarting the springboard or device after the installation is complete.

Of course, Deb software is also relatively simple to uninstall, there are two ways:

  • In cydia, the uninstallation process and prompt information are very detailed. The graphic interface is fully operated, and the re-installation option is also provided;
  • Run the dpkg-r package_id command or the dpkg-P package_id command to uninstall the package_id (as described later );
  • Cydelete to uninstall, the advantage is that you can directly uninstall the Graph Software on the desktop, but there is nothing to do with those without icons.

In fact, both installation and deletion can be done manually. That is, after Deb is unwrapped, place the file in the corresponding location, Set permissions, and execute the script. But is this necessary?

The Deb installation process is as follows:

  1. Read and lock the database to avoid two installation programs running at the same time.
  2. Read the package and version information in control and search for the database. If the database already exists, uninstall the package and install the package again;
  3. Check depends, pre-depends, conflicts, and replaces. If software already exists in conflicts, an error is reported and installation is terminated. If the software specified by pre-depends is not found, an error is reported and the installation is terminated. If the software specified in replaces is found, uninstall it;
  4. Write Data to the/var/lib/dpkg/status file;
  5. Execute the preinst script (if any );
  6. Unpack data.tar.gz, place the file in the corresponding location, and write the file list to/var/lib/dpkg/INFO/xxx. List;
  7. Run the postinst and extrainst _ scripts (if any );
  8. If there is no error in the previous installation, that is, the installation is successful, the status: Install OK installed information will be written into the status file; otherwise, other status data will be written, such as unpacked (unpacked data), failed-config (script failed to be executed), half-installed (Installation failed, etc );
  9. Reload the database and unlock it.

The Deb uninstall process is as follows:

  1. Read and lock the database;
  2. Search for databases based on software IDs;
  3. Check whether any software depends on the software to be detached. If any, the system prompts and disconnects the software;
  4. Execute the prerm script (if any );
  5. Read the/var/lib/dpkg/INFO/xxx. list file and delete all and non-empty folders recorded in the list file;
  6. Run the postrm script;
  7. If the uninstall command is dpkg-R, record in status is retained and changed to Status: Not Installed. If the uninstall command is dpkg-P, all data is deleted;
  8. If the uninstallation process is correct, read the database again and unlock the database.

Because the software installed by Deb may put an archive file under/var/mobile/documents at runtime, or put the setting file under/var/mobile/library/preferences, these files are not recorded in the list file, so they will not be deleted during uninstallation.

Reference. IPA
  • Rich resources: There are so many resources on the App Store, and many other websites such as apptrackr also provide cracked versions.
  • Comprehensive update and Post-service.
  • You can only use minimum permissions to ensure security.
  • System-level operations are not involved, so it is generally not easy to cause a crash or a white apple (some are stuck because the resource consumption is too large ).
  • A convenient installation method, whether it is directly installed on the device using App Store, or using iTunes for synchronization, or using third-party software such as installous and 91 for installation, is a convenient and fast installation method.
  • Super simple unmount method: What is easier to unmount than simply setting an X?
  • Completely deleted without leaving any junk files (such as archiving and setting files)
  • In general, cracking is still relatively easy, but more and more software is now involved in anti-cracking measures.

As mentioned before, IPA software is installed in a sandbox-like environment. Apart from operating the/var/mobile/Media/dcim directory (photo and storage directory, or call wallpaper, ringtones, cameras, and other components, and do not interfere with the system. This ensures the stable operation of the system to the maximum extent and does not interfere with the normal use of other software. However, the problem is that IPA is powerless to modify the system, especially when patches are applied, because the IPA software has low permissions.

IPA software officialInstallation MethodThere are two types: download and install the App Store software, and use iTunes for synchronization.

The problem of the former is mainly caused by network problems, which may cause installation failures due to poor network speeds, and online installation such as GPRS may consume a lot of traffic. The latter's problem is that it cannot be used in different systems (including different computers and different systems on the same computer), and synchronization on other systems will erase the original software. Of course, iTunes is often criticized for its long synchronization time. Especially when many software are installed, it takes a long time for the backup before each synchronization. This is disgusting (but you can directly remove the backup operation ).

Because the above two methods have some problems, many people will choose to use installous or 91 to install IPA, which is indeed a good choice.

Installous generally has no problem, but it does not work well for IPA with strict verification. Although installous can basically replace iTunes, it is not exactly the same. The most typical is that installous cannot run when installing Microsoft's official Live Messenger (genuine or non-Cracked. In fact, installous does not support a lot of uncracked genuine software.

91 is often criticized. 91 although IPA can be installed, apart from the support problems of genuine software in installous, due to the defects in the installation mechanism of 91, the software cannot be implemented in multiple languages and only uses the English interface, the zh_cn.lproj and zh_tw.lproj language packs are ignored. This is a tragedy for those who want to use the Chinese version. Therefore, you should avoid using 91 to install IPA.

AsUninstall, Three methods:

  • Hold down the icon on the device until it starts shaking. Click X in the upper left corner of the icon to unmount the device;
  • Cancel Selection in iTunes, and then synchronize
  • Find the corresponding directory under/var/mobile/applications and forcibly Delete the entire folder. This can be used in the previous two methods (sometimes uninstall software with a large volume, for example, exceeding 1 GB, because the deletion process is too long, resulting in a loss of response and deletion failure .), However, this method may cause system instability. Unless you have encountered a problem, we strongly recommend that youDo not use.
Reference. pxl
  • Strictly speaking, there are not many resources in the pxl format, but there are also many resources. Currently, most users in pxl format are 91 users.
  • In terms of timeliness, many software (mainly on the App Store) will be converted to pxl immediately after being cracked. In this way, the pxl format is well updated.
  • Because the 91 mobile assistant does not have the iTunes synchronization, it will erase the software. In addition to some other convenient features, many new users are familiar with iPhone/iPod Touch from 9th. The result is that the pxl format depends on 91.
  • The popularity of pxl format is not a historical relic, but a requirement that conforms to market rules. 91 assistant's convenient software management method (especially WiFi management), coupled with the free flag, makes pxl format very popular among new users.

In fact, pxl format and Deb format have functionsExactly the same. Although pxl cannot record file permissions and other data, it can be completely compensated by scripts. That is to say, the pxl format and Deb format are actually different. In addition, pxl format does not require a rare Unix environment, especially the Debian environment, which is superior to Deb format.

But why do many people often say that pxl is not used? In my opinion, the main reasons are as follows:

  • Resource limitations: Except for several software developed by company 91, all the other software is converted from Deb and IPA. If the original software is not cracked, pxl cannot do anything (for example, Live Messenger officially issued by Microsoft and a bunch of software not cracked on cydia );
  • Resource Timeliness: Similar to the above, most of the pxl formats are converted from other formats, which is always slower than the original version. Especially when it cannot be cracked, pxl simply fails;
  • Limited package level: Nowadays, many people directly use 91 assistants to package pxl. There is only one XXX for most of them. apps in the app directory generally do not have problems, but if you encounter software that has strict requirements on file permissions and other data (for example, executable files do not have executable permissions, or mobile users cannot rewrite all root files, etc.), or software that requires complicated scripts to run, pxl producers often do not have the ability to make a complete pxl, this also causes many installation and usage problems;
  • Security: Most people are used to using the CHMOD-R command to compile the entire XXX. the app directory and all its files and subdirectories are set to 755/775/777 permissions, which may cause certain security risks. Search for relevant information about the meanings of these numbers. Here is a brief description. The 644 attribute indicates that only all persons with this file can perform the rewrite operation. Others can only read the file, and no one can execute the file. 755 and 775 add executable permissions on the basis of 644, and 755 is accessible to all users in the user group where the file is located. The 777 permission indicates that anyone can rewrite and execute the code. Because
    Mobile itself is a restricted account. If you use 777 permissions, you can exploit this vulnerability to gain control of the entire system. However, because the iPhone system is relatively closed, there is no chance to cause losses. However, 775 and 777 permissions should not be used;
  • Archiving of IPA to pxl: Many people have this experience. After game a archives game B, archive game B and then archive game A, it is found that the archive of game a is no longer there. The reason is that all files are archived under the/var/mobile/Documents directory of the pxl software converted from IPA, and there are exactly two files with the same file name (the most common is data. sav or save. data. This problem also occurs on IPA to Deb and cannot be solved;
  • Cannot be completely deleted: When the pxl format is uninstalled, data such as archive files, configuration files, and temporary files will not be deleted. Long-term use will reduce the available space;
  • Compatibility problems in some models: Some machines do not transfer the/applications directory in the system partition to the/var/stash user partition after jailbreak. Due to the small amount of available space in the system partition (500 mb by default, usually the available space does not exceed 50 MB), forced installation in/applications will cause the remaining space to be exhausted or installation failure.

From this we can see that pxl format is not a problem of pxl itself, but a problem of the packer and a defect in the installation method.

In addition, pxl's largest provider, 91, is often used to repost software released by others (including those purchased by netizens or directly downloaded from cydia) as a software released by myself, I don't care about copyright issues at all. This has also aroused the resentment of many people, especially the original publishers. This kind of naked plagiarism is really shameful. Because of this, many people are unhappy with pxl because they are unhappy with 91. This is really a waste of pxl format itself.

Install and uninstall:

  • 91 mobile Assistant
  • 91 treasure chest

Pxl to IPA

Http://bbs.weiphone.com/read-htm-tid-569364.html

Pxl to Deb
Http://bbs.weiphone.com/read-htm-tid-692225.html

The pxl format was once the only installation package format in the 1.x era, leaving us with too many memories. We should still remember and respect pxl's contributions. However, with the development of the times, pxl has become an old-fashioned model. Just like the exit of installer, pxl will eventually exit the market and be given to the temple.

Summary

To reference general software, try to use the IPA format instead of the Deb or pxl format converted from IPA to ensure compatibility and security. In system-level programs (such as sbsettings and input methods), IPA is incapable, so the best choice is Deb. Pxl, as a format to be quickly eliminated, is better to give up decisively.

For IPA and Deb installation methods, the preferred choice for IPA installation is iTunes synchronization and app store online installation, and installous is selected for the next installation to ensure optimal compatibility. For Deb installation, cydia is preferred for online installation, and any installation method except 91 is selected.

In any case, 91 is not recommended for installation of IPA and Deb, because the 91 installation mechanism is not complete and is prone to problems.

In fact, the original version is the best!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.