Jul 172013
 

Zur Installation und Verwaltung von Oracle Solaris 11 ist, aufgrund des netzwerk- und repositorybasierenden Softwareverteilungsmechanismus, das Setup einer eigenen, lokal verwalteten Repository Architektur zwingend notwendig. Das Image Packaging System (IPS) hält das Softwarepakete in Repositories bereit. Diese Pakete werden mit den Paketverwaltungstools aus diesen Repository heraus direkt installiert oder aktualisiert. Notwendige Updates von installierten Paketen werden nicht wie bisher als Patches ausgeliefert, sondern als aktualisierte Software-Pakete. D.h. das Patchen von Systemen erfolgt durch das Einspielen von aktualisierten Paketen. Daraus ergibt sich eine Vereinheitlichung des Prozesses zur Installation und dem Update von Systemsoftware, da kein Unterschied zwischen einer Softwareinstallation, einem Patch oder einem Softwareupdate vorgenommen wird. Clients können gleichzeitig mit mehreren Software Repositories verbunden sein. So können die Pakete und Updates des Betriebssystems von denen anderer Softwareprodukte getrennt werden. Softwarehersteller können als eigene Autorität (authority) auftreten, ihre eigenen Repositories erzeugen und hier die eigene Software und Updates zur Verfügung stellen. Natürlich können auch Repositories für eigene Software-Pakete lokal aufgesetzt werden.

Pakete

IPS verwaltet Software in Einheiten von Paketen. Ein IPS-Paket ist eine Sammlung von Verzeichnissen, Dateien, Links, Treiber, Abhängigkeiten, Gruppen, Benutzer und Lizenz-Informationen in einem definierten Format. Diese Sammlung stellt die installierbaren Objekte eines Pakets. Pakete verfügen über Attribute wie Paketnamen und eine Beschreibung.

Publisher

Ein Publisher ist eine organisatorische Einheit (Ordnungsbegriff/Personen/Gruppen von Personen oder ein Unternehmen), welche IPS-Pakete veröffentlichen/bereitstellen.

Repository

Ein Repository oder depot-Server ist die System-Ablage, an der die heruntergeladen Pakete abgelegt und katalogisiert werden können.

z.B. (default Oracle Solaris 11 Repository).: http://pkg.oracle.com/solaris/release

Ein Repository kann mehrere Publisher enthalten. Ebenso können mehrere Repositories denselben Publisher enthalten.Ein Paket wird für die Installation ausgewählt und der aktuellste Stand dieses Paketes (insofern nicht anders angegeben) wird aus den zur Auswahl stehenden Repositories ausgewählt. Ein physikalisches System kann eine oder mehrere Repositories enthalten. Oracle Solaris 11 unterstützt IPS-Pakete und SVR4 Pakete(die nicht Bestandteil eines Repositories sind).

Actions

Ein IPS-Paket besteht aus einer Sammlung von Actions:

  • Actions werden in dem Manifest eines Pakets beschrieben
  • Actions werden für die Festlegung der Dateien und Verzeichnisse des Pakets verwendet
  • Actions setzten Paket Attribute
  • Definieren Abhängigkeiten von anderen Paketen
  • Erstellen Benutzer und Gruppen
  • Installieren von Gerätetreibern
  • Actions erstellen die installierbaren Objekte auf einem System
  • Action besteht im Wesentlichen aus ihrem Namen und einem Schlüssel-Attribut. Gemeinsam beziehen sich diese auf ein eindeutiges Objekt

FMRI

Jedes IPS-Paket wird durch einen Fault Management Resource Identifier (FMRI) repräsentiert. Der FMRI enthält beschreibende Informationen über das Paket:

  • Publisher des Pakets
  • Paket Name
  • Versionsnummer
  • Release Datum

Beispiel: pkg ://solaris/development/swtool@5.11,5.11-0.175.0.0.0.0.1:20111019T082311Z

  • Schema     pkg
  • Publisher    solaris
  • Kategorie    development
  • Name    swtool
  • Version
    • Component     5.11
    • Build    5.11
    • Final    175.0.0
    • Time(ISO-8601)    20111019T082311Z (wird autom. generiert)

Variants und Facets

Variants und Facets in IPS Paketen dienen zur Steuerung der bereits erwähnten Actions und bestimmen, ob und wie eine Action während der Installation ausgeführt oder unterdrückt wird. Die folgende Liste zeigt einige Beispiele von Variants und Facets -Tags und ihre möglichen Werte:

  • facet.locale. * true, false
  • facet.doc.man true, false
  • variant.arch sparc, i386
  • variant.debug. * true, false

IPS Dependencies

IPS Dependency

Description

require

This dependency is required. A package cannot be installed if any of its required dependencies cannot be satisfied.

optional

If this dependency is present on the system already then it must be at a specified version level or greater.

exclude

This dependency enforces a restriction such that a package cannot be installed if the specified package is present at the specified version level or greater.

incorporate

This dependency is optional, but the version range has both a lower and an upper bound, allowing only further dot-separated integers to be added to the existing sequences.

conditional

This dependency is required only if another predicate package is installed on the system. This is often used to allow packages to provide support for features (such as X11 or language bindings) only if the features are already present on the system.

group

This dependency is required unless the package is on the avoid list, in which case, the system will try to avoid installing this package. However, if another package requires this dependency, it will be installed regardless of whether it is on the avoid list.

parent

This dependency is used to ensure that global zones and non-global zones are kept in sync for all kernel components and any software that spans the zone boundary.