From f768183fe04642157185cb9d11c730ca150f6ee2 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Sun, 20 Sep 2026 13:27:38 +0200 Subject: [PATCH] RHEL-Kapitel: Registrierung als Schritt 0, EPEL-Vorbehalt direkt daneben Beide Hinweise standen bisher nur in Abschnitt 5.1. Wer Kapitel 5 von oben nach unten abarbeitet, lief aber vorher schon in den dnf-Fehler. Deshalb jetzt im Hauptablauf selbst: - Ein hervorgehobener "Schritt 0" gleich zu Beginn des Kapitels mit den Pruefbefehlen (subscription-manager status, dnf repolist) und der Registrierung ueber die kostenlose Developer-Subskription. Dazu der Hinweis, dass RHEL 9 Simple Content Access nutzt und "subscription-manager attach" entfaellt, sowie die Feststellung, dass Rocky/Alma/CentOS Stream/Fedora nichts davon brauchen. - Direkt beim epel-release-Befehl der Vorbehalt, dass EPEL eine funktionierende Subskription voraussetzt: das Paket konfiguriert nur die Quelle, Abhaengigkeiten kommen weiter aus BaseOS/AppStream. EPEL ist damit kein Ersatz fuer die Registrierung. Bleibt podman-compose deswegen unerreichbar, fuehrt der Quadlet-Weg aus Kapitel 6 ohne Compose zum Ziel. Die Aufzaehlung dessen, was install.sh tut, entspricht jetzt dem tatsaechlichen Ablauf: Repository-Pruefung zuerst, dialog mit Rueckfall auf newt. Beide Sprachfassungen gepflegt. Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- README_en.md | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 92 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index adf65ce..af88bb2 100644 --- a/README.md +++ b/README.md @@ -182,6 +182,31 @@ systemd-Unit ist trotzdem sinnvoll, weil sie zusätzlich **alle** Sites startet Auf Red-Hat-Systemen steht Docker nicht zur Verfügung – hier wird **Podman** verwendet. Die Compose-Datei ist dieselbe. +> ### Schritt 0 bei RHEL: Subskription prüfen +> +> **Ein nicht registriertes RHEL installiert überhaupt keine Pakete** – weder +> `podman` noch `git`, `dialog` oder `tar`. `dnf` meldet dann nur +> *„This system is not registered with an entitlement server"*. Das ist der +> häufigste Grund, warum `install.sh` auf einem frischen RHEL nicht durchläuft. +> +> ```bash +> # Ist das System registriert? +> sudo subscription-manager status # -> "Overall Status: Current" = in Ordnung +> sudo dnf repolist # -> darf nicht leer sein +> +> # Falls nicht: kostenloses Konto auf https://developers.redhat.com anlegen +> # (Developer Subscription for Individuals, bis zu 16 Systeme) und dann: +> sudo subscription-manager register --username +> ``` +> +> RHEL 9 nutzt *Simple Content Access*, ein `subscription-manager attach` ist +> **nicht** mehr nötig. Ohne Konto geht es auch per Installations-DVD oder durch +> den Wechsel auf Rocky/Alma – alle drei Wege stehen ausführlich in +> [Abschnitt 5.1](#5-installation-auf-rhelrockyalmafedora-podman). +> +> **Rocky Linux, AlmaLinux, CentOS Stream und Fedora** brauchen nichts davon – +> dort einfach weiterlesen. + ```bash sudo mkdir -p /opt/checkmk-stack sudo cp -r ./* ./.env.example /opt/checkmk-stack/ @@ -192,20 +217,36 @@ sudo ./install.sh --with-systemd `install.sh` installiert dabei: -1. `podman`, `tar`, `dialog`, `openssl` -2. `podman-compose` – in dieser Reihenfolge versucht: +1. prüft zuerst, ob überhaupt ein nutzbares Repository vorhanden ist, und + nennt andernfalls die drei Wege aus [Abschnitt 5.1](#5-installation-auf-rhelrockyalmafedora-podman) +2. `podman`, `tar`, `openssl` +3. `dialog` für die ncurses-Oberfläche – schlägt das fehl, wird `newt` + (`whiptail`) genommen; beides unterstützen die Skripte +4. `podman-compose` – in dieser Reihenfolge versucht: Distributions-Repository → EPEL → `pip3 install podman-compose` -3. richtet die systemd-Unit ein (bei Podman **immer**, siehe nächstes Kapitel) +5. richtet die systemd-Unit ein (bei Podman **immer**, siehe nächstes Kapitel) Manuell entspricht das: ```bash -sudo dnf install -y podman podman-compose tar dialog openssl -# Falls podman-compose nicht im Repo ist: +sudo dnf install -y podman podman-compose tar openssl +sudo dnf install -y dialog || sudo dnf install -y newt # dialog: AppStream, newt: BaseOS + +# Falls podman-compose nicht im Repo ist - EPEL nachrüsten: sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm sudo dnf install -y podman-compose ``` +> **EPEL setzt eine funktionierende Subskription voraus.** Das Paket +> `epel-release` konfiguriert nur die EPEL-Quelle; seine Abhängigkeiten und +> alles, was danach daraus installiert wird, kommen weiterhin aus Red Hats +> BaseOS/AppStream. Auf einem nicht registrierten System scheitert deshalb +> schon der Befehl oben – EPEL ist **kein** Ersatz für die Registrierung. +> +> Bleibt `podman-compose` deswegen unerreichbar, ist das kein Hindernis: +> mit **Quadlet** ([Kapitel 6, Variante B](#6-autostart-nach-einem-neustart-des-hosts-podman)) +> läuft der Stack ganz ohne Compose, direkt über systemd. + Starten: ```bash diff --git a/README_en.md b/README_en.md index 05e1050..0718408 100644 --- a/README_en.md +++ b/README_en.md @@ -187,6 +187,31 @@ worthwhile because it additionally starts **all** sites Docker is not available on Red Hat systems – **Podman** is used instead. The compose file is the same one. +> ### Step 0 on RHEL: check the subscription +> +> **An unregistered RHEL installs no packages at all** – neither `podman` nor +> `git`, `dialog` or `tar`. `dnf` merely reports *"This system is not registered +> with an entitlement server"*. This is the most common reason why `install.sh` +> does not get through on a fresh RHEL. +> +> ```bash +> # is the system registered? +> sudo subscription-manager status # -> "Overall Status: Current" = fine +> sudo dnf repolist # -> must not be empty +> +> # if not: create a free account at https://developers.redhat.com +> # (Developer Subscription for Individuals, up to 16 systems) and then: +> sudo subscription-manager register --username +> ``` +> +> RHEL 9 uses *Simple Content Access*, so `subscription-manager attach` is **no +> longer** required. Without an account it also works from the installation DVD +> or by switching to Rocky/Alma – all three routes are covered in detail in +> [section 5.1](#5-installation-on-rhelrockyalmafedora-podman). +> +> **Rocky Linux, AlmaLinux, CentOS Stream and Fedora** need none of this – just +> read on. + ```bash sudo mkdir -p /opt/checkmk-stack sudo cp -r ./* ./.env.example /opt/checkmk-stack/ @@ -197,20 +222,36 @@ sudo ./install.sh --with-systemd `install.sh` installs: -1. `podman`, `tar`, `dialog`, `openssl` -2. `podman-compose` – attempted in this order: +1. first checks whether a usable repository exists at all, and otherwise names + the three routes from [section 5.1](#5-installation-on-rhelrockyalmafedora-podman) +2. `podman`, `tar`, `openssl` +3. `dialog` for the ncurses interface – if that fails, `newt` (`whiptail`) is + used instead; the scripts support either +4. `podman-compose` – attempted in this order: distribution repository → EPEL → `pip3 install podman-compose` -3. sets up the systemd unit (**always** with Podman, see the next chapter) +5. sets up the systemd unit (**always** with Podman, see the next chapter) Done manually, that is: ```bash -sudo dnf install -y podman podman-compose tar dialog openssl -# if podman-compose is not in the repository: +sudo dnf install -y podman podman-compose tar openssl +sudo dnf install -y dialog || sudo dnf install -y newt # dialog: AppStream, newt: BaseOS + +# if podman-compose is not in the repository - add EPEL: sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm sudo dnf install -y podman-compose ``` +> **EPEL requires a working subscription.** The `epel-release` package only +> configures the EPEL source; its dependencies and everything installed from it +> afterwards still come from Red Hat's BaseOS/AppStream. On an unregistered +> system even the command above therefore fails – EPEL is **not** a substitute +> for registering. +> +> If `podman-compose` stays out of reach because of this, it is no obstacle: +> with **Quadlet** ([chapter 6, option B](#6-starting-automatically-after-a-host-reboot-podman)) +> the stack runs entirely without compose, straight through systemd. + Starting up: ```bash