Image Packaging System

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found. The Image Packaging System, also known as IPS[1] or pkg(5), is a cross-platform (written in Python) package management system created by the OpenSolaris community in coordination with Sun Microsystems. It is used by Solaris 11, several illumos-based distributions: OpenIndiana, OmniOS, XStreamOS[2] and a growing number of layered applications, including GlassFish, across a variety of OS platforms.

Features

Features include:

  • Use of ZFS, allowing multiple boot environments and easy package operation rollbacks
  • Transactional actions
  • Support for multiple platform architectures within a single package
  • Legacy support for SVR4 packages
  • Extensive search grammar
  • Remote search capability
  • Changes-only based package updates
  • Network package repository
  • File and network-based package publication
  • Package operation history
  • On-disk package format (p5p)
  • Multi-platform ports for layered applications:

Advantages

The fact that IPS delivers each single file in a separate shelf with a separate checksum, a package update only needs to replace files that have been modified. For ELF binaries, it computes checksums only from the loaded parts of an ELF binary; this permits e.g. to avoid to update an ELF binary that changed only the ELF comment section.

Trade offs

Due to the fact that IPS delivers each single file in a separate shelf, slow operation is caused when the input source is on a medium with high latency (e.g. internet with higher round trip time or CD/DVD media with slow seeks). People from Bangalore reported OpenSolaris install times of approximately one week over a DSL link in 2009 when the only package server was in California.

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.

External links

<templatestyles src="Asbox/styles.css"></templatestyles>

<templatestyles src="Asbox/styles.css"></templatestyles>