Systemverwaltungshandbuch: Oracle Solaris Container - Ressourcenverwaltung und Solaris Zones

Kapitel 25 Allgemeine Informationen zu den Paketen und Patches auf einem Solaris-System mit installierten Zonen

Solaris 10 1/06: Dieses Kapitel wurde vollständig überarbeitet.

In diesem Kapitel wird die Pflege des Betriebssystems Solaris bei installierten Zonen beschrieben. Hier finden Sie Informationen über das Hinzufügen von Paketen und Patches zum Betriebssystem in der globalen Zone und in allen installierten nicht-globalen Zonen. Darüber hinaus wird das Entfernen von Paketen und Patches beschrieben. Die Informationen in diesem Kapitel ergänzen die vorhandene Solaris-Dokumentation zur Installation und Anwendung von Patches. Weitere Informationen finden Sie in der Dokumentationssammlung für das Solaris-Release 10 und dessen Installation sowie dem System Administration Guide: Basic Administration .

In diesem Kapitel werden die folgenden Themen behandelt:

Neuerungen beim den Paketen und Patches bei installierten Zonen

Solaris 10 1/06: Dieses Kapitel wurde nach Solaris 10 neu geschrieben und dokumentiert jetzt das aktuelle Verhalten der Befehle für Pakete und Patches auf einem System mit installierten nicht-globalen Zonen.

Solaris 10 6/06: Die Informationen zu den Paketparametern SUNW_PKG_ALLZONES, SUNW_PKG_HOLLOW und SUNW_PKG_THISZONE wurden überarbeitet. Lesen Sie dazu Einführung in das Paket- und Patch-Tool und Informationen zu den Paketparametern.

Solaris 10 6/06 und höhere Releases: Informationen zum Registrieren Ihres Systems oder wie Sie Ihre Software-Updates mit Sun Connection (frühere Bezeichnung Sun Update Connection) verwalten, finden Sie unter Sun Connection hub on BigAdmin.

Solaris 10 8/07 und höhere Releases:

Solaris 10 5/08 und spätere Update-Releases: Ende des Supports für PatchPro. Die Unterstützung für PatchPro, das die Patch-Datenbank und Patch-Tools zum Installieren von Patches für Software, die in globalen und nicht-globalen Zonen installiert war, verwendete, endete im September 2007. Informationen zum aktuellen Prozess finden Sie unter Sun xVM Ops Center.

Solaris 10 5/08: Obwohl diese Informationen erst ab Solaris-Release 10 5/08 hinzugefügt wurden, gelten sie für alle Solaris 10-Systeme.

Sie können Ihr Solaris-System unter https://inventory.sun.com/inventory/ registrieren. Informationen zur Verwendung des Sun Inventory zur Registrierung von Hardware, Software und Betriebssystemen finden Sie im Sun Inventory Information Center.

Wenn Sie das Sun xVM Ops Center zum Bereitstellen, Aktualisieren und Verwalten der Systeme in Ihrem Rechenzentrum verwenden, sollten Sie unter Sun xVM Information Center nachlesen. Dort finden Sie Informationen zur Registrierung Ihrer Software mithilfe des Sun xVM Ops Center.

Solaris 10 10/09: Das parallele Patchen von Zonen ist eine Verbesserung im Vergleich zu den standardmäßigen Patch-Dienstprogrammen in Solaris 10. Für ältere Versionen als Solaris 10 10/09 wird diese Funktion im Patch für Patch-Dienstprogramme 119254-66 oder einer späteren Revision (SPARC) und 119255-66 oder einer späteren Revision (x86) bereitgestellt. Weitere Informationen finden Sie in Solaris 10 10/09: Paralleles Patchen von Zonen zur Reduzierung der für das Patchen erforderlichen Zeit und Solaris 10 10/09: Paralleles Patchen von Zonen. Unter Verwenden von "Aktualisieren während des Anhängens" als Patching-Lösung wird die empfohlene Methode zur schnellen Aktualisierung von Patches auf einem System mit Zonen beschrieben.

Eine vollständige Liste der neuen Funktionen in Solaris 10 sowie eine Beschreibung der Solaris-Releases finden Sie in Neuerungen in Oracle Solaris 9 10/10.

Einführung in das Paket- und Patch-Tool

Die Solaris-Paket-Tools werden zum Verwalten der Zonen-Umgebung eingesetzt. Der globale Administrator kann das System auf eine neue Version von Solaris aufrüsten, wobei gleichzeitig die globale und alle nicht-globalen Zonen aktualisiert werden.

Solaris Live Upgrade, das standardmäßige Solaris-Programm zur interaktiven Installation oder das benutzerdefinierte JumpStart-Installationsprogramm können in der globalen Zone eingesetzt werden, um ein System mit nicht-globalen Zonen aufzurüsten. Für Zonen mit einem zonepath auf ZFS gelten folgende Einschränkungen:

Weitere Informationen finden Sie unter Verwenden des Oracle Solaris Live Upgrade zum Migrieren oder Aktualisieren eines Systems mit Zonen (Solaris 10 10/08) in Oracle Solaris ZFS-Administrationshandbuch.

Mit den Paket-Tools kann der Zonenadministrator alle in einer nicht-globalen Zone installierten Softwareanwendungen verwalten (innerhalb der in diesem Dokument beschriebenen Grenzen).

Bei installierten Zonen gelten die folgenden allgemeinen Richtlinien:


Hinweis –

Während der Durchführung von bestimmten Patch- oder Paketvorgängen wird eine Zone für andere Vorgänge dieses Typs vorübergehend gesperrt. Darüber hinaus fordert das System eventuell eine Bestätigung für den angeforderten Vorgang durch den Administrator an.


Allgemeine Informationen zu Paketen und Zonen

Nur ein Teil der in der globalen Zone installierten Solaris-Pakete werden bei der Installation einer nicht-globalen Zone vollständig repliziert. So sind z. B. viele Pakete, die den Solaris-Kerne enthalten, in einer nicht-globalen Zone nicht erforderlich. Alle nicht-globalen Zonen nutzen implizit den gleichen Solaris-Kernel von der globalen Zone. Auch wenn die Daten eines Pakets nicht erforderlich sind oder in einer nicht-globalen Zone nicht benötigt werden, muss eventuell auch in einer nicht-globalen Zone bekannt sein, dass ein bestimmtes Paket in der globalen Zone installiert wurde. Diese Informationen ermöglichen, dass Paketabhängigkeiten von nicht-globalen Zonen ordnungsgemäß mit der globalen Zone gelöst werden.

Pakete enthalten Parameter, mit denen festgelegt wird, wie ihr Inhalt verteilt wird und in einem System mit installierten nicht-globalen Zonen sichtbar gemacht wird. Die Paketparameter SUNW_PKG_ALLZONES, SUNW_PKG_HOLLOW und SUNW_PKG_THISZONE definieren die Eigenschaften von Paketen auf einem System mit installierten Zonen. Falls gewünscht, können Systemadministratoren anhand der Einstellungen dieser Paketparameter die Anwendbarkeit des Pakets prüfen, während sie ein Paket in einer Zonenumgebung anwenden oder entfernen. Die Werte dieser Parameter können mit dem Befehl pkgparam angezeigt werden. Weitere Informationen zu Parametern finden Sie unter Informationen zu den Paketparametern. Anweisungen zur Anwendung finden Sie unter Überprüfen der Paketparameter-Einstellungen auf einem System mit installierten Zonen.

Weitere Informationen zu den Paketeigenschaften und -parametern finden Sie in der Manpage pkginfo(4) Informationen zum Anzeigen der Werte von Paketparametern finden Sie in der Manpage pkgparam(1).

Für Pakete generierte Patches

Wenn ein Patch für ein Paket generiert wird, müssen die Parameter die gleichen Werte wie die Parameter im ursprünglichen Paket aufweisen.

Interaktive Pakete

Jedes interaktive Paket (ein Paket, das ein Anforderungsskript enthält) wird nur der aktuellen Zone hinzugefügt. Mit diesem Paket wird keine andere Zone bestückt. Ein interaktive Paket wird der globalen Zone so behandelt, als ob es mit dem Befehl pkgadd und der Option -G hinzugefügt wurde. Weitere Informationen zu dieser Option finden Sie unter Allgemeine Informationen zum Hinzufügen von Paketen in Zonen.

Zonen synchron halten

Die in nicht-globalen Zonen installierte Software sollte weitestgehend mit der in der globalen Zone installierten Software synchron sein. Dies minimiert den Verwaltungsaufwand bei Systemen mit mehreren installierten Zonen.

Um dieses Ziel zu erreichen, erzwingen die Paket-Tools die folgenden Regeln beim Hinzufügen oder Entfernen von Paketen in der globalen Zone.

In der globalen Zone mögliche Paketvorgänge

Wenn das Paket aktuell weder in der globalen Zone noch in einer nicht-globalen Zone installiert ist, kann es wie folgt installiert werden:

Wenn das Paket aktuell nur in der globalen Zone installiert ist:

Wenn ein Paket aktuell in der globalen Zone und nur in einem Teil der nicht-globalen Zonen installiert ist:

Wenn ein Paket aktuell in der globalen Zone und in alle nicht-globalen Zone installiert ist, kann es aus der globalen Zone und aus allen nicht-globalen Zonen entfernt werden.

Diese Regeln stellen Folgendes sicher:

In einer nicht-globalen Zone mögliche Paketvorgänge

In einer nicht-globalen Zone sind die folgenden Paketvorgänge möglich:

So wirken sich Patch- und Paketvorgänge auf den Status einer Zone aus

In der folgenden Tabelle sind die Ergebnisse aufgeführt, wenn die Befehle pkgadd, pkgrm, patchadd und patchrm auf einem System mit nicht-globalen Zonen in verschiedenen Status ausgeführt werden.

Bitte beachten Sie, dass für Solaris 10 5/08 in dieser Tabelle Änderungen an der Beschreibung des Status „Installed“ vorgenommen wurden.

Status der Zone 

Auswirkung des Patch- und Paketvorgangs 

Configured 

Patch- und Paket-Tools können ausgeführt werden. Es wurde noch keine Software installiert. 

Installed 

Patch- und Paket-Tools können ausgeführt werden. Während der Ausführung von Patch- oder Paketoperationen bringt das System die betreffende Zone vom Status „Installed“ in den neuen internen Status „Mounted“. Nach dem Abschluss der Patch-Operation kehrt das System zurück in den Status “Installed“. 

Bitte beachten Sie, dass nach Abschluss des Befehls zoneadm - z Zonenname install die Zone ebenfalls in den Status „Installed“ gebracht wird. Auf einer Zone mit dem Status „Installed“, die noch niemals gebootet wurde, können keine Patches installiert bzw. Paketbefehle ausgeführt werden. Die Zone muss dafür mindestens einmal gebootet worden sein, damit sie in den Status „Running“ geht. Nachdem die Zone wenigstens einmal gebootet und dann mithilfe des Befehls zoneadm halt in den Status „Installed“ gebracht wurde, können Patch- und Paketbefehle ausgeführt werden.

Ready 

Patch- und Paket-Tools können ausgeführt werden. 

Running 

Patch- und Paket-Tools können ausgeführt werden. 

Incomplete 

Eine Zone, die mit dem Befehl zoneadm installiert oder entfernt wird. Patch- und Paket-Tools können nicht ausgeführt werden. Die Tools können die Zone nicht in einen geeigneten Status versetzen, so dass die Tools angewendet werden können.

Allgemeine Informationen zum Hinzufügen von Paketen in Zonen

Mit dem in der Manpage pkgadd beschriebenen Dienstprogramm pkgadd(1M) können Sie Pakete auf einem Solaris-System mit installierten Zonen hinzufügen.

Verwenden von pkgadd in der globalen Zone

Das Dienstprogramm pkgadd kann in der globalen Zone mit der Option -G verwendet werden, um das Paket nur der globalen Zone hinzuzufügen. Das Paket wird nicht in anderen Zonen installiert. Wenn SUNW_PKG_THISZONE=true ist, müssen Sie die Option -G nicht angeben. Wenn SUNW_PKG_THISZONE=false ist, wird sie durch die Option -G überschrieben.

Wird das Dienstprogramm pkgadd in der globalen Zone ausgeführt, gelten die folgenden Aktionen.

Hinzufügen eines Pakets zur globalen Zone und zu allen nicht-globalen Zonen

Um ein Paket der globalen Zone und allen nicht-globalen Zonen hinzuzufügen, führen Sie das Dienstprogramm pkgadd in der globalen Zone aus. Führen Sie als globaler Administrator pkgadd ohne die Option -G aus.

Ein Paket kann der globalen Zone und allen nicht-globalen Zonen hinzugefügt werden, ungeachtet des Bereichs, auf den sich das Paket auswirkt.

Die folgenden Schritte werden vom Dienstprogramm pkgadd ausgeführt:

Hinzufügen eines Pakets nur zur globalen Zone

Um ein Paket nur der globalen Zone hinzuzufügen, führen Sie das Dienstprogramm pkgadd nur mit der Option -G als globaler Administrator in der globalen Zone aus.

Ein Paket kann der globalen Zone hinzugefügt werden, wenn die folgenden Bedingungen erfüllt sind:

Die folgenden Schritte werden vom Dienstprogramm pkgadd ausgeführt:

Hinzufügen eines in der globalen Zone installierten Pakets zu allen nicht-globalen Zonen

Um ein Paket, das bereits in der globalen Zone installiert ist, allen nicht-globalen Zonen hinzuzufügen, müssen Sie es zunächst aus der globalen Zone entfernen und dann in allen Zonen neu installieren.

Im Folgenden sind die erforderlichen Schritte aufgeführt, um ein bereits in der globalen Zone installiertes Paket in allen nicht-globalen Zonen zu installieren:

  1. Rufen Sie in der globalen Zone pkgrm auf, um das Paket zu entfernen.

  2. Fügen Sie das Paket ohne die Option -G hinzu.

Verwenden von pkgadd in einer nicht-globalen Zone

Um ein Paket einer bestimmten nicht-globalen Zone hinzuzufügen, führen Sie als Zonenadministrator das Dienstprogramm pkgadd ohne Optionen aus. Es gelten die folgenden Bedingungen:

Die folgenden Schritte werden vom Dienstprogramm pkgadd ausgeführt:

Allgemeine Informationen zum Entfernen von Paketen aus Zonen

Mit dem in der Manpage pkgrm beschriebenen Dienstprogramm pkgrm(1M) können Sie Pakete von einem Solaris-System mit installierten Zonen entfernen.

Verwenden von pkgrm in der globalen Zone

Wenn Sie das Dienstprogramm pkgrm in der globalen Zone ausführen, gelten die folgenden Aktionen.

Beachten Sie, dass ein Paket nur dann von einem Zonenadministrator aus einer nicht-globalen Zone entfernt werden kann, wenn die folgenden Bedingungen zutreffen:

Entfernen eines Pakets aus der globalen Zone und aus allen nicht-globalen Zonen

Um ein Paket aus der globalen Zone und aus allen nicht-globalen Zonen zu entfernen, führen Sie das Dienstprogramm pkgrm als globaler Administrator in der globalen Zone aus.

Ein Paket kann unabhängig von dem Bereich, auf den sich das Paket auswirkt, aus der globalen Zone und allen nicht-globalen Zonen entfernt werden.

Die folgenden Schritte werden vom Dienstprogramm pkgrm ausgeführt:

Verwenden von pkgrm in einer nicht-globalen Zone

Um ein Paket aus einer nicht-globalen Zone zu entfernen, rufen Sie als Zonenadministrator das Dienstprogramm pkgrm auf. Es gelten die folgenden Einschränkungen:

Die folgenden Schritte werden vom Dienstprogramm pkgrm ausgeführt:

Informationen zu den Paketparametern

Einstellen der Paketparameter für Zonen

Die Paketparameter SUNW_PKG_ALLZONES, SUNW_PKG_HOLLOW und SUNW_PKG_THISZONE definieren die Eigenschaften von Paketen auf einem System mit installierten Zonen. Diese Parameter müssen gesetzt sein, so dass Pakete auf einem System mit installierten nicht-globalen Zonen verwaltet werden können.

In der folgenden Tabelle sind vier gültige Kombinationen für das Einstellen von Paketparameter aufgeführt. Wenn Sie Kombinationen wählen, die nicht in der Tabelle aufgeführt sind, so sind diese Einstellungen ungültig und das Paket kann nicht installiert werden.

Achten Sie darauf, alle drei Paketparameter einzustellen. Sie können alle drei Paketparameter frei lassen. Die Paket-Tools interpretieren einen fehlenden Paketparameter so, als wäre die Einstellung false gewählt. Dennoch raten wir davon ab, Parameter nicht einzustellen. Durch das Einstellen aller drei Paketparameter geben Sie das exakte Verhalten der Paket-Tools beim Installieren oder Deinstallieren eines Pakets vor.

Tabelle 25–1 Gültige Einstellungen für die Paketparameter

SUNW_PKG_ALLZONES Einstellung

SUNW_PKG_HOLLOW Einstellung

SUNW_PKG_THISZONE Einstellung

Paketbeschreibung 

false 

false 

false 

Dies ist die Standardeinstellung für Pakete, die nicht für alle Zonen-Paketparameter Werte angeben. 

Ein Paket mit diesen Einstellungen kann entweder in der globalen oder in einer nicht-globalen Zone installiert werden.  

  • Wenn der Befehl pkgadd in der globalen Zone ausgeführt wird, erfolgt die Installation des Pakets in der globalen Zone und in allen nicht-globalen Zonen.

  • Wenn der Befehl pkgadd in einer nicht-globalen Zone ausgeführt wird, erfolgt die Installation des Pakets nur in der nicht-globalen Zone.

In beiden Fällen ist der gesamte Inhalt des Pakets in allen Zonen sichtbar, in denen das Paket installiert wurde. 

false 

false 

true 

Ein Paket mit diesen Einstellungen kann entweder in der globalen oder in einer nicht-globalen Zone installiert werden. Wenn nach der Installation neue nicht-globale Zonen erstellt werden, wird das Paket nicht auf diese neuen nicht-globalen Zonen installiert. 

  • Wenn der Befehl pkgadd in der globalen Zone ausgeführt wird, erfolgt die Installation des Pakets nur in der globalen Zone.

  • Wenn der Befehl pkgadd in einer nicht-globalen Zone ausgeführt wird, erfolgt die Installation des Pakets nur in der nicht-globalen Zone.

In beiden Fällen ist der gesamte Inhalt des Pakets in der Zone sichtbar, in der das Paket installiert wurde. 

true 

false 

false 

Ein Paket mit diesen Einstellungen kann nur in der globalen Zone installiert werden. Wenn der Befehl pkgadd ausgeführt wird, erfolgt die Installation des Pakets in der globalen Zone und in allen nicht-globalen Zonen. Der gesamte Inhalt des Pakets ist in allen Zonen sichtbar.


Hinweis –

Jeder Versuch, das Paket in einer nicht-globalen Zone zu installieren, schlägt fehl.


true 

true 

false 

Ein Paket mit diesen Einstellungen kann nur vom globalen Administrator und nur in der globalen Zone installiert werden. Wenn der Befehl pkgadd ausgeführt wird, erfolgt die Installation des Paketinhalts vollständig in der globalen Zone. Wenn die Paketparameter eines Pakets auf diese Werte gesetzt sind, wird der Paketinhalt nicht an eine nicht-globale Zone geliefert. In den nicht-globalen Zonen werden lediglich die Paket-Installationsinformationen installiert, die für die Anzeige des Pakets erforderlich sind. Dies ermöglicht die Installation anderer Pakete, deren Installation von diesem Paket abhängt.

Für die Paketabhängigkeitsprüfung scheint das Paket in allen Zonen installiert zu sein. 

  • In der globalen Zone ist der gesamte Inhalt des Pakets sichtbar.

  • In nicht-globalen Whole Root Zones ist der gesamte Inhalt des Pakets nicht sichtbar.

  • Wenn eine nicht-globale Zone ein Dateisystem von der globalen Zone übernimmt, ist ein in diesem Dateisystem installiertes Paket auch in einer nicht-globalen Zone sichtbar. Alle anderen Dateien, die aus dem Paket stammen, sind innerhalb der nicht-globalen Zone nicht sichtbar.

    Beispielsweise kann eine nicht-globale Sparse Root Zone bestimmte Verzeichnisse gemeinsam mit der globalen Zone nutzen. Diese Verzeichnisse sind schreibgeschützt. Nicht-globale Sparse Root Zones nutzen unter anderem das Dateisystem /platform gemeinsam mit der globalen Zone. Ein weiteres Beispiel sind Pakete mit Dateien, die nur für die Boot-Hardware relevant sind.


Hinweis –

Jeder Versuch, das Paket in einer nicht-globalen Zone zu installieren, schlägt fehl.


SUNW_PKG_ALLZONES-Paketparameter

Der optionale Paketparameter SUNW_PKG_ALLZONES definiert den Geltungsbereich der Zone eines Pakets. Dieser Parameter definiert Folgendes:

Der Paketparameter SUNW_PKG_ALLZONES kann zwei zulässige Werte annehmen. Diese Werte sind true und false. Der Standardwert ist false. Falls dieser Parameter nicht gesetzt oder auf einen anderen Wert als true oder false gesetzt ist, wird standardmäßig der Wert false verwendet.

Der Parameter SUNW_PKG_ALLZONES muss auf true gesetzt sein, wenn Pakete in allen Zonen die gleiche Paketversion und Patch-Revisionsstufe aufweisen müssen. Bei einem Paket, das eine Funktion zur Verfügung stellt, die von einem bestimmten Solaris-Kernel abhängt (z. B. Solaris 10) muss dieser Parameter auf true gesetzt sein. Jeder Patch für ein Paket muss den Parameter SUNW_PKG_ALLZONES auf den Wert setzen, der zuvor in dem Paket gesetzt war, das gepatcht werden soll. Die Patch-Revisionsstufe für ein Paket, die diesen Parameter auf true setzt, muss für alle Zonen gleich sein.

Pakete, die Funktionen zur Verfügung stellen, die nicht von einem bestimmten Solaris-Kernel abhängen (z. B. Pakete von Drittanbietern oder Sun-Compiler) müssen diesen Parameter auf false setzen. Jeder Patch für ein Paket, das diesen Parameter auf false setzt, muss auch diesen Parameter auf false setzen. Die Paketversion oder die Patch-Revisionsstufe eines Pakets, das diesen Parameter auf false gesetzt, muss nicht für alle Zonen gleich sein. Beispielsweise können in zwei nicht-globalen Zonen jeweils unterschiedliche Versionen eines Webservers installiert sein.

Die Werte des Paketparameters SUNW_PKG_ALLZONES sind in der folgenden Tabelle beschrieben.

Tabelle 25–2 SUNW_PKG_ALLZONES-Paketparameterwerte

Wert 

Beschreibung 

false

Dieses Paket kann von der globalen Zone aus nur in der globalen Zone oder in der globalen Zone und in allen nicht-globalen Zone installiert werden. Das Paket kann auch von jeder nicht-globalen Zone aus in der gleichen nicht-globalen Zone installiert werden. 

  • Der globale Administrator kann das Paket nur in der globalen Zone installieren.

  • Der globale Administrator kann das Paket in der globalen Zone und in allen nicht-globalen Zonen installieren.

  • Der Zonenadministrator kann das Paket in einer nicht-globalen Zone installieren.

Wenn das Paket aus der globalen Zone entfernt wird, wird es nicht automatisch auch aus anderen Zonen entfernt. Das Paket kann aus einzelnen nicht-globalen Zonen entfernt werden. 

  • Das Paket muss nicht in der globalen Zone installiert werden.

  • Das Paket muss nicht in allen nicht-globalen Zonen installiert werden.

  • Das Paket muss nicht in allen Zonen identisch sein. Unterschiedliche Versionen des Pakets können in verschiedenen Zonen vorhanden sein.

  • Das Paket stellt Software bereit, die nicht implizit über alle Zonen gemeinsam genutzt wird. Dies bedeutet, dass das Paket nicht von einem bestimmten Betriebssystem abhängig ist. Zu dieser Kategorie gehört der größte Teil der Software auf Anwendungsebene. Beispiele sind StarOffice oder ein Webserver.

true

Wenn das Paket in der globalen Zone installiert wird, muss es auch in allen nicht-globalen Zonen installiert werden. Wenn das Paket aus der globalen Zone entfernt wird, muss es auch aus allen nicht-globalen Zonen entfernt werden. 

  • Wenn das Paket installiert wird, muss es in der globalen Zone installiert werden. Das Paket wird automatisch in allen nicht-globalen Zonen installiert.

  • Die Version des Pakets muss in allen Zonen identisch sein.

  • Die von dem Paket bereitgestellte Software wird implizit über alle Zonen gemeinsam genutzt. Das Paket hängt von den Softwareversionen ab, die implizit in allen Zonen gemeinsam genutzt wird. Das Paket muss in allen nicht-globalen Zonen sichtbar sein. Zu den Beispielen zählen umfassen Kernel-Module.

    Mit diesen Paketen können Abhängigkeiten nicht-globaler Zonen von Paketen gelöst werden, die in der globalen Zone installiert sind, da das gesamte Paket auch in allen nicht-globalen Zonen installiert werden muss.

  • Das Paket kann nur vom globalen Administrator installiert werden. Das Paket kann nicht von einem Zonenadministrator in einer nicht-globalen Zone installier werden.

SUNW_PKG_HOLLOW-Paketparameter

Der Paketparameter SUNW_PKG_HOLLOW definiert, ob ein Paket in allen nicht-globalen Zonen sichtbar sein muss, wenn das Paket in allen Zonen installiert und in allen Zonen identisch sein muss.

Der Paketparameter SUNW_PKG_HOLLOW kann zwei zulässige Werte annehmen: true oder false.

Die Werte des Paketparameters SUNW_PKG_HOLLOW sind in der folgenden Tabelle beschrieben.

Tabelle 25–3 SUNW_PKG_HOLLOW-Paketparameterwerte

Wert 

Beschreibung 

false

Dies ist kein „hollow“ (hohles) Paket: 

  • Wenn dieses Pakets in der globalen Zone installiert wird, müssen der Paketinhalt und die Installationsinformationen in allen nicht-globalen Zonen vorhanden sein.

  • Das Paket stellt Software bereit, die in allen nicht-globalen Zonen sichtbar sein muss. Ein Beispiel ist das Paket, das den Befehl truss bereitstellt.

  • Neben den Einschränkungen für die aktuelle Einstellung von SUNW_PKG_ALLZONES sind keine weiteren Einschränkungen definiert.

true

Dies ist ein „hollow“ (hohles) Paket: 

  • Der Paketinhalt wird an keine nicht-globale Zone geliefert. Jedoch sind die Paket-Installationsinformationen in allen nicht-globalen Zonen erforderlich.

  • Das Paket stellt Software bereit, die nicht in allen nicht-globalen Zonen sichtbar sein muss. Beispiele umfassen Kernel-Treiber sowie Systemkonfigurationsdateien, die nur in der globalen Zone arbeiten. Mit dieser Einstellung können Abhängigkeiten nicht-globaler Zonen von Paketen gelöst werden, die nur in der globalen Zone installiert sind, ohne dass die Paketdaten tatsächlich installiert werden.

  • Das Paket wird von Abhängigkeitsprüfungen anderer Pakete, die von der Installation dieses Pakets abhängen, als in allen Zonen installiert erkannt.

  • Diese Paketeinstellung umfasst alle Einschränkungen, die für eine Einstellung von SUNW_PKG_ALLZONES auf true definiert sind.

  • In der globalen Zone wird das Paket als mit allen enthaltenen Komponenten installiert angesehen. Bei der Installation des Pakets werden Verzeichnisse erstellt, Dateien installiert und die Klassenaktion sowie andere Skripten ausgeführt.

  • Eine nicht-globale Zone erkennt das Paket als installiert, aber es werden keine Komponenten aus dem Paket installiert. Bei der Installation des Pakets werden keine Verzeichnisse erstellt, keine Dateien installiert und es werden keine Klassenaktion oder andere Installationsskripten ausgeführt.

  • Wenn das Paket aus der globalen Zone entfernt wird, erkennt das System das Paket als vollständig installiert. Bei der Deinstallation des Pakets werden die entsprechenden Verzeichnisse und Dateien entfernt und die Klassenaktion oder andere Installationsskripten werden ausgeführt.

SUNW_PKG_THISZONE-Paketparameter

Der Paketparameter SUNW_PKG_THISZONE definiert, ob ein Paket nur in der aktuellen Zone installiert werden muss (global oder nicht-global). Der Paketparameter SUNW_PKG_THISZONE kann zwei zulässige Werte annehmen. Diese Werte sind true und false. Der Standardwert ist false.

Die Werte des Paketparameters SUNW_PKG_THISZONE sind in der folgenden Tabelle beschrieben.

Tabelle 25–4 SUNW_PKG_THISZONE-Paketparameterwerte

Wert 

Beschreibung 

false

  • Wenn der Befehl pkgadd in einer nicht-globalen Zone ausgeführt wird, erfolgt die Installation des Pakets nur in der aktuellen Zone.

  • Wenn der Befehl pkgadd in der globalen Zone ausgeführt wird, erfolgt die Installation des Pakets in der globalen Zone und in allen aktuell installierten nicht-globalen Zonen. Darüber hinaus wird das Paket in alle zu einem späteren Zeitpunkt neu installierten nicht-globalen Zonen installiert.

true

  • Das Paket wird nur in der aktuellen Zone installiert.

  • Wenn das Paket in der globalen Zone installiert wird, wird es aktuell bestehenden oder noch zu erstellenden nicht-globalen Zonen nicht hinzugefügt. Dies ist das gleiche Verhalten, als ob die Option -G für den Befehl pkgadd angegeben wurde.

Abfrage der Paket-Informationen

Mit dem in der Manpage pkginfo(1) beschriebenen Dienstprogramm pkginfo wird das Abfragen der Software-Paketdatenbank auf einem Solaris-System mit installierten Zonen unterstützt. Weitere Informationen zur Datenbank finden Sie unter Produkt-Datenbank.

Das Dienstprogramm pkginfo kann von der globalen Zone aus eingesetzt werden, um die Software-Paketdatenbank in der globalen Zone abzufragen. Das Dienstprogramm pkginfo kann von einer nicht-globalen Zone aus eingesetzt werden, um die Software-Paketdatenbank in der nicht-globalen Zone abzufragen.

Allgemeine Informationen zum Hinzufügen von Patches in Zonen

Im Allgemeinen besteht ein Patch aus den folgenden Komponenten:

Wenn der Befehl patchadd ein Patch anwenden soll, wird anhand der Patch-Informationen festgestellt, ob der Patch für das aktuell ausgeführte System geeignet ist. Ist der Patch nicht geeignet, wird er nicht angewendet. Patch-Abhängigkeiten gegenüber allen Zonen auf dem System werden geprüft. Falls erforderliche Abhängigkeiten nicht erfüllt sind, wird der Patch nicht angewendet. Dies schließt den Fall ein, dass bereits eine aktuellere Version des Patch installiert ist.

Jedes im Patch enthaltene Paket wird geprüft. Wenn das Paket in einer Zone nicht installiert ist, wird das Paket übergangen und nicht gepatcht.

Wenn alle Abhängigkeiten erfüllt sind, werden alle Pakete im Patch, die in einer Zone installiert sind, zum Patchen des Systems verwendet. Auch die Paket- und Patch-Datenbanken werden aktualisiert.


Hinweis –

Solaris 10 3/05 bis Solaris 10 11/06: Wenn ein Paket mit pkgadd -G installiert wurde oder die pkginfo-Einstellung SUNW_PKG_THISZONE=true lautet, kann das Paket nur mit patchadd -G gepatcht werden. Diese Einschränkung wurde ab dem Solaris-Release 8/07 aufgehoben.


Solaris 10 8/07: Patchen mit verzögerter Aktivierung

Mit den Patches 119254-41 and 119255-41 wurden die Dienstprogramme patchadd und patchrm zur Patch-Installation überarbeitet. Dabei wurde die Methode geändert, mit der bestimmte Patches Funktionen zur Verfügung stellen. Von dieser Änderung ist die Installation dieser Patches in allen Solaris 10-Versionen betroffen. Die Patches zur verzögerten Aktivierung verarbeiten die zahlreichen Änderungen bei den Funktionspatches wie z. B. Kernel-Patches für die Solaris 10-Releases nach dem Solaris-Release 10 3/05 besser.

Patchen mit verzögerter Aktivierung verwenden das Loopback-Dateisystem (lofs), um die Stabilität des laufenden Programms sicherzustellen. Wenn ein Patch an einem laufenden System angewendet wird, hält das LOFS die Systemstabilität während des Patch-Prozesses aufrecht. Diese großen Kernel-Patches erfordern immer einen Neustart, aber jetzt aktiviert der erforderliche Neustart die von LOFS vorgenommenen Änderungen. Informationen über Patches, für die ein Neustart erforderlich ist, finden Sie im Patch README.

Wenn Sie nicht-globale Zonen ausführen oder LOFS deaktiviert ist, sollten Sie die folgenden Punkte beim Installieren oder Entfernen von Patches mit verzögerter Aktivierung berücksichtigen:


Hinweis –

Wenn Sie Solaris Live Upgrade zum Verwalten der Patches verwenden, treten die Probleme beim Patchen eines laufenden Systems nicht auf. Zudem werden mit dieser Anwendung die durch das Patchen verursachten Ausfallzeiten reduziert und beim Auftreten von Problemen Ausfallressourcen zur Verfügung gestellt. Sie können eine inaktive Boot-Umgebung patchen, während das System noch ausgeführt wird, und in die ursprüngliche Boot-Umgebung (boot environment, BE) zurückkehren, falls Probleme in der neuen BE auftreten. Lesen Sie dazu Systemupgrades mit Packages bzw. Patches in Oracle Solaris 10 9/10 Installationshandbuch: Solaris Live Upgrade und Planung von Upgrades .


Solaris 10 10/09: Paralleles Patchen von Zonen zur Reduzierung der für das Patchen erforderlichen Zeit

Das parallele Patchen von Zonen ist eine Verbesserung im Vergleich zu den standardmäßigen Patch-Dienstprogrammen in Solaris 10, zu denen die unterstützte Methode zum Patchen nicht-globaler Zonen auf dem Solaris 10-System gehört. Diese Funktion verbessert die Leistungsfähigkeit beim Patchen von Zonen dadurch, dass nicht-globale Zonen parallel gepatcht werden.

Für ältere Versionen als Solaris 10 10/09 wird diese Funktion im Patch für Patch-Dienstprogramme 119254-66 oder einer späteren Revision (SPARC) und 119255-66 oder einer späteren Revision (x86) bereitgestellt.

Die maximale Anzahl der nicht-globalen Zonen, die parallel gepatcht werden können, wird in einer neuen Konfigurationsdatei für patchadd, /etc/patch/pdo.conf festgelegt. Revision 66 oder höher dieses Patchs funktioniert in allen Solaris 10-Systemen und hoch entwickelten Patch-Automatisierungstools wie zum Beispiel Sun xVM Ops Center.

Die globale Zone wird weiterhin zuerst gepatcht. Nach dem Patchen der globalen Zone wird die Anzahl der nicht-globalen Zonen, die unter num_proc= festgelegt ist, zusammen gepatcht. Die maximale Anzahl beträgt 1,5 mal die Anzahl der Online-CPUs, bis hin zur tatsächlichen Anzahl nicht-globaler Zonen auf dem System.

Ein Beispiel hierfür ist:

Geht die Anzahl der nicht-globalen Zonen auf dem System darüber hinaus, werden die ersten 6 Zonen parallel gepatcht. Danach werden die verbleibenden nicht-globalen Zonen gepatcht, während das Patchen der ersten Gruppe durch Prozesse abgeschlossen wird.

Wenn Sie Solaris Live Upgrade und das neue Patch zum Verwalten von Patches verwenden, werden beim Auftreten von Problemen Ausfallressourcen zur Verfügung gestellt. Sie können eine inaktive Boot-Umgebung patchen, während das System noch ausgeführt wird, und in die ursprüngliche Boot-Umgebung (boot environment, BE) zurückkehren, falls Probleme in der neuen BE auftreten.

Weitere Informationen finden Sie unter Solaris 10 10/09: Paralleles Patchen von Zonen.


Hinweis –

Um alle Pakete für die Zone schnell zu aktualisieren, sodass sie den Paketen einer neu installierten nicht-globalen Zone auf dem Host entsprechen, können die Zonen getrennt werden, während die Patches in der globalen Zone installiert werden, und danach mit der Option -U wieder angehängt werden, um sie mit der Ebene der globalen Zone in Übereinstimmung zu bringen. Weitere Informationen finden Sie unter Verwenden von "Aktualisieren während des Anhängens" als Patching-Lösung.


Anwenden von Patches auf ein Solaris-System mit installierten Zonen

Alle Patches, die auf Ebene der globalen Zone angewendet werden, werden auf alle Zonen angewendet. Wenn eine nicht-globale Zone installiert ist, befindet sie sich auf der gleichen Patch-Ebene wie die globale Zone. Wenn die globale Zone gepatcht wird, werden alle nicht-globalen Zonen entsprechend gepatcht. Diese Aktion stellt sicher, dass auf allen Zonen die gleiche Patch-Ebene beibehalten wird.

Mit dem in der Manpage patchadd(1M) beschriebenen Dienstprogramm pkgadd können Sie Patches auf einem System mit installierten Zonen hinzufügen.

Verwenden von patchadd in der globalen Zone

Um ein Patch der globalen Zone und allen nicht-globalen Zonen hinzuzufügen, führen Sie patchadd als globaler Administrator in der globalen Zone aus.

Wenn patchadd in der globalen Zone verwendet wird, gelten die folgenden Bedingungen:

Wenn Sie der globalen Zone und allen nicht-globalen Zonen ein Patch hinzufügen, brauchen Sie nicht berücksichtigen, ob sich der Patch auf Bereiche auswirkt, die mit der globalen Zone gemeinsam genutzt werden.

Das Dienstprogramm patchadd führt die folgenden Schritte aus:

Verwenden von patchadd in einer nicht-globalen Zone

Wenn das Dienstprogramm patchadd vom Zonenadministrator in einer nicht-globalen Zone eingesetzt wird, kann es nur dieser Zone Patches hinzufügen. In den folgenden Fällen kann ein Patch einer nicht-globalen Zone hinzugefügt werden:

Das Dienstprogramm patchadd führt die folgenden Schritte aus:

Interaktionen von patchadd -G und der Variablen pkginfo auf Systemen mit installierten Zonen

Die folgende Liste beschreibt die Interaktionen zwischen der Option -G und der Variablen SUNW_PKG_ALLZONES, wenn der globalen Zone und nicht-globalen Zonen ein Patch hinzugefügt wird.

Globale Zone, -G angegeben

Falls in den Paketen SUNW_PKG_ALLZONES=TRUE gesetzt ist, führt dies zu einem Fehler und keiner Aktion.

Wenn in keinen Paketen SUNW_PKG_ALLZONES=TRUE gesetzt ist, wird der Patch nur auf Pakete in der globalen Zone angewendet.

Globale Zone, -G nicht angegeben

Falls in Paketen SUNW_PKG_ALLZONES=TRUE angegeben ist, wird der Patch auf diese Pakete in allen Zonen angewendet.

Falls in keinem Paket SUNW_PKG_ALLZONES=TRUE gesetzt ist, wird der Patch auf alle Paketen in allen entsprechenden Zonen angewendet. Pakete, die nur für die globale Zone gelten, werden nur in der globalen Zone installiert.

Nicht-globale Zone, -G angegeben oder nicht angegeben

Falls in den Paketen SUNW_PKG_ALLZONES=TRUE gesetzt ist, führt dies zu einem Fehler und keiner Aktion.

Wenn in keinem Paket SUNW_PKG_ALLZONES=TRUE gesetzt ist, wird der Patch nur auf Pakete in der nicht-globalen Zone angewendet.

Entfernen von Patches auf einem Solaris-System mit installierten Zonen

Mit dem in der Manpage patchrm beschriebenen Dienstprogramm patchrm(1M) können Sie Patches von einem System mit installierten Zonen entfernen.

Verwenden von patchrm in der globalen Zone

Als globaler Administrator können Sie das Dienstprogramm patchrm in der globalen Zone ausführen, um Patches zu entfernen. Das Dienstprogramm patchrm kann nicht zum Entfernen von Patches nur aus der globalen Zone oder nur von einem Teil der nicht-globalen Zonen verwendet werden.

Verwenden von patchrm in einer nicht-globalen Zone

Als Zonenadministrator können Sie das Dienstprogramm patchrm in einer nicht-globalen Zone verwenden, um Patches nur aus dieser nicht-globalen Zone zu entfernen. Patches dürfen sich nicht auf gemeinsam genutzte Bereiche auswirken.

Produkt-Datenbank

Die Paket-, Patch- und Produkt-Registrierungsdatenbank einer Zone beschreibt alle installierten Softwareprogramme, die in der Zone zur Verfügung stehen. Alle Abhängigkeitsprüfungen bei der Installation zusätzlicher Software oder Patches werden ohne den Zugriff auf die Datenbank einer anderen Zone ausgeführt, es sei denn, ein Paket oder ein Patch wird in der globalen Zone und in mehreren nicht-globalen Zone installiert bzw. daraus entfernt. In diesem Fall muss auf die Datenbanken der entsprechende nicht-globalen Zonen zugegriffen werden.

Weitere Informationen zur Datenbank finden Sie in der Manpage pkgadm(1M).