|
|
Package Management
Image Package System project homepage
Graphical interface for pkg
pkg mailing list
Image Packaging SystemSatisfies: PKG-1,PKG-4,PKG-5,PKG-7OverviewIn order to meet the needs of both developers and deployers, a new method for creating, delivering and installing components is necessary. The existing patch mechanism available in Solaris promotes the notion that individual or per-component change is possible but that is increasingly not possible today due to the large amount of disruptive change taking place in the source base. In addition, the "economic cost of innovation" is far too high with the existing Solaris release model. Either the amount of type of change being delivered through the Updates needs to be diminished significantly, or a large investment in tools and people are required to keep up with the increasing requirements or there needs to be a fundamental change in the way changes are delivered to customers. Network RepositoryInstead of creating a traditional minor release which sets a package base upon which patches are created, a new repository based system is proposed to hold versioned builds of components. The components in this repository will be known not just by name but also by version such that dependency information can be provided or computed through a number of sources. As a result, it will be possible to provide a consistent set of components to a potential consumer. This consumer could be an individual accessing the repository over the network or it may be an individual wishing to create a distribution or an appliance from the components in the repository. Since the repository can hold the set of components for several releases or "arcs of change", users can choose which arc to obtain changes on. Developers may choose to update from a quickly evolving arc that rapidly tracks new innovation taking place in OpenSolaris and external communities. Deployers, on the other hand, may choose to update from an arc which changes infrequently with a limited set of changes involving security or data corruption, for example. Snapshot/Fallback CapabilityOne attribute of the client tools which access the repository is they should provide for the ability to fall-back to a previous software environment if a new one causes issues to arise. Solaris has a limited form of this capability today with Live Upgrade although it requires one to provision ahead of time disk slices for alternate roots and only allows for complete Solaris upgrades. Instead, a new mechanism is proposed which utilizes ZFS and its snapshot and cloning capability to in effect replicate the current software environment before apply an operation that updates it. Once the cloned snapshot has been upgraded by the operation, the user may choose to switch to it. Alternatively, a user can fall-back to any of a number of earlier created environments in the event of a problem. The Connected UserOne of the advantages of deploying a versioned package repository is the wealth of information that can be obtained from users that connect to it. Some examples of the information that can be obtained include which packages are most popular or which versions of those packages or even which groups or stacks of components tend to get downloaded together. This information can be useful in deciding where to devote future engineering priorities, or indeed support offerings. Sound BitesNewest blogs first
|