<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://mw.below-zero.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Elektrokid</id>
	<title>superMassive - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://mw.below-zero.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Elektrokid"/>
	<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php/Spezial:Beitr%C3%A4ge/Elektrokid"/>
	<updated>2026-04-10T01:01:54Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=RedHat_Updates&amp;diff=31</id>
		<title>RedHat Updates</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=RedHat_Updates&amp;diff=31"/>
		<updated>2026-04-08T16:00:05Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: Die Seite wurde neu angelegt: „ &amp;#039;&amp;#039;&amp;#039;RHEL Major Upgrade Guide&amp;#039;&amp;#039;&amp;#039;  RHEL 7.9 → RHEL 8 → RHEL 9  &amp;#039;&amp;#039;Offline-Umgebung mit lokalem Repo-Server&amp;#039;&amp;#039;  Version 1.0  |  April 2026  = 1. Übersicht und Voraussetzungen = Dieses Dokument beschreibt den In-Place-Upgrade-Prozess von RHEL 7.9 auf RHEL 8 und anschließend auf RHEL 9 in einer Offline-Umgebung ohne direkten Internetzugang. Als Upgrade-Werkzeug wird Leapp verwendet.  == 1.1 Upgrade-Pfad == {| class=&amp;quot;wikitable&amp;quot; |- valign=&amp;quot;top&amp;quot; |&amp;#039;&amp;#039;&amp;#039;Schritt&amp;#039;&amp;#039;…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&#039;&#039;&#039;RHEL Major Upgrade Guide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
RHEL 7.9 → RHEL 8 → RHEL 9&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Offline-Umgebung mit lokalem Repo-Server&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Version 1.0  |  April 2026&lt;br /&gt;
&lt;br /&gt;
= 1. Übersicht und Voraussetzungen =&lt;br /&gt;
Dieses Dokument beschreibt den In-Place-Upgrade-Prozess von RHEL 7.9 auf RHEL 8 und anschließend auf RHEL 9 in einer Offline-Umgebung ohne direkten Internetzugang. Als Upgrade-Werkzeug wird Leapp verwendet.&lt;br /&gt;
&lt;br /&gt;
== 1.1 Upgrade-Pfad ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Schritt&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Von&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Nach&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Methode&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|1&lt;br /&gt;
|RHEL 7.9&lt;br /&gt;
|RHEL 8.10&lt;br /&gt;
|Leapp (el7toel8)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|2&lt;br /&gt;
|RHEL 8.10&lt;br /&gt;
|RHEL 9.x&lt;br /&gt;
|Leapp (el8toel9)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|3&lt;br /&gt;
|RHEL 9.x&lt;br /&gt;
|RHEL 9.7&lt;br /&gt;
|dnf update -y&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 1.2 Allgemeine Voraussetzungen ==&lt;br /&gt;
&lt;br /&gt;
* System	vollständig auf aktuellem Patch-Stand (yum/dnf update -y)&lt;br /&gt;
* VM-Snapshot	oder Backup vor jedem Upgrade-Schritt&lt;br /&gt;
* Lokaler	Repo-Server mit RHEL 8 und RHEL 9 Paketen erreichbar&lt;br /&gt;
* Ausreichend	freier Speicher auf /usr (mindestens +1 GB Puffer empfohlen)&lt;br /&gt;
* Konsolen-Zugang	(iDRAC/ILO) für den Fall dass SSH nach Reboot nicht verfügbar ist&lt;br /&gt;
&lt;br /&gt;
🔴 &#039;&#039;&#039;Ein Rollback nach gestartetem Upgrade ist NICHT möglich! Snapshot/Backup ist zwingend erforderlich.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= 2. Upgrade RHEL 7.9 → RHEL 8 (ohne Satellite Server) =&lt;br /&gt;
&lt;br /&gt;
== 2.1 System vorbereiten ==&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Version bestätigen&lt;br /&gt;
&lt;br /&gt;
cat /etc/redhat-release &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; System vollständig patchen&lt;br /&gt;
&lt;br /&gt;
yum update -y &amp;amp;&amp;amp; reboot&lt;br /&gt;
&lt;br /&gt;
== 2.2 Kernel-Module blacklisten ==&lt;br /&gt;
Folgende Kernel-Module sind mit RHEL 8 nicht kompatibel und müssen vor dem Upgrade geblacklisted werden:&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /etc/modprobe.d/leapp-blacklist.conf &amp;lt;&amp;lt; &#039;EOF&#039;&lt;br /&gt;
&lt;br /&gt;
blacklist pata_acpi&lt;br /&gt;
&lt;br /&gt;
blacklist BusLogic&lt;br /&gt;
&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Initramfs neu bauen&lt;br /&gt;
&lt;br /&gt;
dracut -f --kver $(uname -r)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Falls Blacklist nicht greift - zusaetzlich per GRUB&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; In /etc/default/grub die Zeile GRUB_CMDLINE_LINUX ergaenzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; rd.blacklist=pata_acpi rd.blacklist=BusLogic &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; BIOS:&lt;br /&gt;
&lt;br /&gt;
grub2-mkconfig -o /boot/grub2/grub.cfg&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; UEFI:&lt;br /&gt;
&lt;br /&gt;
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg&lt;br /&gt;
&lt;br /&gt;
reboot&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Nach Reboot prüfen - keine Ausgabe = korrekt&lt;br /&gt;
&lt;br /&gt;
lsmod | grep pata_acpi&lt;br /&gt;
&lt;br /&gt;
lsmod | grep BusLogic&lt;br /&gt;
&lt;br /&gt;
⚠ &#039;&#039;pata_acpi und BusLogic sind in RHEL 8 nicht mehr vorhanden. BusLogic ist ein alter VMware SCSI-Adapter-Treiber der auf modernen Systemen nicht genutzt wird.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 2.3 Leapp installieren ==&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; RHEL 7 Extras Repo aktivieren&lt;br /&gt;
&lt;br /&gt;
subscription-manager repos --enable rhel-7-server-extras-rpms &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Alternativ bei lokalem Repo - Extras muessen im lokalen Repo verfuegbar sein&lt;br /&gt;
&lt;br /&gt;
yum install leapp leapp-upgrade -y&lt;br /&gt;
&lt;br /&gt;
== 2.4 Leapp Repo-Konfiguration (Offline) ==&lt;br /&gt;
Da kein Internetzugang besteht, muessen die RHEL 8 Repos explizit fuer Leapp konfiguriert werden. Die Repo-IDs in dieser Datei muessen sich von den IDs in /etc/yum.repos.d/ unterscheiden um Duplikate zu vermeiden:&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /etc/leapp/files/leapp_upgrade_repositories.repo &amp;lt;&amp;lt; &#039;EOF&#039;&lt;br /&gt;
&lt;br /&gt;
[leapp-rhel8-BaseOS]&lt;br /&gt;
&lt;br /&gt;
name=Local RHEL 8 BaseOS (Leapp)&lt;br /&gt;
&lt;br /&gt;
baseurl=&amp;lt;nowiki&amp;gt;http://REPO-SERVER-IP/RHEL8/BaseOS/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
enabled=1&lt;br /&gt;
&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
&lt;br /&gt;
module_hotfixes=1 &lt;br /&gt;
&lt;br /&gt;
[leapp-rhel8-AppStream]&lt;br /&gt;
&lt;br /&gt;
name=Local RHEL 8 AppStream (Leapp)&lt;br /&gt;
&lt;br /&gt;
baseurl=&amp;lt;nowiki&amp;gt;http://REPO-SERVER-IP/RHEL8/AppStream/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
enabled=1&lt;br /&gt;
&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
&lt;br /&gt;
module_hotfixes=1 &lt;br /&gt;
&lt;br /&gt;
[leapp-rhel8-HighAvailability]&lt;br /&gt;
&lt;br /&gt;
name=Local RHEL 8 HighAvailability (Leapp)&lt;br /&gt;
&lt;br /&gt;
baseurl=&amp;lt;nowiki&amp;gt;http://REPO-SERVER-IP/RHEL8/HighAvailability/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
enabled=1&lt;br /&gt;
&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
&lt;br /&gt;
module_hotfixes=1&lt;br /&gt;
&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
🔴 &#039;&#039;&#039;Die baseurl muss per IP-Adresse angegeben werden, nicht per Hostname - der Leapp-Container loest DNS moeglicherweise nicht auf. URLs mit curl -I testen!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 2.5 DNF Konfiguration anpassen ==&lt;br /&gt;
Auf RHEL 7 existiert /etc/dnf/dnf.conf oft nicht oder ist leer. Leapp benoetigt diese Datei mit korrektem [main] Header:&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /etc/dnf/dnf.conf &amp;lt;&amp;lt; &#039;EOF&#039;&lt;br /&gt;
&lt;br /&gt;
[main]&lt;br /&gt;
&lt;br /&gt;
gpgcheck=1&lt;br /&gt;
&lt;br /&gt;
installonly_limit=3&lt;br /&gt;
&lt;br /&gt;
clean_requirements_on_remove=True&lt;br /&gt;
&lt;br /&gt;
best=False&lt;br /&gt;
&lt;br /&gt;
skip_if_unavailable=True&lt;br /&gt;
&lt;br /&gt;
exclude=*.i686&lt;br /&gt;
&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Kopie fuer Leapp erstellen&lt;br /&gt;
&lt;br /&gt;
cp /etc/dnf/dnf.conf /etc/leapp/files/dnf.conf&lt;br /&gt;
&lt;br /&gt;
== 2.6 Repo-Server vorbereiten ==&lt;br /&gt;
Der Repo-Server darf nur jeweils eine (die neueste) Version eines Pakets enthalten. Mehrere Versionen fuhren zu DNF-Resolver-Konflikten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Auf dem Repo-Server: Alte Pakete entfernen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; WICHTIG: Erst nur anzeigen, dann loeschen!&lt;br /&gt;
&lt;br /&gt;
cd /pfad/zum/repo/Packages&lt;br /&gt;
&lt;br /&gt;
repomanage --old .  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Wenn Ausgabe korrekt: loeschen&lt;br /&gt;
&lt;br /&gt;
repomanage --old . | xargs rm -f &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Metadaten neu erstellen (im Verzeichnis mit repodata/)&lt;br /&gt;
&lt;br /&gt;
cd ..&lt;br /&gt;
&lt;br /&gt;
createrepo --update .&lt;br /&gt;
&lt;br /&gt;
⚠ &#039;&#039;repomanage arbeitet nicht rekursiv. Bei alphabetischen Unterordnern (Packages/a/, Packages/b/ ...) muss eine Schleife verwendet werden: for dir in Packages/*/; do repomanage --old &amp;quot;$dir&amp;quot; | xargs rm -f; done&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Auf dem RHEL7-System: Cache leeren und pruefen&lt;br /&gt;
&lt;br /&gt;
yum clean all&lt;br /&gt;
&lt;br /&gt;
yum --disablerepo=&#039;*&#039; --enablerepo=&#039;local-rhel8-BaseOS&#039; \&lt;br /&gt;
&lt;br /&gt;
list --showduplicates perl-libs 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
== 2.7 Netzwerkroute pruefen ==&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Ist der Repo-Server erreichbar?&lt;br /&gt;
&lt;br /&gt;
curl -I &amp;lt;nowiki&amp;gt;http://REPO-SERVER-IP/RHEL8/BaseOS/repodata/repomd.xml&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Falls nicht erreichbar - Route setzen&lt;br /&gt;
&lt;br /&gt;
ip r a NETZ/MASKE via GATEWAY &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Route persistent machen&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/sysconfig/network-scripts/route-INTERFACE &amp;lt;&amp;lt; &#039;EOF&#039;&lt;br /&gt;
&lt;br /&gt;
NETZ/MASKE via GATEWAY&lt;br /&gt;
&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
== 2.8 Pakete auf Remove-Liste setzen ==&lt;br /&gt;
Folgende Pakete aus RHEL 7 koennen nicht direkt auf RHEL 8 aktualisiert werden und muessen vor dem Upgrade entfernt werden:&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/leapp/transaction/to_remove &amp;lt;&amp;lt; &#039;EOF&#039;&lt;br /&gt;
&lt;br /&gt;
pcs&lt;br /&gt;
&lt;br /&gt;
ruby-libs&lt;br /&gt;
&lt;br /&gt;
perl-B-Debug&lt;br /&gt;
&lt;br /&gt;
perl-ExtUtils-Command&lt;br /&gt;
&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Inhalt pruefen&lt;br /&gt;
&lt;br /&gt;
cat /etc/leapp/transaction/to_remove&lt;br /&gt;
&lt;br /&gt;
💡 &#039;&#039;pcs (Pacemaker/Corosync) kann nach dem Upgrade neu installiert werden: dnf install pcs -y &amp;amp;&amp;amp; systemctl enable --now pcsd&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 2.9 Pre-Upgrade Assessment ==&lt;br /&gt;
leapp preupgrade --no-rhsm --target 8.10&lt;br /&gt;
&lt;br /&gt;
Den Report auswerten:&lt;br /&gt;
&lt;br /&gt;
cat /var/log/leapp/leapp-report.txt&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Symbol&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Bedeutung&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Aktion&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|inhibitor&lt;br /&gt;
|Blockiert den Upgrade&lt;br /&gt;
|Muss behoben werden&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|high/medium&lt;br /&gt;
|Warnung&lt;br /&gt;
|Sollte geprueft werden&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|info&lt;br /&gt;
|Hinweis&lt;br /&gt;
|Kein Handlungsbedarf&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2.10 Upgrade durchfuehren ==&lt;br /&gt;
leapp upgrade --no-rhsm --target 8.10&lt;br /&gt;
&lt;br /&gt;
Das System rebooted mehrfach automatisch. Dauer: 30-90 Minuten. Fortschritt per Konsole (iDRAC/ILO) beobachten.&lt;br /&gt;
&lt;br /&gt;
🔴 &#039;&#039;&#039;Nicht eingreifen waehrend der Upgrade laeuft - auch bei laengerer Inaktivitaet!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 2.11 Post-Upgrade Aufgaben (RHEL 8) ==&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Version bestaetigen&lt;br /&gt;
&lt;br /&gt;
cat /etc/redhat-release &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Alte RHEL 7 Kernel entfernen&lt;br /&gt;
&lt;br /&gt;
dnf remove $(rpm -q kernel | grep el7) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Leapp Pakete entfernen und neu installieren (WICHTIG!)&lt;br /&gt;
&lt;br /&gt;
dnf remove leapp* -y&lt;br /&gt;
&lt;br /&gt;
dnf install leapp leapp-upgrade -y &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; System vollstaendig patchen&lt;br /&gt;
&lt;br /&gt;
dnf update -y &amp;amp;&amp;amp; reboot&lt;br /&gt;
&lt;br /&gt;
🔴 &#039;&#039;&#039;Nach dem Upgrade auf RHEL 8 muessen die Leapp-Pakete unbedingt neu installiert werden! Die RHEL 7 Version (python2-leapp) ist nicht fuer den el8toel9 Upgrade geeignet.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= 3. Upgrade RHEL 8 → RHEL 9 (ohne Satellite Server) =&lt;br /&gt;
&lt;br /&gt;
== 3.1 Leapp fuer RHEL 9 vorbereiten ==&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Korrekte Leapp Version pruefen (muss el8 sein!)&lt;br /&gt;
&lt;br /&gt;
rpm -q leapp leapp-upgrade python3-leapp &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Python-Abhaengigkeiten pruefen&lt;br /&gt;
&lt;br /&gt;
python3 -c &amp;quot;import pyudev; print(pyudev.__version__)&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Falls pyudev fehlt - Symlink erstellen&lt;br /&gt;
&lt;br /&gt;
ln -s /usr/lib/python3.6/site-packages/pyudev \&lt;br /&gt;
&lt;br /&gt;
/usr/lib/python2.7/site-packages/pyudev&lt;br /&gt;
&lt;br /&gt;
== 3.2 RHEL 9 Repo-Konfiguration ==&lt;br /&gt;
Die leapp_upgrade_repositories.repo muss fuer RHEL 9 aktualisiert werden:&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /etc/leapp/files/leapp_upgrade_repositories.repo &amp;lt;&amp;lt; &#039;EOF&#039;&lt;br /&gt;
&lt;br /&gt;
[leapp-rhel9-BaseOS]&lt;br /&gt;
&lt;br /&gt;
name=Local RHEL 9 BaseOS (Leapp)&lt;br /&gt;
&lt;br /&gt;
baseurl=&amp;lt;nowiki&amp;gt;http://REPO-SERVER-IP/RHEL9/BaseOS/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
enabled=1&lt;br /&gt;
&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
&lt;br /&gt;
module_hotfixes=1 &lt;br /&gt;
&lt;br /&gt;
[leapp-rhel9-AppStream]&lt;br /&gt;
&lt;br /&gt;
name=Local RHEL 9 AppStream (Leapp)&lt;br /&gt;
&lt;br /&gt;
baseurl=&amp;lt;nowiki&amp;gt;http://REPO-SERVER-IP/RHEL9/AppStream/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
enabled=1&lt;br /&gt;
&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
&lt;br /&gt;
module_hotfixes=1 &lt;br /&gt;
&lt;br /&gt;
[leapp-rhel9-HighAvailability]&lt;br /&gt;
&lt;br /&gt;
name=Local RHEL 9 HighAvailability (Leapp)&lt;br /&gt;
&lt;br /&gt;
baseurl=&amp;lt;nowiki&amp;gt;http://REPO-SERVER-IP/RHEL9/HighAvailability/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
enabled=1&lt;br /&gt;
&lt;br /&gt;
gpgcheck=0&lt;br /&gt;
&lt;br /&gt;
module_hotfixes=1&lt;br /&gt;
&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
🔴 &#039;&#039;&#039;Das RHEL 9 HighAvailability Repo darf keine Rocky Linux Pakete enthalten! Pruefen mit: find /pfad/repo/ -name &#039;*rocky*&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.3 VDO Paket installieren ==&lt;br /&gt;
VDO (Virtual Data Optimizer) ist in RHEL 9 in den Kernel integriert. Das Paket muss vor dem Upgrade installiert sein:&lt;br /&gt;
&lt;br /&gt;
dnf install vdo -y&lt;br /&gt;
&lt;br /&gt;
systemctl status vdo&lt;br /&gt;
&lt;br /&gt;
== 3.4 Leapp DNF Plugin pruefen ==&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Plugin muss vorhanden sein&lt;br /&gt;
&lt;br /&gt;
find / -name &#039;rhel_upgrade.py&#039; 2&amp;gt;/dev/null &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Falls Symlink fehlt - erstellen&lt;br /&gt;
&lt;br /&gt;
mkdir -p /var/lib/leapp/el9userspace/lib/python3.9/site-packages/dnf-plugins/&lt;br /&gt;
&lt;br /&gt;
ln -s /usr/share/leapp-repository/repositories/system_upgrade/common/files/rhel_upgrade.py \&lt;br /&gt;
&lt;br /&gt;
/var/lib/leapp/el9userspace/lib/python3.9/site-packages/dnf-plugins/rhel_upgrade.py&lt;br /&gt;
&lt;br /&gt;
== 3.5 Pre-Upgrade Assessment ==&lt;br /&gt;
leapp preupgrade --no-rhsm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Report auswerten&lt;br /&gt;
&lt;br /&gt;
cat /var/log/leapp/leapp-report.txt | grep -E &#039;inhibitor|Risk Factor: high&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.6 Upgrade durchfuehren ==&lt;br /&gt;
leapp upgrade --no-rhsm&lt;br /&gt;
&lt;br /&gt;
Das System rebooted mehrfach automatisch. Dauer: 30-90 Minuten.&lt;br /&gt;
&lt;br /&gt;
== 3.7 Post-Upgrade auf RHEL 9.7 ==&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Version bestaetigen&lt;br /&gt;
&lt;br /&gt;
cat /etc/redhat-release &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Alte Kernel entfernen&lt;br /&gt;
&lt;br /&gt;
dnf remove $(rpm -q kernel | grep el8) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Auf RHEL 9.7 aktualisieren&lt;br /&gt;
&lt;br /&gt;
dnf update -y&lt;br /&gt;
&lt;br /&gt;
reboot &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Finale Version pruefen&lt;br /&gt;
&lt;br /&gt;
cat /etc/redhat-release&lt;br /&gt;
&lt;br /&gt;
uname -r&lt;br /&gt;
&lt;br /&gt;
= 4. Haeufige Fehler und Loesungen =&lt;br /&gt;
&lt;br /&gt;
== 4.1 DNF execution failed - Paket-Konflikte ==&lt;br /&gt;
Ursache: Mehrere Versionen eines Pakets im Repo oder inkompatible Pakete.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Alte Pakete im Repo finden&lt;br /&gt;
&lt;br /&gt;
yum --disablerepo=&#039;*&#039; --enablerepo=&#039;REPO-ID&#039; list --showduplicates PAKET &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Auf Remove-Liste setzen&lt;br /&gt;
&lt;br /&gt;
echo &#039;PAKETNAME&#039; &amp;gt;&amp;gt; /etc/leapp/transaction/to_remove &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; YUM Cache leeren&lt;br /&gt;
&lt;br /&gt;
yum clean all&lt;br /&gt;
&lt;br /&gt;
== 4.2 Repository mehrfach definiert ==&lt;br /&gt;
Ursache: Gleiche Repo-IDs in /etc/yum.repos.d/ und /etc/leapp/files/leapp_upgrade_repositories.repo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Losung: Andere Praefixe in leapp_upgrade_repositories.repo verwenden&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; z.B. &#039;leapp-rhel8-BaseOS&#039; statt &#039;local-rhel8-BaseOS&#039;&lt;br /&gt;
&lt;br /&gt;
== 4.3 Failed to synchronize cache for repo im Leapp-Container ==&lt;br /&gt;
Ursache: Der Leapp-Container kann den Repo-Server nicht erreichen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; URL testen&lt;br /&gt;
&lt;br /&gt;
curl -I &amp;lt;nowiki&amp;gt;http://REPO-SERVER-IP/RHEL8/BaseOS/repodata/repomd.xml&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Route pruefen und ggf. setzen&lt;br /&gt;
&lt;br /&gt;
ip route&lt;br /&gt;
&lt;br /&gt;
ip r a NETZ/MASKE via GATEWAY &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Hostname durch IP ersetzen in leapp_upgrade_repositories.repo&lt;br /&gt;
&lt;br /&gt;
== 4.4 Not enough space on filesystem ==&lt;br /&gt;
Ursache: Zu wenig freier Speicher auf /usr oder anderen Partitionen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; LV erweitern&lt;br /&gt;
&lt;br /&gt;
lvextend -L +2G /dev/VGNAME/usr&lt;br /&gt;
&lt;br /&gt;
xfs_growfs /usr          # XFS&lt;br /&gt;
&lt;br /&gt;
resize2fs /dev/VGNAME/usr  # ext4&lt;br /&gt;
&lt;br /&gt;
== 4.5 ImportError: No module named X (Python 2) ==&lt;br /&gt;
Ursache: Leapp-Version ist noch die RHEL 7 Version (python2-leapp) auf einem RHEL 8 System.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Alte Leapp Version entfernen und neu installieren&lt;br /&gt;
&lt;br /&gt;
dnf remove leapp* -y&lt;br /&gt;
&lt;br /&gt;
dnf install leapp leapp-upgrade -y&lt;br /&gt;
&lt;br /&gt;
rpm -q leapp  # muss el8 sein!&lt;br /&gt;
&lt;br /&gt;
== 4.6 Rocky Linux Pakete im Repo ==&lt;br /&gt;
Ursache: Der Repo-Server enthaelt Rocky Linux Pakete die nicht mit RHEL kompatibel sind.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Rocky Pakete finden und entfernen&lt;br /&gt;
&lt;br /&gt;
find /pfad/zum/repo/ -name &#039;*rocky*&#039;&lt;br /&gt;
&lt;br /&gt;
find /pfad/zum/repo/ -name &#039;*rocky*&#039; -exec mv {} /tmp/rocky-backup/ \;&lt;br /&gt;
&lt;br /&gt;
createrepo --update /pfad/zum/repo/&lt;br /&gt;
&lt;br /&gt;
== 4.7 $osversion Variable in Repo-Dateien ==&lt;br /&gt;
Ursache: Repo-Dateien enthalten $osversion als Variable die nicht aufgeloest wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Variable ersetzen&lt;br /&gt;
&lt;br /&gt;
grep -rl &#039;\$osversion&#039; /etc/yum.repos.d/&lt;br /&gt;
&lt;br /&gt;
sed -i &#039;s/\$osversion/7Server/g&#039; /etc/yum.repos.d/DATEI.repo&lt;br /&gt;
&lt;br /&gt;
= 5. Schnellreferenz: Wichtige Dateien und Pfade =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Datei				/ Pfad&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|/etc/leapp/files/leapp_upgrade_repositories.repo&lt;br /&gt;
|RHEL Ziel-Repos fuer Leapp				(muss andere IDs als yum.repos.d haben)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|/etc/leapp/files/dnf.conf&lt;br /&gt;
|DNF Konfiguration fuer				Leapp-Container&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|/etc/leapp/transaction/to_remove&lt;br /&gt;
|Pakete die vor Upgrade				entfernt werden&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|/etc/leapp/transaction/to_install&lt;br /&gt;
|Pakete die beim Upgrade				installiert werden&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|/etc/modprobe.d/leapp-blacklist.conf&lt;br /&gt;
|Kernel-Module Blacklist&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|/var/log/leapp/leapp-report.txt&lt;br /&gt;
|Leapp Pre-Upgrade Report&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|/var/log/leapp/leapp-upgrade.log&lt;br /&gt;
|Leapp Upgrade Log&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|/var/lib/leapp/el9userspace/&lt;br /&gt;
|Leapp RHEL 9				Container-Umgebung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|/etc/dnf/dnf.conf&lt;br /&gt;
|DNF Hauptkonfiguration				(muss [main] Header haben)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 6. Leapp Befehle Schnellreferenz =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Befehl&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Beschreibung&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|leapp preupgrade --no-rhsm				--target 8.10&lt;br /&gt;
|Pre-Upgrade Assessment				RHEL 7-&amp;gt;8&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|leapp upgrade --no-rhsm				--target 8.10&lt;br /&gt;
|Upgrade starten RHEL 7-&amp;gt;8&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|leapp preupgrade --no-rhsm&lt;br /&gt;
|Pre-Upgrade Assessment				RHEL 8-&amp;gt;9&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|leapp upgrade --no-rhsm&lt;br /&gt;
|Upgrade starten RHEL 8-&amp;gt;9&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|leapp answer --list&lt;br /&gt;
|Alle ausstehenden Fragen				anzeigen&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|cat				/var/log/leapp/leapp-report.txt&lt;br /&gt;
|Report anzeigen&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|tail -f				/var/log/leapp/leapp-upgrade.log&lt;br /&gt;
|Upgrade-Log live verfolgen&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Avitech&amp;diff=30</id>
		<title>Avitech</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Avitech&amp;diff=30"/>
		<updated>2026-04-08T15:59:33Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fedora-Laptop|Fedora-Laptop und Hoteline]]&lt;br /&gt;
&lt;br /&gt;
[[RedHat Updates]]&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Fedora-Laptop&amp;diff=29</id>
		<title>Fedora-Laptop</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Fedora-Laptop&amp;diff=29"/>
		<updated>2026-04-08T15:57:51Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: Die Seite wurde neu angelegt: „&amp;#039;&amp;#039;&amp;#039;autofs, CIFS &amp;amp; Sync-Dienst&amp;#039;&amp;#039;&amp;#039;  Einrichtung und Betrieb auf DEFNLT0332   &amp;#039;&amp;#039;Stand: April 2026&amp;#039;&amp;#039;  = 1. Überblick = Diese Dokumentation beschreibt die vollständige Einrichtung von:  * autofs	– automatisches Einbinden von CIFS/Samba-Shares * CIFS-Mount	– Verbindung zum Samba-Server 172.24.1.30 * Sync-Dienst	– automatische Synchronisation nach Systemstart   = 2. Voraussetzungen = Folgende Pakete müssen installiert sein:  sudo dnf install autofs cifs…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;autofs, CIFS &amp;amp; Sync-Dienst&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Einrichtung und Betrieb auf DEFNLT0332&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Stand: April 2026&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= 1. Überblick =&lt;br /&gt;
Diese Dokumentation beschreibt die vollständige Einrichtung von:&lt;br /&gt;
&lt;br /&gt;
* autofs	– automatisches Einbinden von CIFS/Samba-Shares&lt;br /&gt;
* CIFS-Mount	– Verbindung zum Samba-Server 172.24.1.30&lt;br /&gt;
* Sync-Dienst	– automatische Synchronisation nach Systemstart &lt;br /&gt;
&lt;br /&gt;
= 2. Voraussetzungen =&lt;br /&gt;
Folgende Pakete müssen installiert sein:&lt;br /&gt;
&lt;br /&gt;
sudo dnf install autofs cifs-utils rsync samba-client &lt;br /&gt;
&lt;br /&gt;
= 3. Credentials-Datei =&lt;br /&gt;
&lt;br /&gt;
== 3.1 Inhalt ==&lt;br /&gt;
Die Credentials-Datei enthält Benutzername und Passwort für den Samba-Server. Wichtig: Die Domain wird NICHT als eigene Zeile angegeben, sondern direkt an den Benutzernamen angehängt. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; /home/hhepting/Schreibtisch/Hotline/credentials/smb-credentials-avi.txt&lt;br /&gt;
&lt;br /&gt;
username=DOMAIN\benutzername&lt;br /&gt;
&lt;br /&gt;
password=PASSWORT &lt;br /&gt;
&lt;br /&gt;
⚠  &#039;&#039;Keine domain=-Zeile verwenden! Das führt zu &#039;Permission denied (13)&#039; beim Mount.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
== 3.2 Berechtigungen absichern ==&lt;br /&gt;
chmod 600 /home/hhepting/Schreibtisch/Hotline/credentials/smb-credentials-avi.txt &lt;br /&gt;
&lt;br /&gt;
== 3.3 Verbindung testen ==&lt;br /&gt;
smbclient -L //172.24.1.30 -A /home/hhepting/Schreibtisch/Hotline/credentials/smb-credentials-avi.txt &lt;br /&gt;
&lt;br /&gt;
= 4. autofs-Konfiguration =&lt;br /&gt;
&lt;br /&gt;
== 4.1 /etc/auto.master ==&lt;br /&gt;
Folgenden Eintrag in /etc/auto.master hinzufügen (oder sicherstellen dass er vorhanden ist):&lt;br /&gt;
&lt;br /&gt;
/mnt/cifs /etc/auto.cifs  --timeout=60  --ghost &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;--timeout=60&#039;&#039;&#039;&lt;br /&gt;
|Unmount			nach 60 Sekunden Inaktivität&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;--ghost&#039;&#039;&#039;&lt;br /&gt;
|Mountpunkt			bleibt sichtbar auch wenn nicht gemountet&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
== 4.2 /etc/auto.cifs ==&lt;br /&gt;
Vollständiger Inhalt der Datei /etc/auto.cifs:&lt;br /&gt;
&lt;br /&gt;
projekte -fstype=cifs,credentials=/home/hhepting/Schreibtisch/Hotline/credentials/smb-credentials-avi.txt,\&lt;br /&gt;
&lt;br /&gt;
         uid=1000,gid=1000,iocharset=utf8,file_mode=0664,dir_mode=0775 ://172.24.1.30/projekte/ &lt;br /&gt;
&lt;br /&gt;
maintenance -fstype=cifs,credentials=/home/hhepting/Schreibtisch/Hotline/credentials/smb-credentials-avi.txt,\&lt;br /&gt;
&lt;br /&gt;
            uid=1000,gid=1000,iocharset=utf8,file_mode=0664,dir_mode=0775 ://172.24.1.30/projekte/Maintenance &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;fstype=cifs&#039;&#039;&#039;&lt;br /&gt;
|Dateisystemtyp			Samba/CIFS&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;credentials=...&#039;&#039;&#039;&lt;br /&gt;
|Pfad			zur Credentials-Datei&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;uid=1000			/ gid=1000&#039;&#039;&#039;&lt;br /&gt;
|Besitzer			der gemounteten Dateien (ggf. anpassen)&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;iocharset=utf8&#039;&#039;&#039;&lt;br /&gt;
|Zeichenkodierung			für Umlaute&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;file_mode=0664&#039;&#039;&#039;&lt;br /&gt;
|Standardberechtigungen			für Dateien&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;dir_mode=0775&#039;&#039;&#039;&lt;br /&gt;
|Standardberechtigungen			für Verzeichnisse&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
== 4.3 autofs aktivieren und starten ==&lt;br /&gt;
sudo systemctl enable autofs&lt;br /&gt;
&lt;br /&gt;
sudo systemctl start autofs &lt;br /&gt;
&lt;br /&gt;
== 4.4 Nach Konfigurationsänderungen ==&lt;br /&gt;
⚠  &#039;&#039;Vor dem Neustart unbedingt aus dem /mnt/cifs-Verzeichnis herauswechseln, sonst bleibt der Mount &#039;busy&#039;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
cd /&lt;br /&gt;
&lt;br /&gt;
sudo systemctl restart autofs &lt;br /&gt;
&lt;br /&gt;
= 5. Automatischer Sync-Dienst =&lt;br /&gt;
&lt;br /&gt;
== 5.1 Skript /usr/local/bin/sync-cifs.sh ==&lt;br /&gt;
Das Skript synchronisiert beim Systemstart eine Liste von CIFS-Verzeichnissen in lokale Zielverzeichnisse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;!/bin/bash &lt;br /&gt;
&lt;br /&gt;
LOGFILE=&amp;quot;/var/log/sync-cifs.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
TIMESTAMP=$(date &#039;+%Y-%m-%d %H:%M:%S&#039;) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; Liste der Sync-Jobs: &amp;quot;QUELLE|ZIEL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
SYNC_JOBS=(&lt;br /&gt;
&lt;br /&gt;
&amp;quot;/mnt/cifs/projekte/Maintenance|/home/hhepting/Schreibtisch/Hotline/Maintenance&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki/&amp;gt;# Weitere Einträge nach dem gleichen Schema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki/&amp;gt;# &amp;quot;/mnt/cifs/projekte/AndererOrdner|/home/hhepting/Schreibtisch/AndererOrdner&amp;quot;&lt;br /&gt;
&lt;br /&gt;
) &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;[$TIMESTAMP] Starte Synchronisation...&amp;quot; &amp;gt;&amp;gt; &amp;quot;$LOGFILE&amp;quot; &lt;br /&gt;
&lt;br /&gt;
for JOB in &amp;quot;${SYNC_JOBS[@]}&amp;quot;; do&lt;br /&gt;
&lt;br /&gt;
SRC=&amp;quot;${JOB%%|*}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DST=&amp;quot;${JOB##*|}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ ! -d &amp;quot;$SRC&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;[$TIMESTAMP] FEHLER: Quelle nicht erreichbar: $SRC&amp;quot; &amp;gt;&amp;gt; &amp;quot;$LOGFILE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
continue&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
mkdir -p &amp;quot;$DST&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rsync -av --delete &amp;quot;$SRC/&amp;quot; &amp;quot;$DST/&amp;quot; &amp;gt;&amp;gt; &amp;quot;$LOGFILE&amp;quot; 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
STATUS=$?&lt;br /&gt;
&lt;br /&gt;
if [ $STATUS -eq 0 ]; then&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;[$TIMESTAMP] OK: $SRC -&amp;gt; $DST&amp;quot; &amp;gt;&amp;gt; &amp;quot;$LOGFILE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;[$TIMESTAMP] FEHLER (rsync $STATUS): $SRC -&amp;gt; $DST&amp;quot; &amp;gt;&amp;gt; &amp;quot;$LOGFILE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
done &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;[$TIMESTAMP] Synchronisation abgeschlossen.&amp;quot; &amp;gt;&amp;gt; &amp;quot;$LOGFILE&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Skript ausführbar machen:&lt;br /&gt;
&lt;br /&gt;
sudo chmod +x /usr/local/bin/sync-cifs.sh &lt;br /&gt;
&lt;br /&gt;
== 5.2 Logfile anlegen ==&lt;br /&gt;
sudo touch /var/log/sync-cifs.log&lt;br /&gt;
&lt;br /&gt;
sudo chown hhepting:hhepting /var/log/sync-cifs.log &lt;br /&gt;
&lt;br /&gt;
== 5.3 Systemd-Unit /etc/systemd/system/sync-cifs.service ==&lt;br /&gt;
[Unit]&lt;br /&gt;
&lt;br /&gt;
Description=Synchronisiert CIFS-Shares nach lokalem Verzeichnis&lt;br /&gt;
&lt;br /&gt;
After=autofs.service network-online.target&lt;br /&gt;
&lt;br /&gt;
Requires=autofs.service&lt;br /&gt;
&lt;br /&gt;
Wants=network-online.target &lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
&lt;br /&gt;
Type=oneshot&lt;br /&gt;
&lt;br /&gt;
ExecStartPre=/bin/sleep 5&lt;br /&gt;
&lt;br /&gt;
ExecStart=/usr/local/bin/sync-cifs.sh&lt;br /&gt;
&lt;br /&gt;
User=hhepting&lt;br /&gt;
&lt;br /&gt;
StandardOutput=journal&lt;br /&gt;
&lt;br /&gt;
StandardError=journal&lt;br /&gt;
&lt;br /&gt;
RemainAfterExit=yes &lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
&lt;br /&gt;
WantedBy=multi-user.target &lt;br /&gt;
&lt;br /&gt;
ℹ  &#039;&#039;ExecStartPre=/bin/sleep 5 gibt autofs etwas Zeit zum Initialisieren bevor der Sync startet.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
== 5.4 Dienst aktivieren ==&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
&lt;br /&gt;
sudo systemctl enable sync-cifs.service&lt;br /&gt;
&lt;br /&gt;
sudo systemctl start sync-cifs.service &lt;br /&gt;
&lt;br /&gt;
= 6. Weitere Sync-Jobs hinzufügen =&lt;br /&gt;
Um einen weiteren Ordner zu synchronisieren, in /usr/local/bin/sync-cifs.sh die SYNC_JOBS-Liste erweitern:&lt;br /&gt;
&lt;br /&gt;
SYNC_JOBS=(&lt;br /&gt;
&lt;br /&gt;
&amp;quot;/mnt/cifs/projekte/Maintenance|/home/hhepting/Schreibtisch/Hotline/Maintenance&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;/mnt/cifs/projekte/NeuerOrdner|/home/hhepting/Schreibtisch/NeuerOrdner&amp;quot;&lt;br /&gt;
&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
Danach den Dienst neu starten:&lt;br /&gt;
&lt;br /&gt;
sudo systemctl restart sync-cifs.service &lt;br /&gt;
&lt;br /&gt;
= 7. Diagnose &amp;amp; Fehlerbehebung =&lt;br /&gt;
&lt;br /&gt;
== 7.1 autofs-Log ==&lt;br /&gt;
journalctl -u autofs -n 50 --no-pager &lt;br /&gt;
&lt;br /&gt;
== 7.2 autofs im Vordergrund (verbose) ==&lt;br /&gt;
sudo systemctl stop autofs&lt;br /&gt;
&lt;br /&gt;
sudo automount -f -v -d 2&amp;gt;&amp;amp;1 | head -60&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; In zweitem Terminal:&lt;br /&gt;
&lt;br /&gt;
ls /mnt/cifs/projekte/ &lt;br /&gt;
&lt;br /&gt;
== 7.3 Direkter Mount-Test ==&lt;br /&gt;
sudo mount -t cifs //172.24.1.30/projekte /mnt/cifs/projekte \&lt;br /&gt;
&lt;br /&gt;
-o credentials=/home/hhepting/Schreibtisch/Hotline/credentials/smb-credentials-avi.txt,\&lt;br /&gt;
&lt;br /&gt;
uid=1000,gid=1000,iocharset=utf8 &lt;br /&gt;
&lt;br /&gt;
== 7.4 Sync-Log prüfen ==&lt;br /&gt;
tail -f /var/log/sync-cifs.log&lt;br /&gt;
&lt;br /&gt;
sudo systemctl status sync-cifs.service &lt;br /&gt;
&lt;br /&gt;
== 7.5 Häufige Fehler == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Permission			denied (13)&#039;&#039;&#039;&lt;br /&gt;
|Falsche			Credentials oder domain= in der Credentials-Datei&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;key			not found in map&#039;&#039;&#039;&lt;br /&gt;
|Pfad			zu auto.cifs falsch oder Datei nicht lesbar&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;busy			beim Restart&#039;&#039;&#039;&lt;br /&gt;
|Erst			&#039;cd /&#039; ausführen, dann systemctl restart autofs&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Unable			to open credentials file&#039;&#039;&#039;&lt;br /&gt;
|Tippfehler			im Pfad zur Credentials-Datei prüfen&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Avitech&amp;diff=28</id>
		<title>Avitech</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Avitech&amp;diff=28"/>
		<updated>2026-04-08T15:47:30Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fedora-Laptop|Fedora-Laptop und Hoteline]]&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Avitech&amp;diff=27</id>
		<title>Avitech</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Avitech&amp;diff=27"/>
		<updated>2026-04-08T15:45:58Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: Die Seite wurde neu angelegt: „Fedora-Laptop“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fedora-Laptop]]&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Jobs&amp;diff=26</id>
		<title>Jobs</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Jobs&amp;diff=26"/>
		<updated>2026-04-08T15:44:47Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: Die Seite wurde neu angelegt: „Avitech“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Avitech]]&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Hauptseite&amp;diff=25</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Hauptseite&amp;diff=25"/>
		<updated>2026-04-08T15:44:32Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: /* Omni */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Omni =&lt;br /&gt;
&lt;br /&gt;
* RS1_base4&lt;br /&gt;
** [[Netzwerkgeräte]]&lt;br /&gt;
** [[Service nodes]]&lt;br /&gt;
** [[Laptops]]&lt;br /&gt;
** [[Workstations]]&lt;br /&gt;
* HowTo&#039;s&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
* [[QEMU]]&lt;br /&gt;
* [[mediawikiwiki:Special:MyLanguage/Manual:Combating_spam|{{#FORMAL:Erfahre|Erfahren Sie}}, wie {{#FORMAL:du|Sie}} Spam auf {{#FORMAL:deinem|ihrem}} Wiki bekämpfen {{#FORMAL:kannst|können}}]]&lt;br /&gt;
* [[Jobs]]&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=PiWiDo_Gallery&amp;diff=24</id>
		<title>PiWiDo Gallery</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=PiWiDo_Gallery&amp;diff=24"/>
		<updated>2026-03-17T18:13:39Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: Die Seite wurde neu angelegt: „Wegen 500er Fehler beim Downloader  https://github.com/Piwigo/Piwigo-BatchDownloader/issues/58“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wegen 500er Fehler beim Downloader&lt;br /&gt;
&lt;br /&gt;
https://github.com/Piwigo/Piwigo-BatchDownloader/issues/58&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Docker&amp;diff=23</id>
		<title>Docker</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Docker&amp;diff=23"/>
		<updated>2026-03-17T18:13:16Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installationen ==&lt;br /&gt;
&lt;br /&gt;
=== Docker compose ===&lt;br /&gt;
[[Synapse Matrix Server]]&lt;br /&gt;
&lt;br /&gt;
[[PiWiDo Gallery]]&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Netzwerkger%C3%A4te&amp;diff=20</id>
		<title>Netzwerkgeräte</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Netzwerkger%C3%A4te&amp;diff=20"/>
		<updated>2026-03-06T13:11:42Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: Die Seite wurde neu angelegt: „* fritz.box * ...“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* fritz.box&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Service_nodes&amp;diff=19</id>
		<title>Service nodes</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Service_nodes&amp;diff=19"/>
		<updated>2026-03-06T13:11:23Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* POC40&lt;br /&gt;
* vector&lt;br /&gt;
* nexus&lt;br /&gt;
* giada1&lt;br /&gt;
* giada2&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Workstations&amp;diff=18</id>
		<title>Workstations</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Workstations&amp;diff=18"/>
		<updated>2026-03-06T13:11:07Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: Die Seite wurde neu angelegt: „* beats * gbox * gamer“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* beats&lt;br /&gt;
* gbox&lt;br /&gt;
* gamer&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Service_nodes&amp;diff=17</id>
		<title>Service nodes</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Service_nodes&amp;diff=17"/>
		<updated>2026-03-06T13:08:37Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: Die Seite wurde neu angelegt: „* POC40 * beats * gbox * gamer * vector * nexus * giada1 * giada2“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* POC40&lt;br /&gt;
* beats&lt;br /&gt;
* gbox&lt;br /&gt;
* gamer&lt;br /&gt;
* vector&lt;br /&gt;
* nexus&lt;br /&gt;
* giada1&lt;br /&gt;
* giada2&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Laptops&amp;diff=16</id>
		<title>Laptops</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Laptops&amp;diff=16"/>
		<updated>2026-03-06T13:07:08Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* DX1707&lt;br /&gt;
* P14s gen5&lt;br /&gt;
* T470s&lt;br /&gt;
* T480&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Laptops&amp;diff=15</id>
		<title>Laptops</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Laptops&amp;diff=15"/>
		<updated>2026-03-06T13:06:17Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: Die Seite wurde neu angelegt: „T470s“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;T470s&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Hauptseite&amp;diff=14</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Hauptseite&amp;diff=14"/>
		<updated>2026-03-06T13:05:46Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Omni =&lt;br /&gt;
&lt;br /&gt;
* RS1_base4&lt;br /&gt;
** [[Netzwerkgeräte]]&lt;br /&gt;
** [[Service nodes]]&lt;br /&gt;
** [[Laptops]]&lt;br /&gt;
** [[Workstations]]&lt;br /&gt;
* HowTo&#039;s&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
* [[mediawikiwiki:Special:MyLanguage/Manual:Combating_spam|{{#FORMAL:Erfahre|Erfahren Sie}}, wie {{#FORMAL:du|Sie}} Spam auf {{#FORMAL:deinem|ihrem}} Wiki bekämpfen {{#FORMAL:kannst|können}}]]&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Docker&amp;diff=13</id>
		<title>Docker</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Docker&amp;diff=13"/>
		<updated>2026-03-06T10:44:01Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installationen ==&lt;br /&gt;
&lt;br /&gt;
=== Docker compose ===&lt;br /&gt;
[[Synapse Matrix Server]]&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Synapse_Matrix_Server&amp;diff=12</id>
		<title>Synapse Matrix Server</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Synapse_Matrix_Server&amp;diff=12"/>
		<updated>2026-03-06T10:42:58Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: Die Seite wurde neu angelegt: „&amp;#039;&amp;#039;&amp;#039;Matrix Synapse Server Setup&amp;#039;&amp;#039;&amp;#039;  Installations- und Konfigurationshandbuch  = 1. Voraussetzungen = •      Docker und Docker Compose auf dem vServer  •      Plesk mit Nginx als Webserver  •      Domain mx.nanotec.org mit SSL-Zertifikat (Let&amp;#039;s Encrypt via Plesk)  •      Postfix/Exim als Mailserver auf dem Host   = 2. Docker Compose Konfiguration = &amp;#039;&amp;#039;&amp;#039;Datei:&amp;#039;&amp;#039;&amp;#039; /opt/dockers/synapse/docker-compose.yml  == 2.1 Services == •      post…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Matrix Synapse Server Setup&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installations- und Konfigurationshandbuch&lt;br /&gt;
&lt;br /&gt;
= 1. Voraussetzungen =&lt;br /&gt;
•      Docker und Docker Compose auf dem vServer&lt;br /&gt;
&lt;br /&gt;
•      Plesk mit Nginx als Webserver&lt;br /&gt;
&lt;br /&gt;
•      Domain mx.nanotec.org mit SSL-Zertifikat (Let&#039;s Encrypt via Plesk)&lt;br /&gt;
&lt;br /&gt;
•      Postfix/Exim als Mailserver auf dem Host &lt;br /&gt;
&lt;br /&gt;
= 2. Docker Compose Konfiguration =&lt;br /&gt;
&#039;&#039;&#039;Datei:&#039;&#039;&#039; /opt/dockers/synapse/docker-compose.yml&lt;br /&gt;
&lt;br /&gt;
== 2.1 Services ==&lt;br /&gt;
•      postgres – PostgreSQL 16 Alpine als Datenbankbackend&lt;br /&gt;
&lt;br /&gt;
•      synapse – avhost/docker-matrix Image &lt;br /&gt;
&lt;br /&gt;
== 2.2 Volume-Mappings ==&lt;br /&gt;
•      /opt/dockers/synapse/data → /data&lt;br /&gt;
&lt;br /&gt;
•      /opt/dockers/synapse/media_store → /media_store&lt;br /&gt;
&lt;br /&gt;
•      /opt/dockers/synapse/pgdata → /var/lib/postgresql/data &lt;br /&gt;
&lt;br /&gt;
== 2.3 Port-Mappings ==&lt;br /&gt;
•      3478:3478 – TURN/STUN (Coturn)&lt;br /&gt;
&lt;br /&gt;
•      8008:8008 – Client-Server API (intern, Nginx leitet weiter)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig:&#039;&#039;&#039; Port 8448 wird nicht in Docker gemappt – Nginx übernimmt diesen direkt.&lt;br /&gt;
&lt;br /&gt;
== 2.4 Extra Host für Mailserver ==&lt;br /&gt;
Damit der Container den Host-Mailserver erreichen kann:&lt;br /&gt;
&lt;br /&gt;
extra_hosts:  - &amp;quot;host.docker.internal:host-gateway&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Prüfen ob der Eintrag gesetzt ist:&lt;br /&gt;
&lt;br /&gt;
docker exec synapse cat /etc/hosts&lt;br /&gt;
&lt;br /&gt;
= 3. Erstkonfiguration (einmalig) =&lt;br /&gt;
&lt;br /&gt;
== 3.1 homeserver.yaml generieren ==&lt;br /&gt;
docker run -it --rm \   -v /opt/dockers/synapse/data:/data \   -e SERVER_NAME=mx.nanotec.org \   -e REPORT_STATS=no \  avhost/docker-&amp;lt;nowiki&amp;gt;matrix:latest&amp;lt;/nowiki&amp;gt; generate&lt;br /&gt;
&lt;br /&gt;
== 3.2 Datenbank-Konfiguration ==&lt;br /&gt;
In homeserver.yaml den SQLite-Block ersetzen:&lt;br /&gt;
&lt;br /&gt;
database:   name: psycopg2   args:    user: synapse     password: PASSWORT     database: synapse     host: postgres     cp_min: 5     cp_max: 10&lt;br /&gt;
&lt;br /&gt;
== 3.3 Listener-Konfiguration ==&lt;br /&gt;
listeners:   - port: 8008     tls: false     type: http     x_forwarded: true     bind_addresses: [&#039;0.0.0.0&#039;]     resources:       - names: [client, federation]         compress: false&lt;br /&gt;
&lt;br /&gt;
= 4. E-Mail-Konfiguration =&lt;br /&gt;
Synapse kommuniziert intern mit dem Host-Mailserver auf Port 25 ohne TLS und ohne Authentifizierung.&lt;br /&gt;
&lt;br /&gt;
== 4.1 homeserver.yaml – E-Mail-Block ==&lt;br /&gt;
email:   smtp_host: &amp;quot;host.docker.internal&amp;quot;  smtp_port: 25  require_transport_security: false  notif_from: &amp;quot;robot@nanotec.org&amp;quot;   app_name: &amp;quot;Matrix&amp;quot;   enable_notifs: true   notif_for_new_users: true   validation_token_lifetime: 1h&lt;br /&gt;
&lt;br /&gt;
== 4.2 Postfix – Docker-Subnetz freigeben ==&lt;br /&gt;
In /etc/postfix/main.cf das Docker-Subnetz ergänzen:&lt;br /&gt;
&lt;br /&gt;
mynetworks = 127.0.0.0/8 172.16.0.0/12&lt;br /&gt;
&lt;br /&gt;
Danach:&lt;br /&gt;
&lt;br /&gt;
systemctl reload postfix&lt;br /&gt;
&lt;br /&gt;
= 5. Nginx Federation-Konfiguration (Port 8448) =&lt;br /&gt;
Federation erfordert Port 8448 von außen über HTTPS. Nginx übernimmt TLS-Terminierung und leitet intern auf Port 8008 weiter.&lt;br /&gt;
&lt;br /&gt;
== 5.1 Speicherort ==&lt;br /&gt;
/etc/nginx/plesk.conf.d/vhosts/matrix-federation.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Nur Dateien in /etc/nginx/plesk.conf.d/vhosts/ werden von Plesk automatisch eingebunden.&lt;br /&gt;
&lt;br /&gt;
== 5.2 Inhalt der Konfigurationsdatei ==&lt;br /&gt;
server {     listen 8448 ssl;     listen [::]:8448 ssl;     server_name mx.nanotec.org;      ssl_certificate     /opt/psa/var/certificates/scf4nSFAB;     ssl_certificate_key /opt/psa/var/certificates/scf4nSFAB;     location / {         proxy_pass &amp;lt;nowiki&amp;gt;http://127.0.0.1:8008&amp;lt;/nowiki&amp;gt;;        proxy_set_header X-Forwarded-For $remote_addr;         proxy_set_header X-Forwarded-Proto $scheme;         proxy_set_header Host $host;         client_max_body_size 50M;         proxy_http_version 1.1;     } }&lt;br /&gt;
&lt;br /&gt;
Zertifikatspfad ermitteln:&lt;br /&gt;
&lt;br /&gt;
grep ssl_certificate /etc/nginx/plesk.conf.d/vhosts/mx.nanotec.org.conf&lt;br /&gt;
&lt;br /&gt;
== 5.3 Nginx testen und neu laden ==&lt;br /&gt;
nginx -t &amp;amp;&amp;amp; systemctl reload nginx&lt;br /&gt;
&lt;br /&gt;
== 5.4 Lauscht Nginx auf 8448? ==&lt;br /&gt;
ss -tlnp | grep 8448&lt;br /&gt;
&lt;br /&gt;
Erwartet: nginx als Prozess (nicht docker-proxy)&lt;br /&gt;
&lt;br /&gt;
= 6. Federation testen =&lt;br /&gt;
Online-Tester:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://federationtester.matrix.org/#mx.nanotec.org&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Direkter API-Test:&lt;br /&gt;
&lt;br /&gt;
curl -v &amp;lt;nowiki&amp;gt;https://mx.nanotec.org:8448/_matrix/key/v2/server&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 7. Wartung &amp;amp; Hinweise =&lt;br /&gt;
&lt;br /&gt;
== 7.1 Zertifikat-Erneuerung ==&lt;br /&gt;
Plesk erneuert Let&#039;s Encrypt Zertifikate automatisch. Der Pfad in /opt/psa/var/certificates/ kann sich dabei ändern. Nach jeder Erneuerung Federation-Tester prüfen und ggf. matrix-federation.conf aktualisieren.&lt;br /&gt;
&lt;br /&gt;
== 7.2 Offene Registrierung deaktivieren ==&lt;br /&gt;
enable_registration: false&lt;br /&gt;
&lt;br /&gt;
== 7.3 Backup – diese Verzeichnisse sichern ==&lt;br /&gt;
•      /opt/dockers/synapse/data – Konfiguration &amp;amp; Signing Keys&lt;br /&gt;
&lt;br /&gt;
•      /opt/dockers/synapse/media_store – Mediendateien&lt;br /&gt;
&lt;br /&gt;
•      /opt/dockers/synapse/pgdata – PostgreSQL Datenbank&lt;br /&gt;
&lt;br /&gt;
•      /etc/nginx/plesk.conf.d/vhosts/matrix-federation.conf &lt;br /&gt;
&lt;br /&gt;
== 7.4 Nützliche Container-Befehle ==&lt;br /&gt;
•      &#039;&#039;&#039;Neustart (kein Datenverlust):&#039;&#039;&#039; docker restart synapse&lt;br /&gt;
&lt;br /&gt;
•      &#039;&#039;&#039;Neu erstellen:&#039;&#039;&#039; docker compose up -d --force-recreate synapse&lt;br /&gt;
&lt;br /&gt;
•      &#039;&#039;&#039;Logs:&#039;&#039;&#039; docker logs -f synapse&lt;br /&gt;
&lt;br /&gt;
•      &#039;&#039;&#039;Extra-Hosts prüfen:&#039;&#039;&#039; docker inspect synapse | grep -A5 ExtraHosts&lt;br /&gt;
&lt;br /&gt;
•      &#039;&#039;&#039;Hosts im Container:&#039;&#039;&#039; docker exec synapse cat /etc/hosts&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Docker&amp;diff=11</id>
		<title>Docker</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Docker&amp;diff=11"/>
		<updated>2026-03-06T10:41:44Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installationen ==&lt;br /&gt;
[[Synapse Matrix Server]]&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Docker&amp;diff=10</id>
		<title>Docker</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Docker&amp;diff=10"/>
		<updated>2026-03-06T10:40:58Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: Die Seite wurde neu angelegt: „Installationen“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Installationen&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Hauptseite&amp;diff=9</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Hauptseite&amp;diff=9"/>
		<updated>2026-03-06T10:40:19Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Omni =&lt;br /&gt;
&lt;br /&gt;
* RS1_base4&lt;br /&gt;
** [[Netzwerkgeräte]]&lt;br /&gt;
** [[Service nodes]]&lt;br /&gt;
** [[Laptops]]&lt;br /&gt;
** [[Workstations]]&lt;br /&gt;
* HowTo&#039;s&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
&lt;br /&gt;
* [[mediawikiwiki:Special:MyLanguage/Manual:Configuration_settings|Liste der Konfigu]]&lt;br /&gt;
* [[mediawikiwiki:Special:MyLanguage/Manual:Configuration_settings|rationsparameter]]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Häufige Fragen zu MediaWiki]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ Mailingliste zu neuen Versionen von MediaWiki]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources {{#FORMAL:Übersetze|Übersetzen Sie}} MediaWiki {{#FORMAL:für deine|in Ihre}} Sprache]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam {{#FORMAL:Erfahre|Erfahren Sie}}, wie {{#FORMAL:du|Sie}} Spam auf {{#FORMAL:deinem|ihrem}} Wiki bekämpfen {{#FORMAL:kannst|können}}]&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Hauptseite&amp;diff=8</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Hauptseite&amp;diff=8"/>
		<updated>2026-03-06T10:39:25Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Omni =&lt;br /&gt;
&lt;br /&gt;
* RS1_base4&lt;br /&gt;
** [[Netzwerkgeräte]]&lt;br /&gt;
** [[Service nodes]]&lt;br /&gt;
** [[Laptops]]&lt;br /&gt;
** [[Workstations]]&lt;br /&gt;
* HowTo&#039;s&lt;br /&gt;
* Docker&lt;br /&gt;
&lt;br /&gt;
* [[mediawikiwiki:Special:MyLanguage/Manual:Configuration_settings|Liste der Konfigu]]&lt;br /&gt;
* [[mediawikiwiki:Special:MyLanguage/Manual:Configuration_settings|rationsparameter]]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Häufige Fragen zu MediaWiki]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ Mailingliste zu neuen Versionen von MediaWiki]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources {{#FORMAL:Übersetze|Übersetzen Sie}} MediaWiki {{#FORMAL:für deine|in Ihre}} Sprache]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam {{#FORMAL:Erfahre|Erfahren Sie}}, wie {{#FORMAL:du|Sie}} Spam auf {{#FORMAL:deinem|ihrem}} Wiki bekämpfen {{#FORMAL:kannst|können}}]&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Hauptseite&amp;diff=7</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Hauptseite&amp;diff=7"/>
		<updated>2026-03-05T10:57:37Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Omni =&lt;br /&gt;
&lt;br /&gt;
* RS1_base4&lt;br /&gt;
** [[Netzwerkgeräte]]&lt;br /&gt;
** [[Service nodes]]&lt;br /&gt;
** [[Laptops]]&lt;br /&gt;
** [[Workstations]]&lt;br /&gt;
* HowTo&#039;s&lt;br /&gt;
&lt;br /&gt;
* [[mediawikiwiki:Special:MyLanguage/Manual:Configuration_settings|Liste der Konfigu]]&lt;br /&gt;
* [[mediawikiwiki:Special:MyLanguage/Manual:Configuration_settings|rationsparameter]]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Häufige Fragen zu MediaWiki]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ Mailingliste zu neuen Versionen von MediaWiki]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources {{#FORMAL:Übersetze|Übersetzen Sie}} MediaWiki {{#FORMAL:für deine|in Ihre}} Sprache]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam {{#FORMAL:Erfahre|Erfahren Sie}}, wie {{#FORMAL:du|Sie}} Spam auf {{#FORMAL:deinem|ihrem}} Wiki bekämpfen {{#FORMAL:kannst|können}}]&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Hauptseite&amp;diff=6</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Hauptseite&amp;diff=6"/>
		<updated>2026-02-24T10:28:10Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Omni =&lt;br /&gt;
&lt;br /&gt;
* RS1_base4&lt;br /&gt;
** [[Netzwerkgeräte]]&lt;br /&gt;
** [[Service nodes]]&lt;br /&gt;
** [[Laptops]]&lt;br /&gt;
** [[Workstations]]&lt;br /&gt;
&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Liste der Konfigurationsparameter]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Häufige Fragen zu MediaWiki]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ Mailingliste zu neuen Versionen von MediaWiki]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources {{#FORMAL:Übersetze|Übersetzen Sie}} MediaWiki {{#FORMAL:für deine|in Ihre}} Sprache]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam {{#FORMAL:Erfahre|Erfahren Sie}}, wie {{#FORMAL:du|Sie}} Spam auf {{#FORMAL:deinem|ihrem}} Wiki bekämpfen {{#FORMAL:kannst|können}}]&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Hauptseite&amp;diff=5</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Hauptseite&amp;diff=5"/>
		<updated>2026-02-24T10:27:17Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Omni =&lt;br /&gt;
&lt;br /&gt;
* RS1_base4&lt;br /&gt;
** [[Netzwerkgeräte]]&lt;br /&gt;
&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Liste der Konfigurationsparameter]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Häufige Fragen zu MediaWiki]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ Mailingliste zu neuen Versionen von MediaWiki]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources {{#FORMAL:Übersetze|Übersetzen Sie}} MediaWiki {{#FORMAL:für deine|in Ihre}} Sprache]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam {{#FORMAL:Erfahre|Erfahren Sie}}, wie {{#FORMAL:du|Sie}} Spam auf {{#FORMAL:deinem|ihrem}} Wiki bekämpfen {{#FORMAL:kannst|können}}]&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Benutzer:Elektrokid&amp;diff=4</id>
		<title>Benutzer:Elektrokid</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Benutzer:Elektrokid&amp;diff=4"/>
		<updated>2026-02-24T10:22:42Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== RS1_base4 Netzwerk Geräte ==&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
	<entry>
		<id>https://mw.below-zero.net/index.php?title=Benutzer:Elektrokid&amp;diff=3</id>
		<title>Benutzer:Elektrokid</title>
		<link rel="alternate" type="text/html" href="https://mw.below-zero.net/index.php?title=Benutzer:Elektrokid&amp;diff=3"/>
		<updated>2026-02-24T10:09:08Z</updated>

		<summary type="html">&lt;p&gt;Elektrokid: Die Seite wurde neu angelegt: „RS1_base4 Netzwerk Geräte“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;RS1_base4 Netzwerk Geräte&lt;/div&gt;</summary>
		<author><name>Elektrokid</name></author>
	</entry>
</feed>