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
Allgemeine Informationen zum Hinzufügen von Paketen in Zonen
Allgemeine Informationen zum Entfernen von Paketen aus Zonen
Allgemeine Informationen zum Hinzufügen von Patches in Zonen
Anwenden von Patches auf ein Solaris-System mit installierten Zonen
Entfernen von Patches auf einem Solaris-System mit 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:
<Check Alignment of PHs>Wenn der Befehl patchadd zum Hinzufügen eines Pakets verwendet wird, das mit dem Befehl pkgadd und der Option -G installiert wurde, ist die Option -G für patchadd nicht mehr erforderlich.
Es wurde eine Tabelle hinzugefügt, in der die Ergebnisse aufgeführt sind, wenn die Befehle pkgadd, pkgrm, patchadd und patchrm auf einem System mit nicht-globalen Zonen in verschiedenen Status ausgeführt werden. Lesen Sie dazu So wirken sich Patch- und Paketvorgänge auf den Status einer Zone aus.
Es wurde eine Beschreibung der Interaktion von patchadd -G und der Variablen pkginfo hinzugefügt. Lesen Sie dazu Interaktionen von patchadd -G und der Variablen pkginfo auf Systemen mit installierten Zonen.
Informationen zum Patchen mit zurückgestellter Aktivierung wurden hinzugefügt. Lesen Sie dazu Solaris 10 8/07: Patchen mit verzögerter Aktivierung.
Informationen zur Option -G des Befehls pkgrm wurden gelöscht.
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.
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:
Solaris Live Upgrade wird auf Systemen, deren zonepath sich auf einem ZFS befindet, ab Solaris 10 10/08 unterstützt.
Das System kann nur mit Solaris Live Upgrade aktualisiert werden.
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:
Der globale Administrator kann Software in jeder Zone auf dem System verwalten.
Das Root-Dateisystem einer nicht-globalen Zone kann mit den Paket- und Patch-Tools in Solaris von der globalen Zone aus verwaltet werden. Die Paket- und Patch-Tools in Solaris werden innerhalb der nicht-globalen Zone für die Verwaltung von gebündelten (bundled), eigenständigen (unbundled) oder Drittanbieterprodukten unterstützt.
Die Paket- und Patch-Tools arbeiten in einer Umgebung, in der Zonen aktiviert sind. Mit den Tools kann ein Paket oder ein Patch, das in der globalen Zone installiert wird, auch in einer nicht-globalen Zone installiert werden.
Der Paketparameter SUNW_PKG_ALLZONES definiert den Zonen-Geltungsbereich eines Pakets. Der Geltungsbereich legt den Zonentyp fest, in dem ein bestimmtes Paket installiert werden kann. Weitere Informationen zu diesem Parameter finden Sie unter SUNW_PKG_ALLZONES-Paketparameter.
Der Paketparameter SUNW_PKG_HOLLOW definiert die Sichtbarkeit eines Pakets, wenn es in allen Zonen installiert und in allen Zonen identisch sein muss. Weitere Informationen zu diesem Parameter finden Sie unter SUNW_PKG_HOLLOW-Paketparameter.
Der Paketparameter SUNW_PKG_THISZONE legt fest, ob ein Paket nur in der aktuellen Zone installiert werden muss. Weitere Informationen zu diesem Parameter finden Sie unter SUNW_PKG_THISZONE-Paketparameter.
Pakete, die keine Werte für Zonen-Paketparameter definieren, haben die Standardeinstellung false.
Die innerhalb einer nicht-globalen Zone sichtbaren Paketinformationen entsprechen den Dateien, die mit den Paket- und Patch-Tools in dieser Zone installiert wurden. Die Paketinformationen werden mit den inherit-pkg-dir-Verzeichnissen synchron gehalten.
Eine Änderung, beispielsweise ein zur globalen Zone hinzugefügter Patch bzw. Paket kann für alle Zonen übernommen werden. Diese Funktion sorgt für Konsistenz zwischen der globalen Zone und allen nicht-globalen Zonen.
Mit den Paket-Befehlen können Pakete hinzugefügt, entfernt und abgefragt werden. Mit den Patch-Befehlen können Patches hinzugefügt und entfernt werden.
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.
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).
Wenn ein Patch für ein Paket generiert wird, müssen die Parameter die gleichen Werte wie die Parameter im ursprünglichen Paket aufweisen.
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.
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.
Wenn das Paket aktuell weder in der globalen Zone noch in einer nicht-globalen Zone installiert ist, kann es wie folgt installiert werden:
Nur in der globalen Zone, wenn SUNW_PKG_ALLZONES=false
Nur in der aktuellen (globalen) Zone, wenn SUNW_PKG_THISZONE=true
In der globalen Zone und in allen nicht-globalen Zonen
Wenn das Paket aktuell nur in der globalen Zone installiert ist:
Das Paket kann in allen nicht-globalen Zonen installiert werden.
Das Paket kann aus der globalen Zone entfernt werden.
Wenn ein Paket aktuell in der globalen Zone und nur in einem Teil der nicht-globalen Zonen installiert ist:
SUNW_PKG_ALLZONES muss auf false gesetzt sein.
Das Paket kann in allen nicht-globalen Zonen installiert werden. Vorhandene Instanzen in allen nicht-globalen Zonen werden auf die installierte Version aktualisiert.
Das Paket kann aus der globalen Zone entfernt werden.
Das Paket kann aus der globalen Zone und aus allen nicht-globalen Zonen entfernt werden.
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 der globalen Zone installierte Pakete werden entweder nur in der globalen Zone, oder in der globalen Zone und in allen nicht-globalen Zonen installiert.
In der globalen Zone und in nicht-globalen Zonen installierte Pakete sind in allen Zonen gleich.
In einer nicht-globalen Zone sind die folgenden Paketvorgänge möglich:
Wenn ein Paket aktuell nicht in der nicht-globalen Zone installiert ist, kann es nur dann installiert werden, wenn SUNW_PKG_ALLZONES=false ist.
Das Paket kann in der aktuellen (nicht-globalen) Zone installiert werden, wenn SUNW_PKG_THISZONE=true ist.
Wenn ein Paket aktuell in der nicht-globalen Zone installiert ist:
Das Paket kann nur dann über eine vorhandene Instanz des Pakets installiert werden, wenn SUNW_PKG_ALLZONES=false ist.
Das Paket kann nur dann aus der nicht-globalen Zone entfernt werden, wenn SUNW_PKG_ALLZONES=false ist.
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. |
Mit dem in der Manpage pkgadd beschriebenen Dienstprogramm pkgadd(1M) können Sie Pakete auf einem Solaris-System mit installierten Zonen hinzufügen.
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.
Das Dienstprogramm pkgadd kann ein Paket hinzufügen:
Nur zur globalen Zone, es sei denn, das Paket ist SUNW_PKG_ALLZONES=true
Zur globalen Zone und zu allen nicht-globalen Zonen
Nur zu allen nicht-globalen Zonen, wenn das Paket bereits in der globalen Zone installiert ist
Nur zur aktuellen Zone, wenn SUNW_PKG_THISZONE=true
Das Dienstprogramm pkgadd kann kein Paket hinzufügen:
Nur zu einem Teil der nicht-globalen Zonen
Nur zu allen nicht-globalen Zonen, es sei denn, das Paket ist bereits in der globalen Zone installiert
Wenn das Dienstprogramm pkgadd ohne die Optionen -G ausgeführt wird und SUNW_PKG_THISZONE=false ist, wird das angegebene Paket standardmäßig allen Zonen hinzugefügt. Das Paket wird nicht als nur in der globalen Zone installiert gekennzeichnet.
Wenn das Dienstprogramm pkgadd oder die Option -G ausgeführt wird und SUNW_PKG_THISZONE=true ist, wird das angegebene Paket standardmäßig der aktuellen (globalen) Zone hinzugefügt. Das Paket wird als nur in der globalen Zone installiert gekennzeichnet.
Wenn die Option -G angegeben ist, fügt das Dienstprogramm pkgadd das angegebene Paket nur der globalen Zone hinzu. Das Paket wird als nur in der globalen Zone installiert gekennzeichnet. Das Paket wird nicht installiert, wenn eine nicht-globale Zone installiert wird.
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:
Paketabhängigkeiten werden in der globalen Zone und in allen nicht-globalen Zonen geprüft. Die Abhängigkeitsprüfung schlägt fehl, wenn erforderliche Pakete in einer Zone nicht installiert sind. Das System benachrichtigt den globalen Administrator und fordert vor dem Fortsetzen eine Bestätigung an.
Das Paket wird der globalen Zone hinzugefügt.
Die Paketdatenbank der globalen Zone wird aktualisiert.
Das Paket wird jeder nicht-globalen Zone hinzugefügt und die Datenbank der globalen Zone wird aktualisiert.
Die Paketdatenbank jeder nicht-globalen Zone wird aktualisiert.
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:
Der Paketinhalt wirkt sich nicht auf Bereiche der globalen Zone aus, der mit nicht-globalen Zonen gemeinsam genutzt werden.
In dem Paket ist SUNW_PKG_ALLZONES=false gesetzt.
Die folgenden Schritte werden vom Dienstprogramm pkgadd ausgeführt:
Wenn sich der Paketinhalt auf Bereiche der globalen Zone auswirkt, die mit einer nicht-globalen Zone gemeinsam genutzt werden, oder wenn in dem Paket SUNW_PKG_ALLZONES=true gesetzt ist, schlägt pkgadd fehl. Die Fehlermeldungen geben an, dass das Paket der globalen Zone und allen nicht-globalen Zonen hinzugefügt werden muss.
Die Paketabhängigkeiten werden nur in der globalen Zone geprüft. Die Abhängigkeitsprüfung schlägt fehl, wenn erforderliche Pakete nicht installiert sind. Das System benachrichtigt den globalen Administrator und fordert vor dem Fortsetzen eine Bestätigung an.
Das Paket wird der globalen Zone hinzugefügt.
Die Paketdatenbank der globalen Zone wird aktualisiert.
Die Paketinformationen in der globalen Zone werden kommentiert, um zu kennzeichnen, dass in dieses Paket nur in der globalen Zone installiert wurde. Wenn dann zu einem späteren Zeitpunkt eine nicht-globale Zone installiert wird, wird dieses Paket nicht installiert.
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:
Rufen Sie in der globalen Zone pkgrm auf, um das Paket zu entfernen.
Fügen Sie das Paket ohne die Option -G hinzu.
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:
Das Dienstprogramm pkgadd kann Pakete nur der nicht-globalen Zone hinzufügen, in der das Dienstprogramm verwendet wird.
Das Paket darf sich nicht auf Bereiche in der Zone auswirken, die gemeinsam mit der globalen Zone verwendet werden.
In dem Paket ist SUNW_PKG_ALLZONES=false gesetzt.
Die folgenden Schritte werden vom Dienstprogramm pkgadd ausgeführt:
Bevor das Paket hinzugefügt wird, werden die Paketabhängigkeiten in der Paketdatenbank der nicht-globalen Zone geprüft. Die Abhängigkeitsprüfung schlägt fehl, wenn erforderliche Pakete nicht installiert sind. Das System benachrichtigt den Administrator der nicht-globalen Zone und fordert vor dem Fortsetzen eine Bestätigung an. Die Prüfung schlägt fehl, wenn eine der folgenden Bedingungen zutrifft:
Eine Komponente des Pakets wirkt sich auf Bereiche in der Zone aus, die gemeinsam mit der globalen Zone verwendet werden.
In dem Paket ist SUNW_PKG_ALLZONES=true gesetzt.
Das Paket wird der Zone hinzugefügt.
Die Paketdatenbank der Zone wird aktualisiert.
Mit dem in der Manpage pkgrm beschriebenen Dienstprogramm pkgrm(1M) können Sie Pakete von einem Solaris-System mit installierten Zonen entfernen.
Wenn Sie das Dienstprogramm pkgrm in der globalen Zone ausführen, gelten die folgenden Aktionen.
pkgrm kann ein Paket aus der globalen Zone, aus allen nicht-globalen Zonen oder nur aus der globalen Zone entfernen, wenn das Paket nur in der globalen Zone installiert ist.
pkgrm kann ein Paket nicht nur aus der globalen Zone entfernen, wenn das Paket auch in einer nicht-globalen Zone installiert ist oder ein Paket nur aus einem Teil der nicht-globalen Zonen entfernen.
Beachten Sie, dass ein Paket nur dann von einem Zonenadministrator aus einer nicht-globalen Zone entfernt werden kann, wenn die folgenden Bedingungen zutreffen:
Das Paket wirkt sich nicht auf Bereiche der nicht-globalen Zone aus, die gemeinsam mit der globalen Zone verwendet werden.
In dem Paket ist SUNW_PKG_ALLZONES=false gesetzt.
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:
Paketabhängigkeiten werden in der globalen Zone und in allen nicht-globalen Zonen geprüft. Falls die Abhängigkeitsprüfung fehlschlägt, kann das Dienstprogramm pkgrm nicht ausgeführt werden. Das System benachrichtigt den globalen Administrator und fordert vor dem Fortsetzen eine Bestätigung an.
Das Paket wird aus allen nicht-globalen Zonen entfernt.
Die Paketdatenbank jeder nicht-globalen Zone wird aktualisiert.
Das Paket wird aus der globalen Zone entfernt.
Die Paketdatenbank der globalen Zone wird aktualisiert.
Um ein Paket aus einer nicht-globalen Zone zu entfernen, rufen Sie als Zonenadministrator das Dienstprogramm pkgrm auf. Es gelten die folgenden Einschränkungen:
pkgrm kann nur Pakete aus der nicht-globalen Zone entfernen.
Das Paket darf sich nicht auf Bereiche in der Zone auswirken, die gemeinsam mit der globalen Zone verwendet werden.
In dem Paket ist SUNW_PKG_ALLZONES=false gesetzt.
Die folgenden Schritte werden vom Dienstprogramm pkgrm ausgeführt:
Die Abhängigkeiten werden in der Paketdatenbank der nicht-globalen Zone geprüft. Falls die Abhängigkeitsprüfung fehlschlägt, kann das Dienstprogramm pkgrm nicht ausgeführt werden und der Zonenadministrator wird benachrichtigt. Die Prüfung schlägt fehl, wenn eine der folgenden Bedingungen zutrifft:
Eine Komponente des Pakets wirkt sich auf Bereiche in der Zone aus, die gemeinsam mit der globalen Zone verwendet werden.
In dem Paket ist SUNW_PKG_ALLZONES=true gesetzt.
Das Paket wird aus der Zone entfernt.
Die Paketdatenbank der Zone wird aktualisiert.
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
Der optionale Paketparameter SUNW_PKG_ALLZONES definiert den Geltungsbereich der Zone eines Pakets. Dieser Parameter definiert Folgendes:
Ob ein Paket in allen Zonen installiert werden muss
Ob ein Paket in allen Zonen identisch sein muss
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
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.
Falls der Parameter SUNW_PKG_HOLLOW nicht gesetzt oder auf einen anderen Wert als true oder false gesetzt ist, wird standardmäßig der Wert false verwendet.
Wenn SUNW_PKG_ALLZONES auf false gesetzt ist, wird der Parameter SUNW_PKG_HOLLOW ignoriert.
Wenn SUNW_PKG_ALLZONES auf false gesetzt ist, kann der Parameter SUNW_PKG_HOLLOW nicht auf true gesetzt werden.
Die Werte des Paketparameters SUNW_PKG_HOLLOW sind in der folgenden Tabelle beschrieben.
Tabelle 25–3 SUNW_PKG_HOLLOW-Paketparameterwerte
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
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.
Im Allgemeinen besteht ein Patch aus den folgenden Komponenten:
Patch-Informationen:
Identifikation, die Patch-Version und Patch-ID
Anwendbarkeit, Betriebssystemtyp, Betriebssystemversion und Architektur
Abhängigkeiten, z. B. erforderliche und veraltete
Eigenschaften, z. B. muss anschließend neu gestartet werden
Mindestens ein zu patchendes Paket, dabei muss jedes Paket Folgendes enthalten:
Die Version des Pakets, auf dass der Patch angewendet werden soll
Patch-Informationen, z. B. ID, veraltete und erforderliche
Mindestens eine Komponente des zu patchenden Pakets
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.
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.
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:
Alle nicht globale Zonen müssen sich für diesen Patch-Modus im angehaltenen Zustand befinden. Sie müssen die nicht globale Zone vor der Anwendung des Patch anhalten.
Das Patchen mit verzögerter Aktivierung erfordert das Loopback-Dateisystem (LOFS). Bei Systemen, die Cluster 3.1 oder Sun Cluster 3.2 ausführen, ist das LOFS wahrscheinlich deaktiviert, da aktiviertes LOFS die HA-NFS-Funktionen einschränkt. Aus diesem Grund müssen Sie vor dem Installieren eines Patches mit verzögerter Aktivierung das Loopback-Dateisystem erneut aktivieren, indem Sie die folgende Zeile in der Datei /etc/system auskommentieren oder löschen:
exclude:lofs |
Anschließend booten Sie Ihr System neu und installieren den Patch. Stellen Sie diese Zeile in der Datei /etc/system nach der Patch-Installation wieder her oder entfernen Sie deren Kennzeichnung als Kommentar: Anschließend müssen Sie erneut booten, um den normalen Betrieb wiederherzustellen.
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 .
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:
Die Anzahl der CPUs beträgt 4
Die Einstellung ist num_proc=6
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.
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.
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.
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:
Das Dienstprogramm patchadd kann Patches nur der globalen Zone und allen nicht-globalen Zonen hinzufügen. Dies ist die Standardaktion.
Das Dienstprogramm patchadd kann nicht zum Hinzufügen von Patches nur zur globalen Zone oder einem Teil der nicht-globalen Zonen verwendet werden.
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:
Der Patch wird der globalen Zone hinzugefügt.
Die Patch-Datenbank der globalen Zone wird aktualisiert.
Der Patch wird jeder nicht-globalen Zone hinzugefügt.
Die Patch-Datenbank jeder nicht-globalen Zone wird aktualisiert.
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:
Der Patch wirkt sich nicht auf einen Bereich aus, der gemeinsam mit der globalen Zone verwendet wird.
In allen Paketen des Patches ist SUNW_PKG_ALLZONES=false gesetzt.
Das Dienstprogramm patchadd führt die folgenden Schritte aus:
Der Patch wird der Zone hinzugefügt.
Die Patch-Datenbank der Zone wird aktualisiert.
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.
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.
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.
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.
Mit dem in der Manpage patchrm beschriebenen Dienstprogramm patchrm(1M) können Sie Patches von einem System mit installierten Zonen entfernen.
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.
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.
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).