Benutzerdefinierte Softwarequellen
Eine benutzerdefinierte Softwarequelle ist ein Software-Repository, das aus Hersteller-Softwarequellen abgeleitet wird. Mit benutzerdefinierten Quellen können Sie spezifische Sets von Packages oder Modulen erstellen, die Sie verwalten und auf Oracle Linux-Instanzen anwenden möchten.
- Benutzerdefinierte Quelle erstellen
- Verfügbarkeit einer benutzerdefinierten Quelle
- Abhängigkeiten automatisch auflösen
- Inhalt automatisch aktualisieren
- Filter und Paketlisten verwenden
- Beschränken von Paketen und Modulen auf die neueste Version
Benutzerdefinierte Quelle erstellen
Um eine benutzerdefinierte Quelle zu erstellen, wählen Sie Anbietersoftwarequellen aus, die als Grundlage verwendet werden sollen. Diese müssen alle dieselbe Betriebssystemversion und Architektur aufweisen. Mit Filtern oder einer Paketliste identifizieren Sie dann die Packages und Module, die aus den Softwarequellen des Herstellers aufgenommen oder ausgeschlossen werden sollen. Dadurch wird eine Quelle erstellt, die eine Teilmenge der Packages und Module ist, die von den Softwarequellen des Basisherstellers bereitgestellt werden. Anschließend können Sie benutzerdefinierte Softwarequellen an Profile, Instanzen oder Gruppen anhängen (Lebenszyklusumgebungen verwenden versionierte benutzerdefinierte Softwarequellen).
- Snapshot erstellen
-
Eine gängige Verwendung benutzerdefinierter Softwarequellen besteht darin, einen Snapshot einer Softwarequelle eines Anbieters zu erstellen. Dadurch wird eine Kopie der Softwarequelle des Herstellers erstellt, jedoch mit Packages, die bei der Snapshot-Erstellung in den verfügbaren Versionen verbleiben. Dies kann nützlich sein, um Instanzen auf eine bestimmte Version von Packages zu beschränken, die von einem Hersteller freigegeben werden.
Verfügbarkeit einer benutzerdefinierten Quelle
Die Verfügbarkeit einer benutzerdefinierten Softwarequelle hängt von der Verfügbarkeit der Anbietersoftwarequellen ab, mit denen sie erstellt wird. Beispiel: Wenn eine benutzerdefinierte Quelle eine Lieferantenquelle verwendet, die nur in OCI verfügbar ist, ist die benutzerdefinierte Quelle auch nur in OCI verfügbar.
Abhängigkeiten automatisch auflösen
Wenn Sie eine benutzerdefinierte Softwarequelle erstellen, können Sie festlegen, dass der Service Package- und Modulabhängigkeiten automatisch auflösen soll, indem Sie die Option Packages und Modulabhängigkeiten automatisch auflösen aktivieren. Die Abhängigkeitsauflösung kann nur Pakete innerhalb von Anbietersoftwarequellen enthalten, die Teil der benutzerdefinierten Quelle sind. Wenn sich ein abhängiges Package in einer Lieferantenquelle befindet, die nicht in der benutzerdefinierten Quelle enthalten ist, wird das abhängige Package nicht eingeschlossen, und die benutzerdefinierte Softwarequelle kann nicht erstellt werden.
Wenn Sie die Option zur automatischen Auflösung verwenden, enthält die benutzerdefinierte Softwarequelle auch die Paketabhängigkeiten Ihrer Filter oder Paketliste. Wenn Sie also verfügbare Packages anzeigen, werden möglicherweise Packages in der benutzerdefinierten Softwarequelle angezeigt, die nicht explizit von Ihren Filtern oder der Paketliste angegeben wird.
Inhalt automatisch aktualisieren
Wenn Sie eine benutzerdefinierte Softwarequelle erstellen, können Sie festlegen, dass der Service den Inhalt der benutzerdefinierten Softwarequelle automatisch aktualisiert, sodass die neuesten verfügbaren Packages aufgenommen werden, indem Sie die Option Inhalt automatisch aktualisieren aktivieren. OS Management Hub sucht alle 24 Stunden nach Updates.
Der Service aktualisiert den Inhalt nur, wenn eine Filter- oder Paketliste keine Version angibt (z.B. Include | Package | zsh
). Wenn Sie eine Version angeben (z.B. Include | Package | zsh | 5.5.1-6.el8
), ignoriert der Service die Option für die automatische Aktualisierung, und das Package bleibt bei dieser angegebenen Version.
Wenn Sie auch die Option auto-resolve verwenden, können abhängige Packages aktualisiert werden, die nicht in der Packageliste oder durch einen Filter angegeben sind.
Sie können die Option für die automatische Aktualisierung nicht mit versionierten benutzerdefinierten Softwarequellen verwenden.
Bei Quellen, die mit einer Packageliste oder Filtern erstellt wurden, können Sie eine sofortige Aktualisierung von Packages in einer benutzerdefinierten Softwarequelle auslösen. Siehe Update a Custom Software Source with the Latest Packages.
Filter und Paketlisten verwenden
Sie können entweder Filter oder eine Packageliste verwenden, um bestimmte Inhalte zu identifizieren, die in der benutzerdefinierten Softwarequelle enthalten sind. Sie definieren Filter oder eine Packageliste, wenn Sie eine benutzerdefinierte Softwarequelle erstellen oder wenn Sie Filter bearbeiten oder die Packageliste für eine benutzerdefinierte Softwarequelle.
- Filter
-
Verwenden Sie Filter, um Inhalte ein- oder auszuschließen, um benutzerdefinierte Softwarequellen zu erstellen. Zu den Filtertypen gehören:
- Gruppe, um eine Packagegruppe anzugeben. Die verfügbaren Packagegruppen hängen von den in der benutzerdefinierten Quelle enthaltenen Softwarequellen ab.
- Modul, um einen Modulstream und ein Modulstreamprofil anzugeben.
- Package zur Angabe von Packagename und -version. Das zulässige Packageversionsformat ist "epoch:version-release" oder "version-release". Beispiel: Package-Name:
edk2-ovmf
und Packageversion:1:20210616-3.el8
.
Wenn Sie die Option Abhängigkeiten automatisch auflösen verwenden, enthält die benutzerdefinierte Softwarequelle auch die Packageabhängigkeiten Ihrer Filter. Aus diesem Grund werden beim Anzeigen verfügbarer Packages möglicherweise zusätzliche Packages in der benutzerdefinierten Softwarequelle angezeigt, die nicht explizit von Ihren Filtern angegeben wird.
Wenn Sie die Option auto-update verwenden und Ihr Filter eine Packageversion angibt, wird die Option für dieses Package ignoriert und behält die angegebene Version bei. Wenn Ihr Filter jedoch ein Package ohne Version angibt, aktualisiert der Service das Package auf die neueste verfügbare Version.
Darüber hinaus können Sie die Option Nur neueste verwenden, um Pakete und Module auf die neuesten Versionen zu beschränken. Mit dieser Option wird nur die neueste Version des Package- oder Modulstreams innerhalb der Constraints Ihrer Filter oder Paketliste hinzugefügt.
- Package-Liste
-
Verwenden Sie eine Paketliste, um Pakete zu identifizieren, die in die benutzerdefinierte Softwarequelle aufgenommen werden sollen. Informationen zur gültigen Formatierung finden Sie unter Packagelistenformat.
Die Optionen auto-update und nur neuestes werden für Packages ignoriert, wenn Sie eine bestimmte Version des Packages angeben. Die Paketversion bleibt auf der in der Liste angegebenen Ebene.
Beschränken von Paketen und Modulen auf die neueste Version
Beim Erstellen einer benutzerdefinierten Softwarequelle können Sie die in der Quelle enthaltenen Packages und Module auf die neuesten verfügbaren Versionen beschränken. Wenn Sie die Option Nur neueste Version einschließen aktivieren, wird nur die neueste Version des Package- oder Modulstreams innerhalb der Constraints Ihrer Filter oder Paketliste hinzugefügt. Dadurch erhalten Sie mehr Kontrolle über den Inhalt der benutzerdefinierten Softwarequelle und verhindern, dass Instanzen ältere Versionen von Packages installieren.
Diese Option ist beim Erstellen einer versionierten benutzerdefinierten Softwarequelle erforderlich.
Wenn Sie die neueste Version nur mit einer Paketliste oder einem Filter verwenden, der eine bestimmte Version des Pakets angibt, enthält der Service nur die angegebene Version des Pakets.
Wenn die neueste Option aktiviert ist, verhalten sich Filter und Paketlisten wie folgt:
- Enthält für ein Package, das keine Version angibt, nur die neueste verfügbare Version des Packages.
- Bei einem Paket, das eine Version angibt, enthält es nur die angegebene Version des Pakets.
- Umfasst für einen Modulfilter, der keinen Stream angibt, alle verfügbaren Streams. Enthält in jedem Stream nur die neueste Version der Packages.
- Bei einem Modulfilter, der einen Stream angibt, enthält er nur die neueste Version der Packages für den angegebenen Stream.
- Umfasst für einen Gruppenfilter nur die neueste Version der Packages für die Gruppe.
Wenn Sie auch die Option auto-resolve verwenden, sind abhängige Packages, die nicht durch die Packageliste oder einen Filter eingeschränkt sind, auf die neueste verfügbare Version beschränkt.
Betrachten Sie beispielsweise die folgenden Filter für eine benutzerdefinierte Oracle Linux 8-Softwarequelle:
Filter | Packages und Module, bei Verwendung, neueste Option | Packages und Module wenn nicht, neueste Nur-Option |
---|---|---|
Einschließen | Paket | zsh |
zsh-5.5.1-10.el8 (umfasst nur die neueste Version des zsh-Packages) |
zsh-5.5.1-10.el8 zsh-5.5.1-9.el8 zsh-5.5.1-6.el8 zsh-5.5.1-6.el8_1.2 (umfasst alle Versionen des zsh-Packages) |
Einschließen | Paket | zsh | 5.5.1-6.el8 |
zsh-5.5.1-6.el8 (umfasst die neueste Version innerhalb von Constraints des Filters des zsh-Packages) |
zsh-5.5.1-6.el8 (umfasst die angegebene Version des zsh-Packages) |
Einschließen | Modul | maven |
maven-3.7 maven-3.6 maven-3.5 (umfasst nur die neueste Version der Packages in jedem Stream) |
maven-3.7 maven-3.6 maven-3.5 (umfasst alle Versionen von Packages in jedem Stream) |
Einschließen | Modul | maven | 3.6 |
maven-3.6 (umfasst nur die neueste Version der Packages im Stream) |
maven-3.6 (umfasst alle Versionen von Packages im Stream) |
Einschließen | Gruppe | Netzwerktools |
Netzwerkwerkzeuge (umfasst nur die neueste Version der Packages in der Gruppe) |
Netzwerkwerkzeuge (umfasst alle Versionen von Packages in der Gruppe) |
Keine Filter | Umfasst nur die neueste Version der Packages aus den zugrunde liegenden Softwarequellen des Herstellers. Bei Modulen bedeutet dies nur die neuesten Pakete aus jedem Modulstream. | Umfasst alle Versionen der Packages und Module in den zugrunde liegenden Softwarequellen des Herstellers. |