{"id":4152,"date":"2025-06-09T07:00:00","date_gmt":"2025-06-09T05:00:00","guid":{"rendered":"https:\/\/www.my-it-brain.de\/wordpress\/?p=4152"},"modified":"2025-06-03T13:23:21","modified_gmt":"2025-06-03T11:23:21","slug":"was-ist-das-red-hat-offline-knowledge-portal-und-wie-betreibt-man-es-als-systemd-service","status":"publish","type":"post","link":"https:\/\/www.my-it-brain.de\/wordpress\/was-ist-das-red-hat-offline-knowledge-portal-und-wie-betreibt-man-es-als-systemd-service\/","title":{"rendered":"Was ist das Red Hat Offline Knowledge Portal und wie betreibt man es als systemd.service?"},"content":{"rendered":"\n<p>In diesem Tutorial erkl\u00e4re ich, worum es sich beim Red Hat Offline Knowledge Portal handelt, unter welchen Voraussetzungen man es nutzen kann und wie man es als <code>systemd.service<\/code> auf dem eigenen Rechner betreibt.<\/p>\n\n\n\n<p>An einigen Stellen verweise ich auf die offizielle Red Hat Dokumentation, um das Tutorial nicht unn\u00f6tig zu verl\u00e4ngern.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Was ist das Red Hat Offline Knowledge Portal?<\/h2>\n\n\n\n<p>Wie der Name suggeriert, handelt es sich um eine offline nutzbare Version des Red Hat Customer Portal und unserer Knowledge Base, Errata, Produktdokumentation, CVE-Datenbank und Red Hat Security Data API. Das folgende Bildschirmfoto zeigt die Startseite.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"612\" src=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2025\/06\/image-800x612.png\" alt=\"\" class=\"wp-image-4153\" srcset=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2025\/06\/image-800x612.png 800w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2025\/06\/image-300x229.png 300w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2025\/06\/image-768x587.png 768w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2025\/06\/image-1536x1174.png 1536w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2025\/06\/image-624x477.png 624w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2025\/06\/image.png 1681w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\">Startseite des Red Hat Offline Knowledge Portal<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Ausgeliefert wird es als <a href=\"https:\/\/opencontainers.org\/\">OCI<\/a>-kompatibles Container-Image \u00fcber <code>registry.redhat.io<\/code> (Authentifizierung erforderlich). Informationen zum aktuellen Image und den Vorg\u00e4ngerversionen finden sich auch im <a href=\"https:\/\/catalog.redhat.com\/software\/containers\/offline-knowledge-portal\/rhokp-rhel9\/680143c03b895f32bbd104c2\">Red Hat Ecosystem Catalog<\/a>. Der Inhalt wird w\u00f6chentlich aktualisiert und als aktualisiertes Container-Image bereitgestellt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wof\u00fcr soll das gut sein?<\/h2>\n\n\n\n<p>Als Systemadministratoren oder Technical Account Manager (TAM) m\u00f6chten wir auch auf die im vorstehenden Abschnitt genannten Informationen zugreifen k\u00f6nnen, wenn wir uns in einer Umgebung befinden, in der ein Internetzugriff nicht m\u00f6glich ist. Darunter fallen zum Beispiel:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Vom Internet getrennte bzw. isolierte IT-Umgebungen<\/li>\n\n\n\n<li>Einige Z\u00fcge der Deutschen Bahn<\/li>\n\n\n\n<li>Besprechungsr\u00e4ume und B\u00fcros mit bescheidener Signalst\u00e4rke f\u00fcr das Diensttelefon<\/li>\n\n\n\n<li>Umgebungen, in denen der Zugriff auf die Online-Informationen erm\u00fcdend langsam ist<\/li>\n<\/ul>\n\n\n\n<p>Ich pers\u00f6nlich m\u00f6chte das Offline Knowledge Portal zum Beispiel gerne auf meinem Arbeitslaptop dabei haben, um unterwegs jederzeit auf die darin enthaltenen Informationen zugreifen zu k\u00f6nnen. Es ist so schnell, dass ich nicht mehr auf Zug-WLAN, langsame Mobilfunkverbindungen oder die langsame Online-Version (an einer Verbesserung wird gearbeitet) warten muss.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wer kann das benutzen?<\/h2>\n\n\n\n<p>Folgende Voraussetzungen m\u00fcssen erf\u00fcllt sein, um das Offline Knowledge Portal nutzen zu k\u00f6nnen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Es wird eine aktive <a href=\"https:\/\/www.redhat.com\/en\/technologies\/management\/satellite\">Red Hat Satellite Subscription<\/a> ben\u00f6tigt<\/li>\n\n\n\n<li>G\u00fcltige Customer Portal, Red Hat Developer oder Registry Service Account -Zugangsdaten<\/li>\n\n\n\n<li>Internetzugang, um das Container-Image herunterladen zu k\u00f6nnen<\/li>\n\n\n\n<li>Eine <a href=\"https:\/\/podman.io\/docs\/installation\">rootless Podman<\/a> Umgebung in Version 4.4 oder aktueller, welche <a href=\"https:\/\/docs.redhat.com\/en\/documentation\/red_hat_offline_knowledge_portal\/1.0\/html\/user_guide\/con_rhokp-tech-specs#ref_rhokp-pod-reqs\">diese Anforderungen<\/a> erf\u00fcllt<\/li>\n\n\n\n<li>Ein g\u00fcltiger <a href=\"https:\/\/access.redhat.com\/offline\/access\/\">Offline Knowledge Portal access key<\/a><\/li>\n\n\n\n<li>Zugangsdaten f\u00fcr <code>registry.redhat.io<\/code> in einer Datei f\u00fcr eine automatisierte Anmeldung liegen vor; siehe <code>container-auth.json(5)<\/code> f\u00fcr weitere Informationen <\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Wie kann man das dann benutzen?<\/h2>\n\n\n\n<p>Wer die schnelle L\u00f6sung sucht, findet diese in <a href=\"https:\/\/docs.redhat.com\/en\/documentation\/red_hat_offline_knowledge_portal\/1\/html\/user_guide\/proc_launching-rhokp\">Chapter\u00a01.\u00a0Launching Red\u00a0Hat Offline Knowledge Portal<\/a>. Ich zeige an dieser Stelle, wie man das Offline Knowledge Portal als <code>systemd.service<\/code> konfigurieren und dann wie einen normalen Dienst steuern kann. Im folgenden Codeblock findet ihr mein Podman Quadlet, mit dessen Hilfe der <code>systemd.service<\/code> generiert wird. Die Datei habe ich in diesem Pfade abgelegt: <code>~\/.config\/containers\/systemd\/rhokp.container<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>:~$ cat .config\/containers\/systemd\/rhokp.container\n&#91;Unit]\nDescription=Red Hat Offline Knowledge Portal\n\n&#91;Container]\nAutoUpdate=registry\nContainerName=RHOKP\nImage=registry.redhat.io\/offline-knowledge-portal\/rhokp-rhel9:latest\nPublishPort=127.0.0.1:8080:8080\nPublishPort=127.0.0.1:8443:8443\nPull=newer\nSecret=rhokp_access_key,type=env,target=ACCESS_KEY\n\n&#91;Service]\n# Extend Timeout to allow time to pull the image\nTimeoutStartSec=900\n\n&#91;Install]\n# Start by default on boot\n# WantedBy=multi-user.target default.target<\/code><\/pre>\n\n\n\n<p>Erkl\u00e4rung des Abschnitts <code>[Container]<\/code>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>AutoUpdate=registry<\/code>\n<ul class=\"wp-block-list\">\n<li>Aktiviert automatische Updates f\u00fcr den Container<\/li>\n\n\n\n<li>Podman pr\u00fcft dabei, ob in der Container-Registry eine neuere Version des Container-Images vorhanden ist, wenn der <code>podman-auto-update.timer<\/code> abgelaufen ist<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>ContainerName=RHOKP<\/code>\n<ul class=\"wp-block-list\">\n<li>Gibt dem Container einen Namen<\/li>\n\n\n\n<li>Dieser wird in der Ausgabe von <code>podman ps<\/code> angezeigt<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>Image=registry.redhat.io\/offline-knowledge-portal\/rhokp-rhel9:latest<\/code>\n<ul class=\"wp-block-list\">\n<li>Fully qualified container reference<\/li>\n\n\n\n<li>Der Tag <code>latest<\/code> ist zu verwenden, damit automatische Updates funktionieren<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>PublishPort=<\/code>\n<ul class=\"wp-block-list\">\n<li>Da ich das Offline Knowledge Portal auf meinem Arbeitslaptop ausf\u00fchre und nur selbst nutze, binde ich den Dienst an die IP-Adresse 127.0.0.1<\/li>\n\n\n\n<li>Soll der Dienst im Netzwerk angeboten werden, ist eine entsprechend erreichbare IP-Adresse zu verwenden<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>Pull=newer<\/code>\n<ul class=\"wp-block-list\">\n<li>Mit dieser Pull-Policy wird bei jedem Container-Start gepr\u00fcft, ob eine neue Image-Version in der Container-Registry verf\u00fcgbar ist und l\u00e4dt diese ggf. herunter<\/li>\n\n\n\n<li>Auf diese Weise muss ich nicht auf den Ablauf von <code>podman-auto-update.timer<\/code>  warten<\/li>\n\n\n\n<li>Es macht es mir einfacher, das Image auf meinem Laptop aktuell zu halten<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><code>Secret=rhokp_access_key,type=env,target=ACCESS_KEY<\/code>\n<ul class=\"wp-block-list\">\n<li>Ich habe meinen Offline Knowledge Portal Access Key in einem Podman-Secret namens <code>rhokp_access_key<\/code> gespeichert, welches beim Container-Start in die Umgebungsvariable <code>ACCESS_KEY<\/code> gemappt wird<\/li>\n\n\n\n<li>So stelle ich sicher, dass mein Zugangstoken nicht in der Ausgabe von <code>podman inspect<\/code> auftaucht oder mit dem Container in eine Datei gespeichert wird und ggf. unkontrolliert mein System verl\u00e4sst<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Weitere Informationen finden sich in den Manpages <code>podman-systemd.unit(5)<\/code> und <code>podman-secret(1)<\/code>.<\/p>\n\n\n\n<p>Bitte beachtet, dass ich die letzte Zeile mit <code>WantedBy=<\/code> auskommentiert habe, da ich den Service auf meinem Laptop nur bei Bedarf starte. Wenn ihr den Dienst auf einem Server laufen lassen m\u00f6chtet, der automatisch mitstartet, kommentiert die Zeile einfach ein.<\/p>\n\n\n\n<p>Mit den folgenden Befehlen wird aus dem Quadlet ein <code>systemd.service<\/code> generiert und gestartet.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>:~$ systemctl --user daemon-reload\n:~$ systemctl --user start rhokp.service\n:~$ systemctl --user is-active rhokp.service\nactive<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Zusammenfassung<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ich muss mir nicht mehr den CLI-Befehl zum Start des Offline Knowledge Portal merken<\/li>\n\n\n\n<li>Ich habe es auf meinem Arbeitslaptop stets dabei und griffbereit<\/li>\n\n\n\n<li>Gesteuert wird es \u00fcber vertraute <code>systemctl<\/code>-Befehle<\/li>\n\n\n\n<li>Automatische Updates sind ebenfalls m\u00f6glich<\/li>\n<\/ul>\n\n\n\n<p>Wenn euch die Idee gef\u00e4llt und ihr die Vorraussetzungen erf\u00fcllt, probiert es selbst aus.<\/p>\n\n\n\n<p>PS: Es ist erfreulich schnell!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Tutorial erkl\u00e4re ich, worum es sich beim Red Hat Offline Knowledge Portal handelt, unter welchen Voraussetzungen man es nutzen kann und wie man es als systemd.service auf dem eigenen Rechner betreibt. An einigen Stellen verweise ich auf die offizielle Red Hat Dokumentation, um das Tutorial nicht unn\u00f6tig zu verl\u00e4ngern. Was ist das Red<span class=\"continue-reading\"> <a href=\"https:\/\/www.my-it-brain.de\/wordpress\/was-ist-das-red-hat-offline-knowledge-portal-und-wie-betreibt-man-es-als-systemd-service\/\">[Weiterlesen&#8230;]<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_metis_text_type":"","_metis_text_length":0,"_post_count":0,"footnotes":""},"categories":[3],"tags":[886,885],"class_list":["post-4152","post","type-post","status-publish","format-standard","hentry","category-tutorials","tag-offline-knowledge-portal","tag-red-hat-offline-knowledge-portal"],"_links":{"self":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/4152","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/comments?post=4152"}],"version-history":[{"count":4,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/4152\/revisions"}],"predecessor-version":[{"id":4157,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/4152\/revisions\/4157"}],"wp:attachment":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/media?parent=4152"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/categories?post=4152"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/tags?post=4152"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}