<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://znil.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=BLinz</id>
	<title>znilwiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://znil.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=BLinz"/>
	<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Spezial:Beitr%C3%A4ge/BLinz"/>
	<updated>2026-06-17T14:37:00Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://znil.net/index.php?title=Hauptseite&amp;diff=16007</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Hauptseite&amp;diff=16007"/>
		<updated>2026-06-07T20:39:07Z</updated>

		<summary type="html">&lt;p&gt;BLinz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOCACHE__&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpage_row2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;mainpage_hubbox&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxtitle_orange&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Letzte Meldungen&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;06.06.2026&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Server wird überlastet - wer oder was auch immer grast mein Wiki massiv ab mit maximal komplizierten Abfragen welche die CPU-Last hochtreiben.&amp;lt;br&amp;gt;&lt;br /&gt;
Das ganze von vielen verschiedenen IP-Adressen aus der ganzen Welt.&amp;lt;br&amp;gt;&lt;br /&gt;
Da die UFW-Firewall je eh schon Geoblocking macht, habe ich noch ein Ratelimit per {{code|ufw limit}} gesetzt, wenn es mehr als 6 Verbindungen innerhalb von 30 Sekunden sind, wird die IP so lange gesperrt bis diese für mindestens 30 Sekunden aufhört anfragen zu stellen.&amp;lt;br&amp;gt;&lt;br /&gt;
Der normale Leser sollte also nichts merken.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;15.05.2026&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Unter &#039;&#039;&#039;[[Zabbix Server + Agent unter Ubuntu 26.04 LTS installieren]]&#039;&#039;&#039; findet Ihr die aktuelle Version für die Installation eines Zabbix LTS-Servers unter dem aktuellen Ubuntu Server 26.04 LTS&amp;lt;br&amp;gt; Diesmal musste nicht so viel wie letztes mal angepasst werden. Wenn man die Anleitung von der Zabbix-Webseite nutzt, funktioniert das Webinterface nicht. Zabbix will nun PHP-FPM nutzen und bringt unter Ubuntu 26.04 auch alles dafür mit, es fehlt aber die Aktivierung des FPM und Proxy Moduls im Apache Webserver. &#039;&#039;Nachtrag vom 07.06.2026: Inzwischen wird dort auch das aktivieren der Apache-Module mit aufgeführt!&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Auch den Teil für das Backup der Datenbank sowie dem Vergrößern der Festplatte habe ich angepasst / verbessert / erweitert.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;06.05.2026&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis|Mit dem Update auf 7.0.26-2 ist der Fehler wieder behoben}}&lt;br /&gt;
Zabbix verteilt gerade beim Update auf 7.0.26 unter Ubuntu 24.04 eine fehlerhafte {{code|/etc/zabbix/apache.conf}}&amp;lt;br&amp;gt;&lt;br /&gt;
Der Effekt ist das man dann auf der Weboberfläche entweder nur den PHP-Quellcode sieht oder eine Error 503 Fehlermeldung.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Lösung ist aus der&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/zabbix/apache.conf&lt;br /&gt;
den folgenden Abschnitt zu löschen / auszukommentieren:&amp;lt;br&amp;gt;&lt;br /&gt;
    &amp;lt;FilesMatch \.(php|phar)$&amp;gt;&lt;br /&gt;
        SetHandler &amp;quot;proxy:unix:/var/run/php/zabbix.sock|fcgi://localhost&amp;quot;&lt;br /&gt;
    &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
Da wird {{code|php-fpm}} erwartet, meine Anleitung (und Zabbix in der Vergangenheit) installiert aber nur das klassische PHP.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternativ kann man die Konfiguration auch einfach deaktivieren:&lt;br /&gt;
 a2disconf zabbix &amp;amp;&amp;amp; systemctl reload apache2&lt;br /&gt;
In meiner Anleitung wird ja eine eigene Konfigurationsdatei für den Aufruf der Weboberfläche gesetzt (so das man kein {{code|/zabbix}} an die URL anhängen muss), deshalb geht es dann auch ohne,&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;16.02.2026&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Update: Die &#039;&#039;&#039;UFW&#039;&#039;&#039; Firewall unter Ubuntu kann auch Geoblocking! Der Artikel war schon älter und für Ubuntu 20.04, mit etwas Fehlersuche und Anpassungen funktioniert das aber ganz hervorragend. Das ganze habe ich mir hier zusammengeschrieben: [[ufw Geoblocking mit Ubuntu 24.04]]&amp;lt;br&amp;gt;&lt;br /&gt;
Nachtrag: Die CPU-Last des Servers hat nun enorm abgenommen, &#039;&#039;&#039;UFW&#039;&#039;&#039; verbraucht erheblich weniger ressourcen beim Blocken als der Apache.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;16.02.2026&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
USA sind nun auch Blockiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Es gibt eine Mediawiki-Funktion bzw. Spezialseite um alle Änderungen in einem bestimmten Zeitraum abzufragen.&amp;lt;br&amp;gt;&lt;br /&gt;
Das ist eine Datenbankabfrage. Und genau diese kommt nun schon seit mehren Tagen fast pausenlos aus Kalifornien, USA, über verschiedene IP-Adressen.&amp;lt;br&amp;gt;&lt;br /&gt;
Und erzeugt hohe Last auf meinem Webserver.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich sperre die mal für eine paar Tage aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich brauche dringend mal eine Firewall davor die das Geoblocking übernimmt (im Moment mache ich es im Apache).&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;01.02.2026&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Extrem hohe Last auf dem Webserver hier ...&amp;lt;br&amp;gt;&lt;br /&gt;
Mein Internetzugang fing an &amp;quot;zu spinnen&amp;quot;, dieser Webserver hier war nahezu auf 100%, der Upload stand bei konstant 10MBit/s ...&amp;lt;br&amp;gt;&lt;br /&gt;
Diesmal lag es lag es an einer Testversion vom März 2025 dieser Webseite. Vor dem Upgrade hatte ich eine Kopie erstellt welche unter der Domäne &amp;quot;testwiki.znil.net&amp;quot; zu erreichen war.&amp;lt;br&amp;gt;&lt;br /&gt;
Die war natürlich nicht gepatched und hatte kein Geoblocking.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich habe diese nun einfach gelöscht und Ruhe ist.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;01.12.2025&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Geo-Blocking von Ländern:&amp;lt;br&amp;gt;&lt;br /&gt;
Es ist der 1. eines Monats und da bekomme ich immer die Auswertung von Matomo - das ist das Tool mit dem ich die Zugriffe auf meine Webseite auswerte. Normalerweise sind das so um die 5 bis 10.000 Besucher im Monat, während Corona waren es auch mal 20.000 (Der Artikel über Guacamole RDP war äußerst beliebt).&amp;lt;br&amp;gt;&lt;br /&gt;
In November waren es dann 167.000 eindeutige Besucher ... ok, hier stimmt etwas nicht. Ein Blick auf den Webserver - jupp der brummt für znil.net ordentlich.&amp;lt;br&amp;gt;&lt;br /&gt;
Blicke ins Log zeigen aber das zum einen - wie üblich - die ein oder andere Suchmaschine wieder mal die ganze Webseite abgrast. Das ist aber sonst auch so.&amp;lt;br&amp;gt;&lt;br /&gt;
Aber es gibt auch jede Menge Versuche, die Webseite zu hacken. Mit vergeblichen Aufrufen für Wordpress-Installationen, aber auch gezielt Mediwiki. Eine IP aus Polen die zufällig gerade stark aktiv war, habe ich dann von Hand gesperrt. Und mir die anderen Einträge mit solchen versuchen angeschaut.&amp;lt;br&amp;gt;&lt;br /&gt;
Tja, es sind ja eigentlich Klischees, aber China und Russland sind jetzt geblockt für diese Webseite. Die beiden Länder waren für 90% der fehlgeschlagenen Einträge verantwortlich,&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;09.06.2025&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Lang vor mir hergeschoben - aber nun ist meine Webseite hier endlich auf der neuen MediaWiki LTS Version 1.43 welche dann bis Dezember 2027 Updates erhalten wird. Die bisherige Version 1.39 wäre im November diesen Jahres ausgelaufen.&amp;lt;br&amp;gt;&lt;br /&gt;
Probleme gab es diesmal überraschend wenig:&amp;lt;br&amp;gt;&lt;br /&gt;
* Die 2 Faktor-Authentifizierung in 1.43 hat einen Upgrade-Fehler, man muss manuell einmal das SQL-Skript für das Anlegen der Tabelleneinträge ausführen und die {{code|update.php}} noch mal starten. Dann klappte die Anmeldung mit dem bisherigen Token&lt;br /&gt;
* Mein Skin {{code|Pivot}} funktionierte nicht mehr, es musste die aktuelle Version sein. Zudem musste ich den Namen im Skin-Verzeichnis von {{code|pivot}} auf {{code|Pivot}} ändern, also mit Großschreibung. Sonst fehlten die Symbole bei den Menüs etc.&lt;br /&gt;
* Die Kommentarfunktion &amp;lt;strike&amp;gt;zickt noch, ich habe die aktuelle Version der Erweiterung einfach als Extension geladen. Die Darstellung funktioniert, es fehlen noch die Felder die es anonymen Benutzern erlaubte einen gewählten Namen anzugeben. Zudem Kann man als nicht angemeldeter Benutzer noch gar keine Kommentare anlegen (gibt eine Fehlermeldung). Ich habe da in der Vergangenheit immer eigene Anpassungen gemacht, die muss ich gleich noch einarbeiten.&amp;lt;/strike&amp;gt; funktioniert jetzt auch wieder&lt;br /&gt;
Am besten gefällt mir aber, das die Erweiterung {{code|ClipUpload}} immer noch funktioniert. Die Erweiterung erlaubt es, in der Code-Ansicht beim Editieren einen Screenshot aus der Zwischenablage einfach per {{key|STRG}} + {{key|V}} einzufügen, ohne Nachfragen, direkter Upload und Einfügen des Dateinamens. Das normale Vorgehen will 1.001 Frage beantwortet haben (Lizenz, Name usw) und dauert mir beim dem Erstellen von Anleitungen viel zu lange.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;24.04.2025&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Webseite ist umgezogen - und läuft nun &amp;quot;im Homeoffice&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Wie immer unter Ubuntu - die aktuelle 24.04 LTS Version, mit Apache2 Webserver und MariaDB Datenbank. Mal schauen ob 500MBit/s an Upload reichen :-)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strike&amp;gt;Und die Seite ist - endlich - auch wieder über IPv6 zu erreichen.&amp;lt;/strike&amp;gt; Sollte gehen, geht aber nicht. Ausgehend kein Problem, aber die Portweiterleitung der FRITZ!Box zickt scheinbar rum&amp;lt;br&amp;gt;&lt;br /&gt;
Ich habe hier noch einen 2. Linux Rechner mit IPv4, dieser lässt sich trotz identischer Einstellungen von außen pingen. Mal sehen ob ich herausbekomme woran das liegt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Update:&#039;&#039;&#039;&amp;lt;/u&amp;gt; Schön wenn man ein anderes System zum vergleichen hat. Es fehlte schlicht in der Netzwerkkonfiguration das IPv6 Gateway.&amp;lt;br&amp;gt;&lt;br /&gt;
Warum auch immer der ausgehende IPv6 Traffic trotzdem funktioniert hatte ...&amp;lt;br&amp;gt;&lt;br /&gt;
Also: Die Seite ist - endlich - auch wieder über IPv6 zu erreichen!&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;12.03.2025&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Umzug der Webseite im April!&amp;lt;br&amp;gt;&lt;br /&gt;
Mein bestehender Glasfaseranschluss der Telekom wird Anfang April zu einem Geschäftskundenanschluss geändert (Business Glasfaser Pro 1000), mit fester IP-Adresse (IPv4 und IPv6).&amp;lt;br&amp;gt;&lt;br /&gt;
Der Upload beträgt dann 500MBit - das ist zwar nur halb so schnell wie es angeblich zur Zeit ist (laut IONOS 1GBit/s), aber so viele Aufrufe hat meine Webseite nicht (abgesehen von sporadischen Hacking versuchen).&amp;lt;br&amp;gt;&lt;br /&gt;
Ich werde die Webseite dann von zu Hause hosten. In dem Zuge werde ich das Mediawiki dann auch auf die letzte LTS-Version bringen, im Moment läuft es noch auf der LTS-Version &#039;&#039;&#039;1.39.x&#039;&#039;&#039; die noch bis November 2025 unterstützt wird, aktuell wäre &#039;&#039;&#039;1.43.x&#039;&#039;&#039; welches bis November 2027 unterstützt wird. Meine Sorgenkinder bei Upgrades sind immer die &amp;quot;Paste from Clipboard&amp;quot; Funktion um Screenshots schnell in Artikel einzufügen und die Kommentarfunktion.&amp;lt;br&amp;gt;&lt;br /&gt;
Da ich dann aber ja voll Kontrolle über den Server habe, wird es dann einfach mit Backups und Snapshots.&amp;lt;br&amp;gt;&lt;br /&gt;
Im Moment bereite ich das Netzwerk und die Firewall dafür vor - ich bin ein großer Freund von Reverse Proxy, Geo-IP-Blocking und Let&#039;s Encrypt Zertifikaten, im Zweifel alles 3 zusammen.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich werde über den Stand dann an dieser Stelle berichten.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;18.12.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
WireGuard schlägt IPSec!&amp;lt;br&amp;gt;&lt;br /&gt;
Ich habe fast den ganzen gestrigen Tag damit verbracht, die VPN-Verbindung zwischen meiner FRITZ!Box und meinem Mietserver von IPSec auf WireGuard umzustellen.&amp;lt;br&amp;gt;&lt;br /&gt;
Den Tunnel aufzubauen hatte schon nach ein paar Minuten geklappt, leider hat die FRITZ!Box aber hartnäckig ein NAT über den Tunnel gemacht. Konnte ich Lösen und habe eine Anleitung dafür geschrieben: [[FritzBox - Site to Site VPN zu pfSense mit WireGuard ohne Tunnel NAT]]&amp;lt;br&amp;gt;&lt;br /&gt;
Gemacht habe ich das ganze ich das weil ich mir eine besser Performance erhofft hatte. Und erste Tests mit {{code|iperf3}} zeigten einen um 40% höher Datendurchsatz.&amp;lt;br&amp;gt;&lt;br /&gt;
Heute Nacht lief nun das erste Backup (eine Veeam Replikation) über WireGuard statt IPSec:&amp;lt;br&amp;gt;&lt;br /&gt;
Vorher mit IPSec:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-241218-112649.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Nun mit WireGuard:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-241218-112719.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
2h25m schneller! Bei sogar 1GByte mehr Daten. und von den 1h45m sind eine Stunde alleine die &#039;&#039;&#039;Retention Policy&#039;&#039;&#039;, also das löschen und zusammenführen alter Snapshots am Ziel.&amp;lt;br&amp;gt;&lt;br /&gt;
Fazit: hat sich gelohnt!&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;29.09.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Ich konnte mich endlich auch mal etwas mehr mit Proxmox beschäftigen (und wie gut Veeam es schon unterstützt).&amp;lt;br&amp;gt;&lt;br /&gt;
Zunächst auf einen Mini-PC der 200Euro Klasse (Intel N95 Prozessor, 16GB RAM, 512GB SSD, 2 x LAN) mit dem ich etwas herumgespielt habe, inklusive der Migration einer VMware-VM dorthin. Um die Live-Migration zu testen habe ich mir dann noch einen 2. Mini-PC gekauft. Und hatte dann eine steile Lernkurve (Datenträger müssen auf alles System gleich sein - und ZFS formatiert sein), inklusive einer kompletten Migration da ich beide Nodes noch mal neu mit ZFS installieren musste.&amp;lt;br&amp;gt;&lt;br /&gt;
Damit ich das später auch wieder hinbekommen, gibt es nun links einen neuen Bereich Proxmox unter welchen ich dann wie immer sammle was ich interessant fand bzw. wie ich mein System eingerichtet habe.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;03.07.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Die Kommentarfunktion braucht ein paar Anpassungen an das aktuelle PHP8.3&amp;lt;br&amp;gt;&lt;br /&gt;
Da kommen zwar nur Warnungen, aber die erscheinen halt ständig im Log. Es gibt auf GitHub bereits eine angepasste Version (leider ohne angepasste Versionsnummer), die arbeitet aber mit meiner &amp;quot;alten&amp;quot; Mediawiki-Version 1.39 nicht zusammen. Das ist aber nun mal die aktuelle LTS-Version und die neue ist noch nicht erschienen.&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt muss ich also entweder mit den Warnungen leben, diese Seite auf dem älteren PHP8.1 laufen lassen, eine Kurzzeit-Mediawiki-Version mit nur einem Jahr Support einsetzen oder die Kommentarfunktion dauerhaft abschalten. Ich habe mich noch nicht entschieden.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich nutze eine von mir angepasste Version von https://www.mediawiki.org/wiki/Extension:Comments die ich immer dahingehend ändere das auch anonyme Kommentare möglich sind (mit freier Angabe eines Names oder Email-Adresse). Zudem ist eine - mini - AntiSPAM Funktion eingebaut und ich erhalte immer sofort eine Email über einen neuen Kommentar.&amp;lt;br&amp;gt;&lt;br /&gt;
Das habe ich mir gut Dokumentiert, ist trotzdem ein Sonntagnachmittag Arbeit das jedes mal einzupflegen.&amp;lt;br&amp;gt;Nur um mich dann per Kommentar beschimpfen zu lassen wenn da jemanden etwas nicht passt ...&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;27.06.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Ich habe mal die Kommentarfunktion meiner Seite deaktiviert, da gab es heute wohl einen Angriff wo versuchte wurde diese als Lücke zu missbrauchen. Laut Logs hat das nicht geklappt, aber so habe ich den Angriff ins leere laufen lassen.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;23.06.2024 09:45Uhr&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Es ist 2024 ... und ich bekomme IPv6 an meinem neuen Server nicht zum laufen. Offensichtlich wird es nicht durchgelassen. Jedenfalls kommt kein IPv6 Datenverkehr an meinem Server an.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;23.06.2024 00:55Uhr&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
znil.net läuft nun auf einem neuen virtuellen Server bei IONOS. Nach 2 Tagen war der alte zwar migriert. Aber der neue - die technischen Daten sind identisch - kostet nur 4 statt 5 Euro im Monat. Und ich konnte so parallel gleich auf Ubuntu 24.04 LTS + PHP8.3 umziehen.&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt geht es ins Bett, morgen muss ich noch genauer prüfen ob noch alles funktioniert.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;20.06.2024 13:44Uhr&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
So, telefonisch konnte ich ein Ticket eröffnen. Nein, das ist nicht normal, die VM hätte schon längst wieder laufen sollen. Es wird jetzt geschaut was bei meiner VM hakt.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;20.06.2024 13:02Uhr&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-240620-130053.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
so so, 20 Minuten. Die Meldung habe ich im Portal gefunden, wenn ich versuche auf &#039;&#039;&#039;&#039;&#039;Server &amp;amp; Cloud&#039;&#039;&#039;&#039;&#039; zu zugreifen werde ich immer noch sofort abgemeldet.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich suche gerade wo ich dort ein Ticket eröffnen kann.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
&#039;&#039;&#039;20.06.2024 09:35Uhr&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Na IONOS, das klappt ja scheinbar toll. Statt &amp;quot;kurzer Unterbrechung&amp;quot; sind es nun schon fast 20h Ausfall, laut deren Status Webseite https://www.ionos-status.de/ läuft alles Störungsfrei, das Portal für die Cloud-Server Verwaltung ist immer noch komplett abgeschaltet (zumindest für mich).&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;19.06.2024 20:23Uhr&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Heute seit 15:00 Uhr stellt IONOS meinen vServer um auf dem diese Webseite läuft. Das sollte angeblich nicht lange dauern.&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt, 5h später, ist mein Server immer noch nicht erreichbar.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Webportal von IONOS zur Verwaltung meines vServers ist auch komplett abgeschaltet - man wird sogar sofort ausgeloggt wenn man auf den betreffenden Menüpunkt geht.&amp;lt;br&amp;gt;&lt;br /&gt;
Genügend Gelegenheit einmal mein Backup zu testen.&amp;lt;br&amp;gt;&lt;br /&gt;
So konnte ich meine Webseite mit Stand gestern, 22:00 Uhr wiederherstellen. Die Webseite läuft im Moment auf meinen Heimserver. Der hat zwar genügend Dampf, mein Internetanschluß von Kabel Deutschland hat aber leider nur 50MBit Upload.&amp;lt;br&amp;gt;&lt;br /&gt;
Aber besser als nichts, zur Not kann ich die Seite auch noch auf einen anderen Server mit 250Mbit Upload umziehen, aber das hier war jetzt schneller und einfacher.&amp;lt;br&amp;gt;&lt;br /&gt;
Und es wäre schön wenn der Originalserver doch noch wieder hoch kommt, ich habe heute noch diverses im Wiki geschrieben/korrigiert.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;10.06.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Ich bin endlich dazu gekommen eine aktuelle Anleitung für Ubuntu 24.04 und Zabbix 6 / Zabbix 7 zu schreiben: [[Zabbix Server + Agent unter Ubuntu 24.04 LTS installieren]]&amp;lt;br&amp;gt;&lt;br /&gt;
Es waren nicht so viele Änderungen wie befürchtet. Schlecht ist aber schon mal das ich bisher keine aus Zabbix 6 exportierten Templates in Zabbix 7 importiert bekommen habe, das muss ich mir noch mal genauer anschauen.&amp;lt;br&amp;gt;&lt;br /&gt;
Mein jetziger Zabbix 6.0 LTS Server stammt von von meinen allerersten Zabbix-Server 2.2 ab, dieser wurde immer wieder geupgradet. Nun möchte ich mal einen Neuanfang machen, auch um jede menge Altlasten los zu werden, z.B. habe meine Items noch alle eine Server-Node Id, allen Item-Ids ist also eine &amp;lt;code&amp;gt;42042000000&amp;lt;/code&amp;gt; vorangestellt, das werde ich sonst nie los.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;27.05.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
znil.net ist nun nur noch über IPv4 zu erreichen. Grund ist das IONOS die virtuelle Maschine auf welcher diese Webseite läuft, migriert und dabei neue IPv6 Adressen zuweisen wird. Dei IPv4 soll unverändert erhalten bleiben.&amp;lt;br&amp;gt;Scheinbar wird dabei auch der darunterliegende Hypervisor geändert. Bisher ist meine VM eine VMware vSphere-VM, mal sehen was es danach ist.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;31.01.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Und die Extension &amp;quot;ClipUpload&amp;quot; funktioniert nun doch. Nachdem ich bei einem Kunden die Extension [https://www.mediawiki.org/wiki/Extension:MsUpload MsUpload] gesehen hatte - mit der kann man einfach per Drag&amp;amp;Drop viele Dateien/Bilder in einem Rutsch hochladen - hatte ich diese bei mir installiert. Die Extension funktioniert aber nur in Verbindung mit dem [https://www.mediawiki.org/wiki/Extension:WikiEditor WikiEditor]. Der ist &amp;quot;ab Werk&amp;quot; dabei, ich hatte den aber deaktiviert weil ich diesen nicht gebraucht habe. Der WikiEditor erscheint in dem von mir bevorzugten Quelltext-Editor. Und in diesem / mit diesem funktioniert mein heiß geliebtes und Innig geliebtes &amp;quot;ClipUpload&amp;quot;. Mit dieser Erweiterung kann ich Screenshots (aus der Zwischenablage) im Quelltext-Editor einfach per {{Key|STRG}} + {{Key|V}} einfügen - ohne nervige Nachfragen etc.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;05.02.2023&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Das MediaWiki-System auf dem diese Webseite basiert wurde von der LTS-Version 1.35.9 auf die neue LTS-Version 1.39.1 aktualisiert. Wie immer gab es Probleme mit einigen Erweiterungen. Bei den meisten reichte die für MediaWiki 1.39.x passende Version zu installieren. Die Kommentarfunktion musste ich wieder nach meinen Ansprüchen anpassen - was relativ schnell ging da ich beim letzten mal ordentlich dokumentiert hatte - so musste ich nur in der alten Version nach meinen Kommentaren suchen und die Abschnitte entsprechend in der neuen Version ändern.&amp;lt;br&amp;gt;&lt;br /&gt;
Leider - &#039;&#039;&#039;LEIDER&#039;&#039;&#039; - ist die Extension &amp;quot;ClipUpload&amp;quot; nun auf der Strecke geblieben, beim letzten mal konnte man die noch mit Codeänderungen zum laufen bringen. Die Erweiterung erlaubte es per {{Key|STRTG}} + {{Key|V}} einfach Bilder in das Mediawiki einzufügen. Es wird auf [https://www.mediawiki.org/wiki/Extension:SimpleBatchUpload simple-batch-upload] verwiesen ... mhh, nicht wirklich das selbe.&amp;lt;br&amp;gt;&lt;br /&gt;
Als nächstes steht dann das Upgrade auf 22.04 LTS + PHP8 an.&amp;lt;br&amp;gt;&lt;br /&gt;
Nachtrag: Es gibt einen &#039;&#039;&#039;[https://www.mediawiki.org/wiki/Extension:VisualEditor VisualEditor]&#039;&#039;&#039; der ab Werk bei MediaWiki dabei ist (keine Ahnung seit welcher Version), der kann das auch. In Umständlich. Titel, Beschreibung usw. muss alles über Dialoge angegeben werden anstatt das Bild einfach sofort hochzuladen (ich weis schon was ich tue).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;10.10.2022&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Die Zabbix Summit 2022 in Riga: [https://www.meinekleinefarm.net Marco Hofmann] hat einen Vortrag darüber gehalten wie man unter Windows den Zabbix Agenten auf hunderten von Systemen und verschiedenen Kundenumgebungen synchron hält. Das erwähne ich weil er dazu unter anderem auch Werkzeuge von mir einsetzt - eine Abwandlung meiner [[Zabbix Agent für Windows per Skript automatisch installieren Musterdatei|InstallZabbixAgent.bat]] und das Tool für [[Agent Auto Updater|automatische Updates des Agenten]].&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:Hofmann-1200x628px.png|400px|link=https://www.meinekleinefarm.net/zabbix-summit-2022-in-riga-keeping-hundreds-of-windows-zabbix-agents-in-sync-across-different-customers/]]&amp;lt;br&amp;gt;&lt;br /&gt;
Seinen Vortrag findet ihr hier auf Youtube: https://youtu.be/IQQwTEtwl7M?t=19987 &amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;05.10.2021&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Das Mediwiki dieser Seite ist nun auf Version 1.35.4. Und ich müsste mal daran gehen wieder eine Kommentar-Übersichtsseite zu programmieren ...&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;06.05.2021&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Das waren jetzt fast 4h Arbeit - aber die Kommentarfunktion funktioniert wieder wie vorher.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Extension basiert wieder auf dem aktuellen Original: https://www.mediawiki.org/wiki/Extension:Comments und wurde wieder nach meinen Bedürfnissen angepasst.&amp;lt;br&amp;gt;&lt;br /&gt;
Unter anderem war in der aktuellen Version der Datenbank gar kein Feld mehr für den Namen/Email-Adresse vorgesehen, das habe ich wieder nachgerüstet.&amp;lt;br&amp;gt;&lt;br /&gt;
Die meiste Zeit habe ich damit verbracht die Stelle in den ganzen PHP-Skripten zu finden an der die eigentliche Datenbankabfrage durchgeführt wird.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;05.05.2021&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Großes Update der Webseite!&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Upgrade auf die Mediawiki LTS Version 1.35.2&lt;br /&gt;
* Umzug von Ubuntu 18.04 LTS auf 20.04 LTS&lt;br /&gt;
* Umzug von MySQL auf MariaDB&lt;br /&gt;
* Umzug von PHP 7.2 auf 7.4.3&lt;br /&gt;
* Umzug auf V-Server M von IONOS&lt;br /&gt;
* Seite ist nun über IPv4 und IPv6 erreichbar!&lt;br /&gt;
Hat im ganzen ganz gut geklappt. Auf der Strecke sind 2 Erweiterungen geblieben: Die Anzeige der zuletzt geänderten Artikel sowie eine selbst programmierte Seite welche mir alle Kommentare auf einer Seite angezeigt hatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Auch die Schaltfläche die auf jeder Seite unten rechts zum Hochscrollen war fehlt noch.&amp;lt;br&amp;gt;&lt;br /&gt;
Ganz hervorragend am &#039;&#039;&#039;IONOS V Server&#039;&#039;&#039; gefällt mir das es eine VM unter VMware ist, die Firewall davor in der man selbst Port für Port freischalten muss - und das ich die mit dem &#039;&#039;&#039;&#039;&#039;Veeam Agent for Linux&#039;&#039;&#039;&#039;&#039; einfach sichern kann. Und die Büchse ist angenehm schnell, mit 300Mbit angebunden und kostet nur 5 Euro im Monat.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Nachtrag:&#039;&#039;&#039; Die Kommentarfunktion funktioniert ... aber der Refresh nachdem man senden gedrückt hat sieht komisch aus. {{Key|F5}} behebt das, mal sehen ob ich da was ändern kann. Das ist eine Extension die ich so angepasst habe das man auch ohne Anmeldung mit einem Namen etwas posten kann und das mir eine Email gesendet wird wenn es einen Kommentar gibt. Es gibt eine neuere Version davon die ich dann allerdings auch wieder neu anpassen muss.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;31.01.2021&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Ich habe einen neuen Artikel zum Thema GeoIP-Blocking mit Apache2 veröffentlicht: [[Apache2 Ubuntu 24.04 22.04 20.04 GeoIP Blocking einrichten]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und das ganze auch gleich als Gelegenheit genutzt bei meinen diversen Subdomänen das ganze umzusetzen. Meine Seafile- oder mein Zabbix-Server müssen z.B. nur aus Deutschland erreichbar sein.&amp;lt;br&amp;gt;[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;30.12.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Eigentlich wollte ich diesen Webserver mal auf Ubuntu 20.04 LTS aktualiseren ... aber das hat per &amp;lt;code&amp;gt;do-release-upgrade&amp;lt;/code&amp;gt; im Gegensatz zu meinen anderen VMs nicht geklappt. MediaWiki 1.3 mag irgendwie PHP 7.4 auch nicht richtig (auch wenn ich es woanders schon habe laufen gesehen). Also doch wie immer - neuen Server installieren und dann die Domänen Stück-für-Stück umziehen.&amp;lt;br&amp;gt; [[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;25.06.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:MFA_Badge.png|left]] Geschafft! Ich habe erfolgreich die Prüfung &amp;quot;MFA technical Certification&amp;quot; der Firma WatchGuard abgeschlossen. Es geht um die [https://www.watchguard.com/de/wgrd-products/authpoint-multi-factor-authentication MFA Lösung AuthPoint der Firma WatchGuard] - bei der Vorbereitung war hilfreich das ich MFA schon länger auch privat für den Schutz meiner Zugänge einsetze. Unter anderem [https://duo.com/ duo.com] für RDP da es bis 10 Personen auch kostenlos genutzt werden kann. WatchGuard ist - aus meiner Sicht - mehr pures MFA, DUO hat dafür quasi jeden Anwendungsfall eine eigene Anleitung und geht tiefer auf die Endgeräte ein. Wobei z.B. eine nicht aktuelle Android-Version ständig angemeckert wird.&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;26.04.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Stromkosten: Auch ich sitze nun mehr im Homeoffice. Und in meinem Kellerbüro habe ich meinen Rechner hinter mir - und einen 40HE Datenschrank im Blick vor mir. Mit den Tagen ging mir zum einen der Lärm der ganzen Lüfter irgendwann auf den Kecks. Und den Stromverbrauch (den ich bis dato aber nicht gemessen habe) wollte ich auch senken. Den Verbrauch der Switche kannte ich durch Einzelmessungen, der lag bei ca. 100 Watt (für 48 Gigabit Ports + 6 PoE Ports). Diesen habe ich durch einen neuen Switch Allnet-SG8428M (13 Watt maximal!) und einen sparsameren PoE Sitch für die Telefone und Kameras stark reduziert. Zeitgleich habe ich mit Gosund SP111 WLAN-Steckdosenschaltern herumgespielt. Mit der Tasmota Firmware und einer Kalibrierung taugen diese scheinbar auch ganz gut als Strommessgeräte.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich hab nun also meinen Datenschrank zu Hause daran gehängt und musste ernüchternd einen Dauerstromverbrauch von 140 bis 150 Watt feststellen.&amp;lt;br&amp;gt;&lt;br /&gt;
* 44 Watt davon gehen für PoE drauf - 5 Cisco Telefone und 2 IP-Kameras.&amp;lt;br&amp;gt;&lt;br /&gt;
* 16 Watt maximal für die beiden anderen Switche (der ALLNET und ein 16 Port Netgear) &lt;br /&gt;
* 9 Watt mein ESXi Server auf Basis eines APU2C4 von PC Engines (inklusive 2TB USB Festplatte daran)&lt;br /&gt;
* um die 20 Watt schätze ich die beiden FritzBoxen ...&lt;br /&gt;
* bleiben ca. 89 Watt für meinen Heimserver - mit 2x 128GB SSD und 4 x 4TB HDD&lt;br /&gt;
* und die USV wird da mit Ihrem Eigenanteil auch irgendwo dazwischen liegen&lt;br /&gt;
Wenn ich den Verbrauch mal in einen Kostenrechner werfe:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-200426-192323.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:(erstellt mit [https://www.stromverbrauchinfo.de/stromkostenrechner.php stromverbrauch info])&amp;lt;br&amp;gt;&lt;br /&gt;
weis ich nun auch warum wir immer so eine fette Stromrechnung habe. Als 4 Personenhaushalt verbrauchen wir soviel wie einer mit 8. Und dabei habe ich doch gerade schon soviel eingespart ...&amp;lt;br&amp;gt;&lt;br /&gt;
Ich werde das nun - dank mit Zabbix überwachten Strom/Leistungsverbrauch mal besser beobachten und schauen wie ich da in Zukunft noch mehr einsparen kann.&amp;lt;br&amp;gt;&lt;br /&gt;
Jedes Watt sind 2,60 €/Jahr oder 22 Cent/Monat - klingt nicht viel aber wie man sieht läppert es sich.&amp;lt;br&amp;gt;&lt;br /&gt;
Mal sehen wie der Durchschnitt nach einem Monat ist. Nachts schaltet sich z.B. die Beleuchtung der IP-Telefone ab was schon 10 Watt spart.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;14.04.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit gewissen Stolz habe ich meine Version eines &amp;quot;Active Directory-Gruppe mit Zabbix Benutzern Abgleichen via LDAP&amp;quot; Skriptes fertiggstellt:&amp;lt;br&amp;gt;&lt;br /&gt;
 https://github.com/BernhardLinz/zabbix-ldap-sync-bash&lt;br /&gt;
Wer nach so etwas googelt landet quasi ausschließlich bei dem von Marc Schöchlin geschriebenen Python Script: https://github.com/zabbix-tooling/zabbix-ldap-sync&amp;lt;br&amp;gt;&lt;br /&gt;
An dem haben mich aber schon immer die ganzen Abhängigkeiten gestört wie &#039;&#039;&#039;pyldap&#039;&#039;&#039; oder &#039;&#039;&#039;pyzabbix&#039;&#039;&#039;. Ich hab nun mal leider auch Kunden mit Systemen ohne Internetanbindung oder älteren Linux Versionen - und da ist es schwer diese zu erfüllen.&amp;lt;br&amp;gt;&lt;br /&gt;
Mein Skript ist &amp;quot;pures&amp;quot; Bash. Es wird nur der Befehl &#039;&#039;&#039;ldapsearch&#039;&#039;&#039; und &#039;&#039;&#039;curl&#039;&#039;&#039; benötigt - und bisher waren die in allen Repositories der Distributionen vorhanden.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;03.04.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Ich nutze nun [https://www.google.com/search?q=tripwire+ubuntu Tripwire] um meinen Webserver zu überwachen. Gefällt mir sehr gut, man muss nur daran denken nach jeden Update oder Änderung die Datenbank wieder auf Stand zu bringen. Ich bekomme im Moment jeden Tag einen Email-Report dazu - da muss ich noch mal schauen wir ich das in Zabbix unterbringe bzw. mir nur eine mail senden lasse wenn auch etwas ansteht.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;01.02.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Noch ein Nachtrag zum &amp;quot;Angriff&amp;quot;:&amp;lt;br&amp;gt; zwischendurch fehlten auf dem Server 16G an Speicherplatz.&amp;lt;br&amp;gt;&lt;br /&gt;
Gemerkt habe ich das mit Zabbix weil dadurch ein Schwellwert erst unter- und dann wieder überschritten wurde.&amp;lt;br&amp;gt;&lt;br /&gt;
Die 16G waren das &amp;lt;code&amp;gt;error.log&amp;lt;/code&amp;gt; für die Domäne &#039;&#039;&#039;znil.net&#039;&#039;&#039;. Darin fand ich jede Menge Fehlermeldung das versucht wurde &amp;lt;code&amp;gt;\bin\bash&amp;lt;/code&amp;gt; zu starten - was aber nun mal nicht erlaubt ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Bin im Moment gerade glücklich darüber das ich jede Domäne / Webseite / Subdomäne unter einem eigenen, eingeschränkten Benutzer laufen lasse.&amp;lt;br&amp;gt;&lt;br /&gt;
Das mache ich nicht von Hand sondern per ISPConfig weil ich faul bin. Funktioniert aber scheinbar ja prima.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;01.02.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Also, wenn ich so ein Online-Tool nutze um meine Webseite zu überprüfen dann melden diese ggf. (nicht immer) eine &amp;quot;SQL-Injection&amp;quot; Lücke in meiner Kommentarfunktion.&amp;lt;br&amp;gt;&lt;br /&gt;
Und zwar weil wohl dann gängige Test-SQL-Abfragen mit gesendet werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Senden erfolgt via JavaScript im Browser des Benutzers, der Empfänger ist das PHP-Skript auf dem Server.&amp;lt;br&amp;gt;&lt;br /&gt;
In der letzten Version dieses Skriptes (angepasst von mir) gibt es keine Filter mehr, er nimmt einfach alles an. Früher habe ich dort auf Viagra &amp;amp; Co gefiltert.&amp;lt;br&amp;gt;&lt;br /&gt;
Aber der Teil darunter der dann den Text in die Datenbank schreibt ist wohl ausreichend gefestigt - er schreibt einfach alles was kommt in den Datensatz der Datenbank. Die SQL-Injections tauchen so einfach als Text im Kommentarfeld auf, werden aber nicht ausgeführt. Also alles gut Denke ich.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;01.02.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Angriff auf diese Webseite:&amp;lt;br&amp;gt;&lt;br /&gt;
In der Nacht von gestern auf heute hat jemand versucht per SQL-Injektion sich Zugriff auf diese Webseite zu verschaffen.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;Schwachstelle&amp;quot; ist die Kommentarfunktion. Ein Online-Scurity-Scanner hatte mir diese bereits mal als anfällig dafür gemeldet.&amp;lt;br&amp;gt;&lt;br /&gt;
Da ich die Mediawiki-Extension überarbeitet hatte, habe ich umfangreiche &amp;quot;Suchen und Erstzen&amp;quot;-Regeln erstellt die alles was mit SQL zu tun hat ausfiltert.&amp;lt;br&amp;gt;&lt;br /&gt;
Deshalb sehen manche Kommentare hier dann komisch aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich prüfe mal das System intensiv ob die Abwehr erfolgreich war ... oder ob ich doch ein Backup wieder einspiele.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;25.02.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
znil.net weiterhin &amp;quot;Tracker-frei&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich nutze Matomo (ehemals Piwik) um Statistiken für diese Webseite zu erhalten. Eigentlich mehr aus Neugier um zu sehen wie das funktioniert, es hat mir aber auch schon bei Verbesserungen geholfen da man manchmal recht gut erkennen kann wenn die Leute bei Suchanfragen falsch abbiegen.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich hab in einem meiner Browser seit einiger Zeit ein &amp;quot;Anti-Tracking-Tool&amp;quot; installiert weil dadurch sich die Ladezeiten bei einer meiner Lieblingwebseiten dramatisch verbessert haben (https://thingiverse.com). Voller Freude sehe ich das ich wohl alles richtig gemacht habe - denn das Tool zeigt mir bei dieser Seite an das es nicht zu blockieren gibt. Alles bleibt also innerhalb dieser Seite. Siehe auch: [https://znil.net/index.php?title=Znilwiki:Impressum#Datenschutzerkl.C3.A4rung Datenschutzerklärung]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;19.02.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Sieht nicht nach Leben aus wenn sich die Startseite nie ändert - ich muss noch mal wieder nach einer Mediawiki-Extension schauen welche die neuesten Artikel hier präsentiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Hatte ich schon mal, funktionierte nach einem Update nur nicht mehr.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;04.07.2019&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Seite ab sofort nur noch über &#039;&#039;&#039;&#039;&#039;https://&#039;&#039;&#039;&#039;&#039; zu erreichen - die meisten Aufrufe kamen sowieso schon darüber.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;08.06.2019&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Die Mediawiki-Installation ist nun auf 1.13.2 aktulisiert - einige potentielle Sicherheitslücken wurden geschlossen. Hier der Artikel dazu: https://lists.wikimedia.org/pipermail/mediawiki-announce/2019-June/000230.html&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;25.05.2019&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn man nicht alles testet ... die Kommentarfunktion war ohne &amp;quot;Funktion&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Zum Glück ist es eine Erweiterung die noch gepflegt wird, ich habe mir die neue Version herunter geladen und wieder an diese Webseite angepasst: https://git.znil.net/mediawiki/Comments&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;16.05.2019&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:WG Network Security Badge.png|left]] Geschafft! Ich habe erfolgreich die Prüfung &amp;quot;Network Security Technical Certification&amp;quot; der Firma WatchGuard abgeschlossen.&lt;br /&gt;
Ich hatte auch schon mal leichtere Prüfungen.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;14.05.2019&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Das Wiki ist wieder einmal umgezogen. Statt auf einem Server in Frankreich läuft es nun auf einem Server in Deutschland - vielen Dank an meinen Arbeitgeber.&amp;lt;br&amp;gt;&lt;br /&gt;
Im gleichen Atemzug habe ich von der Mediawiki-Version 1.27 LTS auf die Version 1.31 LTS gewechselt - der Support läuft im Juni aus und 1.31 bietet nun wieder Updates bis Juni 2021.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei ist leider die &#039;&#039;&#039;WikiLog&#039;&#039;&#039;-Erweiterung auf der Strecke geblieben, diese ist nicht mehr kompatibel und wird auch schon länger nicht mehr weiter einwickelt.&amp;lt;br&amp;gt;&lt;br /&gt;
Also mache ich das jetzt von Hand ...&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;mainpage_hubbox&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxtitle_ocean&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Wie ist &amp;lt;del&amp;gt;meine&amp;lt;/del&amp;gt; deine IP-Adresse?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot; style=&amp;quot;font-family:&#039;Courier New&#039;, Monospace; background: #FFFFCC;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 70%; background-color: #FFFFCC&amp;quot;|&amp;lt;big&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IP :&#039;&#039;&#039; &amp;lt;ClientIP /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Typ:&#039;&#039;&#039; &amp;lt;IPv4orv6 /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;DNS:&#039;&#039;&#039; &amp;lt;ClientName /&amp;gt; &amp;lt;br&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
|| Ermittelt mit den PHP-Funktionen dafür&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpage_boxtitle_black&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Cookies und Datenschutz ...&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
Diese Webseite verwendet bei Besuchern Cookies! [http://www.cookie-checker.com/check-cookies.php?url=znil.net www.cookie-checker.com]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;!--        &amp;lt;div class=&amp;quot;mainpage_boxtitle_black&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Die letzten 10 Änderungen&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
{{RecentActivity:type=edits|count=10}}&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxtitle_blue&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Tools - Kleine Programme für Batchdateien und anderes&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
* [[ZnilTools:ifmemberDELUXE.exe|ifmemberDELUXE]] - Netzlaufwerke und Netzwerkdrucker in Anmeldeskripten verbinden&amp;lt;!--, kann Drucker-Server für 32/64 Bit wählen--&amp;gt;&lt;br /&gt;
* [[ZnilTools:Telnet_SMTP_Test_Tool|Telnet_SMTP_Test_Tool.exe]] - Grafische Oberfläche für den Test von SMTP-Servern per Telnet&lt;br /&gt;
* [[Zabbix:Template Windows Dateien und Ordner]] - Überwachung mit vielen Beispielen&lt;br /&gt;
* [[Host per Popup-Skript aus der Zabbix-Server Weboberfläche in Wartung setzen]]&lt;br /&gt;
* [[Calibre eBook MultiUser Tool / Funktion]] - Calibre mit mehreren Benutzern gleichzeitig nutzen&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpage_boxtitle_green&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Webseiten die ich regelmäßig besuche ...&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
* http://c64-online.com/ -&amp;gt; Alles über den C64 &amp;amp; Geniales zum Raspberry Pi&lt;br /&gt;
* https://forum.iobroker.net/ -&amp;gt; Alles zu ioBroker&lt;br /&gt;
* https://www.autoit.de -&amp;gt; Wo sonst bekäme man so viel deutsche Hilfe zu AutoIt!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--    &amp;lt;div class=&amp;quot;mainpage_hubbox&amp;quot;&amp;gt;--&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxtitle_black&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Die letzten Änderungen&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--{{RecentActivity:type=new|count=10}}--&amp;gt;&lt;br /&gt;
{{Special:RecentChanges/days=365,limit=10,hidebots,hideminor,hidecategorization}}&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxtitle_grey&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;[[Spezial:Statistik|Informationen]] zum znilwiki, Stand {{CURRENTDAY2}}.{{CURRENTMONTH}}.{{CURRENTYEAR}} um {{LOCALTIME}} Uhr:&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- * znil.net über das Tor Netzwerk: http://znilnet655kecmslpvcrvpwujeameq4ac42ueg7jvqanzdfk4clnleyd.onion&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
* Dieses Wiki enthält &#039;&#039;&#039;{{NUMBEROFPAGES}}&#039;&#039;&#039; Seiten, zusammengefasst in &#039;&#039;&#039;{{NUMBEROFARTICLES}}&#039;&#039;&#039; Themen...&amp;lt;br&amp;gt;&lt;br /&gt;
* Die Beiträge wurden &#039;&#039;&#039;{{NUMBEROFEDITS}}&#039;&#039;&#039; mal bearbeitet (inklusive der Erstellung)&lt;br /&gt;
* Dieses Wiki wurde laut Matomo schon so oft besucht: &amp;lt;html&amp;gt;&amp;lt;img src=&amp;quot;https://znil.net/piwik/index.php?module=ClassicCounter&amp;amp;action=svg&amp;amp;idSite=1&amp;quot; width=&amp;quot;180&amp;quot; height=&amp;quot;43&amp;quot;&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;!--* Letzte Änderung am &#039;&#039;&#039;{{REVISIONDAY2}}&#039;&#039;&#039;.&#039;&#039;&#039;{{REVISIONMONTH}}&#039;&#039;&#039;.&#039;&#039;&#039;{{REVISIONYEAR}}&#039;&#039;&#039; durch &#039;&#039;&#039;{{REVISIONUSER}}&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
* MediaWiki-Version: &#039;&#039;&#039;{{CURRENTVERSION}}&#039;&#039;&#039; - siehe auch [[Spezial:Version]]&lt;br /&gt;
&amp;lt;!--* Seitenaufrufe im Monat: &#039;&#039;&#039;&amp;gt; 12.000&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
&amp;lt;!--[[Datei:Piwik-001.png]]&amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right;&amp;quot;&amp;gt;[[Testbereich|.]][[Testbereich:Seite2|.]][[Testbereich:Seite3|.]][[Testbereich:Seite4|π]]&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Hauptseite&amp;diff=16006</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Hauptseite&amp;diff=16006"/>
		<updated>2026-06-07T20:38:45Z</updated>

		<summary type="html">&lt;p&gt;BLinz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOCACHE__&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpage_row2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;mainpage_hubbox&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxtitle_orange&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Letzte Meldungen&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;06.06.2026&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Server wird überlastet - wer oder was auch immer grast mein Wiki massiv ab mit maximal komplizierten Abfragen welche die CPU-Last hochtreiben.&amp;lt;br&amp;gt;&lt;br /&gt;
Das ganze von vielen verschiedenen IP-Adressen aus der ganzen Welt.&amp;lt;br&amp;gt;&lt;br /&gt;
Da die UFW-Firewall je eh schon Geoblocking macht, habe ich noch ein Ratelimit per {{code|ufw limit}} gesetzt, wenn es mehr als 6 Verbindungen innerhalb von 30 Sekunden sind, wird die IP so lange gesperrt bis diese für mindestens 30 Sekunden aufhört anfragen zu stellen.&amp;lt;br&amp;gt;&lt;br /&gt;
Der normale Leser sollte also nichts merken.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;15.05.2026&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Unter &#039;&#039;&#039;[[Zabbix Server + Agent unter Ubuntu 26.04 LTS installieren]]&#039;&#039;&#039; findet Ihr die aktuelle Version für die Installation eines Zabbix LTS-Servers unter dem aktuellen Ubuntu Server 26.04 LTS&amp;lt;br&amp;gt; Diesmal musste nicht so viel wie letztes mal angepasst werden. Wenn man die Anleitung von der Zabbix-Webseite nutzt, funktioniert das Webinterface nicht. Zabbix will nun PHP-FPM nutzen und bringt unter Ubuntu 26.04 auch alles dafür mit, es fehlt aber die Aktivierung des FPM und Proxy Moduls im Apache Webserver. **Nachtrag vom 07.06.2026: Inzwischen wird dort auch das aktivieren der Apache-Module mit aufgeführt!**&amp;lt;br&amp;gt;&lt;br /&gt;
Auch den Teil für das Backup der Datenbank sowie dem Vergrößern der Festplatte habe ich angepasst / verbessert / erweitert.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;06.05.2026&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis|Mit dem Update auf 7.0.26-2 ist der Fehler wieder behoben}}&lt;br /&gt;
Zabbix verteilt gerade beim Update auf 7.0.26 unter Ubuntu 24.04 eine fehlerhafte {{code|/etc/zabbix/apache.conf}}&amp;lt;br&amp;gt;&lt;br /&gt;
Der Effekt ist das man dann auf der Weboberfläche entweder nur den PHP-Quellcode sieht oder eine Error 503 Fehlermeldung.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Lösung ist aus der&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/zabbix/apache.conf&lt;br /&gt;
den folgenden Abschnitt zu löschen / auszukommentieren:&amp;lt;br&amp;gt;&lt;br /&gt;
    &amp;lt;FilesMatch \.(php|phar)$&amp;gt;&lt;br /&gt;
        SetHandler &amp;quot;proxy:unix:/var/run/php/zabbix.sock|fcgi://localhost&amp;quot;&lt;br /&gt;
    &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
Da wird {{code|php-fpm}} erwartet, meine Anleitung (und Zabbix in der Vergangenheit) installiert aber nur das klassische PHP.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternativ kann man die Konfiguration auch einfach deaktivieren:&lt;br /&gt;
 a2disconf zabbix &amp;amp;&amp;amp; systemctl reload apache2&lt;br /&gt;
In meiner Anleitung wird ja eine eigene Konfigurationsdatei für den Aufruf der Weboberfläche gesetzt (so das man kein {{code|/zabbix}} an die URL anhängen muss), deshalb geht es dann auch ohne,&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;16.02.2026&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Update: Die &#039;&#039;&#039;UFW&#039;&#039;&#039; Firewall unter Ubuntu kann auch Geoblocking! Der Artikel war schon älter und für Ubuntu 20.04, mit etwas Fehlersuche und Anpassungen funktioniert das aber ganz hervorragend. Das ganze habe ich mir hier zusammengeschrieben: [[ufw Geoblocking mit Ubuntu 24.04]]&amp;lt;br&amp;gt;&lt;br /&gt;
Nachtrag: Die CPU-Last des Servers hat nun enorm abgenommen, &#039;&#039;&#039;UFW&#039;&#039;&#039; verbraucht erheblich weniger ressourcen beim Blocken als der Apache.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;16.02.2026&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
USA sind nun auch Blockiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Es gibt eine Mediawiki-Funktion bzw. Spezialseite um alle Änderungen in einem bestimmten Zeitraum abzufragen.&amp;lt;br&amp;gt;&lt;br /&gt;
Das ist eine Datenbankabfrage. Und genau diese kommt nun schon seit mehren Tagen fast pausenlos aus Kalifornien, USA, über verschiedene IP-Adressen.&amp;lt;br&amp;gt;&lt;br /&gt;
Und erzeugt hohe Last auf meinem Webserver.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich sperre die mal für eine paar Tage aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich brauche dringend mal eine Firewall davor die das Geoblocking übernimmt (im Moment mache ich es im Apache).&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;01.02.2026&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Extrem hohe Last auf dem Webserver hier ...&amp;lt;br&amp;gt;&lt;br /&gt;
Mein Internetzugang fing an &amp;quot;zu spinnen&amp;quot;, dieser Webserver hier war nahezu auf 100%, der Upload stand bei konstant 10MBit/s ...&amp;lt;br&amp;gt;&lt;br /&gt;
Diesmal lag es lag es an einer Testversion vom März 2025 dieser Webseite. Vor dem Upgrade hatte ich eine Kopie erstellt welche unter der Domäne &amp;quot;testwiki.znil.net&amp;quot; zu erreichen war.&amp;lt;br&amp;gt;&lt;br /&gt;
Die war natürlich nicht gepatched und hatte kein Geoblocking.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich habe diese nun einfach gelöscht und Ruhe ist.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;01.12.2025&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Geo-Blocking von Ländern:&amp;lt;br&amp;gt;&lt;br /&gt;
Es ist der 1. eines Monats und da bekomme ich immer die Auswertung von Matomo - das ist das Tool mit dem ich die Zugriffe auf meine Webseite auswerte. Normalerweise sind das so um die 5 bis 10.000 Besucher im Monat, während Corona waren es auch mal 20.000 (Der Artikel über Guacamole RDP war äußerst beliebt).&amp;lt;br&amp;gt;&lt;br /&gt;
In November waren es dann 167.000 eindeutige Besucher ... ok, hier stimmt etwas nicht. Ein Blick auf den Webserver - jupp der brummt für znil.net ordentlich.&amp;lt;br&amp;gt;&lt;br /&gt;
Blicke ins Log zeigen aber das zum einen - wie üblich - die ein oder andere Suchmaschine wieder mal die ganze Webseite abgrast. Das ist aber sonst auch so.&amp;lt;br&amp;gt;&lt;br /&gt;
Aber es gibt auch jede Menge Versuche, die Webseite zu hacken. Mit vergeblichen Aufrufen für Wordpress-Installationen, aber auch gezielt Mediwiki. Eine IP aus Polen die zufällig gerade stark aktiv war, habe ich dann von Hand gesperrt. Und mir die anderen Einträge mit solchen versuchen angeschaut.&amp;lt;br&amp;gt;&lt;br /&gt;
Tja, es sind ja eigentlich Klischees, aber China und Russland sind jetzt geblockt für diese Webseite. Die beiden Länder waren für 90% der fehlgeschlagenen Einträge verantwortlich,&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;09.06.2025&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Lang vor mir hergeschoben - aber nun ist meine Webseite hier endlich auf der neuen MediaWiki LTS Version 1.43 welche dann bis Dezember 2027 Updates erhalten wird. Die bisherige Version 1.39 wäre im November diesen Jahres ausgelaufen.&amp;lt;br&amp;gt;&lt;br /&gt;
Probleme gab es diesmal überraschend wenig:&amp;lt;br&amp;gt;&lt;br /&gt;
* Die 2 Faktor-Authentifizierung in 1.43 hat einen Upgrade-Fehler, man muss manuell einmal das SQL-Skript für das Anlegen der Tabelleneinträge ausführen und die {{code|update.php}} noch mal starten. Dann klappte die Anmeldung mit dem bisherigen Token&lt;br /&gt;
* Mein Skin {{code|Pivot}} funktionierte nicht mehr, es musste die aktuelle Version sein. Zudem musste ich den Namen im Skin-Verzeichnis von {{code|pivot}} auf {{code|Pivot}} ändern, also mit Großschreibung. Sonst fehlten die Symbole bei den Menüs etc.&lt;br /&gt;
* Die Kommentarfunktion &amp;lt;strike&amp;gt;zickt noch, ich habe die aktuelle Version der Erweiterung einfach als Extension geladen. Die Darstellung funktioniert, es fehlen noch die Felder die es anonymen Benutzern erlaubte einen gewählten Namen anzugeben. Zudem Kann man als nicht angemeldeter Benutzer noch gar keine Kommentare anlegen (gibt eine Fehlermeldung). Ich habe da in der Vergangenheit immer eigene Anpassungen gemacht, die muss ich gleich noch einarbeiten.&amp;lt;/strike&amp;gt; funktioniert jetzt auch wieder&lt;br /&gt;
Am besten gefällt mir aber, das die Erweiterung {{code|ClipUpload}} immer noch funktioniert. Die Erweiterung erlaubt es, in der Code-Ansicht beim Editieren einen Screenshot aus der Zwischenablage einfach per {{key|STRG}} + {{key|V}} einzufügen, ohne Nachfragen, direkter Upload und Einfügen des Dateinamens. Das normale Vorgehen will 1.001 Frage beantwortet haben (Lizenz, Name usw) und dauert mir beim dem Erstellen von Anleitungen viel zu lange.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;24.04.2025&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Webseite ist umgezogen - und läuft nun &amp;quot;im Homeoffice&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Wie immer unter Ubuntu - die aktuelle 24.04 LTS Version, mit Apache2 Webserver und MariaDB Datenbank. Mal schauen ob 500MBit/s an Upload reichen :-)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strike&amp;gt;Und die Seite ist - endlich - auch wieder über IPv6 zu erreichen.&amp;lt;/strike&amp;gt; Sollte gehen, geht aber nicht. Ausgehend kein Problem, aber die Portweiterleitung der FRITZ!Box zickt scheinbar rum&amp;lt;br&amp;gt;&lt;br /&gt;
Ich habe hier noch einen 2. Linux Rechner mit IPv4, dieser lässt sich trotz identischer Einstellungen von außen pingen. Mal sehen ob ich herausbekomme woran das liegt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Update:&#039;&#039;&#039;&amp;lt;/u&amp;gt; Schön wenn man ein anderes System zum vergleichen hat. Es fehlte schlicht in der Netzwerkkonfiguration das IPv6 Gateway.&amp;lt;br&amp;gt;&lt;br /&gt;
Warum auch immer der ausgehende IPv6 Traffic trotzdem funktioniert hatte ...&amp;lt;br&amp;gt;&lt;br /&gt;
Also: Die Seite ist - endlich - auch wieder über IPv6 zu erreichen!&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;12.03.2025&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Umzug der Webseite im April!&amp;lt;br&amp;gt;&lt;br /&gt;
Mein bestehender Glasfaseranschluss der Telekom wird Anfang April zu einem Geschäftskundenanschluss geändert (Business Glasfaser Pro 1000), mit fester IP-Adresse (IPv4 und IPv6).&amp;lt;br&amp;gt;&lt;br /&gt;
Der Upload beträgt dann 500MBit - das ist zwar nur halb so schnell wie es angeblich zur Zeit ist (laut IONOS 1GBit/s), aber so viele Aufrufe hat meine Webseite nicht (abgesehen von sporadischen Hacking versuchen).&amp;lt;br&amp;gt;&lt;br /&gt;
Ich werde die Webseite dann von zu Hause hosten. In dem Zuge werde ich das Mediawiki dann auch auf die letzte LTS-Version bringen, im Moment läuft es noch auf der LTS-Version &#039;&#039;&#039;1.39.x&#039;&#039;&#039; die noch bis November 2025 unterstützt wird, aktuell wäre &#039;&#039;&#039;1.43.x&#039;&#039;&#039; welches bis November 2027 unterstützt wird. Meine Sorgenkinder bei Upgrades sind immer die &amp;quot;Paste from Clipboard&amp;quot; Funktion um Screenshots schnell in Artikel einzufügen und die Kommentarfunktion.&amp;lt;br&amp;gt;&lt;br /&gt;
Da ich dann aber ja voll Kontrolle über den Server habe, wird es dann einfach mit Backups und Snapshots.&amp;lt;br&amp;gt;&lt;br /&gt;
Im Moment bereite ich das Netzwerk und die Firewall dafür vor - ich bin ein großer Freund von Reverse Proxy, Geo-IP-Blocking und Let&#039;s Encrypt Zertifikaten, im Zweifel alles 3 zusammen.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich werde über den Stand dann an dieser Stelle berichten.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;18.12.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
WireGuard schlägt IPSec!&amp;lt;br&amp;gt;&lt;br /&gt;
Ich habe fast den ganzen gestrigen Tag damit verbracht, die VPN-Verbindung zwischen meiner FRITZ!Box und meinem Mietserver von IPSec auf WireGuard umzustellen.&amp;lt;br&amp;gt;&lt;br /&gt;
Den Tunnel aufzubauen hatte schon nach ein paar Minuten geklappt, leider hat die FRITZ!Box aber hartnäckig ein NAT über den Tunnel gemacht. Konnte ich Lösen und habe eine Anleitung dafür geschrieben: [[FritzBox - Site to Site VPN zu pfSense mit WireGuard ohne Tunnel NAT]]&amp;lt;br&amp;gt;&lt;br /&gt;
Gemacht habe ich das ganze ich das weil ich mir eine besser Performance erhofft hatte. Und erste Tests mit {{code|iperf3}} zeigten einen um 40% höher Datendurchsatz.&amp;lt;br&amp;gt;&lt;br /&gt;
Heute Nacht lief nun das erste Backup (eine Veeam Replikation) über WireGuard statt IPSec:&amp;lt;br&amp;gt;&lt;br /&gt;
Vorher mit IPSec:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-241218-112649.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Nun mit WireGuard:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-241218-112719.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
2h25m schneller! Bei sogar 1GByte mehr Daten. und von den 1h45m sind eine Stunde alleine die &#039;&#039;&#039;Retention Policy&#039;&#039;&#039;, also das löschen und zusammenführen alter Snapshots am Ziel.&amp;lt;br&amp;gt;&lt;br /&gt;
Fazit: hat sich gelohnt!&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;29.09.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Ich konnte mich endlich auch mal etwas mehr mit Proxmox beschäftigen (und wie gut Veeam es schon unterstützt).&amp;lt;br&amp;gt;&lt;br /&gt;
Zunächst auf einen Mini-PC der 200Euro Klasse (Intel N95 Prozessor, 16GB RAM, 512GB SSD, 2 x LAN) mit dem ich etwas herumgespielt habe, inklusive der Migration einer VMware-VM dorthin. Um die Live-Migration zu testen habe ich mir dann noch einen 2. Mini-PC gekauft. Und hatte dann eine steile Lernkurve (Datenträger müssen auf alles System gleich sein - und ZFS formatiert sein), inklusive einer kompletten Migration da ich beide Nodes noch mal neu mit ZFS installieren musste.&amp;lt;br&amp;gt;&lt;br /&gt;
Damit ich das später auch wieder hinbekommen, gibt es nun links einen neuen Bereich Proxmox unter welchen ich dann wie immer sammle was ich interessant fand bzw. wie ich mein System eingerichtet habe.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;03.07.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Die Kommentarfunktion braucht ein paar Anpassungen an das aktuelle PHP8.3&amp;lt;br&amp;gt;&lt;br /&gt;
Da kommen zwar nur Warnungen, aber die erscheinen halt ständig im Log. Es gibt auf GitHub bereits eine angepasste Version (leider ohne angepasste Versionsnummer), die arbeitet aber mit meiner &amp;quot;alten&amp;quot; Mediawiki-Version 1.39 nicht zusammen. Das ist aber nun mal die aktuelle LTS-Version und die neue ist noch nicht erschienen.&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt muss ich also entweder mit den Warnungen leben, diese Seite auf dem älteren PHP8.1 laufen lassen, eine Kurzzeit-Mediawiki-Version mit nur einem Jahr Support einsetzen oder die Kommentarfunktion dauerhaft abschalten. Ich habe mich noch nicht entschieden.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich nutze eine von mir angepasste Version von https://www.mediawiki.org/wiki/Extension:Comments die ich immer dahingehend ändere das auch anonyme Kommentare möglich sind (mit freier Angabe eines Names oder Email-Adresse). Zudem ist eine - mini - AntiSPAM Funktion eingebaut und ich erhalte immer sofort eine Email über einen neuen Kommentar.&amp;lt;br&amp;gt;&lt;br /&gt;
Das habe ich mir gut Dokumentiert, ist trotzdem ein Sonntagnachmittag Arbeit das jedes mal einzupflegen.&amp;lt;br&amp;gt;Nur um mich dann per Kommentar beschimpfen zu lassen wenn da jemanden etwas nicht passt ...&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;27.06.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Ich habe mal die Kommentarfunktion meiner Seite deaktiviert, da gab es heute wohl einen Angriff wo versuchte wurde diese als Lücke zu missbrauchen. Laut Logs hat das nicht geklappt, aber so habe ich den Angriff ins leere laufen lassen.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;23.06.2024 09:45Uhr&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Es ist 2024 ... und ich bekomme IPv6 an meinem neuen Server nicht zum laufen. Offensichtlich wird es nicht durchgelassen. Jedenfalls kommt kein IPv6 Datenverkehr an meinem Server an.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;23.06.2024 00:55Uhr&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
znil.net läuft nun auf einem neuen virtuellen Server bei IONOS. Nach 2 Tagen war der alte zwar migriert. Aber der neue - die technischen Daten sind identisch - kostet nur 4 statt 5 Euro im Monat. Und ich konnte so parallel gleich auf Ubuntu 24.04 LTS + PHP8.3 umziehen.&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt geht es ins Bett, morgen muss ich noch genauer prüfen ob noch alles funktioniert.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;20.06.2024 13:44Uhr&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
So, telefonisch konnte ich ein Ticket eröffnen. Nein, das ist nicht normal, die VM hätte schon längst wieder laufen sollen. Es wird jetzt geschaut was bei meiner VM hakt.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;20.06.2024 13:02Uhr&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-240620-130053.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
so so, 20 Minuten. Die Meldung habe ich im Portal gefunden, wenn ich versuche auf &#039;&#039;&#039;&#039;&#039;Server &amp;amp; Cloud&#039;&#039;&#039;&#039;&#039; zu zugreifen werde ich immer noch sofort abgemeldet.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich suche gerade wo ich dort ein Ticket eröffnen kann.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
&#039;&#039;&#039;20.06.2024 09:35Uhr&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Na IONOS, das klappt ja scheinbar toll. Statt &amp;quot;kurzer Unterbrechung&amp;quot; sind es nun schon fast 20h Ausfall, laut deren Status Webseite https://www.ionos-status.de/ läuft alles Störungsfrei, das Portal für die Cloud-Server Verwaltung ist immer noch komplett abgeschaltet (zumindest für mich).&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;19.06.2024 20:23Uhr&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Heute seit 15:00 Uhr stellt IONOS meinen vServer um auf dem diese Webseite läuft. Das sollte angeblich nicht lange dauern.&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt, 5h später, ist mein Server immer noch nicht erreichbar.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Webportal von IONOS zur Verwaltung meines vServers ist auch komplett abgeschaltet - man wird sogar sofort ausgeloggt wenn man auf den betreffenden Menüpunkt geht.&amp;lt;br&amp;gt;&lt;br /&gt;
Genügend Gelegenheit einmal mein Backup zu testen.&amp;lt;br&amp;gt;&lt;br /&gt;
So konnte ich meine Webseite mit Stand gestern, 22:00 Uhr wiederherstellen. Die Webseite läuft im Moment auf meinen Heimserver. Der hat zwar genügend Dampf, mein Internetanschluß von Kabel Deutschland hat aber leider nur 50MBit Upload.&amp;lt;br&amp;gt;&lt;br /&gt;
Aber besser als nichts, zur Not kann ich die Seite auch noch auf einen anderen Server mit 250Mbit Upload umziehen, aber das hier war jetzt schneller und einfacher.&amp;lt;br&amp;gt;&lt;br /&gt;
Und es wäre schön wenn der Originalserver doch noch wieder hoch kommt, ich habe heute noch diverses im Wiki geschrieben/korrigiert.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;10.06.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Ich bin endlich dazu gekommen eine aktuelle Anleitung für Ubuntu 24.04 und Zabbix 6 / Zabbix 7 zu schreiben: [[Zabbix Server + Agent unter Ubuntu 24.04 LTS installieren]]&amp;lt;br&amp;gt;&lt;br /&gt;
Es waren nicht so viele Änderungen wie befürchtet. Schlecht ist aber schon mal das ich bisher keine aus Zabbix 6 exportierten Templates in Zabbix 7 importiert bekommen habe, das muss ich mir noch mal genauer anschauen.&amp;lt;br&amp;gt;&lt;br /&gt;
Mein jetziger Zabbix 6.0 LTS Server stammt von von meinen allerersten Zabbix-Server 2.2 ab, dieser wurde immer wieder geupgradet. Nun möchte ich mal einen Neuanfang machen, auch um jede menge Altlasten los zu werden, z.B. habe meine Items noch alle eine Server-Node Id, allen Item-Ids ist also eine &amp;lt;code&amp;gt;42042000000&amp;lt;/code&amp;gt; vorangestellt, das werde ich sonst nie los.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;27.05.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
znil.net ist nun nur noch über IPv4 zu erreichen. Grund ist das IONOS die virtuelle Maschine auf welcher diese Webseite läuft, migriert und dabei neue IPv6 Adressen zuweisen wird. Dei IPv4 soll unverändert erhalten bleiben.&amp;lt;br&amp;gt;Scheinbar wird dabei auch der darunterliegende Hypervisor geändert. Bisher ist meine VM eine VMware vSphere-VM, mal sehen was es danach ist.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;31.01.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Und die Extension &amp;quot;ClipUpload&amp;quot; funktioniert nun doch. Nachdem ich bei einem Kunden die Extension [https://www.mediawiki.org/wiki/Extension:MsUpload MsUpload] gesehen hatte - mit der kann man einfach per Drag&amp;amp;Drop viele Dateien/Bilder in einem Rutsch hochladen - hatte ich diese bei mir installiert. Die Extension funktioniert aber nur in Verbindung mit dem [https://www.mediawiki.org/wiki/Extension:WikiEditor WikiEditor]. Der ist &amp;quot;ab Werk&amp;quot; dabei, ich hatte den aber deaktiviert weil ich diesen nicht gebraucht habe. Der WikiEditor erscheint in dem von mir bevorzugten Quelltext-Editor. Und in diesem / mit diesem funktioniert mein heiß geliebtes und Innig geliebtes &amp;quot;ClipUpload&amp;quot;. Mit dieser Erweiterung kann ich Screenshots (aus der Zwischenablage) im Quelltext-Editor einfach per {{Key|STRG}} + {{Key|V}} einfügen - ohne nervige Nachfragen etc.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;05.02.2023&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Das MediaWiki-System auf dem diese Webseite basiert wurde von der LTS-Version 1.35.9 auf die neue LTS-Version 1.39.1 aktualisiert. Wie immer gab es Probleme mit einigen Erweiterungen. Bei den meisten reichte die für MediaWiki 1.39.x passende Version zu installieren. Die Kommentarfunktion musste ich wieder nach meinen Ansprüchen anpassen - was relativ schnell ging da ich beim letzten mal ordentlich dokumentiert hatte - so musste ich nur in der alten Version nach meinen Kommentaren suchen und die Abschnitte entsprechend in der neuen Version ändern.&amp;lt;br&amp;gt;&lt;br /&gt;
Leider - &#039;&#039;&#039;LEIDER&#039;&#039;&#039; - ist die Extension &amp;quot;ClipUpload&amp;quot; nun auf der Strecke geblieben, beim letzten mal konnte man die noch mit Codeänderungen zum laufen bringen. Die Erweiterung erlaubte es per {{Key|STRTG}} + {{Key|V}} einfach Bilder in das Mediawiki einzufügen. Es wird auf [https://www.mediawiki.org/wiki/Extension:SimpleBatchUpload simple-batch-upload] verwiesen ... mhh, nicht wirklich das selbe.&amp;lt;br&amp;gt;&lt;br /&gt;
Als nächstes steht dann das Upgrade auf 22.04 LTS + PHP8 an.&amp;lt;br&amp;gt;&lt;br /&gt;
Nachtrag: Es gibt einen &#039;&#039;&#039;[https://www.mediawiki.org/wiki/Extension:VisualEditor VisualEditor]&#039;&#039;&#039; der ab Werk bei MediaWiki dabei ist (keine Ahnung seit welcher Version), der kann das auch. In Umständlich. Titel, Beschreibung usw. muss alles über Dialoge angegeben werden anstatt das Bild einfach sofort hochzuladen (ich weis schon was ich tue).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;10.10.2022&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Die Zabbix Summit 2022 in Riga: [https://www.meinekleinefarm.net Marco Hofmann] hat einen Vortrag darüber gehalten wie man unter Windows den Zabbix Agenten auf hunderten von Systemen und verschiedenen Kundenumgebungen synchron hält. Das erwähne ich weil er dazu unter anderem auch Werkzeuge von mir einsetzt - eine Abwandlung meiner [[Zabbix Agent für Windows per Skript automatisch installieren Musterdatei|InstallZabbixAgent.bat]] und das Tool für [[Agent Auto Updater|automatische Updates des Agenten]].&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:Hofmann-1200x628px.png|400px|link=https://www.meinekleinefarm.net/zabbix-summit-2022-in-riga-keeping-hundreds-of-windows-zabbix-agents-in-sync-across-different-customers/]]&amp;lt;br&amp;gt;&lt;br /&gt;
Seinen Vortrag findet ihr hier auf Youtube: https://youtu.be/IQQwTEtwl7M?t=19987 &amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;05.10.2021&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Das Mediwiki dieser Seite ist nun auf Version 1.35.4. Und ich müsste mal daran gehen wieder eine Kommentar-Übersichtsseite zu programmieren ...&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;06.05.2021&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Das waren jetzt fast 4h Arbeit - aber die Kommentarfunktion funktioniert wieder wie vorher.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Extension basiert wieder auf dem aktuellen Original: https://www.mediawiki.org/wiki/Extension:Comments und wurde wieder nach meinen Bedürfnissen angepasst.&amp;lt;br&amp;gt;&lt;br /&gt;
Unter anderem war in der aktuellen Version der Datenbank gar kein Feld mehr für den Namen/Email-Adresse vorgesehen, das habe ich wieder nachgerüstet.&amp;lt;br&amp;gt;&lt;br /&gt;
Die meiste Zeit habe ich damit verbracht die Stelle in den ganzen PHP-Skripten zu finden an der die eigentliche Datenbankabfrage durchgeführt wird.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;05.05.2021&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Großes Update der Webseite!&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Upgrade auf die Mediawiki LTS Version 1.35.2&lt;br /&gt;
* Umzug von Ubuntu 18.04 LTS auf 20.04 LTS&lt;br /&gt;
* Umzug von MySQL auf MariaDB&lt;br /&gt;
* Umzug von PHP 7.2 auf 7.4.3&lt;br /&gt;
* Umzug auf V-Server M von IONOS&lt;br /&gt;
* Seite ist nun über IPv4 und IPv6 erreichbar!&lt;br /&gt;
Hat im ganzen ganz gut geklappt. Auf der Strecke sind 2 Erweiterungen geblieben: Die Anzeige der zuletzt geänderten Artikel sowie eine selbst programmierte Seite welche mir alle Kommentare auf einer Seite angezeigt hatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Auch die Schaltfläche die auf jeder Seite unten rechts zum Hochscrollen war fehlt noch.&amp;lt;br&amp;gt;&lt;br /&gt;
Ganz hervorragend am &#039;&#039;&#039;IONOS V Server&#039;&#039;&#039; gefällt mir das es eine VM unter VMware ist, die Firewall davor in der man selbst Port für Port freischalten muss - und das ich die mit dem &#039;&#039;&#039;&#039;&#039;Veeam Agent for Linux&#039;&#039;&#039;&#039;&#039; einfach sichern kann. Und die Büchse ist angenehm schnell, mit 300Mbit angebunden und kostet nur 5 Euro im Monat.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Nachtrag:&#039;&#039;&#039; Die Kommentarfunktion funktioniert ... aber der Refresh nachdem man senden gedrückt hat sieht komisch aus. {{Key|F5}} behebt das, mal sehen ob ich da was ändern kann. Das ist eine Extension die ich so angepasst habe das man auch ohne Anmeldung mit einem Namen etwas posten kann und das mir eine Email gesendet wird wenn es einen Kommentar gibt. Es gibt eine neuere Version davon die ich dann allerdings auch wieder neu anpassen muss.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;31.01.2021&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Ich habe einen neuen Artikel zum Thema GeoIP-Blocking mit Apache2 veröffentlicht: [[Apache2 Ubuntu 24.04 22.04 20.04 GeoIP Blocking einrichten]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und das ganze auch gleich als Gelegenheit genutzt bei meinen diversen Subdomänen das ganze umzusetzen. Meine Seafile- oder mein Zabbix-Server müssen z.B. nur aus Deutschland erreichbar sein.&amp;lt;br&amp;gt;[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;30.12.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Eigentlich wollte ich diesen Webserver mal auf Ubuntu 20.04 LTS aktualiseren ... aber das hat per &amp;lt;code&amp;gt;do-release-upgrade&amp;lt;/code&amp;gt; im Gegensatz zu meinen anderen VMs nicht geklappt. MediaWiki 1.3 mag irgendwie PHP 7.4 auch nicht richtig (auch wenn ich es woanders schon habe laufen gesehen). Also doch wie immer - neuen Server installieren und dann die Domänen Stück-für-Stück umziehen.&amp;lt;br&amp;gt; [[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;25.06.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:MFA_Badge.png|left]] Geschafft! Ich habe erfolgreich die Prüfung &amp;quot;MFA technical Certification&amp;quot; der Firma WatchGuard abgeschlossen. Es geht um die [https://www.watchguard.com/de/wgrd-products/authpoint-multi-factor-authentication MFA Lösung AuthPoint der Firma WatchGuard] - bei der Vorbereitung war hilfreich das ich MFA schon länger auch privat für den Schutz meiner Zugänge einsetze. Unter anderem [https://duo.com/ duo.com] für RDP da es bis 10 Personen auch kostenlos genutzt werden kann. WatchGuard ist - aus meiner Sicht - mehr pures MFA, DUO hat dafür quasi jeden Anwendungsfall eine eigene Anleitung und geht tiefer auf die Endgeräte ein. Wobei z.B. eine nicht aktuelle Android-Version ständig angemeckert wird.&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;26.04.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Stromkosten: Auch ich sitze nun mehr im Homeoffice. Und in meinem Kellerbüro habe ich meinen Rechner hinter mir - und einen 40HE Datenschrank im Blick vor mir. Mit den Tagen ging mir zum einen der Lärm der ganzen Lüfter irgendwann auf den Kecks. Und den Stromverbrauch (den ich bis dato aber nicht gemessen habe) wollte ich auch senken. Den Verbrauch der Switche kannte ich durch Einzelmessungen, der lag bei ca. 100 Watt (für 48 Gigabit Ports + 6 PoE Ports). Diesen habe ich durch einen neuen Switch Allnet-SG8428M (13 Watt maximal!) und einen sparsameren PoE Sitch für die Telefone und Kameras stark reduziert. Zeitgleich habe ich mit Gosund SP111 WLAN-Steckdosenschaltern herumgespielt. Mit der Tasmota Firmware und einer Kalibrierung taugen diese scheinbar auch ganz gut als Strommessgeräte.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich hab nun also meinen Datenschrank zu Hause daran gehängt und musste ernüchternd einen Dauerstromverbrauch von 140 bis 150 Watt feststellen.&amp;lt;br&amp;gt;&lt;br /&gt;
* 44 Watt davon gehen für PoE drauf - 5 Cisco Telefone und 2 IP-Kameras.&amp;lt;br&amp;gt;&lt;br /&gt;
* 16 Watt maximal für die beiden anderen Switche (der ALLNET und ein 16 Port Netgear) &lt;br /&gt;
* 9 Watt mein ESXi Server auf Basis eines APU2C4 von PC Engines (inklusive 2TB USB Festplatte daran)&lt;br /&gt;
* um die 20 Watt schätze ich die beiden FritzBoxen ...&lt;br /&gt;
* bleiben ca. 89 Watt für meinen Heimserver - mit 2x 128GB SSD und 4 x 4TB HDD&lt;br /&gt;
* und die USV wird da mit Ihrem Eigenanteil auch irgendwo dazwischen liegen&lt;br /&gt;
Wenn ich den Verbrauch mal in einen Kostenrechner werfe:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-200426-192323.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:(erstellt mit [https://www.stromverbrauchinfo.de/stromkostenrechner.php stromverbrauch info])&amp;lt;br&amp;gt;&lt;br /&gt;
weis ich nun auch warum wir immer so eine fette Stromrechnung habe. Als 4 Personenhaushalt verbrauchen wir soviel wie einer mit 8. Und dabei habe ich doch gerade schon soviel eingespart ...&amp;lt;br&amp;gt;&lt;br /&gt;
Ich werde das nun - dank mit Zabbix überwachten Strom/Leistungsverbrauch mal besser beobachten und schauen wie ich da in Zukunft noch mehr einsparen kann.&amp;lt;br&amp;gt;&lt;br /&gt;
Jedes Watt sind 2,60 €/Jahr oder 22 Cent/Monat - klingt nicht viel aber wie man sieht läppert es sich.&amp;lt;br&amp;gt;&lt;br /&gt;
Mal sehen wie der Durchschnitt nach einem Monat ist. Nachts schaltet sich z.B. die Beleuchtung der IP-Telefone ab was schon 10 Watt spart.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;14.04.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit gewissen Stolz habe ich meine Version eines &amp;quot;Active Directory-Gruppe mit Zabbix Benutzern Abgleichen via LDAP&amp;quot; Skriptes fertiggstellt:&amp;lt;br&amp;gt;&lt;br /&gt;
 https://github.com/BernhardLinz/zabbix-ldap-sync-bash&lt;br /&gt;
Wer nach so etwas googelt landet quasi ausschließlich bei dem von Marc Schöchlin geschriebenen Python Script: https://github.com/zabbix-tooling/zabbix-ldap-sync&amp;lt;br&amp;gt;&lt;br /&gt;
An dem haben mich aber schon immer die ganzen Abhängigkeiten gestört wie &#039;&#039;&#039;pyldap&#039;&#039;&#039; oder &#039;&#039;&#039;pyzabbix&#039;&#039;&#039;. Ich hab nun mal leider auch Kunden mit Systemen ohne Internetanbindung oder älteren Linux Versionen - und da ist es schwer diese zu erfüllen.&amp;lt;br&amp;gt;&lt;br /&gt;
Mein Skript ist &amp;quot;pures&amp;quot; Bash. Es wird nur der Befehl &#039;&#039;&#039;ldapsearch&#039;&#039;&#039; und &#039;&#039;&#039;curl&#039;&#039;&#039; benötigt - und bisher waren die in allen Repositories der Distributionen vorhanden.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;03.04.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Ich nutze nun [https://www.google.com/search?q=tripwire+ubuntu Tripwire] um meinen Webserver zu überwachen. Gefällt mir sehr gut, man muss nur daran denken nach jeden Update oder Änderung die Datenbank wieder auf Stand zu bringen. Ich bekomme im Moment jeden Tag einen Email-Report dazu - da muss ich noch mal schauen wir ich das in Zabbix unterbringe bzw. mir nur eine mail senden lasse wenn auch etwas ansteht.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;01.02.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Noch ein Nachtrag zum &amp;quot;Angriff&amp;quot;:&amp;lt;br&amp;gt; zwischendurch fehlten auf dem Server 16G an Speicherplatz.&amp;lt;br&amp;gt;&lt;br /&gt;
Gemerkt habe ich das mit Zabbix weil dadurch ein Schwellwert erst unter- und dann wieder überschritten wurde.&amp;lt;br&amp;gt;&lt;br /&gt;
Die 16G waren das &amp;lt;code&amp;gt;error.log&amp;lt;/code&amp;gt; für die Domäne &#039;&#039;&#039;znil.net&#039;&#039;&#039;. Darin fand ich jede Menge Fehlermeldung das versucht wurde &amp;lt;code&amp;gt;\bin\bash&amp;lt;/code&amp;gt; zu starten - was aber nun mal nicht erlaubt ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Bin im Moment gerade glücklich darüber das ich jede Domäne / Webseite / Subdomäne unter einem eigenen, eingeschränkten Benutzer laufen lasse.&amp;lt;br&amp;gt;&lt;br /&gt;
Das mache ich nicht von Hand sondern per ISPConfig weil ich faul bin. Funktioniert aber scheinbar ja prima.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;01.02.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Also, wenn ich so ein Online-Tool nutze um meine Webseite zu überprüfen dann melden diese ggf. (nicht immer) eine &amp;quot;SQL-Injection&amp;quot; Lücke in meiner Kommentarfunktion.&amp;lt;br&amp;gt;&lt;br /&gt;
Und zwar weil wohl dann gängige Test-SQL-Abfragen mit gesendet werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Senden erfolgt via JavaScript im Browser des Benutzers, der Empfänger ist das PHP-Skript auf dem Server.&amp;lt;br&amp;gt;&lt;br /&gt;
In der letzten Version dieses Skriptes (angepasst von mir) gibt es keine Filter mehr, er nimmt einfach alles an. Früher habe ich dort auf Viagra &amp;amp; Co gefiltert.&amp;lt;br&amp;gt;&lt;br /&gt;
Aber der Teil darunter der dann den Text in die Datenbank schreibt ist wohl ausreichend gefestigt - er schreibt einfach alles was kommt in den Datensatz der Datenbank. Die SQL-Injections tauchen so einfach als Text im Kommentarfeld auf, werden aber nicht ausgeführt. Also alles gut Denke ich.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;01.02.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Angriff auf diese Webseite:&amp;lt;br&amp;gt;&lt;br /&gt;
In der Nacht von gestern auf heute hat jemand versucht per SQL-Injektion sich Zugriff auf diese Webseite zu verschaffen.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;Schwachstelle&amp;quot; ist die Kommentarfunktion. Ein Online-Scurity-Scanner hatte mir diese bereits mal als anfällig dafür gemeldet.&amp;lt;br&amp;gt;&lt;br /&gt;
Da ich die Mediawiki-Extension überarbeitet hatte, habe ich umfangreiche &amp;quot;Suchen und Erstzen&amp;quot;-Regeln erstellt die alles was mit SQL zu tun hat ausfiltert.&amp;lt;br&amp;gt;&lt;br /&gt;
Deshalb sehen manche Kommentare hier dann komisch aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich prüfe mal das System intensiv ob die Abwehr erfolgreich war ... oder ob ich doch ein Backup wieder einspiele.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;25.02.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
znil.net weiterhin &amp;quot;Tracker-frei&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich nutze Matomo (ehemals Piwik) um Statistiken für diese Webseite zu erhalten. Eigentlich mehr aus Neugier um zu sehen wie das funktioniert, es hat mir aber auch schon bei Verbesserungen geholfen da man manchmal recht gut erkennen kann wenn die Leute bei Suchanfragen falsch abbiegen.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich hab in einem meiner Browser seit einiger Zeit ein &amp;quot;Anti-Tracking-Tool&amp;quot; installiert weil dadurch sich die Ladezeiten bei einer meiner Lieblingwebseiten dramatisch verbessert haben (https://thingiverse.com). Voller Freude sehe ich das ich wohl alles richtig gemacht habe - denn das Tool zeigt mir bei dieser Seite an das es nicht zu blockieren gibt. Alles bleibt also innerhalb dieser Seite. Siehe auch: [https://znil.net/index.php?title=Znilwiki:Impressum#Datenschutzerkl.C3.A4rung Datenschutzerklärung]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;19.02.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Sieht nicht nach Leben aus wenn sich die Startseite nie ändert - ich muss noch mal wieder nach einer Mediawiki-Extension schauen welche die neuesten Artikel hier präsentiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Hatte ich schon mal, funktionierte nach einem Update nur nicht mehr.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;04.07.2019&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Seite ab sofort nur noch über &#039;&#039;&#039;&#039;&#039;https://&#039;&#039;&#039;&#039;&#039; zu erreichen - die meisten Aufrufe kamen sowieso schon darüber.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;08.06.2019&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Die Mediawiki-Installation ist nun auf 1.13.2 aktulisiert - einige potentielle Sicherheitslücken wurden geschlossen. Hier der Artikel dazu: https://lists.wikimedia.org/pipermail/mediawiki-announce/2019-June/000230.html&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;25.05.2019&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn man nicht alles testet ... die Kommentarfunktion war ohne &amp;quot;Funktion&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Zum Glück ist es eine Erweiterung die noch gepflegt wird, ich habe mir die neue Version herunter geladen und wieder an diese Webseite angepasst: https://git.znil.net/mediawiki/Comments&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;16.05.2019&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:WG Network Security Badge.png|left]] Geschafft! Ich habe erfolgreich die Prüfung &amp;quot;Network Security Technical Certification&amp;quot; der Firma WatchGuard abgeschlossen.&lt;br /&gt;
Ich hatte auch schon mal leichtere Prüfungen.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;14.05.2019&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Das Wiki ist wieder einmal umgezogen. Statt auf einem Server in Frankreich läuft es nun auf einem Server in Deutschland - vielen Dank an meinen Arbeitgeber.&amp;lt;br&amp;gt;&lt;br /&gt;
Im gleichen Atemzug habe ich von der Mediawiki-Version 1.27 LTS auf die Version 1.31 LTS gewechselt - der Support läuft im Juni aus und 1.31 bietet nun wieder Updates bis Juni 2021.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei ist leider die &#039;&#039;&#039;WikiLog&#039;&#039;&#039;-Erweiterung auf der Strecke geblieben, diese ist nicht mehr kompatibel und wird auch schon länger nicht mehr weiter einwickelt.&amp;lt;br&amp;gt;&lt;br /&gt;
Also mache ich das jetzt von Hand ...&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;mainpage_hubbox&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxtitle_ocean&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Wie ist &amp;lt;del&amp;gt;meine&amp;lt;/del&amp;gt; deine IP-Adresse?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot; style=&amp;quot;font-family:&#039;Courier New&#039;, Monospace; background: #FFFFCC;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 70%; background-color: #FFFFCC&amp;quot;|&amp;lt;big&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IP :&#039;&#039;&#039; &amp;lt;ClientIP /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Typ:&#039;&#039;&#039; &amp;lt;IPv4orv6 /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;DNS:&#039;&#039;&#039; &amp;lt;ClientName /&amp;gt; &amp;lt;br&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
|| Ermittelt mit den PHP-Funktionen dafür&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpage_boxtitle_black&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Cookies und Datenschutz ...&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
Diese Webseite verwendet bei Besuchern Cookies! [http://www.cookie-checker.com/check-cookies.php?url=znil.net www.cookie-checker.com]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;!--        &amp;lt;div class=&amp;quot;mainpage_boxtitle_black&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Die letzten 10 Änderungen&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
{{RecentActivity:type=edits|count=10}}&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxtitle_blue&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Tools - Kleine Programme für Batchdateien und anderes&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
* [[ZnilTools:ifmemberDELUXE.exe|ifmemberDELUXE]] - Netzlaufwerke und Netzwerkdrucker in Anmeldeskripten verbinden&amp;lt;!--, kann Drucker-Server für 32/64 Bit wählen--&amp;gt;&lt;br /&gt;
* [[ZnilTools:Telnet_SMTP_Test_Tool|Telnet_SMTP_Test_Tool.exe]] - Grafische Oberfläche für den Test von SMTP-Servern per Telnet&lt;br /&gt;
* [[Zabbix:Template Windows Dateien und Ordner]] - Überwachung mit vielen Beispielen&lt;br /&gt;
* [[Host per Popup-Skript aus der Zabbix-Server Weboberfläche in Wartung setzen]]&lt;br /&gt;
* [[Calibre eBook MultiUser Tool / Funktion]] - Calibre mit mehreren Benutzern gleichzeitig nutzen&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpage_boxtitle_green&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Webseiten die ich regelmäßig besuche ...&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
* http://c64-online.com/ -&amp;gt; Alles über den C64 &amp;amp; Geniales zum Raspberry Pi&lt;br /&gt;
* https://forum.iobroker.net/ -&amp;gt; Alles zu ioBroker&lt;br /&gt;
* https://www.autoit.de -&amp;gt; Wo sonst bekäme man so viel deutsche Hilfe zu AutoIt!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--    &amp;lt;div class=&amp;quot;mainpage_hubbox&amp;quot;&amp;gt;--&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxtitle_black&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Die letzten Änderungen&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--{{RecentActivity:type=new|count=10}}--&amp;gt;&lt;br /&gt;
{{Special:RecentChanges/days=365,limit=10,hidebots,hideminor,hidecategorization}}&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxtitle_grey&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;[[Spezial:Statistik|Informationen]] zum znilwiki, Stand {{CURRENTDAY2}}.{{CURRENTMONTH}}.{{CURRENTYEAR}} um {{LOCALTIME}} Uhr:&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- * znil.net über das Tor Netzwerk: http://znilnet655kecmslpvcrvpwujeameq4ac42ueg7jvqanzdfk4clnleyd.onion&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
* Dieses Wiki enthält &#039;&#039;&#039;{{NUMBEROFPAGES}}&#039;&#039;&#039; Seiten, zusammengefasst in &#039;&#039;&#039;{{NUMBEROFARTICLES}}&#039;&#039;&#039; Themen...&amp;lt;br&amp;gt;&lt;br /&gt;
* Die Beiträge wurden &#039;&#039;&#039;{{NUMBEROFEDITS}}&#039;&#039;&#039; mal bearbeitet (inklusive der Erstellung)&lt;br /&gt;
* Dieses Wiki wurde laut Matomo schon so oft besucht: &amp;lt;html&amp;gt;&amp;lt;img src=&amp;quot;https://znil.net/piwik/index.php?module=ClassicCounter&amp;amp;action=svg&amp;amp;idSite=1&amp;quot; width=&amp;quot;180&amp;quot; height=&amp;quot;43&amp;quot;&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;!--* Letzte Änderung am &#039;&#039;&#039;{{REVISIONDAY2}}&#039;&#039;&#039;.&#039;&#039;&#039;{{REVISIONMONTH}}&#039;&#039;&#039;.&#039;&#039;&#039;{{REVISIONYEAR}}&#039;&#039;&#039; durch &#039;&#039;&#039;{{REVISIONUSER}}&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
* MediaWiki-Version: &#039;&#039;&#039;{{CURRENTVERSION}}&#039;&#039;&#039; - siehe auch [[Spezial:Version]]&lt;br /&gt;
&amp;lt;!--* Seitenaufrufe im Monat: &#039;&#039;&#039;&amp;gt; 12.000&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
&amp;lt;!--[[Datei:Piwik-001.png]]&amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right;&amp;quot;&amp;gt;[[Testbereich|.]][[Testbereich:Seite2|.]][[Testbereich:Seite3|.]][[Testbereich:Seite4|π]]&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ufw_Geoblocking_mit_Ubuntu_24.04&amp;diff=16005</id>
		<title>Ufw Geoblocking mit Ubuntu 24.04</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ufw_Geoblocking_mit_Ubuntu_24.04&amp;diff=16005"/>
		<updated>2026-06-07T20:36:08Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Blocking in Firewallregeln einbauen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Vorwort==&lt;br /&gt;
Unter Apache2 nutze ich ein Geoblocking - ich habe aber nach einer Möglichkeit gesucht, das ganz schon vor dem Apache zu blockieren (und mir die Logeinträge dafür damit zu sparen).&amp;lt;br&amp;gt;&lt;br /&gt;
Dafür habe ich diese Anleitung gefunden:&amp;lt;br&amp;gt;&lt;br /&gt;
 https://www.seenlyst.com/blog/geo-blocking-ufw-iptables/&lt;br /&gt;
Die aber für Ubuntu 20.04 geschrieben wurde und so nicht mehr funktioniert.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich habe die Fehler und Änderungen herausgesucht und hier ist meine Version des Artikels:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Zum root wechseln==&lt;br /&gt;
Ich wechsle einmal am Anfang zum {{code|root}}, alle nachfolgenden Befehle werden also als dieser ausgeführt!&amp;lt;br&amp;gt;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Voraussetzungen installieren==&lt;br /&gt;
 apt update -y&lt;br /&gt;
 apt upgrade -y&lt;br /&gt;
 apt install curl perl unzip xtables-addons-common libtext-csv-xs-perl libmoosex-types-netaddr-ip-perl&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Verzeichnis für unsere Daten erstellen==&lt;br /&gt;
 mkdir -p /usr/share/xt_geoip&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Downloadskript erstellen==&lt;br /&gt;
 nano /usr/local/bin/update-geoip.sh&lt;br /&gt;
mit folgendem Inhalt:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Create temporary directory&lt;br /&gt;
mkdir -p /usr/share/xt_geoip/tmp/&lt;br /&gt;
mkdir -p /usr/share/xt_geoip/tmp/ip2loc/&lt;br /&gt;
&lt;br /&gt;
# Download latest from db-ip.com&lt;br /&gt;
cd /usr/share/xt_geoip/tmp/&lt;br /&gt;
/usr/libexec/xtables-addons/xt_geoip_dl&lt;br /&gt;
&lt;br /&gt;
# Download maxmind legacy csv and process&lt;br /&gt;
wget https://mailfud.org/geoip-legacy/GeoIP-legacy.csv.gz -O /usr/share/xt_geoip/tmp/GeoIP-legacy.csv.gz&lt;br /&gt;
gunzip /usr/share/xt_geoip/tmp/GeoIP-legacy.csv.gz&lt;br /&gt;
cat /usr/share/xt_geoip/tmp/GeoIP-legacy.csv | tr -d &#039;&amp;quot;&#039; | cut -d, -f1,2,5 &amp;gt; /usr/share/xt_geoip/tmp/GeoIP-legacy-processed.csv&lt;br /&gt;
rm /usr/share/xt_geoip/tmp/GeoIP-legacy.csv&lt;br /&gt;
# rm /usr/share/xt_geoip/tmp/GeoIP-legacy.csv.gz&lt;br /&gt;
&lt;br /&gt;
# Download latest from https://github.com/sapics/ip-location-db&lt;br /&gt;
wget -P /usr/share/xt_geoip/tmp/ https://cdn.jsdelivr.net/npm/@ip-location-db/geo-whois-asn-country/geo-whois-asn-country-ipv4.csv&lt;br /&gt;
wget -P /usr/share/xt_geoip/tmp/ https://cdn.jsdelivr.net/npm/@ip-location-db/geo-whois-asn-country/geo-whois-asn-country-ipv6.csv&lt;br /&gt;
wget -P /usr/share/xt_geoip/tmp/ https://cdn.jsdelivr.net/npm/@ip-location-db/iptoasn-country/iptoasn-country-ipv4.csv&lt;br /&gt;
wget -P /usr/share/xt_geoip/tmp/ https://cdn.jsdelivr.net/npm/@ip-location-db/iptoasn-country/iptoasn-country-ipv6.csv&lt;br /&gt;
wget -P /usr/share/xt_geoip/tmp/ https://cdn.jsdelivr.net/npm/@ip-location-db/dbip-country/dbip-country-ipv4.csv&lt;br /&gt;
wget -P /usr/share/xt_geoip/tmp/ https://cdn.jsdelivr.net/npm/@ip-location-db/dbip-country/dbip-country-ipv6.csv&lt;br /&gt;
wget -P /usr/share/xt_geoip/tmp/ https://cdn.jsdelivr.net/npm/@ip-location-db/geolite2-country/geolite2-country-ipv4.csv&lt;br /&gt;
wget -P /usr/share/xt_geoip/tmp/ https://cdn.jsdelivr.net/npm/@ip-location-db/geolite2-country/geolite2-country-ipv6.csv&lt;br /&gt;
&lt;br /&gt;
# Combine all csv and remove duplicates&lt;br /&gt;
cd /usr/share/xt_geoip/tmp/&lt;br /&gt;
cat *.csv &amp;gt; geoip.csv&lt;br /&gt;
sort -u geoip.csv -o /usr/share/xt_geoip/dbip-country-lite.csv&lt;br /&gt;
&lt;br /&gt;
# Remove temp directory and update geoip xtables&lt;br /&gt;
cd /usr/share/xt_geoip/&lt;br /&gt;
rm -r /usr/share/xt_geoip/tmp/&lt;br /&gt;
/usr/libexec/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip/ -i /usr/share/xt_geoip/dbip-country-lite.csv&lt;br /&gt;
rm /usr/share/xt_geoip/dbip-country-lite.csv&lt;br /&gt;
&lt;br /&gt;
# reload ufw&lt;br /&gt;
ufw reload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Das Skript noch ausführbar machen und testen:&amp;lt;br&amp;gt;&lt;br /&gt;
 chmod +x /usr/local/bin/update-geoip.sh&lt;br /&gt;
 /usr/local/bin/update-geoip.sh&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Blocking in Firewallregeln einbauen==&lt;br /&gt;
 nano /etc/ufw/before.rules&lt;br /&gt;
und unten vor dem {{code|COMMIT}} in der letzten Zeile folgendes einfügen:&amp;lt;br&amp;gt;&lt;br /&gt;
 #GeoBlocking&lt;br /&gt;
 -A ufw-before-input -m geoip --src-cc RU,CN,HK -j DROP&lt;br /&gt;
Das gleiche für IPv6:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/ufw/before6.rules&lt;br /&gt;
und unten das hier einfügen (ist nicht das gleiche wie bei IPv4!)&lt;br /&gt;
 #GeoBlocking&lt;br /&gt;
 -A ufw6-before-input -m geoip --src-cc RU,CN,HK -j DROP&lt;br /&gt;
Damit ist Russland (RU), China (CN) und Hongkong (HK) für alles gesperrt!&lt;br /&gt;
Die passenden Ländercodes findet Ihr hier (erste Spalte):&amp;lt;br&amp;gt;&lt;br /&gt;
 https://de.wikipedia.org/wiki/ISO-3166-1-Kodierliste&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Regel aktivieren==&lt;br /&gt;
 ufw reload&lt;br /&gt;
Gibt es dabei eine Fehler, so ist die Firewall ausgeschaltet!&lt;br /&gt;
In der Fehlermeldung wird die Datei und die Zeile stehen in der etwas falsch ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Korrigieren und dann die Firewall mit&lt;br /&gt;
 ufw enable&lt;br /&gt;
 ufw reload&lt;br /&gt;
neu starten und die Regeln prüfen!&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Beispiele für weitere Regeln==&lt;br /&gt;
{{code|/etc/ufw/before.rules}}&lt;br /&gt;
 -A ufw-before-input -p tcp --dport 3000 -m geoip --src-cc RU,CN -j DROP&lt;br /&gt;
{{code|/etc/ufw/before6.rules}}&lt;br /&gt;
 -A ufw6-before-input -p tcp --dport 3000 -m geoip --src-cc RU,CN -j DROP&lt;br /&gt;
Sperrt TCP Datenverkehr auf Port 3000 für RU und CN&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Cronjob erstellen==&lt;br /&gt;
Einmal im Monat sollte man die Geodaten aktualisieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 Kommt noch - es muss das Skript einfach noch einmal gestartet werden&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Kommentare==&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ufw_Geoblocking_mit_Ubuntu_24.04&amp;diff=16004</id>
		<title>Ufw Geoblocking mit Ubuntu 24.04</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ufw_Geoblocking_mit_Ubuntu_24.04&amp;diff=16004"/>
		<updated>2026-06-07T20:34:41Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Vorwort */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Vorwort==&lt;br /&gt;
Unter Apache2 nutze ich ein Geoblocking - ich habe aber nach einer Möglichkeit gesucht, das ganz schon vor dem Apache zu blockieren (und mir die Logeinträge dafür damit zu sparen).&amp;lt;br&amp;gt;&lt;br /&gt;
Dafür habe ich diese Anleitung gefunden:&amp;lt;br&amp;gt;&lt;br /&gt;
 https://www.seenlyst.com/blog/geo-blocking-ufw-iptables/&lt;br /&gt;
Die aber für Ubuntu 20.04 geschrieben wurde und so nicht mehr funktioniert.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich habe die Fehler und Änderungen herausgesucht und hier ist meine Version des Artikels:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Zum root wechseln==&lt;br /&gt;
Ich wechsle einmal am Anfang zum {{code|root}}, alle nachfolgenden Befehle werden also als dieser ausgeführt!&amp;lt;br&amp;gt;&lt;br /&gt;
 sudo -i&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Voraussetzungen installieren==&lt;br /&gt;
 apt update -y&lt;br /&gt;
 apt upgrade -y&lt;br /&gt;
 apt install curl perl unzip xtables-addons-common libtext-csv-xs-perl libmoosex-types-netaddr-ip-perl&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Verzeichnis für unsere Daten erstellen==&lt;br /&gt;
 mkdir -p /usr/share/xt_geoip&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Downloadskript erstellen==&lt;br /&gt;
 nano /usr/local/bin/update-geoip.sh&lt;br /&gt;
mit folgendem Inhalt:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Create temporary directory&lt;br /&gt;
mkdir -p /usr/share/xt_geoip/tmp/&lt;br /&gt;
mkdir -p /usr/share/xt_geoip/tmp/ip2loc/&lt;br /&gt;
&lt;br /&gt;
# Download latest from db-ip.com&lt;br /&gt;
cd /usr/share/xt_geoip/tmp/&lt;br /&gt;
/usr/libexec/xtables-addons/xt_geoip_dl&lt;br /&gt;
&lt;br /&gt;
# Download maxmind legacy csv and process&lt;br /&gt;
wget https://mailfud.org/geoip-legacy/GeoIP-legacy.csv.gz -O /usr/share/xt_geoip/tmp/GeoIP-legacy.csv.gz&lt;br /&gt;
gunzip /usr/share/xt_geoip/tmp/GeoIP-legacy.csv.gz&lt;br /&gt;
cat /usr/share/xt_geoip/tmp/GeoIP-legacy.csv | tr -d &#039;&amp;quot;&#039; | cut -d, -f1,2,5 &amp;gt; /usr/share/xt_geoip/tmp/GeoIP-legacy-processed.csv&lt;br /&gt;
rm /usr/share/xt_geoip/tmp/GeoIP-legacy.csv&lt;br /&gt;
# rm /usr/share/xt_geoip/tmp/GeoIP-legacy.csv.gz&lt;br /&gt;
&lt;br /&gt;
# Download latest from https://github.com/sapics/ip-location-db&lt;br /&gt;
wget -P /usr/share/xt_geoip/tmp/ https://cdn.jsdelivr.net/npm/@ip-location-db/geo-whois-asn-country/geo-whois-asn-country-ipv4.csv&lt;br /&gt;
wget -P /usr/share/xt_geoip/tmp/ https://cdn.jsdelivr.net/npm/@ip-location-db/geo-whois-asn-country/geo-whois-asn-country-ipv6.csv&lt;br /&gt;
wget -P /usr/share/xt_geoip/tmp/ https://cdn.jsdelivr.net/npm/@ip-location-db/iptoasn-country/iptoasn-country-ipv4.csv&lt;br /&gt;
wget -P /usr/share/xt_geoip/tmp/ https://cdn.jsdelivr.net/npm/@ip-location-db/iptoasn-country/iptoasn-country-ipv6.csv&lt;br /&gt;
wget -P /usr/share/xt_geoip/tmp/ https://cdn.jsdelivr.net/npm/@ip-location-db/dbip-country/dbip-country-ipv4.csv&lt;br /&gt;
wget -P /usr/share/xt_geoip/tmp/ https://cdn.jsdelivr.net/npm/@ip-location-db/dbip-country/dbip-country-ipv6.csv&lt;br /&gt;
wget -P /usr/share/xt_geoip/tmp/ https://cdn.jsdelivr.net/npm/@ip-location-db/geolite2-country/geolite2-country-ipv4.csv&lt;br /&gt;
wget -P /usr/share/xt_geoip/tmp/ https://cdn.jsdelivr.net/npm/@ip-location-db/geolite2-country/geolite2-country-ipv6.csv&lt;br /&gt;
&lt;br /&gt;
# Combine all csv and remove duplicates&lt;br /&gt;
cd /usr/share/xt_geoip/tmp/&lt;br /&gt;
cat *.csv &amp;gt; geoip.csv&lt;br /&gt;
sort -u geoip.csv -o /usr/share/xt_geoip/dbip-country-lite.csv&lt;br /&gt;
&lt;br /&gt;
# Remove temp directory and update geoip xtables&lt;br /&gt;
cd /usr/share/xt_geoip/&lt;br /&gt;
rm -r /usr/share/xt_geoip/tmp/&lt;br /&gt;
/usr/libexec/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip/ -i /usr/share/xt_geoip/dbip-country-lite.csv&lt;br /&gt;
rm /usr/share/xt_geoip/dbip-country-lite.csv&lt;br /&gt;
&lt;br /&gt;
# reload ufw&lt;br /&gt;
ufw reload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Das Skript noch ausführbar machen und testen:&amp;lt;br&amp;gt;&lt;br /&gt;
 chmod +x /usr/local/bin/update-geoip.sh&lt;br /&gt;
 /usr/local/bin/update-geoip.sh&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Blocking in Firewallregeln einbauen==&lt;br /&gt;
 nano /etc/ufw/before.rules&lt;br /&gt;
und unten vor dem {{code|COMMIT}} in der letzten Zeile folgendes einfügen:&amp;lt;br&amp;gt;&lt;br /&gt;
 #GeoBlocking&lt;br /&gt;
 -A ufw-before-input -m geoip --src-cc RU,CN,HK -j DROP&lt;br /&gt;
Das gleiche für IPv6:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/ufw/before6.rules&lt;br /&gt;
und unten das hier einfügen (ist nicht das gleiche wie bei IPv4!)&lt;br /&gt;
 #GeoBlocking&lt;br /&gt;
 -A ufw6-before-input -m geoip --src-cc RU,CN,HK -j DROP&lt;br /&gt;
Damit ist Russland (RU), China (CN) und Hongkong (HK) für alles gesperrt!&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Regel aktivieren==&lt;br /&gt;
 ufw reload&lt;br /&gt;
Gibt es dabei eine Fehler, so ist die Firewall ausgeschaltet!&lt;br /&gt;
In der Fehlermeldung wird die Datei und die Zeile stehen in der etwas falsch ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Korrigieren und dann die Firewall mit&lt;br /&gt;
 ufw enable&lt;br /&gt;
 ufw reload&lt;br /&gt;
neu starten und die Regeln prüfen!&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Beispiele für weitere Regeln==&lt;br /&gt;
{{code|/etc/ufw/before.rules}}&lt;br /&gt;
 -A ufw-before-input -p tcp --dport 3000 -m geoip --src-cc RU,CN -j DROP&lt;br /&gt;
{{code|/etc/ufw/before6.rules}}&lt;br /&gt;
 -A ufw6-before-input -p tcp --dport 3000 -m geoip --src-cc RU,CN -j DROP&lt;br /&gt;
Sperrt TCP Datenverkehr auf Port 3000 für RU und CN&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Cronjob erstellen==&lt;br /&gt;
Einmal im Monat sollte man die Geodaten aktualisieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 Kommt noch - es muss das Skript einfach noch einmal gestartet werden&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Kommentare==&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ufw_Limit_gegen_%C3%9Cberlastung_einstellen&amp;diff=16003</id>
		<title>Ufw Limit gegen Überlastung einstellen</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ufw_Limit_gegen_%C3%9Cberlastung_einstellen&amp;diff=16003"/>
		<updated>2026-06-07T14:55:45Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Eigene Limits statt 6 Versuche in 30 Sekunden setzen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* 07.06.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
==Vorwort==&lt;br /&gt;
Neulich hatte ich das Problem das mein Webserver auf dem diese Webseite läuft ständig auf 100% CPU lief.&amp;lt;br&amp;gt;&lt;br /&gt;
Mit {{code|htop}} konnte ich sehen das es die Prozesse für diese Webseite hier sind (jede meiner Webseiten / Subdomain läuft unter einem eigenen Benutzer).&amp;lt;br&amp;gt;&lt;br /&gt;
Im {{code|acccess.log}} konnte ich viele Zugriffe von verschiedenen IP-Adressen sehen.&amp;lt;br&amp;gt;&lt;br /&gt;
Per Einzeiler&lt;br /&gt;
 tail -n 10000 /weg/zu/dem/access.log | awk &#039;{print $1}&#039; | sort | uniq -c | sort -nr | head -n 20&lt;br /&gt;
zeigt die Top-Adressen der letzten 10.000 Logzeilen.&amp;lt;br&amp;gt;&lt;br /&gt;
Im Gegensatz zu früher war es diesmal aber ziemlich verteilt über die Welt. Die Aufrufe an mein Wiki waren dabei maximal Belastend - es wurde Änderungen für bestimmt Zeiträume abgefragt oder vorherige Versionen usw.&amp;lt;br&amp;gt;&lt;br /&gt;
Das übliche Sperren von 1 bis 2 IP-Adressen wirkte hier also nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich hatte diverse Dinge ausprobiert, was funktionierte war die Begrenzung der Anzahl der Verbindungen pro IP-Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Die ufw-Regel==&lt;br /&gt;
 sudo ufw limit proto tcp from any to any port 80&lt;br /&gt;
 sudo ufw limit proto tcp from any to any port 443&lt;br /&gt;
Dadurch wird automatisch jede IP-Adresse blockiert die versucht, mehr als 6 Verbindungen innerhalb von 30 Sekunden aufzubauen.&amp;lt;br&amp;gt;&lt;br /&gt;
Erfolgt mehr als 30 Sekunden kein Zugriff von der IP, wird diese wieder freigegeben.&amp;lt;br&amp;gt;&lt;br /&gt;
Zuschauen kann man dabei im Log:&amp;lt;br&amp;gt;&lt;br /&gt;
 tail -n 100 -F /var/log/ufw.log&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Adressen oder IP-Blöcke whitelisten==&lt;br /&gt;
 sudo ufw allow from 192.168.0.10&lt;br /&gt;
nimmt die {{code|192.168.0.10}} aus allen Regeln heraus, per&amp;lt;br&amp;gt;&lt;br /&gt;
 udo ufw allow from 192.168.0.0/24&lt;br /&gt;
auch ein ganzes Netzwerksegment.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==ufw-Regel wieder löschen==&lt;br /&gt;
 sudo ufw delete limit proto tcp from any to any port 80&lt;br /&gt;
 sudo ufw delete limit proto tcp from any to any port 443&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Eigene Limits statt 6 Versuche in 30 Sekunden setzen==&lt;br /&gt;
Einen direkten Befehl eigene Limits zu setzen als die 6 Versuche in 30 Sekunden gibt es nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Man muss die Regel zunächst erstellen und dann die folgende Datei bearbeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
 sudo nano /etc/ufw/user.rules&lt;br /&gt;
In der Datei müsste irgendwo ein Abschnitt ähnlich wie diesem hier stehen (2x einmal für Port 80 und einmal für Port 443):&amp;lt;br&amp;gt;&lt;br /&gt;
 ### tuple ### limit tcp 80 0.0.0.0/0 any 0.0.0.0/0 in&lt;br /&gt;
 -A ufw-user-input -p tcp --dport 80 -m conntrack --ctstate NEW -m recent --set&lt;br /&gt;
 -A ufw-user-input -p tcp --dport 80 -m conntrack --ctstate NEW -m recent --update --seconds 30 --hitcount 6 -j ufw-user-limit&lt;br /&gt;
 -A ufw-user-input -p tcp --dport 80 -j ufw-user-limit-accept&lt;br /&gt;
 &lt;br /&gt;
 ### tuple ### limit tcp 443 0.0.0.0/0 any 0.0.0.0/0 in&lt;br /&gt;
 -A ufw-user-input -p tcp --dport 443 -m conntrack --ctstate NEW -m recent --set&lt;br /&gt;
 -A ufw-user-input -p tcp --dport 443 -m conntrack --ctstate NEW -m recent --update --seconds 30 --hitcount 6 -j ufw-user-limit&lt;br /&gt;
 -A ufw-user-input -p tcp --dport 443 -j ufw-user-limit-accept&lt;br /&gt;
Wonach Ihr suchen könnt ist {{code|--seconds 30}} und/oder {{code|--hitcount 6}}, bei {{code|--dport}} sollte 80 oder 443 stehen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die beiden Werte passt Ihr einfach an, speichert die Datei und lasst diese per&amp;lt;br&amp;gt;&lt;br /&gt;
 sudo ufw reload&lt;br /&gt;
neu einlesen.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis|Bei {{code|--hitcount}} ist normalerweise ab Werk im Kernel auf maximal 20 begrenzt!}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Kommentare==&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ufw_Limit_gegen_%C3%9Cberlastung_einstellen&amp;diff=16002</id>
		<title>Ufw Limit gegen Überlastung einstellen</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ufw_Limit_gegen_%C3%9Cberlastung_einstellen&amp;diff=16002"/>
		<updated>2026-06-07T14:52:11Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Eigene Limits statt 6 Versuche in 30 Sekunden setzen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* 07.06.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
==Vorwort==&lt;br /&gt;
Neulich hatte ich das Problem das mein Webserver auf dem diese Webseite läuft ständig auf 100% CPU lief.&amp;lt;br&amp;gt;&lt;br /&gt;
Mit {{code|htop}} konnte ich sehen das es die Prozesse für diese Webseite hier sind (jede meiner Webseiten / Subdomain läuft unter einem eigenen Benutzer).&amp;lt;br&amp;gt;&lt;br /&gt;
Im {{code|acccess.log}} konnte ich viele Zugriffe von verschiedenen IP-Adressen sehen.&amp;lt;br&amp;gt;&lt;br /&gt;
Per Einzeiler&lt;br /&gt;
 tail -n 10000 /weg/zu/dem/access.log | awk &#039;{print $1}&#039; | sort | uniq -c | sort -nr | head -n 20&lt;br /&gt;
zeigt die Top-Adressen der letzten 10.000 Logzeilen.&amp;lt;br&amp;gt;&lt;br /&gt;
Im Gegensatz zu früher war es diesmal aber ziemlich verteilt über die Welt. Die Aufrufe an mein Wiki waren dabei maximal Belastend - es wurde Änderungen für bestimmt Zeiträume abgefragt oder vorherige Versionen usw.&amp;lt;br&amp;gt;&lt;br /&gt;
Das übliche Sperren von 1 bis 2 IP-Adressen wirkte hier also nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich hatte diverse Dinge ausprobiert, was funktionierte war die Begrenzung der Anzahl der Verbindungen pro IP-Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Die ufw-Regel==&lt;br /&gt;
 sudo ufw limit proto tcp from any to any port 80&lt;br /&gt;
 sudo ufw limit proto tcp from any to any port 443&lt;br /&gt;
Dadurch wird automatisch jede IP-Adresse blockiert die versucht, mehr als 6 Verbindungen innerhalb von 30 Sekunden aufzubauen.&amp;lt;br&amp;gt;&lt;br /&gt;
Erfolgt mehr als 30 Sekunden kein Zugriff von der IP, wird diese wieder freigegeben.&amp;lt;br&amp;gt;&lt;br /&gt;
Zuschauen kann man dabei im Log:&amp;lt;br&amp;gt;&lt;br /&gt;
 tail -n 100 -F /var/log/ufw.log&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Adressen oder IP-Blöcke whitelisten==&lt;br /&gt;
 sudo ufw allow from 192.168.0.10&lt;br /&gt;
nimmt die {{code|192.168.0.10}} aus allen Regeln heraus, per&amp;lt;br&amp;gt;&lt;br /&gt;
 udo ufw allow from 192.168.0.0/24&lt;br /&gt;
auch ein ganzes Netzwerksegment.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==ufw-Regel wieder löschen==&lt;br /&gt;
 sudo ufw delete limit proto tcp from any to any port 80&lt;br /&gt;
 sudo ufw delete limit proto tcp from any to any port 443&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Eigene Limits statt 6 Versuche in 30 Sekunden setzen==&lt;br /&gt;
Einen direkten Befehl eigene Limits zu setzen als die 6 Versuche in 30 Sekunden gibt es nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Man muss die Regel zunächst erstellen und dann die folgende Datei bearbeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
 sudo nano /etc/ufw/user.rules&lt;br /&gt;
In der Datei müsste irgendwo ein Abschnitt ähnlich wie diesem hier stehen (2x einmal für Port 80 und einmal für Port 443):&amp;lt;br&amp;gt;&lt;br /&gt;
 -A ufw-user-input -p tcp --dport 443 -m conntrack --ctstate NEW -m recent --set --name ufwlimit_443 --rsource&lt;br /&gt;
 -A ufw-user-input -p tcp --dport 443 -m conntrack --ctstate NEW -m recent --update --seconds 30 --hitcount 6 --name ufwlimit_443 --rsource -j ufw-user-limit&lt;br /&gt;
Wonach Ihr suchen könnt ist {{code|--seconds 30}} und/oder {{code|--hitcount 6}}, bei {{code|--dport}} sollte 80 oder 443 stehen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die beiden Werte passt Ihr einfach an, speichert die Datei und lasst diese per&amp;lt;br&amp;gt;&lt;br /&gt;
 sudo ufw reload&lt;br /&gt;
neu einlesen.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis|Bei {{code|--hitcount}} ist normalerweise ab Werk im Kernel auf maximal 20 begrenzt!}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Kommentare==&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ufw_Limit_gegen_%C3%9Cberlastung_einstellen&amp;diff=16001</id>
		<title>Ufw Limit gegen Überlastung einstellen</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ufw_Limit_gegen_%C3%9Cberlastung_einstellen&amp;diff=16001"/>
		<updated>2026-06-07T14:50:28Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Eigene Limits statt 6 Versuche in 30 Sekunden setzen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* 07.06.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
==Vorwort==&lt;br /&gt;
Neulich hatte ich das Problem das mein Webserver auf dem diese Webseite läuft ständig auf 100% CPU lief.&amp;lt;br&amp;gt;&lt;br /&gt;
Mit {{code|htop}} konnte ich sehen das es die Prozesse für diese Webseite hier sind (jede meiner Webseiten / Subdomain läuft unter einem eigenen Benutzer).&amp;lt;br&amp;gt;&lt;br /&gt;
Im {{code|acccess.log}} konnte ich viele Zugriffe von verschiedenen IP-Adressen sehen.&amp;lt;br&amp;gt;&lt;br /&gt;
Per Einzeiler&lt;br /&gt;
 tail -n 10000 /weg/zu/dem/access.log | awk &#039;{print $1}&#039; | sort | uniq -c | sort -nr | head -n 20&lt;br /&gt;
zeigt die Top-Adressen der letzten 10.000 Logzeilen.&amp;lt;br&amp;gt;&lt;br /&gt;
Im Gegensatz zu früher war es diesmal aber ziemlich verteilt über die Welt. Die Aufrufe an mein Wiki waren dabei maximal Belastend - es wurde Änderungen für bestimmt Zeiträume abgefragt oder vorherige Versionen usw.&amp;lt;br&amp;gt;&lt;br /&gt;
Das übliche Sperren von 1 bis 2 IP-Adressen wirkte hier also nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich hatte diverse Dinge ausprobiert, was funktionierte war die Begrenzung der Anzahl der Verbindungen pro IP-Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Die ufw-Regel==&lt;br /&gt;
 sudo ufw limit proto tcp from any to any port 80&lt;br /&gt;
 sudo ufw limit proto tcp from any to any port 443&lt;br /&gt;
Dadurch wird automatisch jede IP-Adresse blockiert die versucht, mehr als 6 Verbindungen innerhalb von 30 Sekunden aufzubauen.&amp;lt;br&amp;gt;&lt;br /&gt;
Erfolgt mehr als 30 Sekunden kein Zugriff von der IP, wird diese wieder freigegeben.&amp;lt;br&amp;gt;&lt;br /&gt;
Zuschauen kann man dabei im Log:&amp;lt;br&amp;gt;&lt;br /&gt;
 tail -n 100 -F /var/log/ufw.log&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Adressen oder IP-Blöcke whitelisten==&lt;br /&gt;
 sudo ufw allow from 192.168.0.10&lt;br /&gt;
nimmt die {{code|192.168.0.10}} aus allen Regeln heraus, per&amp;lt;br&amp;gt;&lt;br /&gt;
 udo ufw allow from 192.168.0.0/24&lt;br /&gt;
auch ein ganzes Netzwerksegment.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==ufw-Regel wieder löschen==&lt;br /&gt;
 sudo ufw delete limit proto tcp from any to any port 80&lt;br /&gt;
 sudo ufw delete limit proto tcp from any to any port 443&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Eigene Limits statt 6 Versuche in 30 Sekunden setzen==&lt;br /&gt;
Einen direkten Befehl eigene Limits zu setzen als die 6 Versuche in 30 Sekunden gibt es nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Man muss die Regel zunächst erstellen und dann die folgende Datei bearbeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
 sudo nano /etc/ufw/user.rules&lt;br /&gt;
In der Datei müsste irgendwo ein Abschnitt ähnlich wie diesem hier stehen (2x einmal für Port 80 und einmal für Port 443):&amp;lt;br&amp;gt;&lt;br /&gt;
 -A ufw-user-input -p tcp --dport 443 -m conntrack --ctstate NEW -m recent --set --name ufwlimit_443 --rsource&lt;br /&gt;
 -A ufw-user-input -p tcp --dport 443 -m conntrack --ctstate NEW -m recent --update --seconds 30 --hitcount 6 --name ufwlimit_443 --rsource -j ufw-user-limit&lt;br /&gt;
Wonach Ihr suchen könnt ist {{code|--seconds 30}} und/oder {{code|--hitcount 6}}, bei {{code|--dport}} sollte 80 oder 443 stehen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die beiden Werte passt Ihr einfach an, speichert die Datei und lasst diese per&amp;lt;br&amp;gt;&lt;br /&gt;
 sudo ufw reload&lt;br /&gt;
neu einlesen.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Kommentare==&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ufw_Limit_gegen_%C3%9Cberlastung_einstellen&amp;diff=16000</id>
		<title>Ufw Limit gegen Überlastung einstellen</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ufw_Limit_gegen_%C3%9Cberlastung_einstellen&amp;diff=16000"/>
		<updated>2026-06-07T14:49:38Z</updated>

		<summary type="html">&lt;p&gt;BLinz: Die Seite wurde neu angelegt: „&amp;lt;u&amp;gt;&amp;#039;&amp;#039;&amp;#039;Changelog:&amp;#039;&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt; * 07.06.2026 erste Version ---- ==Vorwort== Neulich hatte ich das Problem das mein Webserver auf dem diese Webseite läuft ständig auf 100% CPU lief.&amp;lt;br&amp;gt; Mit {{code|htop}} konnte ich sehen das es die Prozesse für diese Webseite hier sind (jede meiner Webseiten / Subdomain läuft unter einem eigenen Benutzer).&amp;lt;br&amp;gt; Im {{code|acccess.log}} konnte ich viele Zugriffe von verschiedenen IP-Adressen sehen.&amp;lt;br&amp;gt; Per Einzeiler  tail -n…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* 07.06.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
==Vorwort==&lt;br /&gt;
Neulich hatte ich das Problem das mein Webserver auf dem diese Webseite läuft ständig auf 100% CPU lief.&amp;lt;br&amp;gt;&lt;br /&gt;
Mit {{code|htop}} konnte ich sehen das es die Prozesse für diese Webseite hier sind (jede meiner Webseiten / Subdomain läuft unter einem eigenen Benutzer).&amp;lt;br&amp;gt;&lt;br /&gt;
Im {{code|acccess.log}} konnte ich viele Zugriffe von verschiedenen IP-Adressen sehen.&amp;lt;br&amp;gt;&lt;br /&gt;
Per Einzeiler&lt;br /&gt;
 tail -n 10000 /weg/zu/dem/access.log | awk &#039;{print $1}&#039; | sort | uniq -c | sort -nr | head -n 20&lt;br /&gt;
zeigt die Top-Adressen der letzten 10.000 Logzeilen.&amp;lt;br&amp;gt;&lt;br /&gt;
Im Gegensatz zu früher war es diesmal aber ziemlich verteilt über die Welt. Die Aufrufe an mein Wiki waren dabei maximal Belastend - es wurde Änderungen für bestimmt Zeiträume abgefragt oder vorherige Versionen usw.&amp;lt;br&amp;gt;&lt;br /&gt;
Das übliche Sperren von 1 bis 2 IP-Adressen wirkte hier also nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich hatte diverse Dinge ausprobiert, was funktionierte war die Begrenzung der Anzahl der Verbindungen pro IP-Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Die ufw-Regel==&lt;br /&gt;
 sudo ufw limit proto tcp from any to any port 80&lt;br /&gt;
 sudo ufw limit proto tcp from any to any port 443&lt;br /&gt;
Dadurch wird automatisch jede IP-Adresse blockiert die versucht, mehr als 6 Verbindungen innerhalb von 30 Sekunden aufzubauen.&amp;lt;br&amp;gt;&lt;br /&gt;
Erfolgt mehr als 30 Sekunden kein Zugriff von der IP, wird diese wieder freigegeben.&amp;lt;br&amp;gt;&lt;br /&gt;
Zuschauen kann man dabei im Log:&amp;lt;br&amp;gt;&lt;br /&gt;
 tail -n 100 -F /var/log/ufw.log&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Adressen oder IP-Blöcke whitelisten==&lt;br /&gt;
 sudo ufw allow from 192.168.0.10&lt;br /&gt;
nimmt die {{code|192.168.0.10}} aus allen Regeln heraus, per&amp;lt;br&amp;gt;&lt;br /&gt;
 udo ufw allow from 192.168.0.0/24&lt;br /&gt;
auch ein ganzes Netzwerksegment.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==ufw-Regel wieder löschen==&lt;br /&gt;
 sudo ufw delete limit proto tcp from any to any port 80&lt;br /&gt;
 sudo ufw delete limit proto tcp from any to any port 443&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Eigene Limits statt 6 Versuche in 30 Sekunden setzen==&lt;br /&gt;
Einen direkten Befehl eigene Limits zu setzen als die 6 Versuche in 30 Sekunden gibt es nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Man muss die Regel zunächst erstellen und dann die folgende Datei bearbeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
 sudo nano /etc/ufw/user.rules&lt;br /&gt;
In der Datei müsste irgendwo ein Abschnitt ähnlich wie diesem hier stehen:&amp;lt;br&amp;gt;&lt;br /&gt;
 -A ufw-user-input -p tcp --dport 443 -m conntrack --ctstate NEW -m recent --set --name ufwlimit_443 --rsource&lt;br /&gt;
 -A ufw-user-input -p tcp --dport 443 -m conntrack --ctstate NEW -m recent --update --seconds 30 --hitcount 6 --name ufwlimit_443 --rsource -j ufw-user-limit&lt;br /&gt;
Wonach Ihr suchen könnt ist {{code|--seconds 30}} und/oder {{code|--hitcount 6}}, bei {{code|--dport}} sollte 80 oder 443 stehen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die beiden Werte passt Ihr einfach an, speichert die Datei und lasst diese per&amp;lt;br&amp;gt;&lt;br /&gt;
 sudo ufw reload&lt;br /&gt;
neu einlesen.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Kommentare==&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Linux&amp;diff=15999</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Linux&amp;diff=15999"/>
		<updated>2026-06-07T14:34:09Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* ufw Firewall */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Kategorie:Linux]]&lt;br /&gt;
== Allgemeines ==&lt;br /&gt;
* [[ARP Cache unter Linux löschen]]&lt;br /&gt;
* [[root wieder aktivieren / Anmelden als Root bei Ubuntu &amp;amp; Co.]]&lt;br /&gt;
* [[root wieder aktivieren / Anmelden als Root per SSH Ubuntu 14.04]]&lt;br /&gt;
* [[Robocopy unter Linux?]]&lt;br /&gt;
* grep, sed und awk: http://unix.stackexchange.com/questions/42047/cut-grep-and-df-h&lt;br /&gt;
* [[Links unter Linux setzen - Harte und Symbolische]]&lt;br /&gt;
* [http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1022525 VMware Tools unter Linux installieren (Ubuntu)]&lt;br /&gt;
* [[init.d Script in den automatischen Start/Stop mit aufnehmen]]&lt;br /&gt;
* [[Mini Benchmark mit bc - Vergleich Root Server]]&lt;br /&gt;
* [[Linux - Windows Freigabe automatisch beim Booten mounten]] (Ubuntu 12.04 LTS)&lt;br /&gt;
* [[Linux - Ubuntu 14.04. Windows Freigabe mounten - beim Booten automatisch mounten]]&lt;br /&gt;
* [[Linux - Festplatten / Dateisystem überprüfen beim reboot]]&lt;br /&gt;
* [[fsck.vfat not found - keine Überprüfung von FAT Datenträgern]]&lt;br /&gt;
* [[Verzeichnisgröße abfragen in der Bash Shell - Ordnergröße]]&lt;br /&gt;
* [[Linux Dateimanager wie Windows Explorer]]&lt;br /&gt;
* [[ssh scp ohne Passwort Passworteingabe einrichten]]&lt;br /&gt;
* [[Ubuntu Bash sudo ohne Passworteingabe]]&lt;br /&gt;
* [[Ubuntu installierte Pakete]]&lt;br /&gt;
* Hilfe zu regulären Ausdrücken: &lt;br /&gt;
** http://www.regexe.de/hilfe.jsp&lt;br /&gt;
** https://www.strassenprogrammierer.de/regular-expression-regex-praxis_tipp_597.html&lt;br /&gt;
* Ubuntu 18.04 IPv6 deaktivieren: https://linuxconfig.org/how-to-disable-ipv6-address-on-ubuntu-18-04-bionic-beaver-linux&lt;br /&gt;
* Nach Infektion / Rootkits suchen: https://www.tecmint.com/scan-linux-for-malware-and-rootkits/&lt;br /&gt;
* [[Bash History aus mehreren Sitzungen ohne überschreiben]]&lt;br /&gt;
* [[Linux main binary-i386 Packages wird übersprungen]]&lt;br /&gt;
* [[Linux Ubuntu MBR Datenträger in GPT Datenträger umwandeln kein LVM]]&lt;br /&gt;
* [[Linux leere Datei erzeugen mit zufälligen oder leeren Inhalt]]&lt;br /&gt;
* [[Linux systemd Dienst warten bis Mount erfolgt ist NFS Gluster SMB]]&lt;br /&gt;
* https://www.silvesterlangen.de/?Linux___%2BGrundlagen_und_Diverses___UID%2FGID_und_Dateien_eines_Users_aendern&lt;br /&gt;
* [[Ubuntu automatischen Neustart von Diensten nach Upgrade deaktivieren]]&lt;br /&gt;
* [[Linux Netzwerkbereich pingen ohne Zusatzprogramme kein fping kein nmap]]&lt;br /&gt;
* [[Linux Listen Ports mit Programm anzeigen]]&lt;br /&gt;
* [[Linux Stresstest Hardware CPU RAM Disk Festplatte]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Der eigene Webserver / Rootserver - How-To&#039;s ==&lt;br /&gt;
* [[Postfix HELO Meldung für SMTP 220 anpassen]]&lt;br /&gt;
* [[PHP beschleunigen mit php5-xcache]]&lt;br /&gt;
* [[APC Cache mit Plesk und die APC-Admin-Seite]]&lt;br /&gt;
* [[Xcache mit Plesk und die xcache-Admin-Seite]]&lt;br /&gt;
* [[Robocopy unter Linux?]]&lt;br /&gt;
* [[Ubuntu Backupskript Apache Webserver und MySQL Datenbank]]&lt;br /&gt;
* [[IONOS Mietserver Ubuntu 24.04 - Einrichtung ISPConfig]]&lt;br /&gt;
* [[Ubuntu automatischen Neustart von Diensten nach Upgrade deaktivieren]]&lt;br /&gt;
* [[Ubuntu CA Zertifikat importieren]]&lt;br /&gt;
* [[Ubuntu SAN Zertifikat anfordern mit interner Microsoft CA Zertifizierungsstelle und in Apache verwenden]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Apache2 ==&lt;br /&gt;
* [[Apache2 http zu https Umleitung]]&lt;br /&gt;
* [[Apache2 PHP Upload bringt 500 Internal Server Error]]&lt;br /&gt;
* [[Apache2 als http / https Proxy zu anderen Host]]&lt;br /&gt;
* [[Apache2 als Reverse Proxy für Exchange 2010 2013 2016 2019 inklusive Outlook Anywhere RPC over http]]&lt;br /&gt;
* [[Apache2 als Reverse Proxy für VMware vCenter WebClient mit Subdomain auf Port 443]]&lt;br /&gt;
* [[PHP beschleunigen mit php5-xcache]]&lt;br /&gt;
* Apache2 Subdomains anlegen: https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-12-04-lts&lt;br /&gt;
* [[Apache OpenSSL Prüfen ob Zertifikat und Key zusammen passen]]&lt;br /&gt;
* [[Apache2 Ubuntu 24.04 22.04 20.04 GeoIP Blocking einrichten]]&lt;br /&gt;
* [[Apache2 als Reverse Proxy und Loadbalancer Beispiel Proxmox]]&lt;br /&gt;
* [[Apache2 als Reverse Proxy für Home Assistant]]&lt;br /&gt;
* [[Ubuntu SAN Zertifikat anfordern mit interner Microsoft CA Zertifizierungsstelle und in Apache verwenden]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Bash ==&lt;br /&gt;
* [[Bash History aus mehreren Sitzungen ohne überschreiben]]&lt;br /&gt;
* [[Bash cronjob alle 30 Sekunden]]&lt;br /&gt;
* [[Bash Color Prompt Links und Beispiele]]&lt;br /&gt;
* [[Bash Skript exit ohne die Shell zu beenden]]&lt;br /&gt;
* [[Bash Treesize Programm ncdu]]&lt;br /&gt;
* [[Bash cronjob Dateien älter als x Tage löschen]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== BitTorrentSync ==&lt;br /&gt;
* [[Ubuntu 14.04.x btsync BitTorrent Sync Server installieren]]&lt;br /&gt;
* [[Raspbian lowmemorykiller: Killing &#039;btsync&#039;]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
== BookStack ==&lt;br /&gt;
* [[BookStack CSS Beispiele Verbesserungen Hacks]]&lt;br /&gt;
* Import/Export: https://github.com/toras9000/bookstack-export-import&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Clipperz ==&lt;br /&gt;
* [[Clipperz - Installation auf Ubuntu 14.04.x LTS mit ISPConfig]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
== Cockpit ==&lt;br /&gt;
* [[Linux Cockpit hinter Subdomain statt Port 9090 per Apache Reverse Proxy]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
== Docker ==&lt;br /&gt;
* [[Ubuntu 24.02 als Docker-Host]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
== DynDNS ==&lt;br /&gt;
* [[DynDNS Update Skript Linux Bash]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== EFA - Email Filter Appliance ==&lt;br /&gt;
* [[eFa Appliance Active Directory in MailScanner und Postfix konfigurieren]]&lt;br /&gt;
* Die Fußnote / Signatur unter den zugestellten Emails entfernen: https://forum.efa-project.org/viewtopic.php?t=2907&lt;br /&gt;
* Dateianhänge mit VBA Makros blocken: https://forum.efa-project.org/viewtopic.php?t=1896&lt;br /&gt;
* [[eFa Appliance Emails mit VBA Makros Skripten blocken]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Etherpad ==&lt;br /&gt;
* [[Etherpad - Installion auf Ubuntu 14.04.x LTS mit ISPConfig]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Fail2Ban ==&lt;br /&gt;
* [[Fail2Ban mit ISPConfig und open_basedir restriction in effect]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== GateOne ==&lt;br /&gt;
* [[Ubuntu 14.04.x LTS - GateOne SSH Client installieren mit Apache Reverse Proxy - lokal]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== GitLab ==&lt;br /&gt;
* [[GitLab GitLab Community Edition unter Ubuntu 16.04.x LTS in Subdomain installieren]]&lt;br /&gt;
* GitLab anpassen: http://axilleas.me/en/blog/2014/custom-gitlab-login-page/&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Guacamole ==&lt;br /&gt;
* [[Ubuntu 20.04.x LTS - Guacamole HTML5 Remotedesktop Gateway installieren mit Apache Reverse Proxy]]&lt;br /&gt;
* [[Ubuntu 18.04.x LTS - Guacamole HTML5 Remotedesktop Gateway installieren mit Apache Reverse Proxy]]&lt;br /&gt;
* [[Ubuntu 16.04.x LTS - Guacamole HTML5 Remotedesktop Gateway installieren mit Apache Reverse Proxy]]&lt;br /&gt;
* [[Ubuntu 14.04.x LTS - Guacamole HTML5 Remotedesktop Gateway installieren mit Apache Reverse Proxy]]&lt;br /&gt;
* [[Zabbix mit Guacamole in Kombination|Zabbix mit Guacamole in Kombination - Demo-Video]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Gogs ==&lt;br /&gt;
* [[CentOS 7 Gogs Git-Server installieren]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Icinga==&lt;br /&gt;
* [[Linksammlung Icinga2 unter CentOS 7]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== ISPConfig ==&lt;br /&gt;
* [[ISPConfig - Webinterface als Subdomain auf Port 443 einrichten]]&lt;br /&gt;
* [[ISPConfig ab 3.1.x - Webinterface als Subdomain auf Port 443 https einrichten]]&lt;br /&gt;
* [https://www.howtoforge.com/tutorial/how-to-install-php-7-on-debian/ ISPConfig - PHP 7.0.0 Installieren]&lt;br /&gt;
* [[ISPConfig 3.0.5.4p8 Webseiten https mit letsencrypt absichern und Zertifikate automatisch erneuern]]&lt;br /&gt;
* Basic Auth für Website https://davidstein.cz/2025/01/15/isp-config-website-password-protection/&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Kodi ==&lt;br /&gt;
* Kodi nachträglich auf Raspbian: https://www.makeuseof.com/tag/install-kodi-raspbian-media-center/&lt;br /&gt;
* Kodi 18 auf Raspbian Stretch: https://www.raspberrypi.org/forums/viewtopic.php?t=222954&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Let&#039;s Encrypt ==&lt;br /&gt;
* [[Lets Encrypt Zertifikate erneuern mit Apache Reverse Proxy]]&lt;br /&gt;
* [[Lets Encrypt Liste der Server Firewall]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== LVM ==&lt;br /&gt;
* [[LVM root boot Volume umbenennen Ubuntu Debian]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Mattermost ==&lt;br /&gt;
* [[Mattermost unter Ubuntu 16.04 mit Apache und ISPConfig in Subdomain installieren]]&lt;br /&gt;
* [[Mattermost Farbschema]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Minecraft ==&lt;br /&gt;
* [[Minecraft Server mit rfwadmin unter Ubuntu 14.04 LTS und ISPConfig]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Monitorix ==&lt;br /&gt;
* [[Monitorix unter Ubuntu 14.04.x LTS installieren]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Multipathing==&lt;br /&gt;
* [[Solaris Multipathing Status abfragen]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== mySQL ==&lt;br /&gt;
* [[mySQL - Verbindungsdaten ( Connections ) anzeigen lassen]]&lt;br /&gt;
* [[mySQL - weitere Instanz auf gleichen Server starten / betreiben]]&lt;br /&gt;
* [[MySQL - Datenbank direkt zwischen 2 Servern kopieren]]&lt;br /&gt;
* https://github.com/major/MySQLTuner-perl&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==NetBox==&lt;br /&gt;
* [[NetBox unter Ubuntu 24.04 LTS installieren]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
== NextCloud ==&lt;br /&gt;
* [[NextCloud unter Ubuntu 24.04 LTS installieren]]&lt;br /&gt;
* [[NextCloud unter Ubuntu 22.04 LTS installieren]]&lt;br /&gt;
* Monitoring URL mit curl abfragen + Token dafür erstellen: https://help.nextcloud.com/t/howto-use-serverinfo-with-curl/173360&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== OpenSim ==&lt;br /&gt;
* [[OpenSim Server auf Ubuntu 14.04.x LTS mit ISPConfig installieren]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
== OpenVPN ==&lt;br /&gt;
* OpenVPN Server unter Ubuntu Einfachlösung: https://www.cyberciti.biz/faq/ubuntu-20-04-lts-set-up-openvpn-server-in-5-minutes/#Install_OpenVPN_server&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
== OpenWISP ==&lt;br /&gt;
* [[OpenWISP Manager auf Ubuntu 14.04.x LTS installieren]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Parallels Plesk Panel ==&lt;br /&gt;
* [[SFTP Zugang unter Parallels Plesk Panel aktivieren]]&lt;br /&gt;
* [[Parallels Plesk 11 - Emails an anderen Mailserver weiterleiten]]&lt;br /&gt;
* [[Parallels Plesk lästige Statusmeldungen abschalten]]&lt;br /&gt;
* [[Parallels Plesk - Zugriff auf alle MySQL Datenbanken - Benutzer root funktioniert nicht]]&lt;br /&gt;
* [[Parallels Plesk - database disk image is malformed]]&lt;br /&gt;
* [[ERROR Zend_Db_Adapter_Exception SQLSTATE HY000 2002 No such file or directory]]&lt;br /&gt;
* Alt aber viel interessantes: http://www.grafxsoftware.com/faq.php/HOW-TO-Setup-a-PLESK-Dedicated-Server/1/4/&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== pfSense ==&lt;br /&gt;
* [[FritzBox - Site to Site VPN zu pfSense mit WireGuard ohne Tunnel NAT]]&lt;br /&gt;
* [[pfSense - IPv6 mit Tunnel Broker und Reverse DNS rDNS]]&lt;br /&gt;
* [[pfSense - IPSec mit IPv4 Remote IP wird aber IPv6 genommen]]&lt;br /&gt;
* [[pfsense - Tor Proxy mit Anmeldung über Internet squid polipo]]&lt;br /&gt;
* [[pfsense - GeoIP Blocking auf bestimmte Ports oder Dienste IPv4 IPv6]]&lt;br /&gt;
* [[pfSense - GeoIP Blocking und Lets Encrypt Zertifikate]]&lt;br /&gt;
* https://www.biteno.com/tutorial/openvpn-auf-einer-pfsense-firewall-einrichten/&lt;br /&gt;
* pfSense und Duo.com: &lt;br /&gt;
** https://forum.netgate.com/topic/119303/openvpn-with-active-directory-authentication-and-duo-security&lt;br /&gt;
** https://github.com/jasonbeitler/www/wiki/PFSense-and-Duo-2FA&lt;br /&gt;
* [[pfSense - HAProxy + Lets Encrypt ACME + GeoIP-Blocking pfBlockerNG]]&lt;br /&gt;
* [[pfSense - ACME-Zertifikate auf anderen Server kopieren]]&lt;br /&gt;
* https://www.cyberciti.biz/faq/howto-configure-dual-wan-load-balance-failover-pfsense-router/&lt;br /&gt;
* QEMU Tools für Proxmox in der pfSense installieren: https://github.com/Weehooey/pfSense-scripts&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==phpIPAM==&lt;br /&gt;
* https://github.com/thetechguysguide/thetechguysguide.github.io&lt;br /&gt;
** https://www.youtube.com/watch?v=GfBvFJLClHQ&lt;br /&gt;
* [[phpIPAM MAC-Adressen per arp ermitteln und hinzufügen]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==PHPMyAdmin==&lt;br /&gt;
* [[PHPMyAdmin alle Benutzer bis auf einen verbieten]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== PiHole ==&lt;br /&gt;
* [[PiHole Whitelist Amazon]]&lt;br /&gt;
* Liste der Microsoft 365: https://learn.microsoft.com/en-us/microsoft-365/enterprise/urls-and-ip-address-ranges?view=o365-worldwide&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Postfix ==&lt;br /&gt;
* [[Ubuntu root alle Emails weiterleiten an Postfach auf Exchange Server]]&lt;br /&gt;
* https://patrik.kernstock.net/2013/01/postfix-mailwarteschlange-ansehen-flushen-und-leeren/&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== PuTTY ==&lt;br /&gt;
* [[PuTTY sinnvoll Voreinstellungen machen / Default Settings ändern]]&lt;br /&gt;
* [[PuTTY Anmeldung per SSH-Key ohne Pageant ganz ohne Passwort]]&lt;br /&gt;
* [[PuTTY nano in SSH Sitzung mit Maus bedienen]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Python ==&lt;br /&gt;
* [[Python Skripte als Dienst unter Windows oder Linux]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== qmail ==&lt;br /&gt;
* qmail Queue löschen: http://dragos.fedorovici.com/plesk-clear-qmail-queue/&lt;br /&gt;
* qmail Queue diverses: http://www.debianhelp.co.uk/qmailqueue.htm&lt;br /&gt;
* qmail Bounce Messages verhindern: http://g33kinfo.com/info/archives/4080/&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== RedHat ==&lt;br /&gt;
* [[Anmeldung per SSH-Key nicht möglich wenn der home-Ordner auf einem NFS-Share liegt]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
== Repository ==&lt;br /&gt;
* [[Ubuntu Offline Mirror Repository erstellen]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Samba==&lt;br /&gt;
* [[Samba Das angegebene Netzwerkkennwort ist falsch NTLMv2]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
== Seafile ==&lt;br /&gt;
* [[Seafile Server Docker - Installation auf Ubuntu 24.04.x LTS]]&lt;br /&gt;
* [[Seafile Server - Installation auf Ubuntu 24.04.x LTS]]&lt;br /&gt;
* [[Seafile Server - Installation auf Ubuntu 20.04.x LTS]]&lt;br /&gt;
* [[Seafile Server - Installation auf Ubuntu 18.04.x LTS]]&lt;br /&gt;
* [[Seafile Server - Installation auf Ubuntu 16.04.x LTS]]&lt;br /&gt;
* [[Seafile Server - Installation auf Ubuntu 14.04.x LTS mit ISPConfig]]&lt;br /&gt;
* [[Seafile Server - Installation auf Ubuntu 12.04.x LTS mit Plesk]]&lt;br /&gt;
* [[Seafile Server - als separater Server hinter Webserver mit Apache2]]&lt;br /&gt;
* [[Seafile - Speicherplatz freigeben von gelöschten Dateien]]&lt;br /&gt;
* [[Seafile Server - Upgrade Version 3 auf 4]]&lt;br /&gt;
* [[Seafile Server - Update/Upgrade des Servers auf neuere Version]]&lt;br /&gt;
* [[Seafile Terminal Client - Installation und Synchronisation unter Ubuntu 14.04.x LTS]]&lt;br /&gt;
* [http://seafile.com/en/help/ignore/ Seafile Server - Dateien oder Ordner beim Upload Client-seitig ignorieren]&lt;br /&gt;
* [[Seafile Server - Active Directory Anbindung]]&lt;br /&gt;
* [[Seafile Server - inaktive LDAP Benutzer finden - inactive LDAPUsers]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== SNMP ==&lt;br /&gt;
* [[PoE am Switch per SNMP an oder abschalten]]&lt;br /&gt;
* [[Port am Switch per SNMP an oder abschalten]]&lt;br /&gt;
* https://www.m00nie.com/2010/08/how-to-install-and-use-snmpwalk/&lt;br /&gt;
* [[nmap Beispielsammlung]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== SOLARIS ==&lt;br /&gt;
* [[Oracle Solaris FC Multipath Fibre Channel Multipathing prüfen und wiederherstellen]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
== SUSE ==&lt;br /&gt;
* [[SUSE Version abfragen]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Syncthing ==&lt;br /&gt;
* [[Ubuntu Syncthing installieren]]&lt;br /&gt;
* [[Ubuntu discosrv Global Discovery Server Syncthing installieren]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
== systemctl ==&lt;br /&gt;
* systemctl auf die Schnelle: http://mikuerschner.org/node/26&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Tor ==&lt;br /&gt;
* Anleitung Tor Server: https://2019.www.torproject.org/docs/tor-onion-service.html.en&lt;br /&gt;
* Eigene .onion-Adressen erstellen: https://www.jamieweb.net/blog/onionv3-vanity-address/&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
== Ubuntu ==&lt;br /&gt;
* [[Ubuntu Netzwerkkarteneinstellungen ändern ohne GUI in der Console]]&lt;br /&gt;
* [[Ubuntu 12.04 LTS - PHP Version auf 5.3.27 updaten]]&lt;br /&gt;
* [[Ubuntu 12.04 LTS - PHP intl PECL-Erweiterung nachinstallieren]]&lt;br /&gt;
* [[Ubuntu 12.04 LTS - BitTorrent Sync Server installieren]]&lt;br /&gt;
* [[Ubuntu 12.05 LTS - Gateone SSH Client installieren auf Server mit Plesk]]&lt;br /&gt;
* [[Ubuntu - Pakete installieren, entfernen, suchen und installierte anzeigen lassen]]&lt;br /&gt;
* [[Ubuntu - alte Version findet keine Paketquellen mehr]]&lt;br /&gt;
* [[VMware Tools Ubuntu installieren in der Bash / Shell]]&lt;br /&gt;
* [[Linux Farbiger Standard Prompt in der Bash auch bei root und PuTTY]]&lt;br /&gt;
* [[Linux Reboot per cron-Job automatisch]]&lt;br /&gt;
* [[Linux Script oder Befehl nach reboot ausführen]]&lt;br /&gt;
* [[Email nach SSH Login auf Linux-Server]]&lt;br /&gt;
* [[Bash bunter Text und Banner mit toilet]]&lt;br /&gt;
* [[Bash Hollywood - Hollywood in der Bash]]&lt;br /&gt;
* [[Logfiles in Logrotate aufnehmen - automatisches packen, rotieren und leeren von Logs]]&lt;br /&gt;
* [[Ubuntu Version in der Bash abfragen]]&lt;br /&gt;
* [[Linux SCP mit IPv6 nutzen]]&lt;br /&gt;
* [[Linux rsync statt scp zum kopieren]]&lt;br /&gt;
* [[Ubuntu 14.04.x LTS - GateOne SSH Client installieren mit Apache Reverse Proxy - lokal]]&lt;br /&gt;
* Virtuelle Maschinen auf Ubuntu Server:&lt;br /&gt;
** http://www.serveradventures.com/the-adventures/virtual-machines-in-ubuntu-server-virtualbox-phpvirtualbox&lt;br /&gt;
** http://www.unixmen.com/install-oracle-virtualbox-manage-using-phpvirtualbox-ubuntu-14-04-headless-server/&lt;br /&gt;
** http://www.howtoforge.com/vboxheadless-running-virtual-machines-with-virtualbox-4.3-on-a-headless-ubuntu-14.04-lts-server&lt;br /&gt;
* [[Ubuntu Linux - Festplatte mit LVM im laufenden Betrieb ohne Neustart vergrößern]]&lt;br /&gt;
* Ubuntu puTTY Zugriff mit SSH-Keys absichern: https://www.howtoforge.de/anleitung/key-basierte-ssh-logins-mit-putty/&lt;br /&gt;
* [[Ubuntu Bilder betrachten anzeigen mit puTTY in Konsole]]&lt;br /&gt;
* [[Ubuntu Syncthing installieren]]&lt;br /&gt;
* [[Ubuntu discosrv Global Discovery Server Syncthing installieren]]&lt;br /&gt;
* [[Ubuntu 14.04.x Inhalt der .bashrc]]&lt;br /&gt;
* [[Ubuntu 14.04.x Server minimale GUI und andere Spielereien]]&lt;br /&gt;
* [[IBM Storage Manager unter Ubuntu Linux installieren]]&lt;br /&gt;
* [[Ubuntu nano ist auf Englisch]]&lt;br /&gt;
* [[TSM Client auf Ubuntu installieren]]&lt;br /&gt;
* [[Ubuntu 14.04.x NFS Freigabe erstellen und verbinden]]&lt;br /&gt;
* [[Linux Bash wget etc http https Proxy angeben]]&lt;br /&gt;
* [[Ubuntu 14.04.x Apache 2.4.7 GeoIP Blocking mit IPv4 und IPv6 einrichten]]&lt;br /&gt;
* [[Ubuntu 16.04.x 2-Faktor bei SSH mit Google Authenticator einrichten]]&lt;br /&gt;
* [[Ubuntu 16.04.x Automatische Updates aktivieren oder deaktivieren in der Bash]]&lt;br /&gt;
* [[Ubuntu 16.04.x tmux für die Verwendung mit puTTY oder kiTTY]]&lt;br /&gt;
* [[Ubuntu automatischen Neustart von Diensten nach Upgrade deaktivieren]]&lt;br /&gt;
* [[Ubuntu CA Zertifikat importieren]]&lt;br /&gt;
* [[Ubuntu UFW konfigurieren]]&lt;br /&gt;
* [[Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==ufw Firewall==&lt;br /&gt;
* [[ufw Geoblocking mit Ubuntu 24.04]]&lt;br /&gt;
* [[ufw Limit gegen Überlastung einstellen]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Vaultwarden==&lt;br /&gt;
* [[Vaultwarden unter Ubuntu 24.04 und Apache Reverse Proxy]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Solaris==&lt;br /&gt;
* [[Solaris 10 - SSH Zugriff für root freischalten]]&lt;br /&gt;
* [[Solaris 10 - Tabulator und Pfeiltasten wie unter Linux]]&lt;br /&gt;
* [[Solaris 10 - NetBackup Client NetBackup Agent unter Solaris installieren]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== STRATO ==&lt;br /&gt;
* [[V-PowerServer startet nach Wiederherstellung eines Backups mit BackupControl nicht - mySQL startet nicht]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Hauptseite&amp;diff=15998</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Hauptseite&amp;diff=15998"/>
		<updated>2026-06-06T18:08:21Z</updated>

		<summary type="html">&lt;p&gt;BLinz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOCACHE__&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpage_row2&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;mainpage_hubbox&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxtitle_orange&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Letzte Meldungen&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;06.06.2026&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Server wird überlastet - wer oder was auch immer grast mein Wiki massiv ab mit maximal komplizierten Abfragen welche die CPU-Last hochtreiben.&amp;lt;br&amp;gt;&lt;br /&gt;
Das ganze von vielen verschiedenen IP-Adressen aus der ganzen Welt.&amp;lt;br&amp;gt;&lt;br /&gt;
Da die UFW-Firewall je eh schon Geoblocking macht, habe ich noch ein Ratelimit per {{code|ufw limit}} gesetzt, wenn es mehr als 6 Verbindungen innerhalb von 30 Sekunden sind, wird die IP so lange gesperrt bis diese für mindestens 30 Sekunden aufhört anfragen zu stellen.&amp;lt;br&amp;gt;&lt;br /&gt;
Der normale Leser sollte also nichts merken.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;15.05.2026&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Unter &#039;&#039;&#039;[[Zabbix Server + Agent unter Ubuntu 26.04 LTS installieren]]&#039;&#039;&#039; findet Ihr die aktuelle Version für die Installation eines Zabbix LTS-Servers unter dem aktuellen Ubuntu Server 26.04 LTS&amp;lt;br&amp;gt; Diesmaa musste nicht so viel wie letztes mal angepasst werden. Wenn man die Anleitung von der Zabbix-Webseite nutzt, funktioniert das Webinterface nicht. Zabbix will nun PHP-FPM nutzen und bringt unter Ubuntu 26.04 auch alles dafür mit, es fehlt aber die Aktivierung des FPM und Proxy Moduls im Apache Webserver.&amp;lt;br&amp;gt;&lt;br /&gt;
Auch den Teil für das Backup der Datenbank sowie dem Vergrößern der Festplatte habe ich angepasst / verbessert / erweitert.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;06.05.2026&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis|Mit dem Update auf 7.0.26-2 ist der Fehler wieder behoben}}&lt;br /&gt;
Zabbix verteilt gerade beim Update auf 7.0.26 unter Ubuntu 24.04 eine fehlerhafte {{code|/etc/zabbix/apache.conf}}&amp;lt;br&amp;gt;&lt;br /&gt;
Der Effekt ist das man dann auf der Weboberfläche entweder nur den PHP-Quellcode sieht oder eine Error 503 Fehlermeldung.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Lösung ist aus der&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/zabbix/apache.conf&lt;br /&gt;
den folgenden Abschnitt zu löschen / auszukommentieren:&amp;lt;br&amp;gt;&lt;br /&gt;
    &amp;lt;FilesMatch \.(php|phar)$&amp;gt;&lt;br /&gt;
        SetHandler &amp;quot;proxy:unix:/var/run/php/zabbix.sock|fcgi://localhost&amp;quot;&lt;br /&gt;
    &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
Da wird {{code|php-fpm}} erwartet, meine Anleitung (und Zabbix in der Vergangenheit) installiert aber nur das klassische PHP.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternativ kann man die Konfiguration auch einfach deaktivieren:&lt;br /&gt;
 a2disconf zabbix &amp;amp;&amp;amp; systemctl reload apache2&lt;br /&gt;
In meiner Anleitung wird ja eine eigene Konfigurationsdatei für den Aufruf der Weboberfläche gesetzt (so das man kein {{code|/zabbix}} an die URL anhängen muss), deshalb geht es dann auch ohne,&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;16.02.2026&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Update: Die &#039;&#039;&#039;UFW&#039;&#039;&#039; Firewall unter Ubuntu kann auch Geoblocking! Der Artikel war schon älter und für Ubuntu 20.04, mit etwas Fehlersuche und Anpassungen funktioniert das aber ganz hervorragend. Das ganze habe ich mir hier zusammengeschrieben: [[ufw Geoblocking mit Ubuntu 24.04]]&amp;lt;br&amp;gt;&lt;br /&gt;
Nachtrag: Die CPU-Last des Servers hat nun enorm abgenommen, &#039;&#039;&#039;UFW&#039;&#039;&#039; verbraucht erheblich weniger ressourcen beim Blocken als der Apache.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;16.02.2026&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
USA sind nun auch Blockiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Es gibt eine Mediawiki-Funktion bzw. Spezialseite um alle Änderungen in einem bestimmten Zeitraum abzufragen.&amp;lt;br&amp;gt;&lt;br /&gt;
Das ist eine Datenbankabfrage. Und genau diese kommt nun schon seit mehren Tagen fast pausenlos aus Kalifornien, USA, über verschiedene IP-Adressen.&amp;lt;br&amp;gt;&lt;br /&gt;
Und erzeugt hohe Last auf meinem Webserver.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich sperre die mal für eine paar Tage aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich brauche dringend mal eine Firewall davor die das Geoblocking übernimmt (im Moment mache ich es im Apache).&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;01.02.2026&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Extrem hohe Last auf dem Webserver hier ...&amp;lt;br&amp;gt;&lt;br /&gt;
Mein Internetzugang fing an &amp;quot;zu spinnen&amp;quot;, dieser Webserver hier war nahezu auf 100%, der Upload stand bei konstant 10MBit/s ...&amp;lt;br&amp;gt;&lt;br /&gt;
Diesmal lag es lag es an einer Testversion vom März 2025 dieser Webseite. Vor dem Upgrade hatte ich eine Kopie erstellt welche unter der Domäne &amp;quot;testwiki.znil.net&amp;quot; zu erreichen war.&amp;lt;br&amp;gt;&lt;br /&gt;
Die war natürlich nicht gepatched und hatte kein Geoblocking.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich habe diese nun einfach gelöscht und Ruhe ist.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;01.12.2025&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Geo-Blocking von Ländern:&amp;lt;br&amp;gt;&lt;br /&gt;
Es ist der 1. eines Monats und da bekomme ich immer die Auswertung von Matomo - das ist das Tool mit dem ich die Zugriffe auf meine Webseite auswerte. Normalerweise sind das so um die 5 bis 10.000 Besucher im Monat, während Corona waren es auch mal 20.000 (Der Artikel über Guacamole RDP war äußerst beliebt).&amp;lt;br&amp;gt;&lt;br /&gt;
In November waren es dann 167.000 eindeutige Besucher ... ok, hier stimmt etwas nicht. Ein Blick auf den Webserver - jupp der brummt für znil.net ordentlich.&amp;lt;br&amp;gt;&lt;br /&gt;
Blicke ins Log zeigen aber das zum einen - wie üblich - die ein oder andere Suchmaschine wieder mal die ganze Webseite abgrast. Das ist aber sonst auch so.&amp;lt;br&amp;gt;&lt;br /&gt;
Aber es gibt auch jede Menge Versuche, die Webseite zu hacken. Mit vergeblichen Aufrufen für Wordpress-Installationen, aber auch gezielt Mediwiki. Eine IP aus Polen die zufällig gerade stark aktiv war, habe ich dann von Hand gesperrt. Und mir die anderen Einträge mit solchen versuchen angeschaut.&amp;lt;br&amp;gt;&lt;br /&gt;
Tja, es sind ja eigentlich Klischees, aber China und Russland sind jetzt geblockt für diese Webseite. Die beiden Länder waren für 90% der fehlgeschlagenen Einträge verantwortlich,&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;09.06.2025&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Lang vor mir hergeschoben - aber nun ist meine Webseite hier endlich auf der neuen MediaWiki LTS Version 1.43 welche dann bis Dezember 2027 Updates erhalten wird. Die bisherige Version 1.39 wäre im November diesen Jahres ausgelaufen.&amp;lt;br&amp;gt;&lt;br /&gt;
Probleme gab es diesmal überraschend wenig:&amp;lt;br&amp;gt;&lt;br /&gt;
* Die 2 Faktor-Authentifizierung in 1.43 hat einen Upgrade-Fehler, man muss manuell einmal das SQL-Skript für das Anlegen der Tabelleneinträge ausführen und die {{code|update.php}} noch mal starten. Dann klappte die Anmeldung mit dem bisherigen Token&lt;br /&gt;
* Mein Skin {{code|Pivot}} funktionierte nicht mehr, es musste die aktuelle Version sein. Zudem musste ich den Namen im Skin-Verzeichnis von {{code|pivot}} auf {{code|Pivot}} ändern, also mit Großschreibung. Sonst fehlten die Symbole bei den Menüs etc.&lt;br /&gt;
* Die Kommentarfunktion &amp;lt;strike&amp;gt;zickt noch, ich habe die aktuelle Version der Erweiterung einfach als Extension geladen. Die Darstellung funktioniert, es fehlen noch die Felder die es anonymen Benutzern erlaubte einen gewählten Namen anzugeben. Zudem Kann man als nicht angemeldeter Benutzer noch gar keine Kommentare anlegen (gibt eine Fehlermeldung). Ich habe da in der Vergangenheit immer eigene Anpassungen gemacht, die muss ich gleich noch einarbeiten.&amp;lt;/strike&amp;gt; funktioniert jetzt auch wieder&lt;br /&gt;
Am besten gefällt mir aber, das die Erweiterung {{code|ClipUpload}} immer noch funktioniert. Die Erweiterung erlaubt es, in der Code-Ansicht beim Editieren einen Screenshot aus der Zwischenablage einfach per {{key|STRG}} + {{key|V}} einzufügen, ohne Nachfragen, direkter Upload und Einfügen des Dateinamens. Das normale Vorgehen will 1.001 Frage beantwortet haben (Lizenz, Name usw) und dauert mir beim dem Erstellen von Anleitungen viel zu lange.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;24.04.2025&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Webseite ist umgezogen - und läuft nun &amp;quot;im Homeoffice&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Wie immer unter Ubuntu - die aktuelle 24.04 LTS Version, mit Apache2 Webserver und MariaDB Datenbank. Mal schauen ob 500MBit/s an Upload reichen :-)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;strike&amp;gt;Und die Seite ist - endlich - auch wieder über IPv6 zu erreichen.&amp;lt;/strike&amp;gt; Sollte gehen, geht aber nicht. Ausgehend kein Problem, aber die Portweiterleitung der FRITZ!Box zickt scheinbar rum&amp;lt;br&amp;gt;&lt;br /&gt;
Ich habe hier noch einen 2. Linux Rechner mit IPv4, dieser lässt sich trotz identischer Einstellungen von außen pingen. Mal sehen ob ich herausbekomme woran das liegt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Update:&#039;&#039;&#039;&amp;lt;/u&amp;gt; Schön wenn man ein anderes System zum vergleichen hat. Es fehlte schlicht in der Netzwerkkonfiguration das IPv6 Gateway.&amp;lt;br&amp;gt;&lt;br /&gt;
Warum auch immer der ausgehende IPv6 Traffic trotzdem funktioniert hatte ...&amp;lt;br&amp;gt;&lt;br /&gt;
Also: Die Seite ist - endlich - auch wieder über IPv6 zu erreichen!&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;12.03.2025&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Umzug der Webseite im April!&amp;lt;br&amp;gt;&lt;br /&gt;
Mein bestehender Glasfaseranschluss der Telekom wird Anfang April zu einem Geschäftskundenanschluss geändert (Business Glasfaser Pro 1000), mit fester IP-Adresse (IPv4 und IPv6).&amp;lt;br&amp;gt;&lt;br /&gt;
Der Upload beträgt dann 500MBit - das ist zwar nur halb so schnell wie es angeblich zur Zeit ist (laut IONOS 1GBit/s), aber so viele Aufrufe hat meine Webseite nicht (abgesehen von sporadischen Hacking versuchen).&amp;lt;br&amp;gt;&lt;br /&gt;
Ich werde die Webseite dann von zu Hause hosten. In dem Zuge werde ich das Mediawiki dann auch auf die letzte LTS-Version bringen, im Moment läuft es noch auf der LTS-Version &#039;&#039;&#039;1.39.x&#039;&#039;&#039; die noch bis November 2025 unterstützt wird, aktuell wäre &#039;&#039;&#039;1.43.x&#039;&#039;&#039; welches bis November 2027 unterstützt wird. Meine Sorgenkinder bei Upgrades sind immer die &amp;quot;Paste from Clipboard&amp;quot; Funktion um Screenshots schnell in Artikel einzufügen und die Kommentarfunktion.&amp;lt;br&amp;gt;&lt;br /&gt;
Da ich dann aber ja voll Kontrolle über den Server habe, wird es dann einfach mit Backups und Snapshots.&amp;lt;br&amp;gt;&lt;br /&gt;
Im Moment bereite ich das Netzwerk und die Firewall dafür vor - ich bin ein großer Freund von Reverse Proxy, Geo-IP-Blocking und Let&#039;s Encrypt Zertifikaten, im Zweifel alles 3 zusammen.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich werde über den Stand dann an dieser Stelle berichten.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;18.12.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
WireGuard schlägt IPSec!&amp;lt;br&amp;gt;&lt;br /&gt;
Ich habe fast den ganzen gestrigen Tag damit verbracht, die VPN-Verbindung zwischen meiner FRITZ!Box und meinem Mietserver von IPSec auf WireGuard umzustellen.&amp;lt;br&amp;gt;&lt;br /&gt;
Den Tunnel aufzubauen hatte schon nach ein paar Minuten geklappt, leider hat die FRITZ!Box aber hartnäckig ein NAT über den Tunnel gemacht. Konnte ich Lösen und habe eine Anleitung dafür geschrieben: [[FritzBox - Site to Site VPN zu pfSense mit WireGuard ohne Tunnel NAT]]&amp;lt;br&amp;gt;&lt;br /&gt;
Gemacht habe ich das ganze ich das weil ich mir eine besser Performance erhofft hatte. Und erste Tests mit {{code|iperf3}} zeigten einen um 40% höher Datendurchsatz.&amp;lt;br&amp;gt;&lt;br /&gt;
Heute Nacht lief nun das erste Backup (eine Veeam Replikation) über WireGuard statt IPSec:&amp;lt;br&amp;gt;&lt;br /&gt;
Vorher mit IPSec:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-241218-112649.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Nun mit WireGuard:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-241218-112719.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
2h25m schneller! Bei sogar 1GByte mehr Daten. und von den 1h45m sind eine Stunde alleine die &#039;&#039;&#039;Retention Policy&#039;&#039;&#039;, also das löschen und zusammenführen alter Snapshots am Ziel.&amp;lt;br&amp;gt;&lt;br /&gt;
Fazit: hat sich gelohnt!&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;29.09.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Ich konnte mich endlich auch mal etwas mehr mit Proxmox beschäftigen (und wie gut Veeam es schon unterstützt).&amp;lt;br&amp;gt;&lt;br /&gt;
Zunächst auf einen Mini-PC der 200Euro Klasse (Intel N95 Prozessor, 16GB RAM, 512GB SSD, 2 x LAN) mit dem ich etwas herumgespielt habe, inklusive der Migration einer VMware-VM dorthin. Um die Live-Migration zu testen habe ich mir dann noch einen 2. Mini-PC gekauft. Und hatte dann eine steile Lernkurve (Datenträger müssen auf alles System gleich sein - und ZFS formatiert sein), inklusive einer kompletten Migration da ich beide Nodes noch mal neu mit ZFS installieren musste.&amp;lt;br&amp;gt;&lt;br /&gt;
Damit ich das später auch wieder hinbekommen, gibt es nun links einen neuen Bereich Proxmox unter welchen ich dann wie immer sammle was ich interessant fand bzw. wie ich mein System eingerichtet habe.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;03.07.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Die Kommentarfunktion braucht ein paar Anpassungen an das aktuelle PHP8.3&amp;lt;br&amp;gt;&lt;br /&gt;
Da kommen zwar nur Warnungen, aber die erscheinen halt ständig im Log. Es gibt auf GitHub bereits eine angepasste Version (leider ohne angepasste Versionsnummer), die arbeitet aber mit meiner &amp;quot;alten&amp;quot; Mediawiki-Version 1.39 nicht zusammen. Das ist aber nun mal die aktuelle LTS-Version und die neue ist noch nicht erschienen.&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt muss ich also entweder mit den Warnungen leben, diese Seite auf dem älteren PHP8.1 laufen lassen, eine Kurzzeit-Mediawiki-Version mit nur einem Jahr Support einsetzen oder die Kommentarfunktion dauerhaft abschalten. Ich habe mich noch nicht entschieden.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich nutze eine von mir angepasste Version von https://www.mediawiki.org/wiki/Extension:Comments die ich immer dahingehend ändere das auch anonyme Kommentare möglich sind (mit freier Angabe eines Names oder Email-Adresse). Zudem ist eine - mini - AntiSPAM Funktion eingebaut und ich erhalte immer sofort eine Email über einen neuen Kommentar.&amp;lt;br&amp;gt;&lt;br /&gt;
Das habe ich mir gut Dokumentiert, ist trotzdem ein Sonntagnachmittag Arbeit das jedes mal einzupflegen.&amp;lt;br&amp;gt;Nur um mich dann per Kommentar beschimpfen zu lassen wenn da jemanden etwas nicht passt ...&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;27.06.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Ich habe mal die Kommentarfunktion meiner Seite deaktiviert, da gab es heute wohl einen Angriff wo versuchte wurde diese als Lücke zu missbrauchen. Laut Logs hat das nicht geklappt, aber so habe ich den Angriff ins leere laufen lassen.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;23.06.2024 09:45Uhr&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Es ist 2024 ... und ich bekomme IPv6 an meinem neuen Server nicht zum laufen. Offensichtlich wird es nicht durchgelassen. Jedenfalls kommt kein IPv6 Datenverkehr an meinem Server an.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;23.06.2024 00:55Uhr&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
znil.net läuft nun auf einem neuen virtuellen Server bei IONOS. Nach 2 Tagen war der alte zwar migriert. Aber der neue - die technischen Daten sind identisch - kostet nur 4 statt 5 Euro im Monat. Und ich konnte so parallel gleich auf Ubuntu 24.04 LTS + PHP8.3 umziehen.&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt geht es ins Bett, morgen muss ich noch genauer prüfen ob noch alles funktioniert.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;20.06.2024 13:44Uhr&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
So, telefonisch konnte ich ein Ticket eröffnen. Nein, das ist nicht normal, die VM hätte schon längst wieder laufen sollen. Es wird jetzt geschaut was bei meiner VM hakt.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;20.06.2024 13:02Uhr&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-240620-130053.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
so so, 20 Minuten. Die Meldung habe ich im Portal gefunden, wenn ich versuche auf &#039;&#039;&#039;&#039;&#039;Server &amp;amp; Cloud&#039;&#039;&#039;&#039;&#039; zu zugreifen werde ich immer noch sofort abgemeldet.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich suche gerade wo ich dort ein Ticket eröffnen kann.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
&#039;&#039;&#039;20.06.2024 09:35Uhr&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Na IONOS, das klappt ja scheinbar toll. Statt &amp;quot;kurzer Unterbrechung&amp;quot; sind es nun schon fast 20h Ausfall, laut deren Status Webseite https://www.ionos-status.de/ läuft alles Störungsfrei, das Portal für die Cloud-Server Verwaltung ist immer noch komplett abgeschaltet (zumindest für mich).&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;19.06.2024 20:23Uhr&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Heute seit 15:00 Uhr stellt IONOS meinen vServer um auf dem diese Webseite läuft. Das sollte angeblich nicht lange dauern.&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt, 5h später, ist mein Server immer noch nicht erreichbar.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Webportal von IONOS zur Verwaltung meines vServers ist auch komplett abgeschaltet - man wird sogar sofort ausgeloggt wenn man auf den betreffenden Menüpunkt geht.&amp;lt;br&amp;gt;&lt;br /&gt;
Genügend Gelegenheit einmal mein Backup zu testen.&amp;lt;br&amp;gt;&lt;br /&gt;
So konnte ich meine Webseite mit Stand gestern, 22:00 Uhr wiederherstellen. Die Webseite läuft im Moment auf meinen Heimserver. Der hat zwar genügend Dampf, mein Internetanschluß von Kabel Deutschland hat aber leider nur 50MBit Upload.&amp;lt;br&amp;gt;&lt;br /&gt;
Aber besser als nichts, zur Not kann ich die Seite auch noch auf einen anderen Server mit 250Mbit Upload umziehen, aber das hier war jetzt schneller und einfacher.&amp;lt;br&amp;gt;&lt;br /&gt;
Und es wäre schön wenn der Originalserver doch noch wieder hoch kommt, ich habe heute noch diverses im Wiki geschrieben/korrigiert.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;10.06.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Ich bin endlich dazu gekommen eine aktuelle Anleitung für Ubuntu 24.04 und Zabbix 6 / Zabbix 7 zu schreiben: [[Zabbix Server + Agent unter Ubuntu 24.04 LTS installieren]]&amp;lt;br&amp;gt;&lt;br /&gt;
Es waren nicht so viele Änderungen wie befürchtet. Schlecht ist aber schon mal das ich bisher keine aus Zabbix 6 exportierten Templates in Zabbix 7 importiert bekommen habe, das muss ich mir noch mal genauer anschauen.&amp;lt;br&amp;gt;&lt;br /&gt;
Mein jetziger Zabbix 6.0 LTS Server stammt von von meinen allerersten Zabbix-Server 2.2 ab, dieser wurde immer wieder geupgradet. Nun möchte ich mal einen Neuanfang machen, auch um jede menge Altlasten los zu werden, z.B. habe meine Items noch alle eine Server-Node Id, allen Item-Ids ist also eine &amp;lt;code&amp;gt;42042000000&amp;lt;/code&amp;gt; vorangestellt, das werde ich sonst nie los.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;27.05.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
znil.net ist nun nur noch über IPv4 zu erreichen. Grund ist das IONOS die virtuelle Maschine auf welcher diese Webseite läuft, migriert und dabei neue IPv6 Adressen zuweisen wird. Dei IPv4 soll unverändert erhalten bleiben.&amp;lt;br&amp;gt;Scheinbar wird dabei auch der darunterliegende Hypervisor geändert. Bisher ist meine VM eine VMware vSphere-VM, mal sehen was es danach ist.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;31.01.2024&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Und die Extension &amp;quot;ClipUpload&amp;quot; funktioniert nun doch. Nachdem ich bei einem Kunden die Extension [https://www.mediawiki.org/wiki/Extension:MsUpload MsUpload] gesehen hatte - mit der kann man einfach per Drag&amp;amp;Drop viele Dateien/Bilder in einem Rutsch hochladen - hatte ich diese bei mir installiert. Die Extension funktioniert aber nur in Verbindung mit dem [https://www.mediawiki.org/wiki/Extension:WikiEditor WikiEditor]. Der ist &amp;quot;ab Werk&amp;quot; dabei, ich hatte den aber deaktiviert weil ich diesen nicht gebraucht habe. Der WikiEditor erscheint in dem von mir bevorzugten Quelltext-Editor. Und in diesem / mit diesem funktioniert mein heiß geliebtes und Innig geliebtes &amp;quot;ClipUpload&amp;quot;. Mit dieser Erweiterung kann ich Screenshots (aus der Zwischenablage) im Quelltext-Editor einfach per {{Key|STRG}} + {{Key|V}} einfügen - ohne nervige Nachfragen etc.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;05.02.2023&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Das MediaWiki-System auf dem diese Webseite basiert wurde von der LTS-Version 1.35.9 auf die neue LTS-Version 1.39.1 aktualisiert. Wie immer gab es Probleme mit einigen Erweiterungen. Bei den meisten reichte die für MediaWiki 1.39.x passende Version zu installieren. Die Kommentarfunktion musste ich wieder nach meinen Ansprüchen anpassen - was relativ schnell ging da ich beim letzten mal ordentlich dokumentiert hatte - so musste ich nur in der alten Version nach meinen Kommentaren suchen und die Abschnitte entsprechend in der neuen Version ändern.&amp;lt;br&amp;gt;&lt;br /&gt;
Leider - &#039;&#039;&#039;LEIDER&#039;&#039;&#039; - ist die Extension &amp;quot;ClipUpload&amp;quot; nun auf der Strecke geblieben, beim letzten mal konnte man die noch mit Codeänderungen zum laufen bringen. Die Erweiterung erlaubte es per {{Key|STRTG}} + {{Key|V}} einfach Bilder in das Mediawiki einzufügen. Es wird auf [https://www.mediawiki.org/wiki/Extension:SimpleBatchUpload simple-batch-upload] verwiesen ... mhh, nicht wirklich das selbe.&amp;lt;br&amp;gt;&lt;br /&gt;
Als nächstes steht dann das Upgrade auf 22.04 LTS + PHP8 an.&amp;lt;br&amp;gt;&lt;br /&gt;
Nachtrag: Es gibt einen &#039;&#039;&#039;[https://www.mediawiki.org/wiki/Extension:VisualEditor VisualEditor]&#039;&#039;&#039; der ab Werk bei MediaWiki dabei ist (keine Ahnung seit welcher Version), der kann das auch. In Umständlich. Titel, Beschreibung usw. muss alles über Dialoge angegeben werden anstatt das Bild einfach sofort hochzuladen (ich weis schon was ich tue).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;10.10.2022&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Die Zabbix Summit 2022 in Riga: [https://www.meinekleinefarm.net Marco Hofmann] hat einen Vortrag darüber gehalten wie man unter Windows den Zabbix Agenten auf hunderten von Systemen und verschiedenen Kundenumgebungen synchron hält. Das erwähne ich weil er dazu unter anderem auch Werkzeuge von mir einsetzt - eine Abwandlung meiner [[Zabbix Agent für Windows per Skript automatisch installieren Musterdatei|InstallZabbixAgent.bat]] und das Tool für [[Agent Auto Updater|automatische Updates des Agenten]].&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:Hofmann-1200x628px.png|400px|link=https://www.meinekleinefarm.net/zabbix-summit-2022-in-riga-keeping-hundreds-of-windows-zabbix-agents-in-sync-across-different-customers/]]&amp;lt;br&amp;gt;&lt;br /&gt;
Seinen Vortrag findet ihr hier auf Youtube: https://youtu.be/IQQwTEtwl7M?t=19987 &amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;05.10.2021&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Das Mediwiki dieser Seite ist nun auf Version 1.35.4. Und ich müsste mal daran gehen wieder eine Kommentar-Übersichtsseite zu programmieren ...&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;06.05.2021&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Das waren jetzt fast 4h Arbeit - aber die Kommentarfunktion funktioniert wieder wie vorher.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Extension basiert wieder auf dem aktuellen Original: https://www.mediawiki.org/wiki/Extension:Comments und wurde wieder nach meinen Bedürfnissen angepasst.&amp;lt;br&amp;gt;&lt;br /&gt;
Unter anderem war in der aktuellen Version der Datenbank gar kein Feld mehr für den Namen/Email-Adresse vorgesehen, das habe ich wieder nachgerüstet.&amp;lt;br&amp;gt;&lt;br /&gt;
Die meiste Zeit habe ich damit verbracht die Stelle in den ganzen PHP-Skripten zu finden an der die eigentliche Datenbankabfrage durchgeführt wird.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;05.05.2021&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Großes Update der Webseite!&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Upgrade auf die Mediawiki LTS Version 1.35.2&lt;br /&gt;
* Umzug von Ubuntu 18.04 LTS auf 20.04 LTS&lt;br /&gt;
* Umzug von MySQL auf MariaDB&lt;br /&gt;
* Umzug von PHP 7.2 auf 7.4.3&lt;br /&gt;
* Umzug auf V-Server M von IONOS&lt;br /&gt;
* Seite ist nun über IPv4 und IPv6 erreichbar!&lt;br /&gt;
Hat im ganzen ganz gut geklappt. Auf der Strecke sind 2 Erweiterungen geblieben: Die Anzeige der zuletzt geänderten Artikel sowie eine selbst programmierte Seite welche mir alle Kommentare auf einer Seite angezeigt hatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Auch die Schaltfläche die auf jeder Seite unten rechts zum Hochscrollen war fehlt noch.&amp;lt;br&amp;gt;&lt;br /&gt;
Ganz hervorragend am &#039;&#039;&#039;IONOS V Server&#039;&#039;&#039; gefällt mir das es eine VM unter VMware ist, die Firewall davor in der man selbst Port für Port freischalten muss - und das ich die mit dem &#039;&#039;&#039;&#039;&#039;Veeam Agent for Linux&#039;&#039;&#039;&#039;&#039; einfach sichern kann. Und die Büchse ist angenehm schnell, mit 300Mbit angebunden und kostet nur 5 Euro im Monat.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Nachtrag:&#039;&#039;&#039; Die Kommentarfunktion funktioniert ... aber der Refresh nachdem man senden gedrückt hat sieht komisch aus. {{Key|F5}} behebt das, mal sehen ob ich da was ändern kann. Das ist eine Extension die ich so angepasst habe das man auch ohne Anmeldung mit einem Namen etwas posten kann und das mir eine Email gesendet wird wenn es einen Kommentar gibt. Es gibt eine neuere Version davon die ich dann allerdings auch wieder neu anpassen muss.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;31.01.2021&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Ich habe einen neuen Artikel zum Thema GeoIP-Blocking mit Apache2 veröffentlicht: [[Apache2 Ubuntu 24.04 22.04 20.04 GeoIP Blocking einrichten]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und das ganze auch gleich als Gelegenheit genutzt bei meinen diversen Subdomänen das ganze umzusetzen. Meine Seafile- oder mein Zabbix-Server müssen z.B. nur aus Deutschland erreichbar sein.&amp;lt;br&amp;gt;[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;30.12.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Eigentlich wollte ich diesen Webserver mal auf Ubuntu 20.04 LTS aktualiseren ... aber das hat per &amp;lt;code&amp;gt;do-release-upgrade&amp;lt;/code&amp;gt; im Gegensatz zu meinen anderen VMs nicht geklappt. MediaWiki 1.3 mag irgendwie PHP 7.4 auch nicht richtig (auch wenn ich es woanders schon habe laufen gesehen). Also doch wie immer - neuen Server installieren und dann die Domänen Stück-für-Stück umziehen.&amp;lt;br&amp;gt; [[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;25.06.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:MFA_Badge.png|left]] Geschafft! Ich habe erfolgreich die Prüfung &amp;quot;MFA technical Certification&amp;quot; der Firma WatchGuard abgeschlossen. Es geht um die [https://www.watchguard.com/de/wgrd-products/authpoint-multi-factor-authentication MFA Lösung AuthPoint der Firma WatchGuard] - bei der Vorbereitung war hilfreich das ich MFA schon länger auch privat für den Schutz meiner Zugänge einsetze. Unter anderem [https://duo.com/ duo.com] für RDP da es bis 10 Personen auch kostenlos genutzt werden kann. WatchGuard ist - aus meiner Sicht - mehr pures MFA, DUO hat dafür quasi jeden Anwendungsfall eine eigene Anleitung und geht tiefer auf die Endgeräte ein. Wobei z.B. eine nicht aktuelle Android-Version ständig angemeckert wird.&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;26.04.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Stromkosten: Auch ich sitze nun mehr im Homeoffice. Und in meinem Kellerbüro habe ich meinen Rechner hinter mir - und einen 40HE Datenschrank im Blick vor mir. Mit den Tagen ging mir zum einen der Lärm der ganzen Lüfter irgendwann auf den Kecks. Und den Stromverbrauch (den ich bis dato aber nicht gemessen habe) wollte ich auch senken. Den Verbrauch der Switche kannte ich durch Einzelmessungen, der lag bei ca. 100 Watt (für 48 Gigabit Ports + 6 PoE Ports). Diesen habe ich durch einen neuen Switch Allnet-SG8428M (13 Watt maximal!) und einen sparsameren PoE Sitch für die Telefone und Kameras stark reduziert. Zeitgleich habe ich mit Gosund SP111 WLAN-Steckdosenschaltern herumgespielt. Mit der Tasmota Firmware und einer Kalibrierung taugen diese scheinbar auch ganz gut als Strommessgeräte.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich hab nun also meinen Datenschrank zu Hause daran gehängt und musste ernüchternd einen Dauerstromverbrauch von 140 bis 150 Watt feststellen.&amp;lt;br&amp;gt;&lt;br /&gt;
* 44 Watt davon gehen für PoE drauf - 5 Cisco Telefone und 2 IP-Kameras.&amp;lt;br&amp;gt;&lt;br /&gt;
* 16 Watt maximal für die beiden anderen Switche (der ALLNET und ein 16 Port Netgear) &lt;br /&gt;
* 9 Watt mein ESXi Server auf Basis eines APU2C4 von PC Engines (inklusive 2TB USB Festplatte daran)&lt;br /&gt;
* um die 20 Watt schätze ich die beiden FritzBoxen ...&lt;br /&gt;
* bleiben ca. 89 Watt für meinen Heimserver - mit 2x 128GB SSD und 4 x 4TB HDD&lt;br /&gt;
* und die USV wird da mit Ihrem Eigenanteil auch irgendwo dazwischen liegen&lt;br /&gt;
Wenn ich den Verbrauch mal in einen Kostenrechner werfe:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-200426-192323.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:(erstellt mit [https://www.stromverbrauchinfo.de/stromkostenrechner.php stromverbrauch info])&amp;lt;br&amp;gt;&lt;br /&gt;
weis ich nun auch warum wir immer so eine fette Stromrechnung habe. Als 4 Personenhaushalt verbrauchen wir soviel wie einer mit 8. Und dabei habe ich doch gerade schon soviel eingespart ...&amp;lt;br&amp;gt;&lt;br /&gt;
Ich werde das nun - dank mit Zabbix überwachten Strom/Leistungsverbrauch mal besser beobachten und schauen wie ich da in Zukunft noch mehr einsparen kann.&amp;lt;br&amp;gt;&lt;br /&gt;
Jedes Watt sind 2,60 €/Jahr oder 22 Cent/Monat - klingt nicht viel aber wie man sieht läppert es sich.&amp;lt;br&amp;gt;&lt;br /&gt;
Mal sehen wie der Durchschnitt nach einem Monat ist. Nachts schaltet sich z.B. die Beleuchtung der IP-Telefone ab was schon 10 Watt spart.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;14.04.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit gewissen Stolz habe ich meine Version eines &amp;quot;Active Directory-Gruppe mit Zabbix Benutzern Abgleichen via LDAP&amp;quot; Skriptes fertiggstellt:&amp;lt;br&amp;gt;&lt;br /&gt;
 https://github.com/BernhardLinz/zabbix-ldap-sync-bash&lt;br /&gt;
Wer nach so etwas googelt landet quasi ausschließlich bei dem von Marc Schöchlin geschriebenen Python Script: https://github.com/zabbix-tooling/zabbix-ldap-sync&amp;lt;br&amp;gt;&lt;br /&gt;
An dem haben mich aber schon immer die ganzen Abhängigkeiten gestört wie &#039;&#039;&#039;pyldap&#039;&#039;&#039; oder &#039;&#039;&#039;pyzabbix&#039;&#039;&#039;. Ich hab nun mal leider auch Kunden mit Systemen ohne Internetanbindung oder älteren Linux Versionen - und da ist es schwer diese zu erfüllen.&amp;lt;br&amp;gt;&lt;br /&gt;
Mein Skript ist &amp;quot;pures&amp;quot; Bash. Es wird nur der Befehl &#039;&#039;&#039;ldapsearch&#039;&#039;&#039; und &#039;&#039;&#039;curl&#039;&#039;&#039; benötigt - und bisher waren die in allen Repositories der Distributionen vorhanden.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;03.04.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Ich nutze nun [https://www.google.com/search?q=tripwire+ubuntu Tripwire] um meinen Webserver zu überwachen. Gefällt mir sehr gut, man muss nur daran denken nach jeden Update oder Änderung die Datenbank wieder auf Stand zu bringen. Ich bekomme im Moment jeden Tag einen Email-Report dazu - da muss ich noch mal schauen wir ich das in Zabbix unterbringe bzw. mir nur eine mail senden lasse wenn auch etwas ansteht.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;01.02.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Noch ein Nachtrag zum &amp;quot;Angriff&amp;quot;:&amp;lt;br&amp;gt; zwischendurch fehlten auf dem Server 16G an Speicherplatz.&amp;lt;br&amp;gt;&lt;br /&gt;
Gemerkt habe ich das mit Zabbix weil dadurch ein Schwellwert erst unter- und dann wieder überschritten wurde.&amp;lt;br&amp;gt;&lt;br /&gt;
Die 16G waren das &amp;lt;code&amp;gt;error.log&amp;lt;/code&amp;gt; für die Domäne &#039;&#039;&#039;znil.net&#039;&#039;&#039;. Darin fand ich jede Menge Fehlermeldung das versucht wurde &amp;lt;code&amp;gt;\bin\bash&amp;lt;/code&amp;gt; zu starten - was aber nun mal nicht erlaubt ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Bin im Moment gerade glücklich darüber das ich jede Domäne / Webseite / Subdomäne unter einem eigenen, eingeschränkten Benutzer laufen lasse.&amp;lt;br&amp;gt;&lt;br /&gt;
Das mache ich nicht von Hand sondern per ISPConfig weil ich faul bin. Funktioniert aber scheinbar ja prima.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;01.02.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Also, wenn ich so ein Online-Tool nutze um meine Webseite zu überprüfen dann melden diese ggf. (nicht immer) eine &amp;quot;SQL-Injection&amp;quot; Lücke in meiner Kommentarfunktion.&amp;lt;br&amp;gt;&lt;br /&gt;
Und zwar weil wohl dann gängige Test-SQL-Abfragen mit gesendet werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Senden erfolgt via JavaScript im Browser des Benutzers, der Empfänger ist das PHP-Skript auf dem Server.&amp;lt;br&amp;gt;&lt;br /&gt;
In der letzten Version dieses Skriptes (angepasst von mir) gibt es keine Filter mehr, er nimmt einfach alles an. Früher habe ich dort auf Viagra &amp;amp; Co gefiltert.&amp;lt;br&amp;gt;&lt;br /&gt;
Aber der Teil darunter der dann den Text in die Datenbank schreibt ist wohl ausreichend gefestigt - er schreibt einfach alles was kommt in den Datensatz der Datenbank. Die SQL-Injections tauchen so einfach als Text im Kommentarfeld auf, werden aber nicht ausgeführt. Also alles gut Denke ich.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;01.02.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Angriff auf diese Webseite:&amp;lt;br&amp;gt;&lt;br /&gt;
In der Nacht von gestern auf heute hat jemand versucht per SQL-Injektion sich Zugriff auf diese Webseite zu verschaffen.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;Schwachstelle&amp;quot; ist die Kommentarfunktion. Ein Online-Scurity-Scanner hatte mir diese bereits mal als anfällig dafür gemeldet.&amp;lt;br&amp;gt;&lt;br /&gt;
Da ich die Mediawiki-Extension überarbeitet hatte, habe ich umfangreiche &amp;quot;Suchen und Erstzen&amp;quot;-Regeln erstellt die alles was mit SQL zu tun hat ausfiltert.&amp;lt;br&amp;gt;&lt;br /&gt;
Deshalb sehen manche Kommentare hier dann komisch aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich prüfe mal das System intensiv ob die Abwehr erfolgreich war ... oder ob ich doch ein Backup wieder einspiele.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;25.02.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
znil.net weiterhin &amp;quot;Tracker-frei&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich nutze Matomo (ehemals Piwik) um Statistiken für diese Webseite zu erhalten. Eigentlich mehr aus Neugier um zu sehen wie das funktioniert, es hat mir aber auch schon bei Verbesserungen geholfen da man manchmal recht gut erkennen kann wenn die Leute bei Suchanfragen falsch abbiegen.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich hab in einem meiner Browser seit einiger Zeit ein &amp;quot;Anti-Tracking-Tool&amp;quot; installiert weil dadurch sich die Ladezeiten bei einer meiner Lieblingwebseiten dramatisch verbessert haben (https://thingiverse.com). Voller Freude sehe ich das ich wohl alles richtig gemacht habe - denn das Tool zeigt mir bei dieser Seite an das es nicht zu blockieren gibt. Alles bleibt also innerhalb dieser Seite. Siehe auch: [https://znil.net/index.php?title=Znilwiki:Impressum#Datenschutzerkl.C3.A4rung Datenschutzerklärung]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;19.02.2020&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Sieht nicht nach Leben aus wenn sich die Startseite nie ändert - ich muss noch mal wieder nach einer Mediawiki-Extension schauen welche die neuesten Artikel hier präsentiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Hatte ich schon mal, funktionierte nach einem Update nur nicht mehr.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;04.07.2019&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Seite ab sofort nur noch über &#039;&#039;&#039;&#039;&#039;https://&#039;&#039;&#039;&#039;&#039; zu erreichen - die meisten Aufrufe kamen sowieso schon darüber.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;08.06.2019&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Die Mediawiki-Installation ist nun auf 1.13.2 aktulisiert - einige potentielle Sicherheitslücken wurden geschlossen. Hier der Artikel dazu: https://lists.wikimedia.org/pipermail/mediawiki-announce/2019-June/000230.html&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;25.05.2019&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn man nicht alles testet ... die Kommentarfunktion war ohne &amp;quot;Funktion&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Zum Glück ist es eine Erweiterung die noch gepflegt wird, ich habe mir die neue Version herunter geladen und wieder an diese Webseite angepasst: https://git.znil.net/mediawiki/Comments&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;16.05.2019&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:WG Network Security Badge.png|left]] Geschafft! Ich habe erfolgreich die Prüfung &amp;quot;Network Security Technical Certification&amp;quot; der Firma WatchGuard abgeschlossen.&lt;br /&gt;
Ich hatte auch schon mal leichtere Prüfungen.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039;14.05.2019&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Das Wiki ist wieder einmal umgezogen. Statt auf einem Server in Frankreich läuft es nun auf einem Server in Deutschland - vielen Dank an meinen Arbeitgeber.&amp;lt;br&amp;gt;&lt;br /&gt;
Im gleichen Atemzug habe ich von der Mediawiki-Version 1.27 LTS auf die Version 1.31 LTS gewechselt - der Support läuft im Juni aus und 1.31 bietet nun wieder Updates bis Juni 2021.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei ist leider die &#039;&#039;&#039;WikiLog&#039;&#039;&#039;-Erweiterung auf der Strecke geblieben, diese ist nicht mehr kompatibel und wird auch schon länger nicht mehr weiter einwickelt.&amp;lt;br&amp;gt;&lt;br /&gt;
Also mache ich das jetzt von Hand ...&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:BLinz|Bernhard Linz]]&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;mainpage_hubbox&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxtitle_ocean&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Wie ist &amp;lt;del&amp;gt;meine&amp;lt;/del&amp;gt; deine IP-Adresse?&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot; style=&amp;quot;font-family:&#039;Courier New&#039;, Monospace; background: #FFFFCC;&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 70%; background-color: #FFFFCC&amp;quot;|&amp;lt;big&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IP :&#039;&#039;&#039; &amp;lt;ClientIP /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Typ:&#039;&#039;&#039; &amp;lt;IPv4orv6 /&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;DNS:&#039;&#039;&#039; &amp;lt;ClientName /&amp;gt; &amp;lt;br&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
|| Ermittelt mit den PHP-Funktionen dafür&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpage_boxtitle_black&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Cookies und Datenschutz ...&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
Diese Webseite verwendet bei Besuchern Cookies! [http://www.cookie-checker.com/check-cookies.php?url=znil.net www.cookie-checker.com]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;!--        &amp;lt;div class=&amp;quot;mainpage_boxtitle_black&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Die letzten 10 Änderungen&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
{{RecentActivity:type=edits|count=10}}&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxtitle_blue&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Tools - Kleine Programme für Batchdateien und anderes&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
* [[ZnilTools:ifmemberDELUXE.exe|ifmemberDELUXE]] - Netzlaufwerke und Netzwerkdrucker in Anmeldeskripten verbinden&amp;lt;!--, kann Drucker-Server für 32/64 Bit wählen--&amp;gt;&lt;br /&gt;
* [[ZnilTools:Telnet_SMTP_Test_Tool|Telnet_SMTP_Test_Tool.exe]] - Grafische Oberfläche für den Test von SMTP-Servern per Telnet&lt;br /&gt;
* [[Zabbix:Template Windows Dateien und Ordner]] - Überwachung mit vielen Beispielen&lt;br /&gt;
* [[Host per Popup-Skript aus der Zabbix-Server Weboberfläche in Wartung setzen]]&lt;br /&gt;
* [[Calibre eBook MultiUser Tool / Funktion]] - Calibre mit mehreren Benutzern gleichzeitig nutzen&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;mainpage_boxtitle_green&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Webseiten die ich regelmäßig besuche ...&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
* http://c64-online.com/ -&amp;gt; Alles über den C64 &amp;amp; Geniales zum Raspberry Pi&lt;br /&gt;
* https://forum.iobroker.net/ -&amp;gt; Alles zu ioBroker&lt;br /&gt;
* https://www.autoit.de -&amp;gt; Wo sonst bekäme man so viel deutsche Hilfe zu AutoIt!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--    &amp;lt;div class=&amp;quot;mainpage_hubbox&amp;quot;&amp;gt;--&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxtitle_black&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;Die letzten Änderungen&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--{{RecentActivity:type=new|count=10}}--&amp;gt;&lt;br /&gt;
{{Special:RecentChanges/days=365,limit=10,hidebots,hideminor,hidecategorization}}&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxtitle_grey&amp;quot;&amp;gt;&amp;lt;big&amp;gt;&#039;&#039;&#039;[[Spezial:Statistik|Informationen]] zum znilwiki, Stand {{CURRENTDAY2}}.{{CURRENTMONTH}}.{{CURRENTYEAR}} um {{LOCALTIME}} Uhr:&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;mainpage_boxcontents&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- * znil.net über das Tor Netzwerk: http://znilnet655kecmslpvcrvpwujeameq4ac42ueg7jvqanzdfk4clnleyd.onion&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
* Dieses Wiki enthält &#039;&#039;&#039;{{NUMBEROFPAGES}}&#039;&#039;&#039; Seiten, zusammengefasst in &#039;&#039;&#039;{{NUMBEROFARTICLES}}&#039;&#039;&#039; Themen...&amp;lt;br&amp;gt;&lt;br /&gt;
* Die Beiträge wurden &#039;&#039;&#039;{{NUMBEROFEDITS}}&#039;&#039;&#039; mal bearbeitet (inklusive der Erstellung)&lt;br /&gt;
* Dieses Wiki wurde laut Matomo schon so oft besucht: &amp;lt;html&amp;gt;&amp;lt;img src=&amp;quot;https://znil.net/piwik/index.php?module=ClassicCounter&amp;amp;action=svg&amp;amp;idSite=1&amp;quot; width=&amp;quot;180&amp;quot; height=&amp;quot;43&amp;quot;&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;!--* Letzte Änderung am &#039;&#039;&#039;{{REVISIONDAY2}}&#039;&#039;&#039;.&#039;&#039;&#039;{{REVISIONMONTH}}&#039;&#039;&#039;.&#039;&#039;&#039;{{REVISIONYEAR}}&#039;&#039;&#039; durch &#039;&#039;&#039;{{REVISIONUSER}}&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
* MediaWiki-Version: &#039;&#039;&#039;{{CURRENTVERSION}}&#039;&#039;&#039; - siehe auch [[Spezial:Version]]&lt;br /&gt;
&amp;lt;!--* Seitenaufrufe im Monat: &#039;&#039;&#039;&amp;gt; 12.000&#039;&#039;&#039;--&amp;gt;&lt;br /&gt;
&amp;lt;!--[[Datei:Piwik-001.png]]&amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right;&amp;quot;&amp;gt;[[Testbereich|.]][[Testbereich:Seite2|.]][[Testbereich:Seite3|.]][[Testbereich:Seite4|π]]&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=SmartHome&amp;diff=15997</id>
		<title>SmartHome</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=SmartHome&amp;diff=15997"/>
		<updated>2026-06-02T19:56:31Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Link Sammlung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Amazon Echo / Alexa==&lt;br /&gt;
* https://forum.iobroker.net/topic/29885/gel%C3%B6st-alexa-findet-alte-ger%C3%A4te-die-es-nicht-mehr-gibt&lt;br /&gt;
* https://blog.deinhandy.de/alexa-zuruecksetzen-so-funktionierts&lt;br /&gt;
* https://forum.iobroker.net/topic/60728/amazon-alexa-vergisst-ger%C3%A4te-mit-direkter-steuerung&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Home Assistant==&lt;br /&gt;
* [[Apache2 als Reverse Proxy für Home Assistant]]&lt;br /&gt;
* Life360 Integration: https://github.com/pnbruckner/ha-life360&lt;br /&gt;
* Sensor erstellen aus Wert eines anderen Datenpunktes: https://community.home-assistant.io/t/template-sensor-total-out-in-kwh/466829&lt;br /&gt;
* Sensor per http-Request / API - HA holt sich den Wert: https://www.home-assistant.io/integrations/sensor.rest/&lt;br /&gt;
* Sensor per http - Wert wird in HA per http Aufruf gesetzt: https://www.home-assistant.io/integrations/http/#http-sensors&lt;br /&gt;
* [[Home Assistant MQTT RGB Light - RGB Lampe per MQTT]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==ioBroker==&lt;br /&gt;
* [[ioBroker VIS Tasmota Steckdose per MQTT nativ]]&lt;br /&gt;
* [[ioBroker IQontrol Tasmota Steckdose per MQTT nativ]]&lt;br /&gt;
* [[ioBroker Blockly STATUS-Meldungen]]&lt;br /&gt;
* [[ioBroker Grafana Diagramme und Werte per Simple-api Adapter]]&lt;br /&gt;
* [[ioBroker Daten an Home Assistent senden]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Link Sammlung==&lt;br /&gt;
* [http://archive.shelly-tools.de/ Shelly Firmware Generator]&lt;br /&gt;
* Tasmota maximale Tagesleistung ermitteln: https://github.com/arendst/Tasmota/discussions/18020&lt;br /&gt;
* Typerkennung iob-Adapter ioBroker: https://forum.iobroker.net/topic/82719/typerkennung-iot-adapter-5-x-tab-alexa-v3&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==MQTT==&lt;br /&gt;
* https://gridscale.io/community/tutorials/eclipse-mosquitto-mqtt-broker-ubuntu-16-04-18-04-installieren-einrichten&lt;br /&gt;
----&lt;br /&gt;
==Tasmota Firmware==&lt;br /&gt;
* [[ESP8266 Wemos D1 Mini mit Tasmota und OLED Display I2C SSH1106 und 4 Taster]]&lt;br /&gt;
* Übersicht der Kommandos: https://tasmota.github.io/docs/Commands/&lt;br /&gt;
* [[Shelly 1 mit Tasmota als Stromstossschalter Ersatz]]&lt;br /&gt;
* Backup der Konfiguration per Skript: https://github.com/tasmota/decode-config&lt;br /&gt;
* [[Tasmota Einschaltverzögerung nach Stromausfall konfigurieren]]&lt;br /&gt;
* [[Tasmota Unkown Command kryptische Zeichen in der Konsole]]&lt;br /&gt;
* [[Tasmota automatische Abschaltung bei Überhitzung ESP]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==ESP8266==&lt;br /&gt;
----&lt;br /&gt;
===HowTo&#039;s===&lt;br /&gt;
* [[ESP8266 Wemos D1 Mini mit DHT22 Sensor Beispiel]]&lt;br /&gt;
* [[ESP8266 Wemos D1 Mini mit 0,96 Zoll OLED 128x64 I2C volle Auflösung nutzen Beispiel]]&lt;br /&gt;
* [[ESP8266 Wemos D1 Mini mit Servo Motor SG90 Beispiel]]&lt;br /&gt;
* [[ESP8266 Wemos D1 Mini mit RGB-LED Beispiel]]&lt;br /&gt;
* [[ESP8266 Wemos D1 Mini Batterie Versorgungsspannung auslesen überwachen]]&lt;br /&gt;
* http://blog.opendatalab.de/codeforbuga/2016/07/02/arduino-ide-mit-nodemcu-esp8266&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
===Projekte===&lt;br /&gt;
* [[Kühlschranktüren überwachen mit ESP8266 Wemos D1 Mini]]&lt;br /&gt;
* [[ESP8266 Wemos D1 Mini mit Tasmota und OLED Display I2C SSH1106 und 4 Taster]]&lt;br /&gt;
* [[ESP8266 Wemos D1 Mini mit Tasmota und NFC PN532 und Buzzer HW-508]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Linux_VM_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern_Universalskript_mit_und_ohne_LVM_oder_LUKS&amp;diff=15996</id>
		<title>Linux VM Festplatte im laufenden Betrieb vergrößern Universalskript mit und ohne LVM oder LUKS</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Linux_VM_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern_Universalskript_mit_und_ohne_LVM_oder_LUKS&amp;diff=15996"/>
		<updated>2026-05-27T20:03:00Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Version A: Universalskript mit LUKS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog;&#039;&#039;&#039;&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* 15.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
==Vorwort==&lt;br /&gt;
Ich hatte heute meine neue Anleitung für Zabbix und Ubuntu geschrieben. Da gibt es einen Abschnitt um später im Betrieb die Festplatte im laufenden Betrieb zu vergrößern.&amp;lt;br&amp;gt;&lt;br /&gt;
Denn hatte ich angefangen anzupassen damit das ganze neben VMware auch unter Proxmox oder Hyper-V funktioniert.&amp;lt;br&amp;gt;&lt;br /&gt;
Und dann hatte ich die Idee es als vollautomatisches Skript zu machen.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Skript ist ausnahmsweise mal nicht von Hand entstanden sondern in einer langen Gemini-Sitzung, also KI generiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Die erste Version die 100% funktioniert war recht schnell gemacht, das ganze dann auch noch mit LUKS zum laufen zu bringen hat etwas länger gedauert.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Das Skirpt funktioniert mit und ohne LVM. Wenn mit LVM wird auch noch geprüft ob LUKS im Einsatz ist. Dabei sollte es sowohl bei direkter Verschlüsselung (also ganze Festplatte) als auch wenn nur eine Partition verschlüsselt ist funktionieren. Es fragt dann nach dem jeweiligen Passwort/Passphrase des verschlüsselten Bereichs. Sind mehr als eine verschlüsselte Festplatte im Einsatz, fragt er auch entsprechend oft. Also auch bei den Festplatten wo nichts zu tun ist, das schadet aber nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dis Skripte funktionieren mit ext2 / ext3 / ext4 und XFS Dateisystemen.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Version A: Universalskript mit LUKS==&lt;br /&gt;
 nano adddiskspaceluks.sh&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Inhalt:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Prüfen auf Root-Rechte&lt;br /&gt;
if [ &amp;quot;$EUID&amp;quot; -ne 0 ]; then&lt;br /&gt;
  echo &amp;quot;Bitte als root ausführen.&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;--- Schritt 1: SCSI Rescan (alle Controller) ---&amp;quot;&lt;br /&gt;
for host_path in /sys/class/scsi_host/host*; do&lt;br /&gt;
    host_name=$(cat &amp;quot;$host_path/proc_name&amp;quot;)&lt;br /&gt;
    echo &amp;quot;Rescanning $host_name (${host_path##*/})...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Neue Geräte suchen&lt;br /&gt;
    [ -e &amp;quot;$host_path/scan&amp;quot; ] &amp;amp;&amp;amp; echo &amp;quot;- - -&amp;quot; &amp;gt; &amp;quot;$host_path/scan&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Größenänderungen bestehender Geräte finden&lt;br /&gt;
    find /sys/devices/ -name rescan | grep &amp;quot;/${host_path##*/}/&amp;quot; | while read -r r; do&lt;br /&gt;
        echo 1 &amp;gt; &amp;quot;$r&amp;quot;&lt;br /&gt;
    done&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
echo -e &amp;quot;\n--- Schritt 2: Analyse und Vergrößerung der Datenträger ---&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Wir laden die Disks in ein echtes Bash-Array, um I/O-Interferenzen der LVM-Tools komplett auszuschließen&lt;br /&gt;
mapfile -t disks &amp;lt; &amp;lt;(lsblk -dnio NAME,TYPE | grep &amp;quot;disk&amp;quot; | awk &#039;{print $1}&#039;)&lt;br /&gt;
&lt;br /&gt;
for dev in &amp;quot;${disks[@]}&amp;quot;; do&lt;br /&gt;
    disk=&amp;quot;/dev/$dev&amp;quot;&lt;br /&gt;
    echo &amp;quot;========================================&amp;quot;&lt;br /&gt;
    echo &amp;quot;Untersuche Datenträger: $disk&amp;quot;&lt;br /&gt;
    echo &amp;quot;========================================&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # 1. PRÜFUNG: Ist die nackte Festplatte direkt verschlüsselt oder ein LVM (ohne Partitionen)?&lt;br /&gt;
    is_raw_luks=false&lt;br /&gt;
    is_raw_lvm=false&lt;br /&gt;
&lt;br /&gt;
    if blkid &amp;quot;$disk&amp;quot; | grep -qi &amp;quot;crypto_LUKS&amp;quot;; then&lt;br /&gt;
        is_raw_luks=true&lt;br /&gt;
    elif pvs --noheadings -o pv_name &amp;quot;$disk&amp;quot; &amp;amp;&amp;gt;/dev/null; then&lt;br /&gt;
        is_raw_lvm=true&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    if [ &amp;quot;$is_raw_luks&amp;quot; = true ] || [ &amp;quot;$is_raw_lvm&amp;quot; = true ]; then&lt;br /&gt;
        echo &amp;quot;  -&amp;gt; Datenträger wird direkt (ohne Partitionstabelle) verwendet.&amp;quot;&lt;br /&gt;
        target_dev=&amp;quot;$disk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        if [ &amp;quot;$is_raw_luks&amp;quot; = true ] ; then&lt;br /&gt;
            # Sucht gezielt nach dem crypt-Device direkt unter DIESER disk&lt;br /&gt;
            luks_name=$(lsblk -nlo NAME,TYPE &amp;quot;$disk&amp;quot; | grep &amp;quot;crypt&amp;quot; | awk &#039;{print $1}&#039; | head -n1)&lt;br /&gt;
            if [ -n &amp;quot;$luks_name&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;  Geöffneter Raw-LUKS-Container gefunden: /dev/mapper/$luks_name&amp;quot;&lt;br /&gt;
                echo &amp;quot;  Vergrößere LUKS-Container...&amp;quot;&lt;br /&gt;
                cryptsetup resize &amp;quot;$luks_name&amp;quot; --batch-mode&lt;br /&gt;
                target_dev=&amp;quot;/dev/mapper/$luks_name&amp;quot;&lt;br /&gt;
            else&lt;br /&gt;
                echo &amp;quot;  WARNUNG: Raw-LUKS-Container ist geschlossen! Überspringe.&amp;quot;&lt;br /&gt;
                continue&lt;br /&gt;
            fi&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # --- LVM Check auf Raw-Device ---&lt;br /&gt;
        if pvs --noheadings -o pv_name &amp;quot;$target_dev&amp;quot; &amp;amp;&amp;gt;/dev/null; then&lt;br /&gt;
            echo &amp;quot;  LVM auf Raw-Device erkannt: Vergrößere Physical Volume...&amp;quot;&lt;br /&gt;
            pvresize &amp;quot;$target_dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
            vg_name=$(pvs --noheadings -o vg_name &amp;quot;$target_dev&amp;quot; | xargs)&lt;br /&gt;
            lv_name=$(lvs &amp;quot;$vg_name&amp;quot; --noheadings -o lv_name --sort -lv_size | head -n1 | xargs)&lt;br /&gt;
            if [ -n &amp;quot;$lv_name&amp;quot; ]; then&lt;br /&gt;
                lv_path=&amp;quot;/dev/${vg_name}/${lv_name}&amp;quot;&lt;br /&gt;
                echo &amp;quot;  Vergrößere Logical Volume $lv_path und Dateisystem...&amp;quot;&lt;br /&gt;
                lvextend -l +100%FREE -r &amp;quot;$lv_path&amp;quot;&lt;br /&gt;
            fi&lt;br /&gt;
        else&lt;br /&gt;
            # --- Non-LVM Resize ---&lt;br /&gt;
            echo &amp;quot;  Kein LVM: Vergrößere Dateisystem direkt...&amp;quot;&lt;br /&gt;
            lsblk -f &amp;quot;$target_dev&amp;quot; | grep -qi &amp;quot;xfs&amp;quot; &amp;amp;&amp;amp; xfs_growfs &amp;quot;$target_dev&amp;quot; || resize2fs &amp;quot;$target_dev&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        continue # Wichtig: Direkt zur nächsten Disk im Array springen&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    # 2. ABLAUF: Klassisch mit Partitionstabelle&lt;br /&gt;
    last_part_num=$(lsblk -nlo PARTN,TYPE &amp;quot;$disk&amp;quot; | grep &amp;quot;part&amp;quot; | awk &#039;{print $1}&#039; | sort -rn | head -n1)&lt;br /&gt;
&lt;br /&gt;
    if [ -z &amp;quot;$last_part_num&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;  Keine Partitionen oder bekannten Dateisysteme auf $disk gefunden, überspringe.&amp;quot;&lt;br /&gt;
        continue&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    partition=&amp;quot;${disk}${last_part_num}&amp;quot;&lt;br /&gt;
    [[ &amp;quot;$disk&amp;quot; =~ [0-9]$ ]] &amp;amp;&amp;amp; partition=&amp;quot;${disk}p${last_part_num}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;  Letzte Partition identifiziert: $partition (Nummer $last_part_num)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Versuch die Partition zu vergrößern&lt;br /&gt;
    growpart &amp;quot;$disk&amp;quot; &amp;quot;$last_part_num&amp;quot; 2&amp;gt;/dev/null&lt;br /&gt;
    growpart_status=$?&lt;br /&gt;
&lt;br /&gt;
    if [ $growpart_status -eq 0 ] || [ $growpart_status -eq 1 ]; then&lt;br /&gt;
        target_dev=&amp;quot;$partition&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        # --- LUKS Check auf Partition ---&lt;br /&gt;
        if blkid &amp;quot;$partition&amp;quot; | grep -qi &amp;quot;crypto_LUKS&amp;quot;; then&lt;br /&gt;
            echo &amp;quot;  LUKS-Verschlüsselung auf Partition $partition erkannt.&amp;quot;&lt;br /&gt;
            luks_name=$(lsblk -nlo NAME,TYPE &amp;quot;$partition&amp;quot; | grep &amp;quot;crypt&amp;quot; | awk &#039;{print $1}&#039; | head -n1)&lt;br /&gt;
&lt;br /&gt;
            if [ -n &amp;quot;$luks_name&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;  Geöffneter LUKS-Container gefunden: /dev/mapper/$luks_name&amp;quot;&lt;br /&gt;
                echo &amp;quot;  Vergrößere LUKS-Container...&amp;quot;&lt;br /&gt;
                cryptsetup resize &amp;quot;$luks_name&amp;quot; --batch-mode&lt;br /&gt;
                target_dev=&amp;quot;/dev/mapper/$luks_name&amp;quot;&lt;br /&gt;
            else&lt;br /&gt;
                echo &amp;quot;  WARNUNG: LUKS-Container ist geschlossen! Überspringe.&amp;quot;&lt;br /&gt;
                continue&lt;br /&gt;
            fi&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        # --- LVM Check auf Partition ---&lt;br /&gt;
        if pvs --noheadings -o pv_name &amp;quot;$target_dev&amp;quot; &amp;amp;&amp;gt;/dev/null; then&lt;br /&gt;
            echo &amp;quot;  LVM erkannt: Vergrößere Physical Volume...&amp;quot;&lt;br /&gt;
            pvresize &amp;quot;$target_dev&amp;quot;&lt;br /&gt;
&lt;br /&gt;
            vg_name=$(pvs --noheadings -o vg_name &amp;quot;$target_dev&amp;quot; | xargs)&lt;br /&gt;
            lv_name=$(lvs &amp;quot;$vg_name&amp;quot; --noheadings -o lv_name --sort -lv_size | head -n1 | xargs)&lt;br /&gt;
            if [ -n &amp;quot;$lv_name&amp;quot; ]; then&lt;br /&gt;
                lv_path=&amp;quot;/dev/${vg_name}/${lv_name}&amp;quot;&lt;br /&gt;
                echo &amp;quot;  Vergrößere Logical Volume $lv_path und Dateisystem...&amp;quot;&lt;br /&gt;
                lvextend -l +100%FREE -r &amp;quot;$lv_path&amp;quot;&lt;br /&gt;
            fi&lt;br /&gt;
        else&lt;br /&gt;
            # --- Non-LVM Resize ---&lt;br /&gt;
            echo &amp;quot;  Kein LVM: Vergrößere Dateisystem direkt...&amp;quot;&lt;br /&gt;
            lsblk -f &amp;quot;$target_dev&amp;quot; | grep -qi &amp;quot;xfs&amp;quot; &amp;amp;&amp;amp; xfs_growfs &amp;quot;$target_dev&amp;quot; || resize2fs &amp;quot;$target_dev&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
echo -e &amp;quot;\nFertig.&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
und noch ausführbar machen:&amp;lt;br&amp;gt;&lt;br /&gt;
 chmod +x adddiskspaceluks.sh&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Beispielausgabe: Vergrößern der Festplatte {{code|sdb}} von 1 auf 1,5TB,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|sda}} ist ebenfalls verschlüsselt, wurde aber nicht geändert.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
--- Schritt 1: SCSI Rescan (alle Controller) ---&lt;br /&gt;
Rescanning virtio_scsi (host0)...&lt;br /&gt;
Rescanning virtio_scsi (host1)...&lt;br /&gt;
Rescanning ata_piix (host2)...&lt;br /&gt;
Rescanning ata_piix (host3)...&lt;br /&gt;
&lt;br /&gt;
--- Schritt 2: Analyse und Vergrößerung der Datenträger ---&lt;br /&gt;
========================================&lt;br /&gt;
Untersuche Datenträger: /dev/sda&lt;br /&gt;
========================================&lt;br /&gt;
  Letzte Partition identifiziert: /dev/sda3 (Nummer 3)&lt;br /&gt;
NOCHANGE: partition 3 could only be grown by 2015 [fudge=2048]&lt;br /&gt;
  LUKS-Verschlüsselung auf Partition /dev/sda3 erkannt.&lt;br /&gt;
  Geöffneter LUKS-Container gefunden: /dev/mapper/dm_crypt-0&lt;br /&gt;
  Vergrößere LUKS-Container...&lt;br /&gt;
Geben Sie die Passphrase für »/dev/sda3« ein:&lt;br /&gt;
  LVM erkannt: Vergrößere Physical Volume...&lt;br /&gt;
  Physical volume &amp;quot;/dev/mapper/dm_crypt-0&amp;quot; changed&lt;br /&gt;
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized&lt;br /&gt;
  Vergrößere Logical Volume /dev/ubuntu-vg/ubuntu-lv und Dateisystem...&lt;br /&gt;
  New size (7406 extents) matches existing size (7406 extents).&lt;br /&gt;
  File system ext4 found on ubuntu-vg/ubuntu-lv mounted at /.&lt;br /&gt;
  Size of logical volume ubuntu-vg/ubuntu-lv unchanged from &amp;lt;28,93 GiB (7406 extents).&lt;br /&gt;
  Extending file system ext4 to &amp;lt;28,93 GiB (31063015424 bytes) on ubuntu-vg/ubuntu-lv...&lt;br /&gt;
resize2fs /dev/ubuntu-vg/ubuntu-lv&lt;br /&gt;
resize2fs 1.47.2 (1-Jan-2025)&lt;br /&gt;
Das Dateisystem ist bereits 7583744 (4k) Blöcke lang. Nichts zu tun!&lt;br /&gt;
&lt;br /&gt;
resize2fs done&lt;br /&gt;
  Extended file system ext4 on ubuntu-vg/ubuntu-lv.&lt;br /&gt;
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.&lt;br /&gt;
========================================&lt;br /&gt;
Untersuche Datenträger: /dev/sdb&lt;br /&gt;
========================================&lt;br /&gt;
  -&amp;gt; Datenträger wird direkt (ohne Partitionstabelle) verwendet.&lt;br /&gt;
  Geöffneter Raw-LUKS-Container gefunden: /dev/mapper/luks_sdb&lt;br /&gt;
  Vergrößere LUKS-Container...&lt;br /&gt;
Geben Sie die Passphrase für »/dev/sdb« ein:&lt;br /&gt;
  LVM auf Raw-Device erkannt: Vergrößere Physical Volume...&lt;br /&gt;
  Physical volume &amp;quot;/dev/mapper/luks_sdb&amp;quot; changed&lt;br /&gt;
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized&lt;br /&gt;
  Vergrößere Logical Volume /dev/luks_sdb/opt und Dateisystem...&lt;br /&gt;
  File system ext4 found on luks_sdb/opt mounted at /opt.&lt;br /&gt;
  Size of logical volume luks_sdb/opt changed from 1023,98 GiB (262139 extents) to &amp;lt;1,50 TiB (393211 extents).&lt;br /&gt;
  Extending file system ext4 to &amp;lt;1,50 TiB (1649246470144 bytes) on luks_sdb/opt...&lt;br /&gt;
resize2fs /dev/luks_sdb/opt&lt;br /&gt;
resize2fs 1.47.2 (1-Jan-2025)&lt;br /&gt;
Dateisystem bei /dev/luks_sdb/opt ist auf /opt eingehängt; Online-Größenänderung ist&lt;br /&gt;
erforderlich&lt;br /&gt;
old_desc_blocks = 128, new_desc_blocks = 192&lt;br /&gt;
Das Dateisystem auf /dev/luks_sdb/opt is nun 402648064 (4k) Blöcke lang.&lt;br /&gt;
&lt;br /&gt;
resize2fs done&lt;br /&gt;
  Extended file system ext4 on luks_sdb/opt.&lt;br /&gt;
  Logical volume luks_sdb/opt successfully resized.&lt;br /&gt;
&lt;br /&gt;
Fertig.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Version B: Simplere Version==&lt;br /&gt;
Wer ohne Verschlüsselung auskommt kann diese Version verwenden:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano adddiskspace.sh&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Inhalt:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Prüfen auf Root-Rechte&lt;br /&gt;
if [ &amp;quot;$EUID&amp;quot; -ne 0 ]; then &lt;br /&gt;
  echo &amp;quot;Bitte als root ausführen.&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;--- Schritt 1: SCSI Rescan (alle Controller) ---&amp;quot;&lt;br /&gt;
for host_path in /sys/class/scsi_host/host*; do&lt;br /&gt;
    host_name=$(cat &amp;quot;$host_path/proc_name&amp;quot;)&lt;br /&gt;
    echo &amp;quot;Rescanning $host_name (${host_path##*/})...&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    # Neue Geräte suchen&lt;br /&gt;
    [ -e &amp;quot;$host_path/scan&amp;quot; ] &amp;amp;&amp;amp; echo &amp;quot;- - -&amp;quot; &amp;gt; &amp;quot;$host_path/scan&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    # Größenänderungen bestehender Geräte finden&lt;br /&gt;
    find /sys/devices/ -name rescan | grep &amp;quot;/${host_path##*/}/&amp;quot; | while read -r r; do&lt;br /&gt;
        echo 1 &amp;gt; &amp;quot;$r&amp;quot;&lt;br /&gt;
    done&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
echo -e &amp;quot;\n--- Schritt 2: Analyse und Vergrößerung der Datenträger ---&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Alle Blockgeräte finden (sdX, nvmeXnX, virtblkX), die Partitionen haben&lt;br /&gt;
# Wir filtern nach &#039;disk&#039;, um keine Loop-Devices oder Partitionen selbst zu greifen&lt;br /&gt;
lsblk -dnio NAME,TYPE | grep &amp;quot;disk&amp;quot; | awk &#039;{print $1}&#039; | while read -r dev; do&lt;br /&gt;
    disk=&amp;quot;/dev/$dev&amp;quot;&lt;br /&gt;
    echo &amp;quot;Untersuche $disk...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Alle Partitionen dieser Disk finden (sortiert nach Partitionsnummer, absteigend)&lt;br /&gt;
    # Wir wollen die LETZTE Partition vergrößern&lt;br /&gt;
    last_part_num=$(lsblk -nlo PARTN,TYPE &amp;quot;$disk&amp;quot; | grep &amp;quot;part&amp;quot; | awk &#039;{print $1}&#039; | sort -rn | head -n1)&lt;br /&gt;
&lt;br /&gt;
    if [ -z &amp;quot;$last_part_num&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;  Keine Partitionen auf $disk gefunden, überspringe.&amp;quot;&lt;br /&gt;
        continue&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    partition=&amp;quot;${disk}${last_part_num}&amp;quot;&lt;br /&gt;
    # Sonderbehandlung für NVMe oder MMC (z.B. p1 am Ende)&lt;br /&gt;
    [[ &amp;quot;$disk&amp;quot; =~ [0-9]$ ]] &amp;amp;&amp;amp; partition=&amp;quot;${disk}p${last_part_num}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;  Letzte Partition identifiziert: $partition (Nummer $last_part_num)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Versuch die Partition zu vergrößern (growpart gibt 0 bei Erfolg, 1 bei &amp;quot;kein Platz&amp;quot; zurück)&lt;br /&gt;
    growpart &amp;quot;$disk&amp;quot; &amp;quot;$last_part_num&amp;quot; 2&amp;gt;/dev/null&lt;br /&gt;
    if [ $? -eq 0 ]; then&lt;br /&gt;
        echo &amp;quot;  Partition $partition wurde vergrößert.&amp;quot;&lt;br /&gt;
        &lt;br /&gt;
        # --- LVM Check ---&lt;br /&gt;
        # Prüfen, ob diese Partition ein LVM Physical Volume ist&lt;br /&gt;
        if pvs --noheadings -o pv_name &amp;quot;$partition&amp;quot; &amp;amp;&amp;gt;/dev/null; then&lt;br /&gt;
            echo &amp;quot;  LVM erkannt: Vergrößere Physical Volume...&amp;quot;&lt;br /&gt;
            pvresize &amp;quot;$partition&amp;quot;&lt;br /&gt;
            &lt;br /&gt;
            # Finde alle Logical Volumes auf diesem PV und vergrößere das LETZTE LV&lt;br /&gt;
            # (Wir nehmen hier an, dass das LV vergrößert werden soll, das den Platz braucht)&lt;br /&gt;
            lv_path=$(lvs --noheadings -o lv_path --sort -lv_size | head -n1 | xargs)&lt;br /&gt;
            if [ -n &amp;quot;$lv_path&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;  Vergrößere Logical Volume $lv_path und Dateisystem...&amp;quot;&lt;br /&gt;
                lvextend -l +100%FREE -r &amp;quot;$lv_path&amp;quot;&lt;br /&gt;
            fi&lt;br /&gt;
        else&lt;br /&gt;
            # --- Non-LVM Resize ---&lt;br /&gt;
            echo &amp;quot;  Kein LVM: Vergrößere Dateisystem direkt...&amp;quot;&lt;br /&gt;
            # Erkennt automatisch ext2/3/4 oder XFS&lt;br /&gt;
            lsblk -f &amp;quot;$partition&amp;quot; | grep -qi &amp;quot;xfs&amp;quot; &amp;amp;&amp;amp; xfs_growfs &amp;quot;$partition&amp;quot; || resize2fs &amp;quot;$partition&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;  Kein freier Platz nach Partition $last_part_num gefunden oder bereits maximal groß.&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
echo -e &amp;quot;\nFertig.&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
und noch Ausführbar machen:&amp;lt;br&amp;gt;&lt;br /&gt;
 chmod +x adddiskspace.sh&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;Beispiel 1: System mit LVM:&amp;lt;/u&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
--- Schritt 1: SCSI Rescan (alle Controller) ---&lt;br /&gt;
Rescanning virtio_scsi (host0)...&lt;br /&gt;
Rescanning ata_piix (host1)...&lt;br /&gt;
Rescanning ata_piix (host2)...&lt;br /&gt;
&lt;br /&gt;
--- Schritt 2: Analyse und Vergrößerung der Datenträger ---&lt;br /&gt;
Untersuche /dev/sda...&lt;br /&gt;
  Letzte Partition identifiziert: /dev/sda3 (Nummer 3)&lt;br /&gt;
CHANGED: partition=3 start=4198400 old: size=79685632 end=83884031 new: size=100659167 end=104857566&lt;br /&gt;
  Partition /dev/sda3 wurde vergrößert.&lt;br /&gt;
  LVM erkannt: Vergrößere Physical Volume...&lt;br /&gt;
  Physical volume &amp;quot;/dev/sda3&amp;quot; changed&lt;br /&gt;
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized&lt;br /&gt;
  Vergrößere Logical Volume /dev/ubuntu-vg/ubuntu-lv und Dateisystem...&lt;br /&gt;
  File system ext4 found on ubuntu-vg/ubuntu-lv mounted at /.&lt;br /&gt;
  Size of logical volume ubuntu-vg/ubuntu-lv changed from &amp;lt;19,00 GiB (4863 extents) to &amp;lt;48,00 GiB (12287 extents).&lt;br /&gt;
  Extending file system ext4 to &amp;lt;48,00 GiB (51535413248 bytes) on ubuntu-vg/ubuntu-lv...&lt;br /&gt;
resize2fs /dev/ubuntu-vg/ubuntu-lv&lt;br /&gt;
resize2fs 1.47.2 (1-Jan-2025)&lt;br /&gt;
Dateisystem bei /dev/ubuntu-vg/ubuntu-lv ist auf / eingehängt; Online-Größenänderung ist&lt;br /&gt;
erforderlich&lt;br /&gt;
old_desc_blocks = 3, new_desc_blocks = 6&lt;br /&gt;
Das Dateisystem auf /dev/ubuntu-vg/ubuntu-lv is nun 12581888 (4k) Blöcke lang.&lt;br /&gt;
&lt;br /&gt;
resize2fs done&lt;br /&gt;
  Extended file system ext4 on ubuntu-vg/ubuntu-lv.&lt;br /&gt;
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.&lt;br /&gt;
&lt;br /&gt;
Fertig.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;Beispiel 2: System ohne LVM:&amp;lt;/u&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
--- Schritt 1: SCSI Rescan (alle Controller) ---&lt;br /&gt;
Rescanning virtio_scsi (host0)...&lt;br /&gt;
Rescanning ata_piix (host1)...&lt;br /&gt;
Rescanning ata_piix (host2)...&lt;br /&gt;
&lt;br /&gt;
--- Schritt 2: Analyse und Vergrößerung der Datenträger ---&lt;br /&gt;
Untersuche /dev/sda...&lt;br /&gt;
  Letzte Partition identifiziert: /dev/sda2 (Nummer 2)&lt;br /&gt;
CHANGED: partition=2 start=4096 old: size=67102720 end=67106815 new: size=83881951 end=83886046&lt;br /&gt;
  Partition /dev/sda2 wurde vergrößert.&lt;br /&gt;
  Kein LVM: Vergrößere Dateisystem direkt...&lt;br /&gt;
resize2fs 1.47.2 (1-Jan-2025)&lt;br /&gt;
Dateisystem bei /dev/sda2 ist auf / eingehängt; Online-Größenänderung ist&lt;br /&gt;
erforderlich&lt;br /&gt;
old_desc_blocks = 4, new_desc_blocks = 5&lt;br /&gt;
Das Dateisystem auf /dev/sda2 is nun 10485243 (4k) Blöcke lang.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fertig.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Kommentare==&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Benutzer:BLinz&amp;diff=15995</id>
		<title>Benutzer:BLinz</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Benutzer:BLinz&amp;diff=15995"/>
		<updated>2026-05-27T09:20:20Z</updated>

		<summary type="html">&lt;p&gt;BLinz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- https://www.dropbox.com/scl/fo/80v7xdkj4k3wm6633smdx/AN_ibWPIWeRF0mkXRzcIu68?rlkey=gssi54b8dxs2yycb20ep2r64k&amp;amp;st=xvpuznfx&amp;amp;dl=0 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
Aktuelle Werte abfragen:&lt;br /&gt;
Get-WmiObject -Namespace &amp;quot;Root\MicrosoftDFS&amp;quot; -Class DfsrMachineConfig | select MaxOfflineTimeInDays&lt;br /&gt;
 &lt;br /&gt;
Um diesen beispielsweise auf 300 hochzusetzen, geht man so vor:&lt;br /&gt;
$dfsrConfig = Get-WmiObject -Namespace &amp;quot;Root\MicrosoftDFS&amp;quot; `&lt;br /&gt;
-Class DfsrMachineConfig&lt;br /&gt;
 &lt;br /&gt;
$dfsrConfig.MaxOfflineTimeInDays = 300&lt;br /&gt;
$dfsrConfig.Put()&lt;br /&gt;
 &lt;br /&gt;
Auf Standardwert zurücksetzen:&lt;br /&gt;
$dfsrConfig = Get-WmiObject -Namespace &amp;quot;Root\MicrosoftDFS&amp;quot; `&lt;br /&gt;
-Class DfsrMachineConfig&lt;br /&gt;
 &lt;br /&gt;
$dfsrConfig.MaxOfflineTimeInDays = 60&lt;br /&gt;
$dfsrConfig.Put()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--https://cloud.znil.org/u/d/975e252e8de8409f8df8/--&amp;gt;&lt;br /&gt;
Das ist ein {{bred|Test}} der Vorlage&amp;lt;br&amp;gt;&lt;br /&gt;
und in der Zeile darunter sieht es so aus&lt;br /&gt;
* https://www.cursor.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://www.gl-inet.com/products/gl-rm1/&lt;br /&gt;
----&lt;br /&gt;
==FritzBox Verbindungsstatus==&lt;br /&gt;
* https://forum.iobroker.net/topic/73921/gel%C3%B6st-zabbix-fritzbox-etc&lt;br /&gt;
* https://forum.iobroker.net/topic/76396/gel%C3%B6st-fritzbox-routen-ein-oder-ausschalten&lt;br /&gt;
&lt;br /&gt;
---- &lt;br /&gt;
https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/pdf/configuring_infiniband_and_rdma_networks/red_hat_enterprise_linux-8-configuring_infiniband_and_rdma_networks-en-us.pdf&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/openucx/ucx/issues/4742&lt;br /&gt;
https://github.com/ofiwg/libfabric/pull/5281&amp;lt;br&amp;gt;&lt;br /&gt;
 qTZpzhtmjw2Dg4QTUXvL4N&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://github.com/arendst/Tasmota/discussions/20580#discussioncomment-8256030&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
* https://docs.oracle.com/cd/E19914-01/820-6705-10/appendix2.html&lt;br /&gt;
* https://linux.die.net/man/8/ibping&lt;br /&gt;
* https://www.fibermall.com/de/blog/difference-ethernet-infiniband-adapter.htm&lt;br /&gt;
* https://de.wikipedia.org/wiki/Red_Hat_Enterprise_Linux&lt;br /&gt;
----&lt;br /&gt;
[[neue Seite zum testen]]&lt;br /&gt;
* https://docs.vmware.com/en/VMware-Horizon/2306/virtual-desktops/GUID-4A4A181F-E758-43BC-A812-B05379D8D8B0.html&lt;br /&gt;
* https://www.youtube.com/watch?v=Afe0-5_QRn8&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
ijj2ufj3&lt;br /&gt;
fwirdeq7&lt;br /&gt;
k3zxqh6n&lt;br /&gt;
hefnimsv&lt;br /&gt;
kzaucwtj&lt;br /&gt;
qm6pxjdj&lt;br /&gt;
at5vqwe7&lt;br /&gt;
q2p77bos&lt;br /&gt;
ojvlkmkl&lt;br /&gt;
x5xdipk3&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* https://askubuntu.com/questions/1308941/migrating-ubuntu-20-04-lamp-from-mysql-to-mariadb&lt;br /&gt;
1.3.6.1.2.1.17.4.3.1.2&lt;br /&gt;
&amp;lt;!-- https://cloud.znil.org/u/d/803ef6edec274f3298e8/ --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UN Location Code&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;cvxc&#039;&#039;&#039;&lt;br /&gt;
https://blog.deinhandy.de/alexa-zuruecksetzen-so-funktionierts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tuya: https://pypi.org/project/tinytuya/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;Groß&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Test43]]&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-230124-105454.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*  https://1ty.me/&lt;br /&gt;
* 64443&lt;br /&gt;
* https://techcommunity.microsoft.com/t5/exchange-team-blog/email-stuck-in-transport-queues/ba-p/3049447&lt;br /&gt;
* http://mt-naka.com/hotswap/index_enu.htm&lt;br /&gt;
 robocopy R:\ S:\ /MIR /DCOPY:DAT /R:1 /W:1 /XD $RECYCLE.BIN /XD &amp;quot;System Volume Information&amp;quot;&lt;br /&gt;
 for /R c:\sourceFolder\ %%G in (*) do ( move /Y &amp;quot;%%G&amp;quot; c:\destinationFolder\ )&lt;br /&gt;
 for /R c:\sourceFolder\ %G in (*) do ( move /Y &amp;quot;%G&amp;quot; c:\destinationFolder\ )&lt;br /&gt;
 magick mogrify -format gif *.webp&lt;br /&gt;
 Outlook.exe /cleanips&lt;br /&gt;
----&lt;br /&gt;
 get-childitem &amp;quot;Ordnerpfad&amp;quot; -recurse | where-object {$_.mode -notmatch &amp;quot;d&amp;quot;} | where-object {$_.lastwritetime -gt [datetime]::parse(&amp;quot;26/02/2021&amp;quot;)} | format-table lastwritetime, fullname -autosize | out-file newfiles.log -append&lt;br /&gt;
Zabbix Uploads: https://cloud.znil.org/u/d/ec404add66804ce98821/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Exchange&amp;lt;br&amp;gt;&lt;br /&gt;
* https://dghb-cloud-01.datagroup-bremen.de/f/137064243d0a46e1928c/&lt;br /&gt;
* https://www.dropbox.com/sh/v39cca7vn6n5tfo/AABMzojf0CGxgA9yjWw5BABka?dl=0&lt;br /&gt;
* https://www.dropbox.com/s/h4jt3r6bqrfhogx/SW_DVD9_Exchange_Svr_2019_CU_8_MultiLang_Std_Ent_.iso_MLF_X22-47601.ISO?dl=0&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- https://www.dropbox.com/s/3454fxnuobkvsc3/VeeamBackup%26Replication_9.5.0.1536.Update3.iso?dl=0&amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
https://sysadminde.com/questions/871051/doing-dpi-scaling-server-side-rdp-windows-server-2016&amp;lt;br&amp;gt;&lt;br /&gt;
https://helpcenter.veeam.com/archive/backup/95/vsphere/used_ports.html#guest&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--administrator@vsphere.local&lt;br /&gt;
p~I7Sqd@|`cFndlPEpr*&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Telekom Datenvolumen: http://pass.telekom.de/&amp;lt;br&amp;gt;&lt;br /&gt;
https://docs.microsoft.com/en-us/office/client-developer/shared/integrating-im-applications-with-office&amp;lt;br&amp;gt;&lt;br /&gt;
http://standards-oui.ieee.org/oui.txt&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
Zabbix RDP: https://github.com/ilianapro/zabbix_template_rdp_monitoring&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
https://www.boc.de/watchguard-info-portal/2016/08/letsencrypt-zertifikat-als-proxy-zertifikat-auf-watchguard-firebox/&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.zabbix.com/documentation/4.0/manual/introduction/whatsnew400&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.heise.de/ct/artikel/Windows-10-Version-1903-ist-fertig-4367985.html&amp;lt;br&amp;gt;&lt;br /&gt;
https://share.zabbix.com/operating-systems/windows/windows-defender-wmi-monitoring&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
https://jalbum.net&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--{{WeristOnlineBox-unten-rechts}}--&amp;gt;&lt;br /&gt;
SFConflict&lt;br /&gt;
&lt;br /&gt;
* RDP-Gateway hinter Apache-Revers-Proxy: https://serverfault.com/questions/353832/using-apache-as-a-reverse-proxy-https-server-in-front-of-remote-desktop-gateway&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/watch?v=D7U7Og7gocE Horst Evers - Jan]&lt;br /&gt;
* https://www.youtube.com/watch?v=mWqT0LYhsnk&amp;amp;t=1s&lt;br /&gt;
* RDS2610: &lt;br /&gt;
** https://msandbu.wordpress.com/2016/02/04/office365-on-terminal-server-done-right/&lt;br /&gt;
** https://social.technet.microsoft.com/Forums/scriptcenter/de-DE/087526c8-3e16-4b32-8fa3-5dd492bd1789/farmname-einer-sammlung?forum=windowsserver8de&lt;br /&gt;
{{Trennlinie-02}}&lt;br /&gt;
{{Mediawiki_Wartung}}&lt;br /&gt;
{{Trennlinie-02}}&lt;br /&gt;
* https://www.amazon.de/ŠKODA-Auto-a-s-Connect/dp/B07B2YDVN2&lt;br /&gt;
{{Trennlinie-02}}&lt;br /&gt;
* https://www.youtube.com/watch?v=Hrug17skHbY&lt;br /&gt;
* https://community.arubanetworks.com/t5/Wireless-Access/ArubaOS-8-2-1-cannot-create-Wlan-without-PEF-license/td-p/405492/page/2&lt;br /&gt;
* https://community.arubanetworks.com/t5/Wireless-Access/Bridge-mode-not-avaliable-on-VMC-VMware-Web-Interface/td-p/400583&lt;br /&gt;
{{Trennlinie-02}}&lt;br /&gt;
Schlüsselanhänger:&amp;lt;br&amp;gt;&lt;br /&gt;
* https://www.amazon.de/dp/B01MUIHBPX/ref=sspa_dk_detail_0?psc=1&amp;amp;pd_rd_i=B01MUIHBPX&amp;amp;pf_rd_m=A3JWKAKR8XB7XF&amp;amp;pf_rd_p=00903874-3af0-47e0-8622-ee58087f71cf&amp;amp;pf_rd_r=8FQPWMY1FVBCBRZTQBWT&amp;amp;pd_rd_wg=TwMJ0&amp;amp;pf_rd_s=desktop-dp-sims&amp;amp;pf_rd_t=40701&amp;amp;pd_rd_w=StBre&amp;amp;pf_rd_i=desktop-dp-sims&amp;amp;pd_rd_r=115f3ab4-caf2-11e8-8b24-ed803f1d8857&lt;br /&gt;
* https://www.amazon.de/dp/B01N3K04LS/ref=pd_luc_rh_sspa_dk_huc_pt_sub_3?psc=1&lt;br /&gt;
----&lt;br /&gt;
Sims 4&lt;br /&gt;
* https://www.simtimes.de/sims4/tipps-tricks-guides-hilfe-sims4/die-sims-4-cheats/&lt;br /&gt;
* http://www.simfans.de/die-sims-4/erweiterungspacks/grossstadtleben/cheats-guides/die-sims-4-grossstadtleben-cheats/&lt;br /&gt;
* https://www.ea.com/de-de/games/the-sims/the-sims-4/pc/how-to-cheat&lt;br /&gt;
{{Trennlinie-02}}&lt;br /&gt;
* https://zabbixonly.com/how-to-install-zabbix-server-3-4-ubuntu-18-04/&lt;br /&gt;
{{Trennlinie-02}}&lt;br /&gt;
Playstation VR am PC&amp;lt;br&amp;gt;&lt;br /&gt;
* Einrichten: https://www.windowscentral.com/how-play-steam-games-playstation-vr&lt;br /&gt;
* Einrichten: https://www.youtube.com/watch?v=I9cUfN23mes&lt;br /&gt;
* Einrichten: https://www.youtube.com/watch?v=5BSeXv3KRaw&lt;br /&gt;
* Kontroller: https://www.youtube.com/watch?v=PTPHulcba5A&lt;br /&gt;
* Kino? https://www.youtube.com/watch?v=5EYV-rSopig&lt;br /&gt;
&lt;br /&gt;
{{Trennlinie-02}}&lt;br /&gt;
Signal-CLI:&amp;lt;br&amp;gt;&lt;br /&gt;
* https://github.com/AsamK/signal-cli&lt;br /&gt;
* https://github.com/AsamK/signal-cli/wiki/HowToUbuntu&lt;br /&gt;
&lt;br /&gt;
{{Trennlinie-02}}&lt;br /&gt;
Ansichtsboxen wie hier: https://clipperz.is/blog/2017/12/24/reliability/&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
https://www.youtube.com/watch?v=KfrU9_qTqwA&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.youtube.com/watch?v=Von_enTSXM8&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.youtube.com/watch?v=iEx6byhcGqg&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.citycams.tv/de/deutschland/frankfurt-am-main/&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.youtube.com/watch?v=89q6hl7N7MY&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.youtube.com/watch?v=GQWg6b1fWgE&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.youtube.com/watch?v=WkXroQyvdTA Soggy Dollar Bar&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.youtube.com/watch?v=2sGfGRM_f3w Bodo Terminalen&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.youtube.com/watch?v=TVgdgpSX1e0 Casa Labhardt&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.youtube.com/watch?v=RtU_mdL2vBM Nasa Live&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://github.com/cDima/Aerial/releases&lt;br /&gt;
----&lt;br /&gt;
AutoIt Zertifikate + Verschlüsselung:&amp;lt;br&amp;gt;&lt;br /&gt;
* https://www.autoitscript.com/forum/topic/180965-certificate-expiration-check-script/#comment-1299267&lt;br /&gt;
AutoIt Datei Explorer Steuerung:&lt;br /&gt;
* https://www.autoitscript.com/forum/topic/162905-automating-windows-explorer/&lt;br /&gt;
----&lt;br /&gt;
 https://de.wikipedia.org/wiki/Go_%28Programmiersprache%29&lt;br /&gt;
 https://www.thefanclub.co.za/how-to/how-secure-ubuntu-1604-lts-server-part-1-basics&lt;br /&gt;
----&lt;br /&gt;
Statt der grauen Boxen: https://docs.phalconphp.com/en/latest/reference/tutorial-invo-2.html&lt;br /&gt;
Coole neue Bildervorschau: https://www.mediawiki.org/wiki/Extension:MultimediaViewer&lt;br /&gt;
----&lt;br /&gt;
Docker:&amp;lt;br&amp;gt;&lt;br /&gt;
 https://github.com/mattiasgiese&lt;br /&gt;
 http://kubernetes.io/&lt;br /&gt;
 https://github.com/coreos/rkt&lt;br /&gt;
 http://rancher.com/&lt;br /&gt;
 http://boot2docker.io/&lt;br /&gt;
 https://coreos.com/&lt;br /&gt;
 http://mesos.apache.org/documentation/latest/docker-containerizer/&lt;br /&gt;
 https://www.openshift.com/&lt;br /&gt;
LXC:&lt;br /&gt;
 https://www.thefanclub.co.za/how-to/how-secure-ubuntu-1604-lts-server-part-1-basics&lt;br /&gt;
----&lt;br /&gt;
tmux:&lt;br /&gt;
 http://www.hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/&lt;br /&gt;
 http://www.pro-linux.de/artikel/2/1691/tmux-das-kung-fu-der-terminal-ninjas.html&lt;br /&gt;
----&lt;br /&gt;
Git - Prompt in Bash mit Status:&lt;br /&gt;
 https://coderwall.com/p/pn8f0g/show-your-git-status-and-branch-in-color-at-the-command-prompt&lt;br /&gt;
----&lt;br /&gt;
 zcat /SoYouStart-ftp/zabbix/zabbix1.sql.gz | pv --progress --size 5000m | mysql -uzabbix -pzabbix zabbix&lt;br /&gt;
----&lt;br /&gt;
Programmierumgebungen um Android Apps zu entwickeln:&lt;br /&gt;
 Visual Basic ähnlich, $59: https://www.b4x.com/b4a.html&lt;br /&gt;
 Mono, kostenlos, auch VB ähnlich: http://www.monodevelop.com/download/&lt;br /&gt;
----&lt;br /&gt;
 https://hakshop.myshopify.com/collections/lan-turtle/products/lan-turtle &lt;br /&gt;
----&lt;br /&gt;
pfSense als Bridge:&lt;br /&gt;
 https://magiksys.blogspot.de/2012/12/pfsense-bridge-gateway-vmware-ovh-ip.html&lt;br /&gt;
----&lt;br /&gt;
Linux 2 Faktor:&lt;br /&gt;
 https://www.digitalocean.com/community/tutorials/how-to-set-up-multi-factor-authentication-for-ssh-on-ubuntu-14-04&lt;br /&gt;
 https://www.linux.com/learn/how-set-2-factor-authentication-login-and-sudo&lt;br /&gt;
Für Apache Basic Auth&lt;br /&gt;
 https://stackoverflow.com/questions/19696526/svn-two-factor-authentication&lt;br /&gt;
Beispiel eigene Webseite:&lt;br /&gt;
 https://www.twilio.com/blog/2013/04/add-two-factor-authentication-to-your-website-with-google-authenticator-and-twilio-sms.html&lt;br /&gt;
----&lt;br /&gt;
https://www.deskmodder.de/wiki/index.php/Farben_%C3%A4ndern_anpassen_Windows_10&lt;br /&gt;
----&lt;br /&gt;
Umbau Telnet-SMTP-Tool auf TLS Unterstützung:&lt;br /&gt;
 https://scottlinux.com/2014/06/05/check-for-smtp-tls-from-command-line-with-openssl/&lt;br /&gt;
----&lt;br /&gt;
Cooles Inferface für Dateidownloads: https://larsjung.de/h5ai/&lt;br /&gt;
----&lt;br /&gt;
Telekom Hybrid Zugang, VPN und Fritz!Box:&lt;br /&gt;
 http://www.lubensky.de/hybrid/index.htm&lt;br /&gt;
 https://telekomhilft.telekom.de/t5/Geraete-Zubehoer/Fritzbox-7390-hinter-Speedport-Hybrid-incl-DynDNS-Fernzugang-und/td-p/1405640&lt;br /&gt;
Sendemast finden:&lt;br /&gt;
 https://telekomhilft.telekom.de/t5/Telefonie-Internet/Die-richtige-Antenne-fuer-den-Speedport-Hybrid/td-p/1316157&lt;br /&gt;
&lt;br /&gt;
 Bis zu 150 MBit/s:&lt;br /&gt;
 Telefonieren &amp;amp; Surfen mit dem Smartphone&lt;br /&gt;
 &lt;br /&gt;
 Bis zu 150 MBit/s:&lt;br /&gt;
 Surfen mit dem Laptop oder Tablet&lt;br /&gt;
 &lt;br /&gt;
 Am markierten Punkt sind die Mobilfunktechnologien GSM, GPRS, EDGE, UMTS, HSPA, LTE 1800/2600, LTE 800 verfügbar.&lt;br /&gt;
 Richtung zum nächsten LTE-Standort (LTE 1800 MHz) in 231° Südwest&lt;br /&gt;
:[[Datei:LTE_Meisenweg-Achim-001.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:LTE_Meisenweg-Achim-002.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:LTE_Meisenweg-Achim-003.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Antennentypen&lt;br /&gt;
 http://www.lte800.com/test-lte-antennen-empfehlung-beratung.html&lt;br /&gt;
Empfangs- und Sendepegel am Speedport Hybrid sehen:&lt;br /&gt;
 http://speedport.ip/engineer/html/lteinfo.html?lang=de&lt;br /&gt;
Bedeutung der Werte:&lt;br /&gt;
 https://www.fts-hennig.de/mobilfunk-blog/antennen/lte-antennen/lte-leistung/&lt;br /&gt;
----&lt;br /&gt;
W10 dual Boot:&lt;br /&gt;
 Disk2VHD: https://technet.microsoft.com/en-us/sysinternals/ee656415.aspx&lt;br /&gt;
 http://blog.alekel.de/windows-10-preview-parallel-installieren-variante-2/&lt;br /&gt;
 &lt;br /&gt;
----&lt;br /&gt;
 http://www.hypergridbusiness.com/faq/vr-headset-qr-codes/&lt;br /&gt;
 https://vr.google.com/cardboard/viewerprofilegenerator/&lt;br /&gt;
----&lt;br /&gt;
 Robocopy Progress Bar in Batch geschrieben: http://ss64.org/viewtopic.php?id=1499&lt;br /&gt;
----&lt;br /&gt;
 Select * from Win32_OperatingSystem where Caption like &amp;quot;%Server%&amp;quot;&lt;br /&gt;
 Select * from Win32_OperatingSystem where not Caption like &amp;quot;%Server%&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
* https://www.secuso.informatik.tu-darmstadt.de/de/research/results/passsec/&lt;br /&gt;
* http://foonet.be/2012/03/09/monitoring-veeam-flr-sessions-using-powercli/&lt;br /&gt;
----&lt;br /&gt;
 gwmi -Namespace root\wmi -Class MPIO_DISK_INFO&lt;br /&gt;
 ipmitool -I lanplus -A RMCP+ -H 10.112.105.15 -U username -P password sensor&lt;br /&gt;
 ipmitool -I lanplus -A MD5 -H 192.168.244.182 -L USER -U zabbix -P zabbix sensor get &amp;quot;Power Supply 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* http://www.tp-link.com/Common/Spotlight/EAP_controller.html&lt;br /&gt;
* http://www.ekahau.com/wifidesign/ekahau-heatmapper&lt;br /&gt;
* http://www.amazon.de/Schiebetür-Nischentür-wasserbeständig-Farbwahl-203x82cm/dp/B00F9T3OUU/&lt;br /&gt;
* Zabbi xmit MariaDB? http://www.tecmint.com/install-and-configure-zabbix-monitoring-on-debian-centos-rhel/&lt;br /&gt;
----&lt;br /&gt;
Windows 10 DeDup: http://www.slr-corp.fr/2015/08/windows-10-rtm-enabling-deduplication/&lt;br /&gt;
==VMware==&lt;br /&gt;
* Vorher-Nacher Scripts bei Snapshots: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1006671&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==rkhunter==&lt;br /&gt;
* http://www.woktron.com/secure/knowledgebase/79/Installation-Rootkit-Hunter-rkhunter-on-CentOS-5-and-6.html&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Autodiscover Exchange==&lt;br /&gt;
* https://www.kernel-error.de/postfix/autodiscover&lt;br /&gt;
* http://msdn.microsoft.com/en-us/library/office/bb204082(v=exchg.150).aspx&lt;br /&gt;
* http://0wned.it/geek-bits/scripts/open-source-autodiscover-implementation-in-php/&lt;br /&gt;
* https://github.com/jamesiarmes/php-ews&lt;br /&gt;
* http://blogs.technet.com/b/ilvancri/archive/2010/02/03/some-autodiscover-fun.aspx&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Minecraft Server==&lt;br /&gt;
* https://github.com/Thue/rfwadmin&lt;br /&gt;
* http://minecraft.gamepedia.com/Tutorials/Ubuntu_startup_script&lt;br /&gt;
* http://minecraft.gamepedia.com/Setting_up_a_server&lt;br /&gt;
* http://www.spigotmc.org/&lt;br /&gt;
* https://linux.freethenoise.com/ubuntu-14-04-secure-minecraft-server-setup/&lt;br /&gt;
* https://minecraft.net/download&lt;br /&gt;
* https://computerobz.wordpress.com/2014/06/13/how-to-minecraft-server-on-ubuntu/&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==IPv6==&lt;br /&gt;
* https://doc.pfsense.org/index.php/Using_IPv6_on_2.1_with_a_Tunnel_Broker&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Guacamole==&lt;br /&gt;
* http://guac-dev.org/release/release-notes-0-9-3&lt;br /&gt;
* http://sourceforge.net/projects/guacamole/&lt;br /&gt;
* https://github.com/glyptodon/&lt;br /&gt;
* http://guac-dev.org/doc/gug/configuring-guacamole.html&lt;br /&gt;
* http://guac-dev.org/doc/gug/installing-guacamole.html&lt;br /&gt;
* http://tomba.tweakblogs.net/blog/9833/no-more-logmein-free-opensource-to-the-rescue!.html&lt;br /&gt;
* http://192.168.42.55:8080/guacamole/index.xhtml&lt;br /&gt;
LDAP + AD&lt;br /&gt;
* http://guac-dev.org/doc/gug/ldap-auth.html&lt;br /&gt;
* https://docs.google.com/document/d/1WD87zGuZuVlaoZvQb1VC4HNfu2cAKgFY2mDMScBSMeg/edit?pli=1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==VMware View==&lt;br /&gt;
* http://lab.piszki.pl/access-to-windows-7-or-8-via-a-web-browser/&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==osTicket Link Sammlung:&amp;lt;br&amp;gt;==&lt;br /&gt;
* http://www.openscriptsolution.com/ticket-system/osticket/staff-cannot-view-ticket-until-they-are-assigned-in-osticket-v1-6-rc5/&lt;br /&gt;
* http://www.osticket.com/forum/discussion/2792/redirect/p1&lt;br /&gt;
* http://www.osticket.com/forum/discussion/3220/staff-to-view-only-assigned-tickets&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Zabbix Link-Sammlung==&lt;br /&gt;
* http://deinoscloud.wordpress.com/2010/07/05/unknown-or-overlooked-esxi4s-scripts-and-commands/&lt;br /&gt;
* http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2005821&lt;br /&gt;
* http://www.andysblog.de/windows-mit-apcupsd-einen-vmware-esxi-herunterfahren&lt;br /&gt;
* http://communities.vmware.com/docs/DOC-16872&lt;br /&gt;
* http://www.vm-help.com/esx40i/manage_without_VI_client_1.php&lt;br /&gt;
* http://esx-guy.blogspot.de/2012/03/how-to-query-virtual-machine-from.html&lt;br /&gt;
* http://esx-guy.blogspot.de/2012/03/power-of-esxcli-command-in-esxi-5.html&lt;br /&gt;
* http://esx-guy.blogspot.de/2010/11/vmware-esx-commands.html&lt;br /&gt;
* http://www.looke.ch/wp/monitoring-esx-servers-with-zabbix&lt;br /&gt;
* http://pubs.vmware.com/vsphere-4-esx-vcenter/index.jsp?topic=/com.vmware.vsphere.resourcemanagement.doc_41/performance_monitoring_utilities_resxtop_and_esxtop/c_using_the_resxtop_utility.html&lt;br /&gt;
* Backup: http://zabbixzone.com/zabbix/backuping-full-database/&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Fritz!Box Linksammlung==&lt;br /&gt;
* http://www.tecchannel.de/server/extra/432803/tuning_hacks_fritzbox_fritz_box_erweiterungen_ftp_telnet/index15.html&lt;br /&gt;
* Farbiger prompt: http://www.ip-phone-forum.de/showthread.php?t=257982&lt;br /&gt;
* Putty schliesst sich nach Telnet nicht: http://www.ip-phone-forum.de/showthread.php?t=190580&lt;br /&gt;
* DSl Daten abfragen in Telnet: http://wehavemorefun.de/fritzbox/Sar&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Openfire Link-Sammlung==&lt;br /&gt;
* http://www.thefanclub.co.za/how-to/how-setup-instant-messaging-server-using-openfire-ubuntu-1204&lt;br /&gt;
* http://library.linode.com/communications/xmpp/openfire/ubuntu-12.04-precise-pangolin&lt;br /&gt;
* http://community.igniterealtime.org/thread/48282&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==1und1 vserver Linux:&amp;lt;br&amp;gt;==&lt;br /&gt;
* Limits: * http://www.codarbyte.de/2011/01/vserver-von-1und1-und-numproc-was-man-vor-der-bestellung-wissen-sollte/&lt;br /&gt;
* http://vervollkomm.net/tutorials/29-1und1-vserver&lt;br /&gt;
* http://blog.ha-com.com/2011/06/28/seltsame-zeichen-im-midnight-commander-mc-beheben/&lt;br /&gt;
* SecurePHP - notwendige Änderung: http://polyblogiol.wordpress.com/2010/02/06/mediawiki-und-php-scripting/&lt;br /&gt;
* http://www.mediawiki.org/wiki/Manual:Configuration_settings&lt;br /&gt;
* http://hilfe-center.1und1.de/server-c82640/virtual-server-linux-c82672/bedienung-c82783/-plesk-auf-virtual-server-aktualisieren-a784774.html&lt;br /&gt;
* http://hilfe-center.1und1.de/server-c82640/virtual-server-linux-c82672/problemloesung-c82779/virtual-server-mit-centos-ist-nach-update-nicht-mehr-erreichbar-a784759.html&lt;br /&gt;
* http://www.jungcreative.de/einen-vserver-von-1und1-mit-centos-updaten&lt;br /&gt;
* http://www.codarbyte.de/2010/12/parallels-plesk-panel-10-0-1-in-ubuntu-10-04/&lt;br /&gt;
* http://hilfe-center.1und1.de/sicherheit-c84638/server-absichern-c84651/dedicated-server-linux-c84657/server-aktuell-halten-und-neue-software-installieren-a788780.html&lt;br /&gt;
* http://www.ssl-faq.info/article/AA-00133/8/Technisches/Wie-kann-man-ein-Zertifikat-von-IIS-auf-Apache-verschieben.html (fehlt noch was)&lt;br /&gt;
* http://www.opensourcetutor.com/2007/08/08/convert-iis-ssl-certificate-to-use-in-apache/&lt;br /&gt;
* http://blog.zimmer-se.de/index.cfm/2008/7/28/IIS-SSLZertifikat-fr-Apache-convertieren (hier ist es mit drin)&lt;br /&gt;
&lt;br /&gt;
HostEurope&lt;br /&gt;
* Limits: http://faq.hosteurope.de/index.php?cpid=13281&lt;br /&gt;
&lt;br /&gt;
vservern Beine machen / absichern&lt;br /&gt;
* http://www.typo3forum.net/forum/typo3-4-x-installation-updates/48883-typo3-vserver-beschleunigungsmoeglichkeiten-4.html&lt;br /&gt;
&lt;br /&gt;
==mx-Record besser abfragen LINUX==&lt;br /&gt;
* http://de.wikipedia.org/wiki/MX_Resource_Record&lt;br /&gt;
&lt;br /&gt;
Rund um Ubuntu 12.04.x LTS&lt;br /&gt;
* http://wiki.ubuntu-forum.de/index.php/Apt-get#System-Update&lt;br /&gt;
&lt;br /&gt;
==Eigener DynDNS Server:==&lt;br /&gt;
* http://www.grosseosterhues.com/2011/03/gnudip-setup-on-ubuntu-10-10/&lt;br /&gt;
* http://packages.ubuntu.com/hardy/gnudip&lt;br /&gt;
* &lt;br /&gt;
----&lt;br /&gt;
==Der REst==&lt;br /&gt;
&lt;br /&gt;
* Logitech MX1000 Batterie wechseln: http://www.youtube.com/watch?v=O7Jp1oj_WxA&lt;br /&gt;
&amp;lt;big&amp;gt;* [http://znil.net/index.php?title=Vorlage:Mediawiki_Wartung&amp;amp;action=edit Wartung bearbeiten]&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;* [[Vorlage|Liste aller Vorlagen]]&amp;lt;/big&amp;gt;&lt;br /&gt;
* Geschenke / Nerd-Stuff:&lt;br /&gt;
** http://www.getdigital.de/products/Thinking&lt;br /&gt;
** http://www.getdigital.de/products/USB_LED-Anzeigetafel&lt;br /&gt;
** http://www.getdigital.de/products/USB_Fridge&lt;br /&gt;
** http://www.getdigital.de/products/Khet_Laser_Spiel_2.0&lt;br /&gt;
** http://www.getdigital.de/products/Zeitmaschine&lt;br /&gt;
** http://www.getdigital.de/products/blutbadschuerze&lt;br /&gt;
** http://www.getdigital.de/products/ask_me_about_my_zombie&lt;br /&gt;
** http://www.getdigital.de/products/Big_Brother_Vogelhaus&lt;br /&gt;
** http://www.getdigital.de/products/Hello_World_Poster&lt;br /&gt;
** http://www.getdigital.de/products/Star_Wars_Wandaufkleber&lt;br /&gt;
** http://www.getdigital.de/products/Star_Wars_Film_Poster&lt;br /&gt;
** http://www.getdigital.de/products/Das_Keyboard_Model_S&lt;br /&gt;
** http://www.getdigital.de/products/Das_Keyboard_Model_S_Professional&lt;br /&gt;
** http://www.getdigital.de/products/Notebook_Cover&lt;br /&gt;
** http://www.getdigital.de/products/Abgerissener_USB_Speicher&lt;br /&gt;
** http://www.getdigital.de/products/Celluon_Laser_Tastatur&lt;br /&gt;
** http://www.getdigital.de/products/schluesselwerkzeug&lt;br /&gt;
** http://www.getdigital.de/products/Kreditkarten_Dietriche&lt;br /&gt;
** http://www.getdigital.de/products/DAU_Orden&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
{{Trennlinie-02}}&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Verschieben Demo von DIV Fenstern mit JavaScript: http://www.selfhtml.de/demo/drags.html und JavaScript im Wiki nutzen: http://www.mediawiki.org/wiki/Extension:Javascript&lt;br /&gt;
* Land und Ort bestimmen einer IP-Adresse: http://bartomedia.blogspot.com/2007/11/maxmind-geoip-setup-tutorial-using.html und http://www.it-academy.cc/article/1467/PHP:+Herkunft+einer+IPAdresse+ermitteln.html&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Upgrade SBS 2003 zu 2008R2 und Exchange 2010: &lt;br /&gt;
* http://demazter.wordpress.com/2010/04/29/migrate-small-business-server-2003-to-exchange-2010-and-windows-2008-r2/&lt;br /&gt;
* http://technikblog.rachfahl.de/technik/howto-abloesung-eines-windows-small-business-server-2003-inkl-exchange-migration/&lt;br /&gt;
&lt;br /&gt;
SBS2003 als Memberserver weiterlaufen lassen:&lt;br /&gt;
* http://www.certforums.com/forums/sbs/39759-sbs2003-change-member-server-guide.html&lt;br /&gt;
&lt;br /&gt;
Android 3D Oberfläche: https://market.android.com/details?id=com.spb.shell3d&amp;amp;feature=search_result&lt;br /&gt;
&lt;br /&gt;
http://www.youtube.com/watch?v=O7Jp1oj_WxA -&amp;gt; Logitech MX 1000 Batterie wechseln / Gehäuse öffnen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UltraVNC SC: http://www.uvnc.com/downloads/single-click/82-single-click-downloads.html&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
http://thelazyadmin.com/blogs/thelazyadmin/archive/2007/01/26/Configure-RDP-over-SSL-with-SelfSSL.aspx RDP mit SSL&lt;br /&gt;
&lt;br /&gt;
http://www.mediawiki.org/wiki/Extension:MediawikiPlayer&lt;br /&gt;
&lt;br /&gt;
http://www.mediawiki.org/wiki/Extension:Google_Translator&lt;br /&gt;
&lt;br /&gt;
http://www.shoutwiki.com/wiki/Template:Email &amp;lt;- mal abschauen&lt;br /&gt;
&lt;br /&gt;
http://www.wiki.xennis.de/index.php?title=Hauptseite&lt;br /&gt;
&lt;br /&gt;
http://www.mediawiki.org/wiki/Extension:Semantic_Forms&lt;br /&gt;
&lt;br /&gt;
Anmelden – wie gemacht? Tabelle mit Grafik oben links – wie gemacht? http://www.leerwiki.nl/Hoofdpagina&lt;br /&gt;
&lt;br /&gt;
Zusätzliche Symbole unten beim Edieren ! http://www.mediawiki.org/wiki/Extension:CharInsert&lt;br /&gt;
&lt;br /&gt;
An die Template (Vorlage:) können Parameter übergeben werden! Siehe Anleitung hier: http://www.mediawiki.org/wiki/Help:Templates/de&lt;br /&gt;
&lt;br /&gt;
Bewertungsleiste (mit Sternen 1 bis 5): http://www.mediawiki.org/wiki/Extension:AjaxRatingScript&lt;br /&gt;
&lt;br /&gt;
LightBox – Bilder Cooler betrachten: http://www.huddletogether.com/projects/lightbox2/ und dazu http://www.mediawiki.org/wiki/User:Alxndr/Lightbox2_hack&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
ComiPo!&lt;br /&gt;
 http://comipoclubhouse.deviantart.com/favourites/66406281/Free-ComiPo-Resources&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;SVC 5.1.0 and above&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
In SVC software version 5.1.0 and above the active quorum disk can be specified with the svctask setquorum command and using the -active flag option. The current quorum disk status can be viewed using the svcinfo lsquorum command&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
[[Datei:20250907_133844.jpg]]&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Benutzer:BLinz&amp;diff=15994</id>
		<title>Benutzer:BLinz</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Benutzer:BLinz&amp;diff=15994"/>
		<updated>2026-05-27T09:16:39Z</updated>

		<summary type="html">&lt;p&gt;BLinz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- https://www.dropbox.com/scl/fi/dqmim55mkjoyyko1rizzr/Agent_Installationspaket_V2025-11-05.zip?rlkey=9w3zi3bioredk970tpzhlbxup&amp;amp;dl=0 --&amp;gt;&lt;br /&gt;
&amp;lt;!-- https://www.dropbox.com/scl/fo/86t5k8j1qe4pga1tri20l/AJO_uO84ISwLabWp3uO0Ij8?rlkey=da8sh4z4tf3quvhq9i043kr3k&amp;amp;st=p38xu19v&amp;amp;dl=0 --&amp;gt;&lt;br /&gt;
&amp;lt;!-- https://www.dropbox.com/scl/fi/5z3mo5fcyc6o7kb3da4cx/seafile-7.0.9-en.msi?rlkey=l30b9wcxtgikxhzlobdnkv3ud&amp;amp;dl=0 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
Aktuelle Werte abfragen:&lt;br /&gt;
Get-WmiObject -Namespace &amp;quot;Root\MicrosoftDFS&amp;quot; -Class DfsrMachineConfig | select MaxOfflineTimeInDays&lt;br /&gt;
 &lt;br /&gt;
Um diesen beispielsweise auf 300 hochzusetzen, geht man so vor:&lt;br /&gt;
$dfsrConfig = Get-WmiObject -Namespace &amp;quot;Root\MicrosoftDFS&amp;quot; `&lt;br /&gt;
-Class DfsrMachineConfig&lt;br /&gt;
 &lt;br /&gt;
$dfsrConfig.MaxOfflineTimeInDays = 300&lt;br /&gt;
$dfsrConfig.Put()&lt;br /&gt;
 &lt;br /&gt;
Auf Standardwert zurücksetzen:&lt;br /&gt;
$dfsrConfig = Get-WmiObject -Namespace &amp;quot;Root\MicrosoftDFS&amp;quot; `&lt;br /&gt;
-Class DfsrMachineConfig&lt;br /&gt;
 &lt;br /&gt;
$dfsrConfig.MaxOfflineTimeInDays = 60&lt;br /&gt;
$dfsrConfig.Put()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--https://cloud.znil.org/u/d/975e252e8de8409f8df8/--&amp;gt;&lt;br /&gt;
Das ist ein {{bred|Test}} der Vorlage&amp;lt;br&amp;gt;&lt;br /&gt;
und in der Zeile darunter sieht es so aus&lt;br /&gt;
* https://www.cursor.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://www.gl-inet.com/products/gl-rm1/&lt;br /&gt;
----&lt;br /&gt;
==FritzBox Verbindungsstatus==&lt;br /&gt;
* https://forum.iobroker.net/topic/73921/gel%C3%B6st-zabbix-fritzbox-etc&lt;br /&gt;
* https://forum.iobroker.net/topic/76396/gel%C3%B6st-fritzbox-routen-ein-oder-ausschalten&lt;br /&gt;
&lt;br /&gt;
---- &lt;br /&gt;
https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/pdf/configuring_infiniband_and_rdma_networks/red_hat_enterprise_linux-8-configuring_infiniband_and_rdma_networks-en-us.pdf&amp;lt;br&amp;gt;&lt;br /&gt;
https://github.com/openucx/ucx/issues/4742&lt;br /&gt;
https://github.com/ofiwg/libfabric/pull/5281&amp;lt;br&amp;gt;&lt;br /&gt;
 qTZpzhtmjw2Dg4QTUXvL4N&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://github.com/arendst/Tasmota/discussions/20580#discussioncomment-8256030&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
* https://docs.oracle.com/cd/E19914-01/820-6705-10/appendix2.html&lt;br /&gt;
* https://linux.die.net/man/8/ibping&lt;br /&gt;
* https://www.fibermall.com/de/blog/difference-ethernet-infiniband-adapter.htm&lt;br /&gt;
* https://de.wikipedia.org/wiki/Red_Hat_Enterprise_Linux&lt;br /&gt;
----&lt;br /&gt;
[[neue Seite zum testen]]&lt;br /&gt;
* https://docs.vmware.com/en/VMware-Horizon/2306/virtual-desktops/GUID-4A4A181F-E758-43BC-A812-B05379D8D8B0.html&lt;br /&gt;
* https://www.youtube.com/watch?v=Afe0-5_QRn8&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
ijj2ufj3&lt;br /&gt;
fwirdeq7&lt;br /&gt;
k3zxqh6n&lt;br /&gt;
hefnimsv&lt;br /&gt;
kzaucwtj&lt;br /&gt;
qm6pxjdj&lt;br /&gt;
at5vqwe7&lt;br /&gt;
q2p77bos&lt;br /&gt;
ojvlkmkl&lt;br /&gt;
x5xdipk3&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* https://askubuntu.com/questions/1308941/migrating-ubuntu-20-04-lamp-from-mysql-to-mariadb&lt;br /&gt;
1.3.6.1.2.1.17.4.3.1.2&lt;br /&gt;
&amp;lt;!-- https://cloud.znil.org/u/d/803ef6edec274f3298e8/ --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UN Location Code&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;cvxc&#039;&#039;&#039;&lt;br /&gt;
https://blog.deinhandy.de/alexa-zuruecksetzen-so-funktionierts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tuya: https://pypi.org/project/tinytuya/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;Groß&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Test43]]&lt;br /&gt;
&lt;br /&gt;
:[[Datei:ClipCapIt-230124-105454.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*  https://1ty.me/&lt;br /&gt;
* 64443&lt;br /&gt;
* https://techcommunity.microsoft.com/t5/exchange-team-blog/email-stuck-in-transport-queues/ba-p/3049447&lt;br /&gt;
* http://mt-naka.com/hotswap/index_enu.htm&lt;br /&gt;
 robocopy R:\ S:\ /MIR /DCOPY:DAT /R:1 /W:1 /XD $RECYCLE.BIN /XD &amp;quot;System Volume Information&amp;quot;&lt;br /&gt;
 for /R c:\sourceFolder\ %%G in (*) do ( move /Y &amp;quot;%%G&amp;quot; c:\destinationFolder\ )&lt;br /&gt;
 for /R c:\sourceFolder\ %G in (*) do ( move /Y &amp;quot;%G&amp;quot; c:\destinationFolder\ )&lt;br /&gt;
 magick mogrify -format gif *.webp&lt;br /&gt;
 Outlook.exe /cleanips&lt;br /&gt;
----&lt;br /&gt;
 get-childitem &amp;quot;Ordnerpfad&amp;quot; -recurse | where-object {$_.mode -notmatch &amp;quot;d&amp;quot;} | where-object {$_.lastwritetime -gt [datetime]::parse(&amp;quot;26/02/2021&amp;quot;)} | format-table lastwritetime, fullname -autosize | out-file newfiles.log -append&lt;br /&gt;
Zabbix Uploads: https://cloud.znil.org/u/d/ec404add66804ce98821/&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Exchange&amp;lt;br&amp;gt;&lt;br /&gt;
* https://dghb-cloud-01.datagroup-bremen.de/f/137064243d0a46e1928c/&lt;br /&gt;
* https://www.dropbox.com/sh/v39cca7vn6n5tfo/AABMzojf0CGxgA9yjWw5BABka?dl=0&lt;br /&gt;
* https://www.dropbox.com/s/h4jt3r6bqrfhogx/SW_DVD9_Exchange_Svr_2019_CU_8_MultiLang_Std_Ent_.iso_MLF_X22-47601.ISO?dl=0&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- https://www.dropbox.com/s/3454fxnuobkvsc3/VeeamBackup%26Replication_9.5.0.1536.Update3.iso?dl=0&amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
https://sysadminde.com/questions/871051/doing-dpi-scaling-server-side-rdp-windows-server-2016&amp;lt;br&amp;gt;&lt;br /&gt;
https://helpcenter.veeam.com/archive/backup/95/vsphere/used_ports.html#guest&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--administrator@vsphere.local&lt;br /&gt;
p~I7Sqd@|`cFndlPEpr*&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Telekom Datenvolumen: http://pass.telekom.de/&amp;lt;br&amp;gt;&lt;br /&gt;
https://docs.microsoft.com/en-us/office/client-developer/shared/integrating-im-applications-with-office&amp;lt;br&amp;gt;&lt;br /&gt;
http://standards-oui.ieee.org/oui.txt&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
Zabbix RDP: https://github.com/ilianapro/zabbix_template_rdp_monitoring&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
https://www.boc.de/watchguard-info-portal/2016/08/letsencrypt-zertifikat-als-proxy-zertifikat-auf-watchguard-firebox/&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.zabbix.com/documentation/4.0/manual/introduction/whatsnew400&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.heise.de/ct/artikel/Windows-10-Version-1903-ist-fertig-4367985.html&amp;lt;br&amp;gt;&lt;br /&gt;
https://share.zabbix.com/operating-systems/windows/windows-defender-wmi-monitoring&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
https://jalbum.net&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--{{WeristOnlineBox-unten-rechts}}--&amp;gt;&lt;br /&gt;
SFConflict&lt;br /&gt;
&lt;br /&gt;
* RDP-Gateway hinter Apache-Revers-Proxy: https://serverfault.com/questions/353832/using-apache-as-a-reverse-proxy-https-server-in-front-of-remote-desktop-gateway&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/watch?v=D7U7Og7gocE Horst Evers - Jan]&lt;br /&gt;
* https://www.youtube.com/watch?v=mWqT0LYhsnk&amp;amp;t=1s&lt;br /&gt;
* RDS2610: &lt;br /&gt;
** https://msandbu.wordpress.com/2016/02/04/office365-on-terminal-server-done-right/&lt;br /&gt;
** https://social.technet.microsoft.com/Forums/scriptcenter/de-DE/087526c8-3e16-4b32-8fa3-5dd492bd1789/farmname-einer-sammlung?forum=windowsserver8de&lt;br /&gt;
{{Trennlinie-02}}&lt;br /&gt;
{{Mediawiki_Wartung}}&lt;br /&gt;
{{Trennlinie-02}}&lt;br /&gt;
* https://www.amazon.de/ŠKODA-Auto-a-s-Connect/dp/B07B2YDVN2&lt;br /&gt;
{{Trennlinie-02}}&lt;br /&gt;
* https://www.youtube.com/watch?v=Hrug17skHbY&lt;br /&gt;
* https://community.arubanetworks.com/t5/Wireless-Access/ArubaOS-8-2-1-cannot-create-Wlan-without-PEF-license/td-p/405492/page/2&lt;br /&gt;
* https://community.arubanetworks.com/t5/Wireless-Access/Bridge-mode-not-avaliable-on-VMC-VMware-Web-Interface/td-p/400583&lt;br /&gt;
{{Trennlinie-02}}&lt;br /&gt;
Schlüsselanhänger:&amp;lt;br&amp;gt;&lt;br /&gt;
* https://www.amazon.de/dp/B01MUIHBPX/ref=sspa_dk_detail_0?psc=1&amp;amp;pd_rd_i=B01MUIHBPX&amp;amp;pf_rd_m=A3JWKAKR8XB7XF&amp;amp;pf_rd_p=00903874-3af0-47e0-8622-ee58087f71cf&amp;amp;pf_rd_r=8FQPWMY1FVBCBRZTQBWT&amp;amp;pd_rd_wg=TwMJ0&amp;amp;pf_rd_s=desktop-dp-sims&amp;amp;pf_rd_t=40701&amp;amp;pd_rd_w=StBre&amp;amp;pf_rd_i=desktop-dp-sims&amp;amp;pd_rd_r=115f3ab4-caf2-11e8-8b24-ed803f1d8857&lt;br /&gt;
* https://www.amazon.de/dp/B01N3K04LS/ref=pd_luc_rh_sspa_dk_huc_pt_sub_3?psc=1&lt;br /&gt;
----&lt;br /&gt;
Sims 4&lt;br /&gt;
* https://www.simtimes.de/sims4/tipps-tricks-guides-hilfe-sims4/die-sims-4-cheats/&lt;br /&gt;
* http://www.simfans.de/die-sims-4/erweiterungspacks/grossstadtleben/cheats-guides/die-sims-4-grossstadtleben-cheats/&lt;br /&gt;
* https://www.ea.com/de-de/games/the-sims/the-sims-4/pc/how-to-cheat&lt;br /&gt;
{{Trennlinie-02}}&lt;br /&gt;
* https://zabbixonly.com/how-to-install-zabbix-server-3-4-ubuntu-18-04/&lt;br /&gt;
{{Trennlinie-02}}&lt;br /&gt;
Playstation VR am PC&amp;lt;br&amp;gt;&lt;br /&gt;
* Einrichten: https://www.windowscentral.com/how-play-steam-games-playstation-vr&lt;br /&gt;
* Einrichten: https://www.youtube.com/watch?v=I9cUfN23mes&lt;br /&gt;
* Einrichten: https://www.youtube.com/watch?v=5BSeXv3KRaw&lt;br /&gt;
* Kontroller: https://www.youtube.com/watch?v=PTPHulcba5A&lt;br /&gt;
* Kino? https://www.youtube.com/watch?v=5EYV-rSopig&lt;br /&gt;
&lt;br /&gt;
{{Trennlinie-02}}&lt;br /&gt;
Signal-CLI:&amp;lt;br&amp;gt;&lt;br /&gt;
* https://github.com/AsamK/signal-cli&lt;br /&gt;
* https://github.com/AsamK/signal-cli/wiki/HowToUbuntu&lt;br /&gt;
&lt;br /&gt;
{{Trennlinie-02}}&lt;br /&gt;
Ansichtsboxen wie hier: https://clipperz.is/blog/2017/12/24/reliability/&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
https://www.youtube.com/watch?v=KfrU9_qTqwA&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.youtube.com/watch?v=Von_enTSXM8&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.youtube.com/watch?v=iEx6byhcGqg&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.citycams.tv/de/deutschland/frankfurt-am-main/&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.youtube.com/watch?v=89q6hl7N7MY&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.youtube.com/watch?v=GQWg6b1fWgE&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.youtube.com/watch?v=WkXroQyvdTA Soggy Dollar Bar&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.youtube.com/watch?v=2sGfGRM_f3w Bodo Terminalen&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.youtube.com/watch?v=TVgdgpSX1e0 Casa Labhardt&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.youtube.com/watch?v=RtU_mdL2vBM Nasa Live&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://github.com/cDima/Aerial/releases&lt;br /&gt;
----&lt;br /&gt;
AutoIt Zertifikate + Verschlüsselung:&amp;lt;br&amp;gt;&lt;br /&gt;
* https://www.autoitscript.com/forum/topic/180965-certificate-expiration-check-script/#comment-1299267&lt;br /&gt;
AutoIt Datei Explorer Steuerung:&lt;br /&gt;
* https://www.autoitscript.com/forum/topic/162905-automating-windows-explorer/&lt;br /&gt;
----&lt;br /&gt;
 https://de.wikipedia.org/wiki/Go_%28Programmiersprache%29&lt;br /&gt;
 https://www.thefanclub.co.za/how-to/how-secure-ubuntu-1604-lts-server-part-1-basics&lt;br /&gt;
----&lt;br /&gt;
Statt der grauen Boxen: https://docs.phalconphp.com/en/latest/reference/tutorial-invo-2.html&lt;br /&gt;
Coole neue Bildervorschau: https://www.mediawiki.org/wiki/Extension:MultimediaViewer&lt;br /&gt;
----&lt;br /&gt;
Docker:&amp;lt;br&amp;gt;&lt;br /&gt;
 https://github.com/mattiasgiese&lt;br /&gt;
 http://kubernetes.io/&lt;br /&gt;
 https://github.com/coreos/rkt&lt;br /&gt;
 http://rancher.com/&lt;br /&gt;
 http://boot2docker.io/&lt;br /&gt;
 https://coreos.com/&lt;br /&gt;
 http://mesos.apache.org/documentation/latest/docker-containerizer/&lt;br /&gt;
 https://www.openshift.com/&lt;br /&gt;
LXC:&lt;br /&gt;
 https://www.thefanclub.co.za/how-to/how-secure-ubuntu-1604-lts-server-part-1-basics&lt;br /&gt;
----&lt;br /&gt;
tmux:&lt;br /&gt;
 http://www.hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/&lt;br /&gt;
 http://www.pro-linux.de/artikel/2/1691/tmux-das-kung-fu-der-terminal-ninjas.html&lt;br /&gt;
----&lt;br /&gt;
Git - Prompt in Bash mit Status:&lt;br /&gt;
 https://coderwall.com/p/pn8f0g/show-your-git-status-and-branch-in-color-at-the-command-prompt&lt;br /&gt;
----&lt;br /&gt;
 zcat /SoYouStart-ftp/zabbix/zabbix1.sql.gz | pv --progress --size 5000m | mysql -uzabbix -pzabbix zabbix&lt;br /&gt;
----&lt;br /&gt;
Programmierumgebungen um Android Apps zu entwickeln:&lt;br /&gt;
 Visual Basic ähnlich, $59: https://www.b4x.com/b4a.html&lt;br /&gt;
 Mono, kostenlos, auch VB ähnlich: http://www.monodevelop.com/download/&lt;br /&gt;
----&lt;br /&gt;
 https://hakshop.myshopify.com/collections/lan-turtle/products/lan-turtle &lt;br /&gt;
----&lt;br /&gt;
pfSense als Bridge:&lt;br /&gt;
 https://magiksys.blogspot.de/2012/12/pfsense-bridge-gateway-vmware-ovh-ip.html&lt;br /&gt;
----&lt;br /&gt;
Linux 2 Faktor:&lt;br /&gt;
 https://www.digitalocean.com/community/tutorials/how-to-set-up-multi-factor-authentication-for-ssh-on-ubuntu-14-04&lt;br /&gt;
 https://www.linux.com/learn/how-set-2-factor-authentication-login-and-sudo&lt;br /&gt;
Für Apache Basic Auth&lt;br /&gt;
 https://stackoverflow.com/questions/19696526/svn-two-factor-authentication&lt;br /&gt;
Beispiel eigene Webseite:&lt;br /&gt;
 https://www.twilio.com/blog/2013/04/add-two-factor-authentication-to-your-website-with-google-authenticator-and-twilio-sms.html&lt;br /&gt;
----&lt;br /&gt;
https://www.deskmodder.de/wiki/index.php/Farben_%C3%A4ndern_anpassen_Windows_10&lt;br /&gt;
----&lt;br /&gt;
Umbau Telnet-SMTP-Tool auf TLS Unterstützung:&lt;br /&gt;
 https://scottlinux.com/2014/06/05/check-for-smtp-tls-from-command-line-with-openssl/&lt;br /&gt;
----&lt;br /&gt;
Cooles Inferface für Dateidownloads: https://larsjung.de/h5ai/&lt;br /&gt;
----&lt;br /&gt;
Telekom Hybrid Zugang, VPN und Fritz!Box:&lt;br /&gt;
 http://www.lubensky.de/hybrid/index.htm&lt;br /&gt;
 https://telekomhilft.telekom.de/t5/Geraete-Zubehoer/Fritzbox-7390-hinter-Speedport-Hybrid-incl-DynDNS-Fernzugang-und/td-p/1405640&lt;br /&gt;
Sendemast finden:&lt;br /&gt;
 https://telekomhilft.telekom.de/t5/Telefonie-Internet/Die-richtige-Antenne-fuer-den-Speedport-Hybrid/td-p/1316157&lt;br /&gt;
&lt;br /&gt;
 Bis zu 150 MBit/s:&lt;br /&gt;
 Telefonieren &amp;amp; Surfen mit dem Smartphone&lt;br /&gt;
 &lt;br /&gt;
 Bis zu 150 MBit/s:&lt;br /&gt;
 Surfen mit dem Laptop oder Tablet&lt;br /&gt;
 &lt;br /&gt;
 Am markierten Punkt sind die Mobilfunktechnologien GSM, GPRS, EDGE, UMTS, HSPA, LTE 1800/2600, LTE 800 verfügbar.&lt;br /&gt;
 Richtung zum nächsten LTE-Standort (LTE 1800 MHz) in 231° Südwest&lt;br /&gt;
:[[Datei:LTE_Meisenweg-Achim-001.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:LTE_Meisenweg-Achim-002.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:LTE_Meisenweg-Achim-003.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Antennentypen&lt;br /&gt;
 http://www.lte800.com/test-lte-antennen-empfehlung-beratung.html&lt;br /&gt;
Empfangs- und Sendepegel am Speedport Hybrid sehen:&lt;br /&gt;
 http://speedport.ip/engineer/html/lteinfo.html?lang=de&lt;br /&gt;
Bedeutung der Werte:&lt;br /&gt;
 https://www.fts-hennig.de/mobilfunk-blog/antennen/lte-antennen/lte-leistung/&lt;br /&gt;
----&lt;br /&gt;
W10 dual Boot:&lt;br /&gt;
 Disk2VHD: https://technet.microsoft.com/en-us/sysinternals/ee656415.aspx&lt;br /&gt;
 http://blog.alekel.de/windows-10-preview-parallel-installieren-variante-2/&lt;br /&gt;
 &lt;br /&gt;
----&lt;br /&gt;
 http://www.hypergridbusiness.com/faq/vr-headset-qr-codes/&lt;br /&gt;
 https://vr.google.com/cardboard/viewerprofilegenerator/&lt;br /&gt;
----&lt;br /&gt;
 Robocopy Progress Bar in Batch geschrieben: http://ss64.org/viewtopic.php?id=1499&lt;br /&gt;
----&lt;br /&gt;
 Select * from Win32_OperatingSystem where Caption like &amp;quot;%Server%&amp;quot;&lt;br /&gt;
 Select * from Win32_OperatingSystem where not Caption like &amp;quot;%Server%&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
* https://www.secuso.informatik.tu-darmstadt.de/de/research/results/passsec/&lt;br /&gt;
* http://foonet.be/2012/03/09/monitoring-veeam-flr-sessions-using-powercli/&lt;br /&gt;
----&lt;br /&gt;
 gwmi -Namespace root\wmi -Class MPIO_DISK_INFO&lt;br /&gt;
 ipmitool -I lanplus -A RMCP+ -H 10.112.105.15 -U username -P password sensor&lt;br /&gt;
 ipmitool -I lanplus -A MD5 -H 192.168.244.182 -L USER -U zabbix -P zabbix sensor get &amp;quot;Power Supply 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* http://www.tp-link.com/Common/Spotlight/EAP_controller.html&lt;br /&gt;
* http://www.ekahau.com/wifidesign/ekahau-heatmapper&lt;br /&gt;
* http://www.amazon.de/Schiebetür-Nischentür-wasserbeständig-Farbwahl-203x82cm/dp/B00F9T3OUU/&lt;br /&gt;
* Zabbi xmit MariaDB? http://www.tecmint.com/install-and-configure-zabbix-monitoring-on-debian-centos-rhel/&lt;br /&gt;
----&lt;br /&gt;
Windows 10 DeDup: http://www.slr-corp.fr/2015/08/windows-10-rtm-enabling-deduplication/&lt;br /&gt;
==VMware==&lt;br /&gt;
* Vorher-Nacher Scripts bei Snapshots: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1006671&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==rkhunter==&lt;br /&gt;
* http://www.woktron.com/secure/knowledgebase/79/Installation-Rootkit-Hunter-rkhunter-on-CentOS-5-and-6.html&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Autodiscover Exchange==&lt;br /&gt;
* https://www.kernel-error.de/postfix/autodiscover&lt;br /&gt;
* http://msdn.microsoft.com/en-us/library/office/bb204082(v=exchg.150).aspx&lt;br /&gt;
* http://0wned.it/geek-bits/scripts/open-source-autodiscover-implementation-in-php/&lt;br /&gt;
* https://github.com/jamesiarmes/php-ews&lt;br /&gt;
* http://blogs.technet.com/b/ilvancri/archive/2010/02/03/some-autodiscover-fun.aspx&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Minecraft Server==&lt;br /&gt;
* https://github.com/Thue/rfwadmin&lt;br /&gt;
* http://minecraft.gamepedia.com/Tutorials/Ubuntu_startup_script&lt;br /&gt;
* http://minecraft.gamepedia.com/Setting_up_a_server&lt;br /&gt;
* http://www.spigotmc.org/&lt;br /&gt;
* https://linux.freethenoise.com/ubuntu-14-04-secure-minecraft-server-setup/&lt;br /&gt;
* https://minecraft.net/download&lt;br /&gt;
* https://computerobz.wordpress.com/2014/06/13/how-to-minecraft-server-on-ubuntu/&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==IPv6==&lt;br /&gt;
* https://doc.pfsense.org/index.php/Using_IPv6_on_2.1_with_a_Tunnel_Broker&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Guacamole==&lt;br /&gt;
* http://guac-dev.org/release/release-notes-0-9-3&lt;br /&gt;
* http://sourceforge.net/projects/guacamole/&lt;br /&gt;
* https://github.com/glyptodon/&lt;br /&gt;
* http://guac-dev.org/doc/gug/configuring-guacamole.html&lt;br /&gt;
* http://guac-dev.org/doc/gug/installing-guacamole.html&lt;br /&gt;
* http://tomba.tweakblogs.net/blog/9833/no-more-logmein-free-opensource-to-the-rescue!.html&lt;br /&gt;
* http://192.168.42.55:8080/guacamole/index.xhtml&lt;br /&gt;
LDAP + AD&lt;br /&gt;
* http://guac-dev.org/doc/gug/ldap-auth.html&lt;br /&gt;
* https://docs.google.com/document/d/1WD87zGuZuVlaoZvQb1VC4HNfu2cAKgFY2mDMScBSMeg/edit?pli=1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==VMware View==&lt;br /&gt;
* http://lab.piszki.pl/access-to-windows-7-or-8-via-a-web-browser/&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==osTicket Link Sammlung:&amp;lt;br&amp;gt;==&lt;br /&gt;
* http://www.openscriptsolution.com/ticket-system/osticket/staff-cannot-view-ticket-until-they-are-assigned-in-osticket-v1-6-rc5/&lt;br /&gt;
* http://www.osticket.com/forum/discussion/2792/redirect/p1&lt;br /&gt;
* http://www.osticket.com/forum/discussion/3220/staff-to-view-only-assigned-tickets&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Zabbix Link-Sammlung==&lt;br /&gt;
* http://deinoscloud.wordpress.com/2010/07/05/unknown-or-overlooked-esxi4s-scripts-and-commands/&lt;br /&gt;
* http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2005821&lt;br /&gt;
* http://www.andysblog.de/windows-mit-apcupsd-einen-vmware-esxi-herunterfahren&lt;br /&gt;
* http://communities.vmware.com/docs/DOC-16872&lt;br /&gt;
* http://www.vm-help.com/esx40i/manage_without_VI_client_1.php&lt;br /&gt;
* http://esx-guy.blogspot.de/2012/03/how-to-query-virtual-machine-from.html&lt;br /&gt;
* http://esx-guy.blogspot.de/2012/03/power-of-esxcli-command-in-esxi-5.html&lt;br /&gt;
* http://esx-guy.blogspot.de/2010/11/vmware-esx-commands.html&lt;br /&gt;
* http://www.looke.ch/wp/monitoring-esx-servers-with-zabbix&lt;br /&gt;
* http://pubs.vmware.com/vsphere-4-esx-vcenter/index.jsp?topic=/com.vmware.vsphere.resourcemanagement.doc_41/performance_monitoring_utilities_resxtop_and_esxtop/c_using_the_resxtop_utility.html&lt;br /&gt;
* Backup: http://zabbixzone.com/zabbix/backuping-full-database/&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Fritz!Box Linksammlung==&lt;br /&gt;
* http://www.tecchannel.de/server/extra/432803/tuning_hacks_fritzbox_fritz_box_erweiterungen_ftp_telnet/index15.html&lt;br /&gt;
* Farbiger prompt: http://www.ip-phone-forum.de/showthread.php?t=257982&lt;br /&gt;
* Putty schliesst sich nach Telnet nicht: http://www.ip-phone-forum.de/showthread.php?t=190580&lt;br /&gt;
* DSl Daten abfragen in Telnet: http://wehavemorefun.de/fritzbox/Sar&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Openfire Link-Sammlung==&lt;br /&gt;
* http://www.thefanclub.co.za/how-to/how-setup-instant-messaging-server-using-openfire-ubuntu-1204&lt;br /&gt;
* http://library.linode.com/communications/xmpp/openfire/ubuntu-12.04-precise-pangolin&lt;br /&gt;
* http://community.igniterealtime.org/thread/48282&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==1und1 vserver Linux:&amp;lt;br&amp;gt;==&lt;br /&gt;
* Limits: * http://www.codarbyte.de/2011/01/vserver-von-1und1-und-numproc-was-man-vor-der-bestellung-wissen-sollte/&lt;br /&gt;
* http://vervollkomm.net/tutorials/29-1und1-vserver&lt;br /&gt;
* http://blog.ha-com.com/2011/06/28/seltsame-zeichen-im-midnight-commander-mc-beheben/&lt;br /&gt;
* SecurePHP - notwendige Änderung: http://polyblogiol.wordpress.com/2010/02/06/mediawiki-und-php-scripting/&lt;br /&gt;
* http://www.mediawiki.org/wiki/Manual:Configuration_settings&lt;br /&gt;
* http://hilfe-center.1und1.de/server-c82640/virtual-server-linux-c82672/bedienung-c82783/-plesk-auf-virtual-server-aktualisieren-a784774.html&lt;br /&gt;
* http://hilfe-center.1und1.de/server-c82640/virtual-server-linux-c82672/problemloesung-c82779/virtual-server-mit-centos-ist-nach-update-nicht-mehr-erreichbar-a784759.html&lt;br /&gt;
* http://www.jungcreative.de/einen-vserver-von-1und1-mit-centos-updaten&lt;br /&gt;
* http://www.codarbyte.de/2010/12/parallels-plesk-panel-10-0-1-in-ubuntu-10-04/&lt;br /&gt;
* http://hilfe-center.1und1.de/sicherheit-c84638/server-absichern-c84651/dedicated-server-linux-c84657/server-aktuell-halten-und-neue-software-installieren-a788780.html&lt;br /&gt;
* http://www.ssl-faq.info/article/AA-00133/8/Technisches/Wie-kann-man-ein-Zertifikat-von-IIS-auf-Apache-verschieben.html (fehlt noch was)&lt;br /&gt;
* http://www.opensourcetutor.com/2007/08/08/convert-iis-ssl-certificate-to-use-in-apache/&lt;br /&gt;
* http://blog.zimmer-se.de/index.cfm/2008/7/28/IIS-SSLZertifikat-fr-Apache-convertieren (hier ist es mit drin)&lt;br /&gt;
&lt;br /&gt;
HostEurope&lt;br /&gt;
* Limits: http://faq.hosteurope.de/index.php?cpid=13281&lt;br /&gt;
&lt;br /&gt;
vservern Beine machen / absichern&lt;br /&gt;
* http://www.typo3forum.net/forum/typo3-4-x-installation-updates/48883-typo3-vserver-beschleunigungsmoeglichkeiten-4.html&lt;br /&gt;
&lt;br /&gt;
==mx-Record besser abfragen LINUX==&lt;br /&gt;
* http://de.wikipedia.org/wiki/MX_Resource_Record&lt;br /&gt;
&lt;br /&gt;
Rund um Ubuntu 12.04.x LTS&lt;br /&gt;
* http://wiki.ubuntu-forum.de/index.php/Apt-get#System-Update&lt;br /&gt;
&lt;br /&gt;
==Eigener DynDNS Server:==&lt;br /&gt;
* http://www.grosseosterhues.com/2011/03/gnudip-setup-on-ubuntu-10-10/&lt;br /&gt;
* http://packages.ubuntu.com/hardy/gnudip&lt;br /&gt;
* &lt;br /&gt;
----&lt;br /&gt;
==Der REst==&lt;br /&gt;
&lt;br /&gt;
* Logitech MX1000 Batterie wechseln: http://www.youtube.com/watch?v=O7Jp1oj_WxA&lt;br /&gt;
&amp;lt;big&amp;gt;* [http://znil.net/index.php?title=Vorlage:Mediawiki_Wartung&amp;amp;action=edit Wartung bearbeiten]&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;* [[Vorlage|Liste aller Vorlagen]]&amp;lt;/big&amp;gt;&lt;br /&gt;
* Geschenke / Nerd-Stuff:&lt;br /&gt;
** http://www.getdigital.de/products/Thinking&lt;br /&gt;
** http://www.getdigital.de/products/USB_LED-Anzeigetafel&lt;br /&gt;
** http://www.getdigital.de/products/USB_Fridge&lt;br /&gt;
** http://www.getdigital.de/products/Khet_Laser_Spiel_2.0&lt;br /&gt;
** http://www.getdigital.de/products/Zeitmaschine&lt;br /&gt;
** http://www.getdigital.de/products/blutbadschuerze&lt;br /&gt;
** http://www.getdigital.de/products/ask_me_about_my_zombie&lt;br /&gt;
** http://www.getdigital.de/products/Big_Brother_Vogelhaus&lt;br /&gt;
** http://www.getdigital.de/products/Hello_World_Poster&lt;br /&gt;
** http://www.getdigital.de/products/Star_Wars_Wandaufkleber&lt;br /&gt;
** http://www.getdigital.de/products/Star_Wars_Film_Poster&lt;br /&gt;
** http://www.getdigital.de/products/Das_Keyboard_Model_S&lt;br /&gt;
** http://www.getdigital.de/products/Das_Keyboard_Model_S_Professional&lt;br /&gt;
** http://www.getdigital.de/products/Notebook_Cover&lt;br /&gt;
** http://www.getdigital.de/products/Abgerissener_USB_Speicher&lt;br /&gt;
** http://www.getdigital.de/products/Celluon_Laser_Tastatur&lt;br /&gt;
** http://www.getdigital.de/products/schluesselwerkzeug&lt;br /&gt;
** http://www.getdigital.de/products/Kreditkarten_Dietriche&lt;br /&gt;
** http://www.getdigital.de/products/DAU_Orden&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
{{Trennlinie-02}}&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Verschieben Demo von DIV Fenstern mit JavaScript: http://www.selfhtml.de/demo/drags.html und JavaScript im Wiki nutzen: http://www.mediawiki.org/wiki/Extension:Javascript&lt;br /&gt;
* Land und Ort bestimmen einer IP-Adresse: http://bartomedia.blogspot.com/2007/11/maxmind-geoip-setup-tutorial-using.html und http://www.it-academy.cc/article/1467/PHP:+Herkunft+einer+IPAdresse+ermitteln.html&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Upgrade SBS 2003 zu 2008R2 und Exchange 2010: &lt;br /&gt;
* http://demazter.wordpress.com/2010/04/29/migrate-small-business-server-2003-to-exchange-2010-and-windows-2008-r2/&lt;br /&gt;
* http://technikblog.rachfahl.de/technik/howto-abloesung-eines-windows-small-business-server-2003-inkl-exchange-migration/&lt;br /&gt;
&lt;br /&gt;
SBS2003 als Memberserver weiterlaufen lassen:&lt;br /&gt;
* http://www.certforums.com/forums/sbs/39759-sbs2003-change-member-server-guide.html&lt;br /&gt;
&lt;br /&gt;
Android 3D Oberfläche: https://market.android.com/details?id=com.spb.shell3d&amp;amp;feature=search_result&lt;br /&gt;
&lt;br /&gt;
http://www.youtube.com/watch?v=O7Jp1oj_WxA -&amp;gt; Logitech MX 1000 Batterie wechseln / Gehäuse öffnen&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UltraVNC SC: http://www.uvnc.com/downloads/single-click/82-single-click-downloads.html&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
http://thelazyadmin.com/blogs/thelazyadmin/archive/2007/01/26/Configure-RDP-over-SSL-with-SelfSSL.aspx RDP mit SSL&lt;br /&gt;
&lt;br /&gt;
http://www.mediawiki.org/wiki/Extension:MediawikiPlayer&lt;br /&gt;
&lt;br /&gt;
http://www.mediawiki.org/wiki/Extension:Google_Translator&lt;br /&gt;
&lt;br /&gt;
http://www.shoutwiki.com/wiki/Template:Email &amp;lt;- mal abschauen&lt;br /&gt;
&lt;br /&gt;
http://www.wiki.xennis.de/index.php?title=Hauptseite&lt;br /&gt;
&lt;br /&gt;
http://www.mediawiki.org/wiki/Extension:Semantic_Forms&lt;br /&gt;
&lt;br /&gt;
Anmelden – wie gemacht? Tabelle mit Grafik oben links – wie gemacht? http://www.leerwiki.nl/Hoofdpagina&lt;br /&gt;
&lt;br /&gt;
Zusätzliche Symbole unten beim Edieren ! http://www.mediawiki.org/wiki/Extension:CharInsert&lt;br /&gt;
&lt;br /&gt;
An die Template (Vorlage:) können Parameter übergeben werden! Siehe Anleitung hier: http://www.mediawiki.org/wiki/Help:Templates/de&lt;br /&gt;
&lt;br /&gt;
Bewertungsleiste (mit Sternen 1 bis 5): http://www.mediawiki.org/wiki/Extension:AjaxRatingScript&lt;br /&gt;
&lt;br /&gt;
LightBox – Bilder Cooler betrachten: http://www.huddletogether.com/projects/lightbox2/ und dazu http://www.mediawiki.org/wiki/User:Alxndr/Lightbox2_hack&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
ComiPo!&lt;br /&gt;
 http://comipoclubhouse.deviantart.com/favourites/66406281/Free-ComiPo-Resources&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;SVC 5.1.0 and above&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
In SVC software version 5.1.0 and above the active quorum disk can be specified with the svctask setquorum command and using the -active flag option. The current quorum disk status can be viewed using the svcinfo lsquorum command&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
[[Datei:20250907_133844.jpg]]&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Zabbix_Server_%2B_Agent_unter_Ubuntu_26.04_LTS_installieren&amp;diff=15993</id>
		<title>Zabbix Server + Agent unter Ubuntu 26.04 LTS installieren</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Zabbix_Server_%2B_Agent_unter_Ubuntu_26.04_LTS_installieren&amp;diff=15993"/>
		<updated>2026-05-20T12:58:40Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Benötigte Programme für Zabbix installieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--{{Vorlage:AchtungBaustelle}}--&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* 13.05.2026 erste Version&lt;br /&gt;
* 15.05.2026 Teil mit Festplatten-Vergrößerung überarbeitet (Einzeiler hinzugefügt)&lt;br /&gt;
* 15.05.2026 Proxmox-Backupskripte von {{code|#!/bin/bash}} auf {{code|#!/bin/sh}} umgebaut, sonst gibt es eine Fehlermeldung in Proxmox&lt;br /&gt;
* 15.05.2026 Skript für das Vergrößern der Festplatte hinzugefügt&lt;br /&gt;
----&lt;br /&gt;
==Installation Ubuntu Server 26.04.x LTS (Long Term Support)==&lt;br /&gt;
----&lt;br /&gt;
{{Vorlage:Einstellungen-VM-2Core-4G}}&lt;br /&gt;
{{Vorlage:Installation-Ubuntu-2604}}&lt;br /&gt;
===Benötigte Programme für Zabbix installieren===&lt;br /&gt;
Die nachfolgende Zeile installiert alles notwendige um alle Features eines Zabbix-Server zu nutzen. Als Datenbank wird MariaDB verwendet.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer lieber MySQL verwenden will muss in der Zeile {{Key|mariadb-server}} durch {{Key|mysql-server}} ersetzen:&amp;lt;br&amp;gt;&lt;br /&gt;
 apt install -y apache2 default-jre-headless fonts-dejavu fonts-dejavu-core fonts-dejavu-extra fonts-dejavu-mono fping gcc htop ipmitool language-pack-en libcares2 libcurl4-openssl-dev libiksemel-dev libldap2-dev libmysqlclient-dev libnet-dns-perl libnet-ip-perl libnet-netmask-perl libnet-snmp-perl libopenipmi-dev libsnmp-base libsnmp-dev libsnmp-perl libssh2-1-dev libxml-writer-perl libxml2-dev libc6-dev make mariadb-client-core mariadb-common mariadb-server openjdk-25-jre-headless php-bcmath php-curl php-fpm php-gd php-ldap php-mbstring php-mysql php-xml sblim-wbemcli snmp snmp-mibs-downloader snmpd snmptrapd snmptt traceroute unixodbc unixodbc-dev&lt;br /&gt;
&lt;br /&gt;
{{Tipp| Zum kopieren der oberen Zeile mit der Maus vor das &amp;lt;code&amp;gt;apt&amp;lt;/code&amp;gt; gehen und 3x Klicken. Ggf. mehrmals versuchen - bis die ganze Zeile markiert ist. Diese kann dann so in z.B. PuTTY eingefügt werden}}&amp;lt;br&amp;gt;&lt;br /&gt;
Mit der obigen Zeite werden gewiss einige Pakete zuviel installiert - unter anderem alles was nötig wäre um Zabbix auch direkt aus dem Quellcode zu kompilieren. Aber es sind dann auch definitiv alle notwendigen Voraussetzungen für jegliche Zabbix-Abfrage vorhanden, z.B. für den Empfang von SNMP-Traps - unter anderem zum Beispiel die ganzen PHP-Pakete inklusive LDAP.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Zabbix Server installieren==&lt;br /&gt;
Ich würde in einer Produktivumgebung immer eine der LTS-Varianten installieren. Auch wenn es einem in den Finger juckt wegen der neuen Features.&amp;lt;br&amp;gt;&lt;br /&gt;
Ihr müsstet spätestens nach 6 Monaten ein Upgrade auf die nächste Version durchführen!&amp;lt;br&amp;gt;&lt;br /&gt;
Ich persönlich nutze auch privat nur die LTS-Version. Die Zwischenversionen installiere ich separat zum Testen.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
===Zabbix Repository hinzufügen===&lt;br /&gt;
{{Hinweis|Im Zweifel findet Ihr die richtigen Quellen unter https://www.zabbix.com/download}}&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&#039;&#039;&#039;Für die Version 7.0.x LTS (Support bis 31.06.2029)&#039;&#039;&#039;&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu26.04_all.deb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 dpkg -i zabbix-release_latest_7.0+ubuntu26.04_all.deb&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt upgrade -y&lt;br /&gt;
 rm zabbix-release_*&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Hinweis|Im Moment gibt es noch folgende Meldung von {{code|apt}}: {{code|Hinweis: Einige Quellen können modernisiert werden. Führen Sie dafür »apt modernize-sources« aus.}}&amp;lt;br&amp;gt;&lt;br /&gt;
Das macht Ihr bitte nicht! Die Zabbix Quellen sind noch nicht so weit, ich ändere das hier sobald es geht. Ggf. liefert Zabbix irgendwann auch einfach das neue Format aus.}}&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:yellow&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&#039;&#039;&#039;Für die Version 6.4.x (Support bis 31.12.2024)&#039;&#039;&#039;&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu24.04_all.deb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 dpkg -i zabbix-release_6.4-1+ubuntu24.04_all.deb&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt upgrade -y&lt;br /&gt;
 rm zabbix-release_*&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:lightblue&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&#039;&#039;&#039;Für die Version 6.0.x (Support bis 28.02.2027)&#039;&#039;&#039;&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-6+ubuntu24.04_all.deb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 dpkg -i zabbix-release_6.0-6+ubuntu24.04_all.deb&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt upgrade -y&lt;br /&gt;
 rm zabbix-release_*&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&#039;&#039;&#039;Für die Version 5.0.x LTS (Support bis 31.05.2025)&#039;&#039;&#039;&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+focal_all.deb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 dpkg -i zabbix-release_5.0-1+focal_all.deb&lt;br /&gt;
 apt update&lt;br /&gt;
 rm zabbix-release_*&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:orange&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&#039;&#039;&#039;Für die Version 5.2.x (Support bis 30.04.2021)&#039;&#039;&#039;&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;wget https://repo.zabbix.com/zabbix/5.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.2-1+ubuntu20.04_all.deb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 dpkg -i zabbix-release_5.2-1+ubuntu20.04_all.deb&lt;br /&gt;
 apt update&lt;br /&gt;
 rm zabbix-release_*&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:yellow&amp;quot;&amp;gt;&amp;lt;u&amp;gt;&#039;&#039;&#039;Für die Version 5.4.x (Support bis 30.11.2021)&#039;&#039;&#039;&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.4-1+ubuntu20.04_all.deb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 dpkg -i zabbix-release_5.4-1+ubuntu20.04_all.deb&lt;br /&gt;
 apt update&lt;br /&gt;
 rm zabbix-release_*&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{{Hinweis| Das &amp;lt;code&amp;gt;apt update &amp;amp;&amp;amp; apt upgrade -y&amp;lt;/code&amp;gt; ist notwendig da ich bemerkt habe das darüber auch das Zabbix-Repo selbst geupdatet wurde. (Kann sich wieder ändern, schadet aber auch nicht)}}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Zabbix installieren===&lt;br /&gt;
Die Installation der ausführbaren Dateien erfolgt bei allen Varianten nach &amp;lt;code&amp;gt;/sbin&amp;lt;/code&amp;gt; !&amp;lt;br&amp;gt;&lt;br /&gt;
{{Warnung| Achtet nachfolgend immer darauf ob Ihr den &#039;&#039;&#039;&#039;&#039;Zabbix Server&#039;&#039;&#039;&#039;&#039; oder den &#039;&#039;&#039;&#039;&#039;Zabbix Proxy&#039;&#039;&#039;&#039;&#039; installieren wollt!}}&lt;br /&gt;
Fehlermeldungen zum &#039;&#039;&#039;&#039;&#039;Zabbix Java Gateway&#039;&#039;&#039;&#039;&#039; ignorieren!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
====[[Datei:Button_Zabbix_SERVER.png]] Als Server====&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Ab Version 7.0&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
 apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent2 zabbix-agent2-plugin-* zabbix-get zabbix-sender zabbix-java-gateway zabbix-web-service&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====[[Datei:Button_Zabbix_PROXY.png]] Als Proxy====&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Ab Version 6.0&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
 apt install -y zabbix-proxy-mysql zabbix-sql-scripts zabbix-agent2 zabbix-agent2-plugin-* zabbix-get zabbix-sender zabbix-java-gateway&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Java Gateway deaktivieren====&lt;br /&gt;
Die wenigsten werden es nutzen - doch diese Anleitung ist so gemacht das sich danach alle Features von Zabbix nutzen lassen.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Wann braucht Ihr es?&#039;&#039;&#039; Wenn Ihr Java-Applikationen habt die Ihr aus dieser Applikation selbst monitoren wollt. Dazu müssen beim Start der Applikation extra Parameter hierfür übergeben werden (nämlich unter anderen die Daten des Java-Gateways).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wer es nicht braucht (und gerade nur Bahnhof verstanden hat) deaktiviert es mit&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl stop zabbix-java-gateway.service &amp;amp;&amp;amp; systemctl disable zabbix-java-gateway.service&lt;br /&gt;
Bei der Installation gab es ggf. Fehlermeldungen das der Dienst nicht gestartet werden konnte - das würde jetzt aber funktionieren.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===MariaDB (MySQL) Datenbank optimieren===&lt;br /&gt;
{{Hinweis| Es funktioniert auch alles ohne diese Optimierungen! Diese kann man machen wenn der Server etwas größer wird weil wir hunderte von Servern und Geräten überwachen! In diesem Fall sollte auch der Festplattenplatz entsprechend dimensoniert sein! Für einen einfachen Server könnt Ihr das hier auch überspringen!}}&lt;br /&gt;
Die Einrichtung wird auch hier beschrieben - allerdings etwas knapp: https://www.zabbix.com/documentation/current/manual/appendix/install/db_scripts&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Die Zabbix-Datenbank kann recht groß werden und jeder Zugriff zählt. Ich habe mir deshalb mal aus diversen Quellen im Internet Tipps zusammengesucht um die Performance der Datenbank zu steigern.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;MariaDB&#039;&#039;&#039; Einstellungen bearbeiten (wer MySQL einsetzt findet die passende Datei unter {{Key|nano /etc/mysql/mysql.conf.d/mysqld.cnf}}):&lt;br /&gt;
 nano /etc/mysql/mariadb.conf.d/50-server.cnf&lt;br /&gt;
und unterhalb von &amp;lt;br&amp;gt;&lt;br /&gt;
 [mariadbd]&lt;br /&gt;
Diese Zeilen einfügen (&#039;&#039;&#039;und die Kommentare lesen / beachten!!!)&#039;&#039;&#039;:&lt;br /&gt;
 # Größe der Logdatei statt 10MB&lt;br /&gt;
 innodb_log_file_size = 512M&lt;br /&gt;
 # Transaktionswerte nach Möglichkeit nicht in den Doublewritebuffer schreiben&lt;br /&gt;
 innodb_doublewrite = 0&lt;br /&gt;
 # Transaktionen schon bestätigen sobald diese im Cache stehen:&lt;br /&gt;
 innodb_flush_log_at_trx_commit = 2&lt;br /&gt;
 # Wieviel Hauptspeicher soll zum Puffern verwendet werden? Nehmt die Hälfte des vorhandenen Speichers (bei 4GB RAM also 2G, bei 1G also 512M)&lt;br /&gt;
 innodb_buffer_pool_size = 1G&lt;br /&gt;
 # Eigenes Fehlerprotokoll wieder aktivieren&lt;br /&gt;
 log_error = /var/log/mysql/error.log&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
mit {{key|STRG}} + {{key|x}} den nano verlassen und speichern bestätigen {{key|j}} + {{key|Enter}})&amp;lt;br&amp;gt;&lt;br /&gt;
{{Warnung|Prüft unbedingt den Wert von &#039;&#039;&#039;&#039;&#039;&amp;lt;Code&amp;gt;innodb_buffer_pool_size&amp;lt;/Code&amp;gt;&#039;&#039;&#039;&#039;&#039;!!! Dieser Wert darf nicht größer sein als der tatsächlich vorhandene RAM, sonst startet MySQL nicht}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Prüft ggf. ob diese Zeilen dann nicht doppelt vorkommen!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn Ihr später immer mehr Poller, Pinger und andere Zabbix-Prozesse startet müsst Ihr auch die Anzahl der möglichen Verbindungen zu MySQL Datenbank erhöhen.&amp;lt;br&amp;gt;&lt;br /&gt;
Auch jeder Nutzer der auf dem Webinterface arbeitet verbraucht Verbindungen. Im {{Key|zabbix_server.log}} steht dann eine Meldung mit &amp;quot;too many connection&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Sucht die Zeile&amp;lt;br&amp;gt;&lt;br /&gt;
 #max_connections        = 100&lt;br /&gt;
und ändert diese auf&lt;br /&gt;
 max_connections        = 300&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Den Ordner für das Log anlegen und den Besitzer setzen:&lt;br /&gt;
 mkdir -m 2750 /var/log/mysql &amp;amp;&amp;amp;  chown -R mysql:mysql /var/log/mysql&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Nun müssen wir den mysql Server einmal neu starten:&lt;br /&gt;
 systemctl restart mariadb.service&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Ob Ihr alles richtig gemacht habt könnt Ihr im Log kontrollieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 cat /var/log/mysql/error.log&lt;br /&gt;
Die Ausgabe sollte dann etwa so aussehen:&amp;lt;br&amp;gt;&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] Starting MariaDB 11.8.6-MariaDB-5 from Ubuntu source revision 9bfea48ce1214cc4470f6f6f8a4e30352cef84e7 server_uid VsIxMswVJ16uWmTBb207HuhaU8w= as process 17610&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] InnoDB: Compressed tables use zlib 1.3.1&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] InnoDB: Number of transaction pools: 1&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] InnoDB: Using io_uring&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] InnoDB: innodb_buffer_pool_size_max=2048m, innodb_buffer_pool_size=2048m&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] InnoDB: Initialized memory pressure event listener&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] InnoDB: Completed initialization of buffer pool&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] InnoDB: Buffered log writes (block size=512 bytes)&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] InnoDB: End of log at LSN=45482&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] InnoDB: Resizing redo log from 96.000MiB to 512.000MiB; LSN=45482&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] InnoDB: Buffered log writes (block size=512 bytes)&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] InnoDB: Opened 3 undo tablespaces&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active.&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] InnoDB: Setting file &#039;./ibtmp1&#039; size to 12.000MiB. Physically writing the file full; Please wait ...&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] InnoDB: File &#039;./ibtmp1&#039; size is now 12.000MiB.&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] InnoDB: log sequence number 45482; transaction id 14&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mariadb/ib_buffer_pool&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] Plugin &#039;FEEDBACK&#039; is disabled.&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] Plugin &#039;wsrep-provider&#039; is disabled.&lt;br /&gt;
 2026-05-13 12:27:33 0 [Note] InnoDB: Buffer pool(s) load completed at 260513 12:27:33&lt;br /&gt;
 2026-05-13 12:27:36 0 [Note] Server socket created on IP: &#039;127.0.0.1&#039;, port: &#039;3306&#039;.&lt;br /&gt;
 2026-05-13 12:27:36 0 [Note] mariadbd: Event Scheduler: Loaded 0 events&lt;br /&gt;
 2026-05-13 12:27:36 0 [Note] /usr/sbin/mariadbd: ready for connections.&lt;br /&gt;
 Version: &#039;11.8.6-MariaDB-5 from Ubuntu&#039;  socket: &#039;/run/mysqld/mysqld.sock&#039;  port: 3306  -- Please help get to 10k stars at https://github.com/MariaDB/Server&lt;br /&gt;
Wichtig ist immer die Zeile mit dem Socket und Port (hier die letzte) - da muss der Port auftauchen auf dem der Server lauscht, in der Regel {{Key|3306}}&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===MariaDB/MySQL Datenbank erstellen und einrichten===&lt;br /&gt;
* Zabbix Datenbank anlegen: (ab Zabbix 7.0)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- mysql -u root -e &amp;quot;create database zabbix character set utf8 collate utf8_bin&amp;quot; --&amp;gt;&lt;br /&gt;
 mysql -u root -e &amp;quot;create database zabbix character set utf8mb4 collate utf8mb4_bin&amp;quot;&lt;br /&gt;
 mysql -u root -e &amp;quot;create user &#039;zabbix&#039;@&#039;localhost&#039; identified by &#039;zabbix&#039;&amp;quot;&lt;br /&gt;
 mysql -u root -e &amp;quot;grant all privileges on zabbix.* to &#039;zabbix&#039;@&#039;localhost&#039;&amp;quot;&lt;br /&gt;
 mysql -u root -e &amp;quot;SET GLOBAL log_bin_trust_function_creators = 1&amp;quot;&lt;br /&gt;
als Einzeiler:&amp;lt;br&amp;gt;&lt;br /&gt;
 mysql -u root -e &amp;quot;create database zabbix character set utf8mb4 collate utf8mb4_bin&amp;quot; &amp;amp;&amp;amp; mysql -u root -e &amp;quot;create user &#039;zabbix&#039;@&#039;localhost&#039; identified by &#039;zabbix&#039;&amp;quot; &amp;amp;&amp;amp; mysql -u root -e &amp;quot;grant all privileges on zabbix.* to &#039;zabbix&#039;@&#039;localhost&#039;&amp;quot; &amp;amp;&amp;amp;  mysql -u root -e &amp;quot;SET GLOBAL log_bin_trust_function_creators = 1&amp;quot;&lt;br /&gt;
Die Datenbank heißt &#039;&#039;&#039;&#039;&#039;zabbix&#039;&#039;&#039;&#039;&#039;, der Datenbankbenutzer &amp;quot;zabbix&amp;quot; mit dem Passwort &amp;quot;zabbix&amp;quot; - wenn er also nach einem Passwort fragt nun dieses eingeben. Falls das jemand für unsicher hält - nun der MySQL Server sollte - wenn man es nicht ändert - eh nur lokale Anfragen erlauben, sprich von extern komme ich gar nicht ran.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Aber selbstverständlich könnt Ihr ein entsprechendes Passwort setzen, Ihr müsst dies nur im weiteren Verlauf der Anleitung beachten:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* beim dem Anlegen des Benutzers setzt Ihr euer Passwort bei &amp;lt;code&amp;gt;identified by &#039;zabbix&#039;&amp;quot;&amp;lt;/code&amp;gt; ein (das &#039;&#039;&#039;&#039;&#039;zabbix&#039;&#039;&#039;&#039;&#039; durch euer Passwort ersetzen&lt;br /&gt;
* Nachfolgend immer wenn es &amp;lt;code&amp;gt;-pzabbix&amp;lt;/code&amp;gt; wieder das Wort &#039;&#039;&#039;&#039;&#039;zabbix&#039;&#039;&#039;&#039;&#039; durch euer Passwort ersetzen oder aber einfach nur &amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt; angeben - dann fragt er jedes mal nach&lt;br /&gt;
{{Hinweis| Hinschauen! Hier folgen 2 unterschiedliche Wege für Server oder Proxy!}}&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:Button_Zabbix_SERVER.png]]&amp;lt;big&amp;gt;&#039;&#039;&#039; Bei einem Server:&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Ab Version 7.0&#039;&#039;&#039;&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -pzabbix zabbix&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:Button_Zabbix_PROXY.png]]&amp;lt;big&amp;gt;&#039;&#039;&#039; Bei einem Proxy:&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Auf einem Proxy darf nur die &amp;lt;code&amp;gt;schema.sql&amp;lt;/code&amp;gt; importiert werden!!!!&amp;lt;br&amp;gt;&lt;br /&gt;
Solltet Ihr aus versehen alle Schema importiert haben so löscht die Datenbank noch einmal und fangt von vorne an! Der Proxy funktioniert nicht wenn er alle Schemas hat!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Ab Version 7.0&#039;&#039;&#039;&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql --default-character-set=utf8mb4 -uzabbix -pzabbix zabbix&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Konfigurationsdateien anpassen===&lt;br /&gt;
Nun die Konfigurationsdatei bearbeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:Button_Zabbix_SERVER.png]] &amp;lt;big&amp;gt;&#039;&#039;&#039;für einen Server:&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
 nano /etc/zabbix/zabbix_server.conf&lt;br /&gt;
* folgende Zeilen finden und auf diese Werte ändern, ggf. den {{Key|#}} davor entfernen, {{key|STRG}} + {{key|W}} ist suchen! Beachtet die Kommentare&lt;br /&gt;
 DBHost=localhost&lt;br /&gt;
 DBName=zabbix&lt;br /&gt;
 DBUser=zabbix&lt;br /&gt;
 DBPassword=zabbix&lt;br /&gt;
 &lt;br /&gt;
 LogSlowQueries=20000&lt;br /&gt;
 &lt;br /&gt;
 StartIPMIPollers=1&lt;br /&gt;
 StartPollersUnreachable=5&lt;br /&gt;
 StartPingers=10&lt;br /&gt;
 StartVMwareCollectors=5 # Nur bei Bedarf =&amp;gt; VMware soll überwacht werden!&lt;br /&gt;
 &lt;br /&gt;
 #Die Cache Werte ggf. dem vorhandenen Arbeitsspeicher anpassen!&lt;br /&gt;
 #Oder nicht ändern - Zabbix warnt euch wenn ein Wert ausgeschöpft ist und vergrößert werden muss - wenn das Template &amp;quot;Zabbix Server&amp;quot; zugeordnet wurde&lt;br /&gt;
 VMwareCacheSize=64M&lt;br /&gt;
 CacheSize=128M&lt;br /&gt;
 HistoryCacheSize=64M&lt;br /&gt;
 HistoryIndexCacheSize=16M&lt;br /&gt;
 TrendCacheSize=64M&lt;br /&gt;
 TrendFunctionCacheSize=64M&lt;br /&gt;
 ValueCacheSize=64M&lt;br /&gt;
 &lt;br /&gt;
 Timeout=30&lt;br /&gt;
 &lt;br /&gt;
 # Problem mit fping6 beheben (ja, richtig, nichts hinter dem = Zeichen!)&lt;br /&gt;
 Fping6Location=&lt;br /&gt;
 &lt;br /&gt;
 EnableGlobalScripts=1&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-customtoggle-Spoiler_2 znil-menu-button&amp;quot;&amp;gt;Hier klicken (Toggle) für die ganze &#039;&#039;&#039;&amp;lt;big&amp;gt;zabbix_server.conf&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;mw-customcollapsible-Spoiler_2&amp;quot; class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
# Leer&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
[[Datei:Button_Zabbix_PROXY.png]] &amp;lt;big&amp;gt;&#039;&#039;&#039;Bei einem Proxy:&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
 nano /etc/zabbix/zabbix_proxy.conf&lt;br /&gt;
* folgende Zeilen finden und auf diese Werte ändern, ggf. den &#039;&#039;&#039;#&#039;&#039;&#039; davor entfernen, {{key|STRG}} + {{key|W}} ist suchen!&lt;br /&gt;
 ProxyMode=0&lt;br /&gt;
 &lt;br /&gt;
 #IP oder DNS Name des Zabbix-Servers an den gemeldet werden soll. Falls der Port nicht 10051 ist dann mit : dahinter setzen&lt;br /&gt;
 Server=123.123.123.123     &lt;br /&gt;
 &lt;br /&gt;
 # Hostname -&amp;gt; unter diesem Namen müssen wir den Proxy auch auf dem Hauptserver anlegen!&lt;br /&gt;
 Hostname=zabbixproxy&lt;br /&gt;
 &lt;br /&gt;
 DBHost=localhost&lt;br /&gt;
 DBName=zabbix&lt;br /&gt;
 DBUser=zabbix&lt;br /&gt;
 DBPassword=zabbix&lt;br /&gt;
 &lt;br /&gt;
 EnableRemoteCommands=1&lt;br /&gt;
 &lt;br /&gt;
 Timeout=30&lt;br /&gt;
 &lt;br /&gt;
 StartVMwareCollectors=5&lt;br /&gt;
 # Nachfolgend: Richtig, nichts darf hinter dem = stehen!&lt;br /&gt;
 Fping6Location=&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
{{Hinweis|Unter Ubuntu 26.04 ist&amp;lt;code&amp;gt;fping&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;fping6&amp;lt;/code&amp;gt; das gleiche Programm. Die 6er Variante ist nur ein symbolischer Link auf die normale Version. Auf meinem Proxy zickte er deswegen rum (der hat eine IPv6 konfiguriert). Wenn den Eintrag wie zuvor beschrieben abändert geht es ohne Probleme.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Fehlermeldung die er bringt ist&amp;lt;br&amp;gt;&lt;br /&gt;
 Cannot detect the minimum interval of /usr/bin/fping6&lt;br /&gt;
}}&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Automatischen Start beim Booten einrichten===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Dazu müssen wir die Start/Stop Scripte hinterlegen. Ubuntu 16.04.x nutzt [https://wiki.ubuntuusers.de/systemd/systemd] für das Starten und Stoppen von Diensten.&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn wir schon auf 16.04. umsteigen dann richtig! Also legen wir passende Info-Dateien für Zabbix an.&amp;lt;br&amp;gt; Nebenbei lösen wir damit das Problem der Start-Reihenfolge, wir können angeben das der Zabbix-Server erst gestartet werden darf wenn MySQL schon läuft - und umgekehrt, erst Zabbix Server beenden, dann MySQL&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:Button_Zabbix_SERVER.png]] &amp;lt;big&amp;gt;&#039;&#039;&#039;Auf einem Server&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /lib/systemd/system/zabbix-server.service&lt;br /&gt;
&amp;lt;u&amp;gt;Inhalt:&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Zabbix Server&lt;br /&gt;
 After=syslog.target network.target mysql.service&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf&lt;br /&gt;
 ExecReload=/sbin/zabbix_server -R config_cache_reload&lt;br /&gt;
 RemainAfterExit=yes&lt;br /&gt;
 PIDFile=/tmp/zabbix_server.pid&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
Danach müssen wir den Service noch aktivieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl enable zabbix-server.service&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
[[Datei:Button_Zabbix_PROXY.png]] &amp;lt;big&amp;gt;&#039;&#039;&#039;Auf einem Proxy&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /lib/systemd/system/zabbix-proxy.service&lt;br /&gt;
&amp;lt;u&amp;gt;Inhalt:&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Zabbix Proxy&lt;br /&gt;
 After=syslog.target network.target mysql.service&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/sbin/zabbix_proxy -c /etc/zabbix/zabbix_proxy.conf&lt;br /&gt;
 ExecReload=/sbin/zabbix_proxy -R config_cache_reload&lt;br /&gt;
 RemainAfterExit=yes&lt;br /&gt;
 PIDFile=/tmp/zabbix_proxy.pid&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
Danach müssen wir den Service noch aktivieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl enable zabbix-proxy.service&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
[[Datei:Button_Zabbix_AGENT.png]] &amp;lt;big&amp;gt;&#039;&#039;&#039;und noch der Agent&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /lib/systemd/system/zabbix-agent.service&lt;br /&gt;
&amp;lt;u&amp;gt;Inhalt:&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Zabbix Agent&lt;br /&gt;
 After=syslog.target network.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=oneshot&lt;br /&gt;
 ExecStart=/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf&lt;br /&gt;
 RemainAfterExit=yes&lt;br /&gt;
 PIDFile=/tmp/zabbix/zabbix_agentd.pid&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
Danach müssen wir den Service noch aktivieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl enable zabbix-server.service&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Die notwendigen Skripte werden bei der Installation aus den Repository direkt mit installiert, wir müssen diese nur noch aktivieren:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:Button_Zabbix_SERVER.png]] &amp;lt;big&amp;gt;&#039;&#039;&#039;Auf einem Server&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl enable zabbix-server.service&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
[[Datei:Button_Zabbix_PROXY.png]] &amp;lt;big&amp;gt;&#039;&#039;&#039;Auf einem Proxy&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl enable zabbix-proxy.service&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
[[Datei:Button_Zabbix_AGENT.png]] &amp;lt;big&amp;gt;&#039;&#039;&#039;und noch der Agent&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl enable zabbix-agent2.service&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Start von Zabbix testen===&lt;br /&gt;
Nun müsste man den Zabbix Server wie andere Dienste auch über {{Key|systemctl}} starten können&lt;br /&gt;
 systemctl start zabbix-server&lt;br /&gt;
Wenn alles in Ordnung ist gibt es keine Rückmeldung durch &#039;&#039;&#039;&#039;&#039;systemctl&#039;&#039;&#039;&#039;&#039;, also fragen wir nach dem Status:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl status zabbix-server&lt;br /&gt;
&amp;lt;u&amp;gt;Ausgabe:&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 ● zabbix-server.service - Zabbix Server&lt;br /&gt;
     Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Wed 2026-05-13 12:37:30 CEST; 3s ago&lt;br /&gt;
 Invocation: f2fa72de6fbd42aebb62af38de67bc91&lt;br /&gt;
    Process: 18044 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)&lt;br /&gt;
   Main PID: 18046 (zabbix_server)&lt;br /&gt;
      Tasks: 92 (limit: 1887)&lt;br /&gt;
     Memory: 89M (peak: 89M)&lt;br /&gt;
        CPU: 226ms&lt;br /&gt;
     CGroup: /system.slice/zabbix-server.service&lt;br /&gt;
             ├─18046 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf&lt;br /&gt;
             ├─18048 &amp;quot;/usr/sbin/zabbix_server: ha manager&amp;quot;&lt;br /&gt;
             ├─18049 &amp;quot;/usr/sbin/zabbix_server: service manager #1 started&amp;quot;&lt;br /&gt;
             ├─18050 &amp;quot;/usr/sbin/zabbix_server: configuration syncer [synced configuration in 0.156140 sec, idle 10 sec]&amp;quot;&lt;br /&gt;
             ├─18059 &amp;quot;/usr/sbin/zabbix_server: alert manager #1 started&amp;quot;&lt;br /&gt;
             ├─18060 &amp;quot;/usr/sbin/zabbix_server: alerter #1 started&amp;quot;&lt;br /&gt;
             ├─18061 &amp;quot;/usr/sbin/zabbix_server: alerter #2 started&amp;quot;&lt;br /&gt;
             ├─18062 &amp;quot;/usr/sbin/zabbix_server: alerter #3 started&amp;quot;&lt;br /&gt;
             ├─18063 &amp;quot;/usr/sbin/zabbix_server: preprocessing manager #1 started&amp;quot;&lt;br /&gt;
             ├─18064 &amp;quot;/usr/sbin/zabbix_server: lld manager #1 started&amp;quot;&lt;br /&gt;
             ├─18065 &amp;quot;/usr/sbin/zabbix_server: lld worker #1 started&amp;quot;&lt;br /&gt;
             ├─18066 &amp;quot;/usr/sbin/zabbix_server: lld worker #2 started&amp;quot;&lt;br /&gt;
             ├─18069 &amp;quot;/usr/sbin/zabbix_server: ipmi manager #1 started&amp;quot;&lt;br /&gt;
             ├─18070 &amp;quot;/usr/sbin/zabbix_server: housekeeper [startup idle for 30 minutes]&amp;quot;&lt;br /&gt;
             ├─18072 &amp;quot;/usr/sbin/zabbix_server: timer #1 [updated 0 hosts, suppressed 0 events in 0.001246 sec, idle 29 sec]&amp;quot;&lt;br /&gt;
             ├─18073 &amp;quot;/usr/sbin/zabbix_server: http poller #1 [got 0 values in 0.000043 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18075 &amp;quot;/usr/sbin/zabbix_server: browser poller #1 [got 0 values in 0.000035 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18077 &amp;quot;/usr/sbin/zabbix_server: discovery manager #1 [processing 0 rules, 0 unsaved checks]&amp;quot;&lt;br /&gt;
             ├─18078 &amp;quot;/usr/sbin/zabbix_server: history syncer #1 [processed 1 values, 1 triggers in 0.001065 sec, idle 1 sec]&amp;quot;&lt;br /&gt;
             ├─18079 &amp;quot;/usr/sbin/zabbix_server: history syncer #2 [processed 0 values, 0 triggers in 0.000026 sec, idle 1 sec]&amp;quot;&lt;br /&gt;
             ├─18082 &amp;quot;/usr/sbin/zabbix_server: history syncer #3 [processed 0 values, 0 triggers in 0.000015 sec, idle 1 sec]&amp;quot;&lt;br /&gt;
             ├─18083 &amp;quot;/usr/sbin/zabbix_server: history syncer #4 [processed 0 values, 0 triggers in 0.000072 sec, idle 1 sec]&amp;quot;&lt;br /&gt;
             ├─18084 &amp;quot;/usr/sbin/zabbix_server: escalator #1 [processed 0 escalations in 0.000794 sec, idle 3 sec]&amp;quot;&lt;br /&gt;
             ├─18086 &amp;quot;/usr/sbin/zabbix_server: ipmi poller #1 started&amp;quot;&lt;br /&gt;
             ├─18089 &amp;quot;/usr/sbin/zabbix_server: proxy poller #1 [exchanged data with 0 proxies in 0.000041 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18090 &amp;quot;/usr/sbin/zabbix_server: self-monitoring [processed data in 0.000034 sec, idle 1 sec]&amp;quot;&lt;br /&gt;
             ├─18091 &amp;quot;/usr/sbin/zabbix_server: task manager [started, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18093 &amp;quot;/usr/sbin/zabbix_server: poller #1 [got 0 values in 0.000038 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18094 &amp;quot;/usr/sbin/zabbix_server: poller #2 [got 0 values in 0.000048 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18113 &amp;quot;/usr/sbin/zabbix_server: poller #3 [got 0 values in 0.000046 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18114 &amp;quot;/usr/sbin/zabbix_server: poller #4 [got 0 values in 0.000041 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18115 &amp;quot;/usr/sbin/zabbix_server: poller #5 [got 0 values in 0.000045 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18116 &amp;quot;/usr/sbin/zabbix_server: unreachable poller #1 [got 0 values in 0.000045 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18117 &amp;quot;/usr/sbin/zabbix_server: unreachable poller #2 [got 0 values in 0.000036 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18118 &amp;quot;/usr/sbin/zabbix_server: unreachable poller #3 [got 0 values in 0.000043 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18119 &amp;quot;/usr/sbin/zabbix_server: unreachable poller #4 [got 0 values in 0.000056 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18120 &amp;quot;/usr/sbin/zabbix_server: unreachable poller #5 [got 0 values in 0.000870 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18121 &amp;quot;/usr/sbin/zabbix_server: trapper #1 [processed data in 0.000000 sec, waiting for connection]&amp;quot;&lt;br /&gt;
             ├─18122 &amp;quot;/usr/sbin/zabbix_server: trapper #2 [processed data in 0.000000 sec, waiting for connection]&amp;quot;&lt;br /&gt;
             ├─18124 &amp;quot;/usr/sbin/zabbix_server: trapper #3 [processed data in 0.000000 sec, waiting for connection]&amp;quot;&lt;br /&gt;
             ├─18125 &amp;quot;/usr/sbin/zabbix_server: trapper #4 [processed data in 0.000000 sec, waiting for connection]&amp;quot;&lt;br /&gt;
             ├─18126 &amp;quot;/usr/sbin/zabbix_server: trapper #5 [processed data in 0.000000 sec, waiting for connection]&amp;quot;&lt;br /&gt;
             ├─18127 &amp;quot;/usr/sbin/zabbix_server: icmp pinger #1 [got 0 values in 0.000055 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18128 &amp;quot;/usr/sbin/zabbix_server: icmp pinger #2 [got 0 values in 0.000039 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18129 &amp;quot;/usr/sbin/zabbix_server: icmp pinger #3 [got 0 values in 0.000040 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18130 &amp;quot;/usr/sbin/zabbix_server: icmp pinger #4 [got 0 values in 0.000036 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18131 &amp;quot;/usr/sbin/zabbix_server: icmp pinger #5 [got 0 values in 0.000038 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18132 &amp;quot;/usr/sbin/zabbix_server: icmp pinger #6 [got 0 values in 0.000036 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18139 &amp;quot;/usr/sbin/zabbix_server: icmp pinger #7 [got 0 values in 0.000038 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18140 &amp;quot;/usr/sbin/zabbix_server: icmp pinger #8 [got 0 values in 0.004012 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
             ├─18142 &amp;quot;/usr/sbin/zabbix_server: icmp pinger #9 [got 0 values in 0.000049 sec, idle 5 sec]&amp;quot;&lt;br /&gt;
Zum Verlassen {{Key|q}} drücken.&amp;lt;br&amp;gt;&lt;br /&gt;
Genaueres können wir uns auch noch einmal im Log-File ansehen:&amp;lt;br&amp;gt;&lt;br /&gt;
 tail -fn 1000 /var/log/zabbix/zabbix_server.log&lt;br /&gt;
&amp;lt;u&amp;gt;Ausgabe:&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 18046:20260513:123730.353 Starting Zabbix Server. Zabbix 7.0.26 (revision 3832e2a0553).&lt;br /&gt;
 18046:20260513:123730.353 ****** Enabled features ******&lt;br /&gt;
 18046:20260513:123730.353 SNMP monitoring:           YES&lt;br /&gt;
 18046:20260513:123730.353 IPMI monitoring:           YES&lt;br /&gt;
 18046:20260513:123730.353 Web monitoring:            YES&lt;br /&gt;
 18046:20260513:123730.353 VMware monitoring:         YES&lt;br /&gt;
 18046:20260513:123730.353 SMTP authentication:       YES&lt;br /&gt;
 18046:20260513:123730.353 ODBC:                      YES&lt;br /&gt;
 18046:20260513:123730.353 SSH support:               YES&lt;br /&gt;
 18046:20260513:123730.353 IPv6 support:              YES&lt;br /&gt;
 18046:20260513:123730.353 TLS support:               YES&lt;br /&gt;
 18046:20260513:123730.353 ******************************&lt;br /&gt;
 18046:20260513:123730.353 using configuration file: /etc/zabbix/zabbix_server.conf&lt;br /&gt;
 18046:20260513:123730.382 current database version (mandatory/optional): 07000000/07000030&lt;br /&gt;
 18046:20260513:123730.382 required mandatory version: 07000000&lt;br /&gt;
 18048:20260513:123730.385 starting HA manager&lt;br /&gt;
 18048:20260513:123730.388 HA manager started in active mode&lt;br /&gt;
 18046:20260513:123730.393 server #0 started [main process]&lt;br /&gt;
 18049:20260513:123730.394 server #1 started [service manager #1]&lt;br /&gt;
 18050:20260513:123730.394 server #2 started [configuration syncer #1]&lt;br /&gt;
 18059:20260513:123730.553 server #3 started [alert manager #1]&lt;br /&gt;
 18061:20260513:123730.554 server #5 started [alerter #2]&lt;br /&gt;
 18062:20260513:123730.555 server #6 started [alerter #3]&lt;br /&gt;
 18063:20260513:123730.555 server #7 started [preprocessing manager #1]&lt;br /&gt;
 18060:20260513:123730.556 server #4 started [alerter #1]&lt;br /&gt;
 18064:20260513:123730.557 server #8 started [lld manager #1]&lt;br /&gt;
 18065:20260513:123730.557 server #9 started [lld worker #1]&lt;br /&gt;
 18066:20260513:123730.558 server #10 started [lld worker #2]&lt;br /&gt;
 18069:20260513:123730.559 server #11 started [ipmi manager #1]&lt;br /&gt;
 18070:20260513:123730.560 server #12 started [housekeeper #1]&lt;br /&gt;
 18072:20260513:123730.560 server #13 started [timer #1]&lt;br /&gt;
 18075:20260513:123730.562 server #15 started [browser poller #1]&lt;br /&gt;
 18073:20260513:123730.563 server #14 started [http poller #1]&lt;br /&gt;
 18077:20260513:123730.564 server #16 started [discovery manager #1]&lt;br /&gt;
 18078:20260513:123730.565 server #17 started [history syncer #1]&lt;br /&gt;
 18079:20260513:123730.566 server #18 started [history syncer #2]&lt;br /&gt;
 18082:20260513:123730.569 server #19 started [history syncer #3]&lt;br /&gt;
 18083:20260513:123730.570 server #20 started [history syncer #4]&lt;br /&gt;
 18084:20260513:123730.570 server #21 started [escalator #1]&lt;br /&gt;
 18089:20260513:123730.572 server #23 started [proxy poller #1]&lt;br /&gt;
 18086:20260513:123730.572 server #22 started [ipmi poller #1]&lt;br /&gt;
 18090:20260513:123730.573 server #24 started [self-monitoring #1]&lt;br /&gt;
 18091:20260513:123730.575 server #25 started [task manager #1]&lt;br /&gt;
 18093:20260513:123730.575 server #26 started [poller #1]&lt;br /&gt;
 18063:20260513:123730.575 [1] thread started [preprocessing worker #1]&lt;br /&gt;
 18094:20260513:123730.576 server #27 started [poller #2]&lt;br /&gt;
 18063:20260513:123730.579 [2] thread started [preprocessing worker #2]&lt;br /&gt;
 18063:20260513:123730.579 [3] thread started [preprocessing worker #3]&lt;br /&gt;
 18063:20260513:123730.579 [4] thread started [preprocessing worker #4]&lt;br /&gt;
 18063:20260513:123730.579 [5] thread started [preprocessing worker #5]&lt;br /&gt;
 18063:20260513:123730.579 [6] thread started [preprocessing worker #6]&lt;br /&gt;
 18063:20260513:123730.579 [7] thread started [preprocessing worker #7]&lt;br /&gt;
 18063:20260513:123730.579 [8] thread started [preprocessing worker #8]&lt;br /&gt;
 18063:20260513:123730.579 [9] thread started [preprocessing worker #9]&lt;br /&gt;
 18063:20260513:123730.579 [10] thread started [preprocessing worker #10]&lt;br /&gt;
 18063:20260513:123730.579 [12] thread started [preprocessing worker #12]&lt;br /&gt;
 18063:20260513:123730.579 [13] thread started [preprocessing worker #13]&lt;br /&gt;
 18063:20260513:123730.579 [14] thread started [preprocessing worker #14]&lt;br /&gt;
 18063:20260513:123730.579 [11] thread started [preprocessing worker #11]&lt;br /&gt;
 18063:20260513:123730.580 [16] thread started [preprocessing worker #16]&lt;br /&gt;
 18113:20260513:123730.581 server #28 started [poller #3]&lt;br /&gt;
 18114:20260513:123730.582 server #29 started [poller #4]&lt;br /&gt;
 18115:20260513:123730.582 server #30 started [poller #5]&lt;br /&gt;
 18063:20260513:123730.583 [15] thread started [preprocessing worker #15]&lt;br /&gt;
 18116:20260513:123730.586 server #31 started [unreachable poller #1]&lt;br /&gt;
 18117:20260513:123730.588 server #32 started [unreachable poller #2]&lt;br /&gt;
 18118:20260513:123730.589 server #33 started [unreachable poller #3]&lt;br /&gt;
 18119:20260513:123730.591 server #34 started [unreachable poller #4]&lt;br /&gt;
 18120:20260513:123730.592 server #35 started [unreachable poller #5]&lt;br /&gt;
 18121:20260513:123730.593 server #36 started [trapper #1]&lt;br /&gt;
 18122:20260513:123730.596 server #37 started [trapper #2]&lt;br /&gt;
 18124:20260513:123730.597 server #38 started [trapper #3]&lt;br /&gt;
 18125:20260513:123730.598 server #39 started [trapper #4]&lt;br /&gt;
 18126:20260513:123730.599 server #40 started [trapper #5]&lt;br /&gt;
 18127:20260513:123730.600 server #41 started [icmp pinger #1]&lt;br /&gt;
 18128:20260513:123730.601 server #42 started [icmp pinger #2]&lt;br /&gt;
 18129:20260513:123730.601 server #43 started [icmp pinger #3]&lt;br /&gt;
 18131:20260513:123730.602 server #45 started [icmp pinger #5]&lt;br /&gt;
 18130:20260513:123730.602 server #44 started [icmp pinger #4]&lt;br /&gt;
 18132:20260513:123730.603 server #46 started [icmp pinger #6]&lt;br /&gt;
 18077:20260513:123730.604 thread started [discovery worker #1]&lt;br /&gt;
 18077:20260513:123730.604 thread started [discovery worker #2]&lt;br /&gt;
 18077:20260513:123730.604 thread started [discovery worker #3]&lt;br /&gt;
 18077:20260513:123730.604 thread started [discovery worker #4]&lt;br /&gt;
 18077:20260513:123730.604 thread started [discovery worker #5]&lt;br /&gt;
 18140:20260513:123730.605 server #48 started [icmp pinger #8]&lt;br /&gt;
 18143:20260513:123730.606 server #50 started [icmp pinger #10]&lt;br /&gt;
 18144:20260513:123730.606 server #51 started [alert syncer #1]&lt;br /&gt;
 18145:20260513:123730.607 server #52 started [history poller #1]&lt;br /&gt;
 18142:20260513:123730.608 server #49 started [icmp pinger #9]&lt;br /&gt;
 18139:20260513:123730.609 server #47 started [icmp pinger #7]&lt;br /&gt;
 18149:20260513:123730.611 server #53 started [history poller #2]&lt;br /&gt;
 18150:20260513:123730.612 server #54 started [history poller #3]&lt;br /&gt;
 18151:20260513:123730.612 server #55 started [history poller #4]&lt;br /&gt;
 18152:20260513:123730.613 server #56 started [history poller #5]&lt;br /&gt;
 18158:20260513:123730.618 server #57 started [availability manager #1]&lt;br /&gt;
 18160:20260513:123730.619 server #58 started [trigger housekeeper #1]&lt;br /&gt;
 18161:20260513:123730.620 server #59 started [odbc poller #1]&lt;br /&gt;
 18163:20260513:123730.621 server #60 started [http agent poller #1]&lt;br /&gt;
 18164:20260513:123730.621 server #61 started [agent poller #1]&lt;br /&gt;
 18165:20260513:123730.621 server #62 started [snmp poller #1]&lt;br /&gt;
 18163:20260513:123730.621 thread started&lt;br /&gt;
 18164:20260513:123730.621 thread started&lt;br /&gt;
 18166:20260513:123730.622 server #63 started [configuration syncer worker #1]&lt;br /&gt;
 18165:20260513:123730.622 thread started&lt;br /&gt;
 18172:20260513:123730.623 server #65 started [proxy group manager #1]&lt;br /&gt;
 18171:20260513:123730.624 server #64 started [internal poller #1]&lt;br /&gt;
 18164:20260513:123737.624 enabling Zabbix agent checks on host &amp;quot;Zabbix server&amp;quot;: interface became available&lt;br /&gt;
Wie Ihr seht ist der erste Host schon im Monitoring - Der Server selbst (der Agent startet automatisch bei der Installation).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bei einem Proxy kann es noch folgende Fehlermeldung geben:&amp;lt;br&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;failed to update local proxy configuration copy: Can&#039;t open JSON object or array &amp;quot;&amp;quot;failed&amp;quot;}&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Naja, wir müssen den Proxy auf unserem Zabbix-Server unter&lt;br /&gt;
 Administration - Proxies&lt;br /&gt;
noch anlegen - und zwar bitte genau mit dem gleichen Namen wie in der &amp;lt;code&amp;gt;zabbix_proxy.conf&amp;lt;/code&amp;gt; unter &amp;lt;code&amp;gt;Hostname=&amp;lt;/code&amp;gt; angegeben - dann ist der Fehler weg.&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-240610-152502.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bei Erfolg sollte das dann so aussehen:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:Zabbix_General_Proxys.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
An den Sekunden unter &#039;&#039;&#039;&#039;Last seen (age)&#039;&#039;&#039;&#039; sehen wir die letzte Kontaktaufnahme.&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn da überhaupt etwas steht hatten wir Erfolg!&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Sprachdateien für Zabbix 7.0 installieren==&lt;br /&gt;
Zabbix 7.0 braucht noch ein paar zusätzliche Sprachdateien, die installieren wir sonst ist das Webinterface voll mit Fehlermeldungen:&amp;lt;br&amp;gt;&lt;br /&gt;
 apt install -y language-pack-en &amp;amp;&amp;amp; locale-gen en_US.UTF-8 &amp;amp;&amp;amp; update-locale&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Webinterface installieren (nur Server)==&lt;br /&gt;
Aktuell läuft das Webinterface von Zabbix noch nicht!&amp;lt;br&amp;gt;&lt;br /&gt;
Folgt den nachfolgenden Schritten!&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis|Zabbix 7.x ab Ubuntu 26.04 läuft nun per Default mit dem PHP-FPM-Modul!}}&lt;br /&gt;
===Fehlende Apache Module aktivieren===&lt;br /&gt;
 a2enmod proxy proxy_http proxy_fcgi&lt;br /&gt;
 systemctl restart apache2&lt;br /&gt;
Jetzt findet Ihr die Weboberfläche unter &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://IP-Adresse/zabbix&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; (aber mit falscher Zeitzone)&amp;lt;br&amp;gt;&lt;br /&gt;
Das ist aber ja Blöd, der Server macht nur Zabbix und wir wollen uns das {{code|/zabbix}} sparen:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Konfigurationsdatei bearbeiten===&lt;br /&gt;
Umbau auf &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://servername&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; für den Aufruf des Zabbix-Webinterfaces:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:Button_Zabbix_SERVER.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/apache2/sites-available/000-default.conf&lt;br /&gt;
und den gesamten Inhalt durch den folgenden ersetzen: ({{Key|F9}} löscht eine Zeile)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;lt;u&amp;gt;&#039;&#039;&#039;Ab Zabbix 7.0&#039;&#039;&#039;&amp;lt;/u&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    DocumentRoot /usr/share/zabbix&lt;br /&gt;
    ErrorLog ${APACHE_LOG_DIR}/error.log&lt;br /&gt;
    CustomLog ${APACHE_LOG_DIR}/access.log combined&lt;br /&gt;
&lt;br /&gt;
    ProxyTimeout 300&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Directory &amp;quot;/usr/share/zabbix&amp;quot;&amp;gt;&lt;br /&gt;
        Options FollowSymLinks&lt;br /&gt;
        AllowOverride None&lt;br /&gt;
        Require all granted&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;IfModule dir_module&amp;gt;&lt;br /&gt;
            DirectoryIndex index.php&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;FilesMatch \.(php|phar)$&amp;gt;&lt;br /&gt;
            SetHandler &amp;quot;proxy:unix:/var/run/php/zabbix.sock|fcgi://localhost&amp;quot;&lt;br /&gt;
        &amp;lt;/FilesMatch&amp;gt;&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Directory &amp;quot;/usr/share/zabbix/conf&amp;quot;&amp;gt;&lt;br /&gt;
        Require all denied&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Directory &amp;quot;/usr/share/zabbix/app&amp;quot;&amp;gt;&lt;br /&gt;
        Require all denied&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Directory &amp;quot;/usr/share/zabbix/include&amp;quot;&amp;gt;&lt;br /&gt;
        Require all denied&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Directory &amp;quot;/usr/share/zabbix/local&amp;quot;&amp;gt;&lt;br /&gt;
        Require all denied&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Directory &amp;quot;/usr/share/zabbix/vendor&amp;quot;&amp;gt;&lt;br /&gt;
        Require all denied&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
Danach Webserver neu starten:&lt;br /&gt;
 systemctl restart apache2.service&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nun auf die Weboberfläche gehen, die sollte unter &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://IP-Adresse&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; oder &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://DNS-Name&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; verfügbar sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Anmerkung: So ein Linux trägt sich nicht von allein in den DNS Server ein, ggf. müsst Ihr den da von Hand nachtragen.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Webinterface konfigurieren===&lt;br /&gt;
Ihr ruft den Zabbix-Server im Browser auf:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-241112-140115.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Am besten wählt Ihr hier gleich die Sprache &#039;&#039;&#039;Englisch (en_GB)&#039;&#039;&#039;, dann stimmt auch das Datums- und Uhrzeitformat.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dank der eigenen Zabbix-PHP-FPM Konfiguration (bringt Zabbix mit) sollte hier alles Grün sein!&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260513-155738.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Die Datenbankkonfiguration, in die letzten 3 Felder muss überall &amp;quot;zabbix&amp;quot; stehen:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-240610-150609.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In dem leeren Feld könnt Ihr den Namen des Servers angeben. Dieser wird oben rechts und auf den Web-Tabs angezeigt:&amp;lt;br&amp;gt; &lt;br /&gt;
:[[Datei:ClipCapIt-240610-150655.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Noch eben die Zusammenfassung bestätigen:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-240610-150727.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Geschafft!&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-240610-150756.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-240610-150829.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
 Benutzername: Admin&lt;br /&gt;
 Passwort:     zabbix&lt;br /&gt;
{{Hinweis| &#039;&#039;&#039;Admin&#039;&#039;&#039; mit großem &#039;&#039;&#039;A&#039;&#039;&#039;!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Anzeigeformat 24h statt AM/PM festlegen===&lt;br /&gt;
Wenn Ihr es richtig eingestellt habt, sollte alle Zeiten im 24h Format angezeigt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Falls es doch das amerikanische Format mit AM und PM ist:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-241107-102549.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Das ist der amerikanische Sprach-Standard. Das Zeitformat ändert sich auch auf die 24h Schreibweise wenn man die Anzeigesprache auf Deutsch stellt.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich nutze aber gerne die englische Anzeige, möchte aber trotzdem das 24h Format haben.&amp;lt;br&amp;gt;&lt;br /&gt;
Dazu navigieren wir nach&amp;lt;br&amp;gt;&lt;br /&gt;
 Administration =&amp;gt; General =&amp;gt; GUI&lt;br /&gt;
:[[Datei:ClipCapIt-241107-102835.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
und stellen die &#039;&#039;&#039;Default language&#039;&#039;&#039; um auf &amp;lt;code&amp;gt;English (en_GB)&amp;lt;/code&amp;gt;:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-241107-103031.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-241107-103052.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Mit {{Key|Update}} bestätigen und schon haben wir überall das 24h Format:&lt;br /&gt;
:[[Datei:ClipCapIt-241107-103144.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Empfang von SNMP-Traps einrichten==&lt;br /&gt;
{{Hinweis| Neue Methode! Statt &#039;&#039;&#039;&#039;&#039;snmptt&#039;&#039;&#039;&#039;&#039; wird ein Perl-Script von Zabbix.com verwendet. &#039;&#039;&#039;&#039;&#039;snmptt&#039;&#039;&#039;&#039;&#039; machte bei mir unter Ubuntu 22.04 jede Menge Ärger&amp;lt;br&amp;gt;Die Lösung stammt in Teilen von https://sbcode.net/zabbix/snmp-traps/&amp;lt;br&amp;gt;}}&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:Button_Zabbix_SERVER.png]] und [[Datei:Button_Zabbix_PROXY.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
===fehlende Pakete nachinstallieren===&lt;br /&gt;
Wir Installieren ggf. die benötigten Pakete nach (sollten schon vorhanden sein):&amp;lt;br&amp;gt;&lt;br /&gt;
 apt install -y snmp snmpd snmp-mibs-downloader snmptrapd libnet-snmp-perl libnet-ip-perl libnet-netmask-perl libnet-dns-perl libxml-writer-perl libnet-snmp-perl&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===snmptrapd aktivieren und konfigurieren===&lt;br /&gt;
snmpd deaktivieren:&lt;br /&gt;
 systemctl stop snmpd.service &amp;amp;&amp;amp; systemctl disable snmpd.service&lt;br /&gt;
snmptrapd reparieren:&lt;br /&gt;
 systemctl edit snmptrapd.service&lt;br /&gt;
und oben folgenden Text einfügen&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
### Editing /etc/systemd/system/snmptrapd.service.d/override.conf&lt;br /&gt;
### Anything between here and the comment below will become the contents of the drop-in file&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
### Edits below this comment will be discarded&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
snmptrapd aktivieren:&lt;br /&gt;
 systemctl enable snmptrapd.service&lt;br /&gt;
snmptrapd konfigurieren:&lt;br /&gt;
 nano /etc/snmp/snmptrapd.conf&lt;br /&gt;
und fügen die folgenden Zeilen ans Ende:&amp;lt;br&amp;gt;&lt;br /&gt;
 perl do &amp;quot;/usr/bin/zabbix_trap_receiver.pl&amp;quot;;&lt;br /&gt;
 disableAuthorization yes&lt;br /&gt;
und den Dienst neu starten:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl restart snmptrapd.service&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Wir bearbeiten die Datei&lt;br /&gt;
 nano /etc/default/snmpd&lt;br /&gt;
und ändern die Zeile&lt;br /&gt;
 SNMPDRUN=yes&lt;br /&gt;
in&lt;br /&gt;
 SNMPDRUN=no&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dann die Datei&lt;br /&gt;
 nano /etc/default/snmptrapd&lt;br /&gt;
und ändern die Zeile&lt;br /&gt;
 TRAPDRUN=no&lt;br /&gt;
in&lt;br /&gt;
 TRAPDRUN=yes&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nun Konfigurieren wir den Dienst noch:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/snmp/snmptrapd.conf&lt;br /&gt;
und fügen die folgenden Zeilen ans Ende:&amp;lt;br&amp;gt;&lt;br /&gt;
 traphandle default /usr/sbin/snmptt&lt;br /&gt;
 disableAuthorization yes&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===zabbix_trap_receiver.pl einrichten===&lt;br /&gt;
Aktuelles Skript herunterladen - der Download ist von meiner Webseite, das original findet Ihr unter https://git.zabbix.com/projects/ZBX/repos/zabbix/raw/misc/snmptrap/zabbix_trap_receiver.pl&amp;lt;br&amp;gt;&lt;br /&gt;
Der direkte Download von dort funktioniert aber nicht (immer):&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;wget https://git.zabbix.com/projects/ZBX/repos/zabbix/raw/misc/snmptrap/zabbix_trap_receiver.pl -O /usr/bin/zabbix_trap_receiver.pl&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;!--falls der nicht geht, nehmt diesen Link:&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;wget https://znil.net/images/zabbix_trap_receiver.pl -O /usr/bin/zabbix_trap_receiver.pl&amp;lt;/nowiki&amp;gt;--&amp;gt;&lt;br /&gt;
und ausführbar machen&lt;br /&gt;
 chmod a+x /usr/bin/zabbix_trap_receiver.pl&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Für den Fall das der Download nicht zur Verfügung steht hier der Inhalt der Datei:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env perl&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Copyright (C) 2001-2026 Zabbix SIA&lt;br /&gt;
#&lt;br /&gt;
# This program is free software: you can redistribute it and/or modify it under the terms of&lt;br /&gt;
# the GNU Affero General Public License as published by the Free Software Foundation, version 3.&lt;br /&gt;
#&lt;br /&gt;
# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;&lt;br /&gt;
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&lt;br /&gt;
# See the GNU Affero General Public License for more details.&lt;br /&gt;
#&lt;br /&gt;
# You should have received a copy of the GNU Affero General Public License along with this program.&lt;br /&gt;
# If not, see &amp;lt;https://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#########################################&lt;br /&gt;
#### ABOUT ZABBIX SNMP TRAP RECEIVER ####&lt;br /&gt;
#########################################&lt;br /&gt;
&lt;br /&gt;
# This is an embedded perl SNMP trapper receiver designed for sending data to the server.&lt;br /&gt;
# The receiver will pass the received SNMP traps to Zabbix server or proxy running on the&lt;br /&gt;
# same machine. Please configure the server/proxy accordingly.&lt;br /&gt;
#&lt;br /&gt;
# Read more about using embedded perl with Net-SNMP:&lt;br /&gt;
#       http://net-snmp.sourceforge.net/wiki/index.php/Tut:Extending_snmpd_using_perl&lt;br /&gt;
&lt;br /&gt;
#################################################&lt;br /&gt;
#### ZABBIX SNMP TRAP RECEIVER CONFIGURATION ####&lt;br /&gt;
#################################################&lt;br /&gt;
&lt;br /&gt;
### Option: SNMPTrapperFile&lt;br /&gt;
#       Temporary file used for passing data to the server (or proxy). Must be the same&lt;br /&gt;
#       as in the server (or proxy) configuration file.&lt;br /&gt;
#&lt;br /&gt;
# Mandatory: yes&lt;br /&gt;
# Default:&lt;br /&gt;
$SNMPTrapperFile = &#039;/tmp/zabbix_traps.tmp&#039;;&lt;br /&gt;
&lt;br /&gt;
### Option: DateTimeFormat&lt;br /&gt;
#       The date time format in strftime() format. Please make sure to have a corresponding&lt;br /&gt;
#       log time format for the SNMP trap items.&lt;br /&gt;
#&lt;br /&gt;
# Mandatory: yes&lt;br /&gt;
# Default:&lt;br /&gt;
$DateTimeFormat = &#039;%Y-%m-%dT%T%z&#039;;&lt;br /&gt;
&lt;br /&gt;
###################################&lt;br /&gt;
#### ZABBIX SNMP TRAP RECEIVER ####&lt;br /&gt;
###################################&lt;br /&gt;
&lt;br /&gt;
use Fcntl qw(O_WRONLY O_APPEND O_CREAT);&lt;br /&gt;
use POSIX qw(strftime);&lt;br /&gt;
use NetSNMP::TrapReceiver;&lt;br /&gt;
&lt;br /&gt;
sub get_header_regex&lt;br /&gt;
{&lt;br /&gt;
        my $format = shift;&lt;br /&gt;
        my $regex = $format;&lt;br /&gt;
&lt;br /&gt;
        $regex =~ s/%Y/[0-9]{4}/g;&lt;br /&gt;
        $regex =~ s/%m/[0-9]{2}/g;&lt;br /&gt;
        $regex =~ s/%d/[0-9]{2}/g;&lt;br /&gt;
        $regex =~ s/%T/[0-9]{2}:[0-9]{2}:[0-9]{2}/g;&lt;br /&gt;
        $regex =~ s/%z/[+-][0-9]{4}/g;&lt;br /&gt;
        $regex =~ s/%H/[0-9]{2}/g;&lt;br /&gt;
        $regex =~ s/%M/[0-9]{2}/g;&lt;br /&gt;
        $regex =~ s/%S/[0-9]{2}/g;&lt;br /&gt;
&lt;br /&gt;
        return &amp;quot;$regex ZBXTRAP&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub zabbix_receiver&lt;br /&gt;
{&lt;br /&gt;
        my (%pdu_info) = %{$_[0]};&lt;br /&gt;
        my (@varbinds) = @{$_[1]};&lt;br /&gt;
        my $r = get_header_regex $DateTimeFormat;&lt;br /&gt;
&lt;br /&gt;
        # fail if received vars clearly contain injection&lt;br /&gt;
        foreach my $x (@varbinds)&lt;br /&gt;
        {&lt;br /&gt;
                if ($x-&amp;gt;[1] =~ /$r/)&lt;br /&gt;
                {&lt;br /&gt;
                        return NETSNMPTRAPD_HANDLER_FAIL;&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        # open the output file&lt;br /&gt;
        unless (sysopen(OUTPUT_FILE, $SNMPTrapperFile, O_WRONLY|O_APPEND|O_CREAT, 0666))&lt;br /&gt;
        {&lt;br /&gt;
                print STDERR &amp;quot;Cannot open [$SNMPTrapperFile]: $!\n&amp;quot;;&lt;br /&gt;
                return NETSNMPTRAPD_HANDLER_FAIL;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        # get the host name&lt;br /&gt;
        my $hostname = $pdu_info{&#039;receivedfrom&#039;} || &#039;unknown&#039;;&lt;br /&gt;
        if ($hostname ne &#039;unknown&#039;)&lt;br /&gt;
        {&lt;br /&gt;
                $hostname =~ /\[(.*?)\].*/;                    # format: &amp;quot;UDP: [127.0.0.1]:41070-&amp;gt;[127.0.0.1]&amp;quot;&lt;br /&gt;
                $hostname = $1 || &#039;unknown&#039;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        # print trap header&lt;br /&gt;
        #       timestamp must be placed at the beginning of the first line (can be omitted)&lt;br /&gt;
        #       the first line must include the header &amp;quot;ZBXTRAP [IP/DNS address] &amp;quot;&lt;br /&gt;
        #              * IP/DNS address is the used to find the corresponding SNMP trap items&lt;br /&gt;
        #              * this header will be cut during processing (will not appear in the item value)&lt;br /&gt;
        printf OUTPUT_FILE &amp;quot;%s ZBXTRAP %s\n&amp;quot;, strftime($DateTimeFormat, localtime), $hostname;&lt;br /&gt;
&lt;br /&gt;
        # print the PDU info&lt;br /&gt;
        print OUTPUT_FILE &amp;quot;PDU INFO:\n&amp;quot;;&lt;br /&gt;
        foreach my $key(keys(%pdu_info))&lt;br /&gt;
        {&lt;br /&gt;
                if ($pdu_info{$key} !~ /^[[:print:]]*$/)&lt;br /&gt;
                {&lt;br /&gt;
                        my $OctetAsHex = unpack(&#039;H*&#039;, $pdu_info{$key}); # convert octet string to hex&lt;br /&gt;
                        $pdu_info{$key} = &amp;quot;0x$OctetAsHex&amp;quot;;              # apply 0x prefix for consistency&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                printf OUTPUT_FILE &amp;quot;  %-30s %s\n&amp;quot;, $key, $pdu_info{$key};&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        # print the variable bindings:&lt;br /&gt;
        print OUTPUT_FILE &amp;quot;VARBINDS:\n&amp;quot;;&lt;br /&gt;
        foreach my $x (@varbinds)&lt;br /&gt;
        {&lt;br /&gt;
                printf OUTPUT_FILE &amp;quot;  %-30s type=%-2d value=%s\n&amp;quot;, $x-&amp;gt;[0], $x-&amp;gt;[2], $x-&amp;gt;[1];&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        close (OUTPUT_FILE);&lt;br /&gt;
&lt;br /&gt;
        return NETSNMPTRAPD_HANDLER_OK;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NetSNMP::TrapReceiver::register(&amp;quot;all&amp;quot;, \&amp;amp;zabbix_receiver) or&lt;br /&gt;
        die &amp;quot;failed to register Zabbix SNMP trap receiver\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
print STDOUT &amp;quot;Loaded Zabbix SNMP trap receiver\n&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===MIBS nutzen===&lt;br /&gt;
Die MIBS übersetzen die OID in lesbare Namen. Um diese zu nutzen:&lt;br /&gt;
 nano /etc/snmp/snmp.conf&lt;br /&gt;
und dort aus&lt;br /&gt;
 mibs :&lt;br /&gt;
ein&lt;br /&gt;
 #mibs :&lt;br /&gt;
machen. Dann den Dienst neu starten:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl restart snmptrapd.service&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===logrotate für /tmp/zabbix_traps.tmp erstellen===&lt;br /&gt;
Gerade wenn viele Einträge in der Datei &lt;br /&gt;
 /tmp/zabbix_traps.tmp&lt;br /&gt;
landen kann das schon mal einigen Platz kosten.&amp;lt;br&amp;gt;&lt;br /&gt;
Deshalb nutzen wir &#039;&#039;&#039;&#039;&#039;logrotate&#039;&#039;&#039;&#039;&#039; an um die Größe der Datei zu begrenzen.&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/logrotate.d/zabbix_traps&lt;br /&gt;
und folgenden Inhalt einfügen / anpassen:&amp;lt;br&amp;gt;&lt;br /&gt;
 /tmp/zabbix_traps.tmp {&lt;br /&gt;
         &#039;&#039;&#039;su snmptt Debian-snmp&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;&#039;create 666 snmptt Debian-snmp&#039;&#039;&#039;&lt;br /&gt;
         missingok&lt;br /&gt;
         notifempty&lt;br /&gt;
         &#039;&#039;&#039;daily&#039;&#039;&#039;&lt;br /&gt;
         rotate 4&lt;br /&gt;
         &#039;&#039;&#039;size 1M&#039;&#039;&#039;&lt;br /&gt;
         compress&lt;br /&gt;
         sharedscripts&lt;br /&gt;
         &#039;&#039;&#039;maxage 365&#039;&#039;&#039;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Zabbix Server oder Proxy konfigurieren===&lt;br /&gt;
Die Konfigurationsdatei zum bearbeiten öffnen:&lt;br /&gt;
 nano /etc/zabbix/zabbix_server.conf&lt;br /&gt;
 oder&lt;br /&gt;
 nano /etc/zabbix/zabbix_proxy.conf&lt;br /&gt;
und folgende Zeilen suchen und ändern bzw. Kommentarzeichen davor entfernen:&amp;lt;br&amp;gt;&lt;br /&gt;
 SNMPTrapperFile=/tmp/zabbix_traps.tmp&lt;br /&gt;
 StartSNMPTrapper=1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Danach müssen wir den Zabbix Server oder Proxy Dienst neu starten:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl restart zabbix-server.service&lt;br /&gt;
 oder&lt;br /&gt;
 systemctl restart zabbix-proxy.service&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Trapper-Datei anlegen / Testen===&lt;br /&gt;
Die Datei &amp;lt;code&amp;gt;/tmp/zabbix_traps.tmp&amp;lt;/code&amp;gt; gibt es noch nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Die wird aber ggf. erst beim ersten eintreffenden Trap erstellt. Deshalb:&amp;lt;br&amp;gt;&lt;br /&gt;
 snmptrap -v 1 -c public localhost 1.3.6.1.4.1.2.3 &amp;quot;&amp;quot; 6 3 0000 s s &amp;quot;Zabbix-SNMP-Traps&amp;quot;&lt;br /&gt;
Damit senden wir einen Test-Trap an uns selbst.&amp;lt;br&amp;gt;&lt;br /&gt;
Nun sollte es die Datei geben:&amp;lt;br&amp;gt;&lt;br /&gt;
 ls -l /tmp/zabbix_traps.tmp&lt;br /&gt;
Ausgabe:&lt;br /&gt;
 -rw-r--r-- 1 Debian-snmp Debian-snmp 895 May 13 16:22 /tmp/zabbix_traps.tmp&lt;br /&gt;
Der Inhalt sollte wie folgt sein:&lt;br /&gt;
 cat /tmp/zabbix_traps.tmp&lt;br /&gt;
&lt;br /&gt;
 2026-05-13T16:22:35+0200 ZBXTRAP 127.0.0.1&lt;br /&gt;
 PDU INFO:&lt;br /&gt;
   community                      public&lt;br /&gt;
   messageid                      0&lt;br /&gt;
   requestid                      0&lt;br /&gt;
   errorstatus                    0&lt;br /&gt;
   errorindex                     0&lt;br /&gt;
   notificationtype               TRAP&lt;br /&gt;
   version                        0&lt;br /&gt;
   receivedfrom                   UDP: [127.0.0.1]:48195-&amp;gt;[127.0.0.1]:162&lt;br /&gt;
   transactionid                  1&lt;br /&gt;
 VARBINDS:&lt;br /&gt;
   DISMAN-EVENT-MIB::sysUpTimeInstance type=67 value=Timeticks: (0) 0:00:00.00&lt;br /&gt;
   SNMPv2-MIB::snmpTrapOID.0      type=6  value=OID: SNMPv2-SMI::enterprises.2.3.0.3&lt;br /&gt;
   SNMPv2-SMI::snmpV2             type=4  value=STRING: &amp;quot;Zabbix-SNMP-Traps&amp;quot;&lt;br /&gt;
   SNMP-COMMUNITY-MIB::snmpTrapAddress.0 type=64 value=IpAddress: 192.168.0.102&lt;br /&gt;
   SNMP-COMMUNITY-MIB::snmpTrapCommunity.0 type=4  value=STRING: &amp;quot;public&amp;quot;&lt;br /&gt;
   SNMPv2-MIB::snmpTrapEnterprise.0 type=6  value=OID: SNMPv2-SMI::enterprises.2.3&lt;br /&gt;
Nach einem Reboot ist Datei weg bis der erste Trap eintrifft - was Zabbix aber nicht zu stören scheint.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Agent konfigurieren (nur Proxy)==&lt;br /&gt;
Wir wollen natürlich unseren &#039;&#039;&#039;&#039;Zabbix Proxy&#039;&#039;&#039;&#039; gleich mit überwachen!&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn es ein Server ist, ist dieser gleich automatisch mit drin (ist der erste Host der schon in der Liste steht, ist sogar schon aktiv!)&lt;br /&gt;
Bearbeiten wir zunächst die Konfigurationsdatei:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/zabbix/zabbix_agent2.conf&lt;br /&gt;
und ändert folgende Zeile:&amp;lt;br&amp;gt;&lt;br /&gt;
 Hostname=zabbixproxy.domain.local&lt;br /&gt;
Den Namen passt Ihr natürlich an eure Bedürfnisse an - wichtig ist nur das Ihr den Host auf dem Zabbix-Server unter exakt dem gleichen Namen anlegt!&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis| Ihr wollt die zabbix_agent&amp;lt;big&amp;gt;&#039;&#039;&#039;d&#039;&#039;&#039;&amp;lt;/big&amp;gt;.conf ändern, NICHT die zabbix_agent.conf - man beachte den feinen Unterschied!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Das Start-Skript haben wir vorhin schon aktiviert.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am besten bootet Ihr euren Zabbix Proxy nun einmal durch und prüft hinterher ob die Prozesse für den Agenten und den Server laufen.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Zabbix Reporting-Services installieren / aktivieren==&lt;br /&gt;
Installiert sollte es schon sein, falls nicht:&lt;br /&gt;
 apt install zabbix-web-service&lt;br /&gt;
Dann aktivieren und starten:&lt;br /&gt;
 systemctl enable zabbix-web-service.service --now&lt;br /&gt;
Der Dienst lauscht per Default auf Port 10053 was in der &amp;lt;code&amp;gt;/etc/zabbix/zabbix_web_service.conf&amp;lt;/code&amp;gt; konfiguriert wird.&amp;lt;br&amp;gt;&lt;br /&gt;
Anfragen nimmt er nur von lokal entgegen (127.0.0.1 / ::1)&amp;lt;br&amp;gt;&lt;br /&gt;
Nun den Dienst auch noch im Zabbix-Server bekannt machen:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/zabbix/zabbix_server.conf&lt;br /&gt;
und die folgenden Zeilen ändern:&amp;lt;br&amp;gt;&lt;br /&gt;
 StartReportWriters=3&lt;br /&gt;
 WebServiceURL=&amp;lt;nowiki&amp;gt;http://localhost:10053/report&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Im Anschluß Zabbix einmal neu starten:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl restart zabbix-server.service&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Im Webinterface müsst ihr nun einmal hinterlegen wir die Reporting-Services das Zabbix-Frontend erreichen können:&amp;lt;br&amp;gt;&lt;br /&gt;
Unter {{Key|Administration}} . {{Key|General}} - {{Key|Other}} bei &#039;&#039;&#039;&#039;&#039;Frontend URL&#039;&#039;&#039;&#039;&#039; folgendes setzen:&lt;br /&gt;
 http://localhost/&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt muss noch Google-Chromium-Browser installiert werden, den braucht der Dienst zum Erstellen der PDFs. Da wir keine GUI auf dem Zabbix-Server haben laden wir den Browser einfach direkt als Paket herunter und installieren diesen:&amp;lt;br&amp;gt;&lt;br /&gt;
 wget &amp;lt;nowiki&amp;gt;https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 dpkg -i google-chrome-stable_current_amd64.deb&lt;br /&gt;
 apt install -f -y&lt;br /&gt;
 dpkg --configure -a&lt;br /&gt;
Ja, das ist etwas umständlich, wir installieren Chrome, er meckert über fehlende Abhängigkeiten, die beheben wir dann und lassen das Konfigurieren noch mal laufen.&amp;lt;br&amp;gt;&lt;br /&gt;
Dafür ist der dann installiert ohne das wir eine grafische Oberfläche auf dem Server installieren mussten.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Google-Paketquellen werden auch hinterlegt so das diese über das normale {{code|apt}} mit aktualisiert wird.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Datensicherung des Zabbix-Servers==&lt;br /&gt;
Bevorzugt installiere ich Zabbix-Server als Virtuelle Maschinen / VM.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Backup-Software sichert am besten einfach die gesamte VM.&amp;lt;br&amp;gt;&lt;br /&gt;
Eigentlich macht quasi jede Backup-Software hierzu während der Sicherung einen Snapshot, sichert die Festplattendaten und löst dann den Snapshot wieder auf.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer dabei sicher gehen will das die Datenbank in einem konsistenten Zustand gesichert wird kann folgendes tun:&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
===Methode 1: Cold Backup - Zabbix und Datenbank anhalten===&lt;br /&gt;
Bei dieser Methode passiert folgendes:&lt;br /&gt;
* Die Zabbix-Server und die Datenbank werden vor einem Snapshot angehalten&lt;br /&gt;
* Der Snapshot wird erstellt&lt;br /&gt;
* Die Datenbank und der Zabbix-Server werden wieder gestartet&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
====VMware====&lt;br /&gt;
Unter VMware funktioniert das mit 2 Skripten die wir wie folgt anlegen:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /usr/sbin/pre-freeze-script&lt;br /&gt;
mit folgendem Inhalt:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
echo &amp;quot;$(date) pre-freeze start&amp;quot; &amp;gt;&amp;gt; /tmp/snapshot.log&lt;br /&gt;
systemctl stop zabbix-server.service&lt;br /&gt;
systemctl stop mariadb.service&lt;br /&gt;
echo &amp;quot;$(date) pre-freeze stop&amp;quot; &amp;gt;&amp;gt; /tmp/snapshot.log&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
und&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /usr/sbin/post-thaw-script&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
echo &amp;quot;$(date) post-thaw start&amp;quot; &amp;gt;&amp;gt; /tmp/snapshot.log&lt;br /&gt;
systemctl start mariadb.service&lt;br /&gt;
systemctl start zabbix-server.service&lt;br /&gt;
echo &amp;quot;$(date) post-thaw stop&amp;quot; &amp;gt;&amp;gt; /tmp/snapshot.log&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt müssen wir die beiden Skripte noch ausführbar machen und dem root zuordnen:&amp;lt;br&amp;gt;&lt;br /&gt;
 chmod 0700 /usr/sbin/pre-freeze-script&lt;br /&gt;
 chmod 0700 /usr/sbin/post-thaw-script&lt;br /&gt;
 chown root:root /usr/sbin/pre-freeze-script&lt;br /&gt;
 chown root:root /usr/sbin/post-thaw-script&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Voraussetzung ist das die VMware-Tools installiert sind!&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei ist es egal ob es sich um die Original VMware-Tools oder um die Open-VM-Tools aus den Repositories handelt.&amp;lt;br&amp;gt; &lt;br /&gt;
Nun können wir die Skripts testen indem wir einen Snapshot mit den folgenden Einstellungen erstellen:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-200521-204401.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn wir uns die Logs ansehen sollte&lt;br /&gt;
* Ein Eintrag in die Datei {{Key|/tmp/snapshot.log}} vorgenommen&lt;br /&gt;
* Der Zabbix-Server gestoppt&lt;br /&gt;
* Der MariaDB-Server gestoppt&lt;br /&gt;
* Wieder ein Eintrag in die Datei {{Key|/tmp/snapshot.log}} geschrieben&lt;br /&gt;
* Der MariaDB-Server wieder gestartet&lt;br /&gt;
* Der Zabbix-Server wieder gestartet&lt;br /&gt;
werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis| Das ganze funktioniert sowohl mit den original VMware-Tools als auch den Open-VM-Tools!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
====Proxmox====&lt;br /&gt;
Voraussetzung ist, das Ihr den QEMU-Guest-Agent installiert und in der Konfiguration der VM eingeschaltet habt - das wurde weiter oben bei der Installation der VM beschrieben.&amp;lt;br&amp;gt;&lt;br /&gt;
Das nachfolgende findet Ihr ausführlicher beschrieben hier: [[Proxmox PVE Virtual Environment QEMU Agent Freeze und Thaw Skripte bei Snapshot ausführen pre-freeze-script post-thaw-script]]&amp;lt;br&amp;gt;&lt;br /&gt;
 qemu-ga -D &amp;gt; /etc/qemu/qemu-ga.conf&lt;br /&gt;
danach&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/qemu/qemu-ga.conf&lt;br /&gt;
und wie folgt abändern:&amp;lt;br&amp;gt;&lt;br /&gt;
 [general]&lt;br /&gt;
 daemon=false&lt;br /&gt;
 method=virtio-serial&lt;br /&gt;
 path=/dev/virtio-ports/org.qemu.guest_agent.0&lt;br /&gt;
 pidfile=/var/run/qemu-ga.pid&lt;br /&gt;
 statedir=/var/run&lt;br /&gt;
 verbose=false&lt;br /&gt;
 retry-path=false&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:yellow&amp;quot;&amp;gt;# block-rpcs=&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:yellow&amp;quot;&amp;gt;# allow-rpcs=&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;fsfreeze-hook=/etc/qemu/fsfreeze-hook&amp;lt;/span&amp;gt;&lt;br /&gt;
Die beiden gelben Zeilen müsst Ihr unbedingt auskommentieren (oder ganz löschen), sonst startet der Dienst hinterher nicht mehr (es darf nur eine der beiden Zeilen zur gleichen Zeit angegeben sein)&amp;lt;br&amp;gt;&lt;br /&gt;
Dienst neu starten:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl restart qemu-guest-agent.service&lt;br /&gt;
Nun das Zabbix-Skript-Stopp-Start-Skript:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/qemu/fsfreeze-hook.d/zabbix.sh&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
LOGFILE=&amp;quot;/tmp/snapshot.log&amp;quot;&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; = &amp;quot;freeze&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) pre-freeze called&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
    echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) stopping zabbix-serer&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
    systemctl stop zabbix-server.service&lt;br /&gt;
    echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) stopping mariadb&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
    systemctl stop mariadb.service&lt;br /&gt;
    echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) pre-freeze stop&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
elif [ &amp;quot;$1&amp;quot; = &amp;quot;thaw&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) post-thaw called&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
    echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) starting mariadb&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
    systemctl start mariadb.service&lt;br /&gt;
    echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) starting zabbix-serer&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
    systemctl start zabbix-server.service&lt;br /&gt;
    echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) post-thaw stop&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;-------------------------------------------------------------------------------------&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
    echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) unkown parameter: $1&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
und die Datei ausführbar machen:&amp;lt;br&amp;gt;&lt;br /&gt;
 chmod +x /etc/qemu/fsfreeze-hook.d/zabbix.sh&lt;br /&gt;
Wenn Ihr jetzt einen Snapshot der VM erstellt, müsste nach der Erstellung folgendes in der Datei&amp;lt;br&amp;gt;&lt;br /&gt;
 cat /tmp/snapshot.log&lt;br /&gt;
zu sehen sein:&amp;lt;br&amp;gt;&lt;br /&gt;
 -------------------------------------------------------------------------------------&lt;br /&gt;
 /etc/qemu/fsfreeze-hook.d/zabbix.sh 2026-05-15 14:04:04 pre-freeze called&lt;br /&gt;
 /etc/qemu/fsfreeze-hook.d/zabbix.sh 2026-05-15 14:04:04 stopping zabbix-serer&lt;br /&gt;
 /etc/qemu/fsfreeze-hook.d/zabbix.sh 2026-05-15 14:04:05 stopping mariadb&lt;br /&gt;
 /etc/qemu/fsfreeze-hook.d/zabbix.sh 2026-05-15 14:04:05 pre-freeze stop&lt;br /&gt;
 /etc/qemu/fsfreeze-hook.d/zabbix.sh 2026-05-15 14:04:05 post-thaw called&lt;br /&gt;
 /etc/qemu/fsfreeze-hook.d/zabbix.sh 2026-05-15 14:04:05 starting mariadb&lt;br /&gt;
 /etc/qemu/fsfreeze-hook.d/zabbix.sh 2026-05-15 14:04:07 starting zabbix-serer&lt;br /&gt;
 /etc/qemu/fsfreeze-hook.d/zabbix.sh 2026-05-15 14:04:07 post-thaw stop&lt;br /&gt;
Da es ein frischer Server ist, hat das Stoppen und Starten keine 3 Sekunden gedauert. Das wird später länger dauern.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Methode 2: Hot Backup - Datenbank einfrieren===&lt;br /&gt;
Bei dieser Methode passiert folgendes:&lt;br /&gt;
* Die Datenbank wird vor einem Snapshot auf &amp;quot;READ ONLY&amp;quot; gesetzt - zuvor werden noch alle Daten geschrieben (&amp;quot;FLUSH TABLES&amp;quot;)&lt;br /&gt;
* Der Snapshot wird erstellt&lt;br /&gt;
* Die Datenbank wird wieder für Schreibzugriffe freigegeben&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====VMware====&lt;br /&gt;
Unter VMware funktioniert das mit 2 Skripten die wir wie folgt anlegen:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /usr/sbin/pre-freeze-script&lt;br /&gt;
mit folgendem Inhalt:&amp;lt;br&amp;gt;&lt;br /&gt;
{{Warnung|Vergesst nicht das Passwort in Zeile 9 zu setzen (steht auf Leer was per Default passen sollte)}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# 2018-04-20 Bernhard Linz&lt;br /&gt;
# Original script by Pascal Di Marco, check https://www.veeam.com/wp-consistent-protection-mysql-mariadb.html for more information&lt;br /&gt;
# Log will be write to syslog and(!) to /tmp/snapshot.log&lt;br /&gt;
echo &amp;quot;$0 pre-freeze start&amp;quot; | logger&lt;br /&gt;
echo &amp;quot;-------------------------------------------------------------------------------------&amp;quot; &amp;gt;&amp;gt; /tmp/snapshot.log&lt;br /&gt;
echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) pre-freeze start&amp;quot; &amp;gt;&amp;gt; /tmp/snapshot.log&lt;br /&gt;
# Set Username and Passwort for MySQL Access. Set mysql_password=&amp;quot;&amp;quot; if no password needed&lt;br /&gt;
mysql_username=&amp;quot;root&amp;quot;&lt;br /&gt;
mysql_password=&amp;quot;&amp;quot;&lt;br /&gt;
timeout=300&lt;br /&gt;
&lt;br /&gt;
# ************************************************************************************************&lt;br /&gt;
# No Changes behind this line!&lt;br /&gt;
# ************************************************************************************************&lt;br /&gt;
# Check if username + password is used&lt;br /&gt;
if [ -n &amp;quot;$mysql_password&amp;quot; ]; then&lt;br /&gt;
    use_credentials=&amp;quot;-u$mysql_username -p$mysql_password&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
    use_credentials=&amp;quot;&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Name of the Lockfile&lt;br /&gt;
lock_file=/tmp/mysql_tables_read_lock&lt;br /&gt;
&lt;br /&gt;
sleep_time=$((timeout+10))&lt;br /&gt;
rm -f $lock_file&lt;br /&gt;
echo &amp;quot;$0 executing FLUSH TABLES WITH READ LOCK&amp;quot; | logger&lt;br /&gt;
echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) executing FLUSH TABLES WITH READ LOCK&amp;quot; &amp;gt;&amp;gt; /tmp/snapshot.log&lt;br /&gt;
&lt;br /&gt;
# Start READ LOCK - Process will send to background (and will still run after script is completed. Lock will stop if process is stopped&lt;br /&gt;
# After READ ONLY mode is entered the lockfile will be created. Process will stop when getting stop signal from post-thaw-script or timeout reached&lt;br /&gt;
mysql $use_credentials -e &amp;quot;FLUSH TABLES WITH READ LOCK; system touch $lock_file; system nohup sleep $sleep_time; system echo lock released|logger; &amp;quot; &amp;gt; /dev/null &amp;amp;&lt;br /&gt;
# get the PID of the mysql process&lt;br /&gt;
mysql_pid=$!&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;$0 child pid $mysql_pid&amp;quot; | logger&lt;br /&gt;
echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) child pid $mysql_pid&amp;quot; &amp;gt;&amp;gt; /tmp/snapshot.log&lt;br /&gt;
&lt;br /&gt;
# Waiting for the lockfile ...&lt;br /&gt;
c=0&lt;br /&gt;
while [ ! -f $lock_file ]&lt;br /&gt;
do&lt;br /&gt;
    # check if mysql is running&lt;br /&gt;
    if ! ps -p $mysql_pid 1&amp;gt;/dev/null ; then&lt;br /&gt;
        echo &amp;quot;$0 mysql command has failed (bad credentials?)&amp;quot; | logger&lt;br /&gt;
        echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) mysql command has failed (bad credentials?)&amp;quot; &amp;gt;&amp;gt; /tmp/snapshot.log&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
    sleep 1&lt;br /&gt;
    c=$((c+1))&lt;br /&gt;
    # check if the script run into timeout&lt;br /&gt;
    if [ $c -gt $timeout ]; then&lt;br /&gt;
        echo &amp;quot;$0 timed out waiting for lock&amp;quot; | logger&lt;br /&gt;
        echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) timed out waiting for lock&amp;quot; &amp;gt;&amp;gt; /tmp/snapshot.log&lt;br /&gt;
        touch $lock_file&lt;br /&gt;
        kill $mysql_pid&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
# write PID into the lockfile&lt;br /&gt;
echo $mysql_pid &amp;gt; $lock_file&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;$0 pre-freeze stop&amp;quot; | logger&lt;br /&gt;
echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) pre-freeze stop&amp;quot; &amp;gt;&amp;gt; /tmp/snapshot.log&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
und&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /usr/sbin/post-thaw-script&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# 2018-04-20 Bernhard Linz&lt;br /&gt;
# Original script by Pascal Di Marco, check https://www.veeam.com/wp-consistent-protection-mysql-mariadb.html for more information&lt;br /&gt;
# Log will be write to syslog and(!) to /tmp/snapshot.log&lt;br /&gt;
echo &amp;quot;$0 post-thaw start&amp;quot; | logger&lt;br /&gt;
echo &amp;quot;$0  $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) post-thaw start&amp;quot; &amp;gt;&amp;gt; /tmp/snapshot.log&lt;br /&gt;
&lt;br /&gt;
lock_file=/tmp/mysql_tables_read_lock&lt;br /&gt;
&lt;br /&gt;
# get PID from lockfile&lt;br /&gt;
mysql_pid=$(cat $lock_file)&lt;br /&gt;
echo &amp;quot;$0 sending sigterm to $mysql_pid&amp;quot; | logger&lt;br /&gt;
echo &amp;quot;$0  $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) sending sigterm to $mysql_pid&amp;quot; &amp;gt;&amp;gt; /tmp/snapshot.log&lt;br /&gt;
# and send stop to process&lt;br /&gt;
pkill -9 -P $mysql_pid&lt;br /&gt;
rm -f $lock_file&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;$0 post-thaw stop&amp;quot; | logger&lt;br /&gt;
echo &amp;quot;$0  $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) post-thaw stop&amp;quot; &amp;gt;&amp;gt; /tmp/snapshot.log&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt müssen wir die beiden Skripte noch ausführbar machen und dem root zuordnen:&amp;lt;br&amp;gt;&lt;br /&gt;
 chmod 0700 /usr/sbin/pre-freeze-script&lt;br /&gt;
 chmod 0700 /usr/sbin/post-thaw-script&lt;br /&gt;
 chown root:root /usr/sbin/pre-freeze-script&lt;br /&gt;
 chown root:root /usr/sbin/post-thaw-script&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Voraussetzung ist das die VMware-Tools installiert sind!&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei ist es egal ob es sich um die Original VMware-Tools oder um die Open-VM-Tools aus den Repositories handelt.&amp;lt;br&amp;gt; &lt;br /&gt;
Nun können wir die Skripts testen indem wir einen Snapshot mit den folgenden Einstellungen erstellen:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-200521-204401.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Beispielausgabe aus der &lt;br /&gt;
 cat /tmp/snapshot.log&lt;br /&gt;
&lt;br /&gt;
 -------------------------------------------------------------------------------------&lt;br /&gt;
 /usr/sbin/pre-freeze-script 2023-03-20 12:49:14 pre-freeze start&lt;br /&gt;
 /usr/sbin/pre-freeze-script 2023-03-20 12:49:14 executing FLUSH TABLES WITH READ LOCK&lt;br /&gt;
 /usr/sbin/pre-freeze-script 2023-03-20 12:49:14 child pid 11824&lt;br /&gt;
 /usr/sbin/pre-freeze-script 2023-03-20 12:49:15 pre-freeze stop&lt;br /&gt;
 /usr/sbin/post-thaw-script  2023-03-20 12:49:18 post-thaw start&lt;br /&gt;
 /usr/sbin/post-thaw-script  2023-03-20 12:49:18 sending sigterm to 11824&lt;br /&gt;
 /usr/sbin/post-thaw-script  2023-03-20 12:49:18 post-thaw stop&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Falls es mit dem Passwort mal hakt so müsste das auch dort stehen:&lt;br /&gt;
 /usr/sbin/pre-freeze-script 2018-06-13 12:01:04 mysql command has failed (bad credentials?)&lt;br /&gt;
Mehr Details stehen ggf. im &#039;&#039;&#039;&#039;&#039;syslog&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 tail -f -n 500 /var/log/syslog&lt;br /&gt;
Zabbix selbst nimmt den Vorgang relativ locker und meldet maximal einige &#039;&#039;&#039;&#039;&#039;slow query&#039;&#039;&#039;&#039;&#039; bei &#039;&#039;&#039;&#039;&#039;inserts&#039;&#039;&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
In den meisten Umgebungen geht das so schnell das nicht einmal diese kommen (4 bis 5 Sekunden).&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis| Das ganze funktioniert sowohl mit den original VMware-Tools als auch den Open-VM-Tools!}}&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
====Proxmox====&lt;br /&gt;
{{Warnung|Wenn Ihr vorher die Start-Stopp Methode ausprobiert habt und nun auf diese Hot-Backup-Methode umschwenken wollt, müsst ihr nun die Datei {{code|/etc/qemu/fsfreeze-hook.d/zabbix.sh}} löschen! Ich nutze hier einen anderen Dateinamen da es hier nur die Datenbank betrifft}}&lt;br /&gt;
Voraussetzung ist, das Ihr den QEMU-Guest-Agent installiert und in der Konfiguration der VM eingeschaltet habt - das wurde weiter oben bei der Installation der VM beschrieben.&amp;lt;br&amp;gt;&lt;br /&gt;
Das nachfolgende findet Ihr ausführlicher beschrieben hier: [[Proxmox PVE Virtual Environment QEMU Agent Freeze und Thaw Skripte bei Snapshot ausführen pre-freeze-script post-thaw-script]]&amp;lt;br&amp;gt;&lt;br /&gt;
 qemu-ga -D &amp;gt; /etc/qemu/qemu-ga.conf&lt;br /&gt;
danach&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/qemu/qemu-ga.conf&lt;br /&gt;
und wie folgt abändern:&amp;lt;br&amp;gt;&lt;br /&gt;
 [general]&lt;br /&gt;
 daemon=false&lt;br /&gt;
 method=virtio-serial&lt;br /&gt;
 path=/dev/virtio-ports/org.qemu.guest_agent.0&lt;br /&gt;
 pidfile=/var/run/qemu-ga.pid&lt;br /&gt;
 statedir=/var/run&lt;br /&gt;
 verbose=false&lt;br /&gt;
 retry-path=false&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:yellow&amp;quot;&amp;gt;# block-rpcs=&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:yellow&amp;quot;&amp;gt;# allow-rpcs=&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;fsfreeze-hook=/etc/qemu/fsfreeze-hook&amp;lt;/span&amp;gt;&lt;br /&gt;
Die beiden gelben Zeilen müsst Ihr unbedingt auskommentieren (oder ganz löschen), sonst startet der Dienst hinterher nicht mehr (es darf nur eine der beiden Zeilen zur gleichen Zeit angegeben sein)&amp;lt;br&amp;gt;&lt;br /&gt;
Dienst neu starten:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl restart qemu-guest-agent.service&lt;br /&gt;
Nun das MariaDB/MySQL Freeze Skript:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/qemu/fsfreeze-hook.d/mariadb.sh&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# 2026-05-15 Bernhard Linz&lt;br /&gt;
# Original script by Pascal Di Marco, check https://www.veeam.com/wp-consistent-protection-mysql-mariadb.html for more information&lt;br /&gt;
# Log will be write to syslog and(!) to /tmp/snapshot.log&lt;br /&gt;
LOGFILE=&amp;quot;/tmp/snapshot.log&amp;quot;&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; = &amp;quot;freeze&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;$0 pre-freeze start&amp;quot; | logger&lt;br /&gt;
    echo &amp;quot;-------------------------------------------------------------------------------------&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
    echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) pre-freeze start&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
    # Set Username and Passwort for MySQL Access. Set mysql_password=&amp;quot;&amp;quot; if no password needed&lt;br /&gt;
    mysql_username=&amp;quot;root&amp;quot;&lt;br /&gt;
    mysql_password=&amp;quot;&amp;quot;&lt;br /&gt;
    timeout=300&lt;br /&gt;
&lt;br /&gt;
    # ************************************************************************************************&lt;br /&gt;
    # No Changes behind this line!&lt;br /&gt;
    # ************************************************************************************************&lt;br /&gt;
    # Check if username + password is used&lt;br /&gt;
    if [ -n &amp;quot;$mysql_password&amp;quot; ]; then&lt;br /&gt;
        use_credentials=&amp;quot;-u$mysql_username -p$mysql_password&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        use_credentials=&amp;quot;&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    # Name of the Lockfile&lt;br /&gt;
    lock_file=/tmp/mysql_tables_read_lock&lt;br /&gt;
&lt;br /&gt;
    sleep_time=$((timeout+10))&lt;br /&gt;
    rm -f $lock_file&lt;br /&gt;
    echo &amp;quot;$0 executing FLUSH TABLES WITH READ LOCK&amp;quot; | logger&lt;br /&gt;
    echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) executing FLUSH TABLES WITH READ LOCK&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
&lt;br /&gt;
    # Start READ LOCK - Process will send to background (and will still run after script is completed. Lock will stop if process is stopped&lt;br /&gt;
    # After READ ONLY mode is entered the lockfile will be created. Process will stop when getting stop signal from post-thaw-script or timeout reached&lt;br /&gt;
    mysql $use_credentials -e &amp;quot;FLUSH TABLES WITH READ LOCK; system touch $lock_file; system nohup sleep $sleep_time; system echo lock released|logger; &amp;quot; &amp;gt; /dev/null &amp;amp;&lt;br /&gt;
    # get the PID of the mysql process&lt;br /&gt;
    mysql_pid=$!&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;$0 child pid $mysql_pid&amp;quot; | logger&lt;br /&gt;
    echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) child pid $mysql_pid&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
&lt;br /&gt;
    # Waiting for the lockfile ...&lt;br /&gt;
    c=0&lt;br /&gt;
    while [ ! -f $lock_file ]&lt;br /&gt;
    do&lt;br /&gt;
        # check if mysql is running&lt;br /&gt;
        if ! ps -p $mysql_pid 1&amp;gt;/dev/null ; then&lt;br /&gt;
            echo &amp;quot;$0 mysql command has failed (bad credentials?)&amp;quot; | logger&lt;br /&gt;
            echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) mysql command has failed (bad credentials?)&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
            exit 1&lt;br /&gt;
        fi&lt;br /&gt;
        sleep 1&lt;br /&gt;
        c=$((c+1))&lt;br /&gt;
        # check if the script run into timeout&lt;br /&gt;
        if [ $c -gt $timeout ]; then&lt;br /&gt;
            echo &amp;quot;$0 timed out waiting for lock&amp;quot; | logger&lt;br /&gt;
            echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) timed out waiting for lock&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
            touch $lock_file&lt;br /&gt;
            kill $mysql_pid&lt;br /&gt;
        fi&lt;br /&gt;
    done&lt;br /&gt;
    # write PID into the lockfile&lt;br /&gt;
    echo $mysql_pid &amp;gt; $lock_file&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;$0 pre-freeze stop&amp;quot; | logger&lt;br /&gt;
    echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) pre-freeze stop&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
&lt;br /&gt;
    exit 0&lt;br /&gt;
&lt;br /&gt;
elif [ &amp;quot;$1&amp;quot; = &amp;quot;thaw&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;$0 post-thaw start&amp;quot; | logger&lt;br /&gt;
    echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) post-thaw start&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
&lt;br /&gt;
    lock_file=/tmp/mysql_tables_read_lock&lt;br /&gt;
&lt;br /&gt;
    # get PID from lockfile&lt;br /&gt;
    mysql_pid=$(cat $lock_file)&lt;br /&gt;
    echo &amp;quot;$0 sending sigterm to $mysql_pid&amp;quot; | logger&lt;br /&gt;
    echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) sending sigterm to $mysql_pid&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
    # and send stop to process&lt;br /&gt;
    pkill -9 -P $mysql_pid&lt;br /&gt;
    rm -f $lock_file&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;$0 post-thaw stop&amp;quot; | logger&lt;br /&gt;
    echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) post-thaw stop&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
&lt;br /&gt;
    exit 0&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;-------------------------------------------------------------------------------------&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
    echo &amp;quot;$0 $(date &#039;+%Y-%m-%d %H:%M:%S&#039;) unkown parameter: $1&amp;quot; &amp;gt;&amp;gt; $LOGFILE&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
und die Datei ausführbar machen:&amp;lt;br&amp;gt;&lt;br /&gt;
 chmod +x /etc/qemu/fsfreeze-hook.d/mariadb.sh&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Festplatte im laufenden Betrieb vergrößern==&lt;br /&gt;
Ihr habt den Server nach dieser Anleitung hier als VM installiert (und ohne LVM) und nun geht euch der Platz aus?&amp;lt;br&amp;gt;&lt;br /&gt;
Kein Problem, Ihr könnt die Festplatte im laufenden Betrieb vergößern!&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
===Als erstes: Platz an die Festplatte anhängen===&lt;br /&gt;
* Stellt sicher das auf der VM zur Zeit kein Snapshot aktiv ist!&lt;br /&gt;
* Vergrößert die Festplatte um den benötigten Speicherplatz&lt;br /&gt;
Unter VMware indem Ihr die Hardware der VM bearbeitet und bei der aktuellen Größe der Festplatte einfach die neue Größe angebt,&amp;lt;br&amp;gt;&lt;br /&gt;
unter Proxmox in dem Ihr bei der VM unter {{code|Hardware}} die Festplatte markiert und oben über {{key|Disk Action}} =&amp;gt; {{key|+ Resize}} den zusätzlichen Speicherplatz der angehängt werden soll angegeben.&amp;lt;br&amp;gt;&lt;br /&gt;
in dem Beispiel hier wird der Platz von 50 auf 100GB vergrößert.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
===Partition vergrößern===&lt;br /&gt;
Nachfolgend findet Ihr 2 Methoden den freien Speicherplatz an die vorhandene Partition anzuhängen.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;B&#039;&#039;&#039; ist erprobt und funktioniert aber nur ohne LVM,&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;A&#039;&#039;&#039; ist neu, funktionierte bisher aber gut.&amp;lt;br&amp;gt;&lt;br /&gt;
Bei beiden Varianten schadet es nicht, vorher einen Snapshot der VM zu machen (und gleich wieder zu löschen wenn alles geklappt hat).&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
===Variante A: automatisch per Skript===&lt;br /&gt;
Das Skript funktioniert mit und ohne LVM, mit den Dateisystemen ext2/3/4 oder XFS, unter VMware, Hyper-V, Proxmox und wahrscheinlich vielen anderen Hypervisoren.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
====Skript erstellen oder herunterladen====&lt;br /&gt;
Ihr seit als {{code|root}} angenmeldet und erstellt folgendes Skript:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano addiskspace.sh&lt;br /&gt;
Inhalt:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Prüfen auf Root-Rechte&lt;br /&gt;
if [ &amp;quot;$EUID&amp;quot; -ne 0 ]; then &lt;br /&gt;
  echo &amp;quot;Bitte als root ausführen.&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;--- Schritt 1: SCSI Rescan (alle Controller) ---&amp;quot;&lt;br /&gt;
for host_path in /sys/class/scsi_host/host*; do&lt;br /&gt;
    host_name=$(cat &amp;quot;$host_path/proc_name&amp;quot;)&lt;br /&gt;
    echo &amp;quot;Rescanning $host_name (${host_path##*/})...&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    # Neue Geräte suchen&lt;br /&gt;
    [ -e &amp;quot;$host_path/scan&amp;quot; ] &amp;amp;&amp;amp; echo &amp;quot;- - -&amp;quot; &amp;gt; &amp;quot;$host_path/scan&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    # Größenänderungen bestehender Geräte finden&lt;br /&gt;
    find /sys/devices/ -name rescan | grep &amp;quot;/${host_path##*/}/&amp;quot; | while read -r r; do&lt;br /&gt;
        echo 1 &amp;gt; &amp;quot;$r&amp;quot;&lt;br /&gt;
    done&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
echo -e &amp;quot;\n--- Schritt 2: Analyse und Vergrößerung der Datenträger ---&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Alle Blockgeräte finden (sdX, nvmeXnX, virtblkX), die Partitionen haben&lt;br /&gt;
# Wir filtern nach &#039;disk&#039;, um keine Loop-Devices oder Partitionen selbst zu greifen&lt;br /&gt;
lsblk -dnio NAME,TYPE | grep &amp;quot;disk&amp;quot; | awk &#039;{print $1}&#039; | while read -r dev; do&lt;br /&gt;
    disk=&amp;quot;/dev/$dev&amp;quot;&lt;br /&gt;
    echo &amp;quot;Untersuche $disk...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Alle Partitionen dieser Disk finden (sortiert nach Partitionsnummer, absteigend)&lt;br /&gt;
    # Wir wollen die LETZTE Partition vergrößern&lt;br /&gt;
    last_part_num=$(lsblk -nlo PARTN,TYPE &amp;quot;$disk&amp;quot; | grep &amp;quot;part&amp;quot; | awk &#039;{print $1}&#039; | sort -rn | head -n1)&lt;br /&gt;
&lt;br /&gt;
    if [ -z &amp;quot;$last_part_num&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;  Keine Partitionen auf $disk gefunden, überspringe.&amp;quot;&lt;br /&gt;
        continue&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
    partition=&amp;quot;${disk}${last_part_num}&amp;quot;&lt;br /&gt;
    # Sonderbehandlung für NVMe oder MMC (z.B. p1 am Ende)&lt;br /&gt;
    [[ &amp;quot;$disk&amp;quot; =~ [0-9]$ ]] &amp;amp;&amp;amp; partition=&amp;quot;${disk}p${last_part_num}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    echo &amp;quot;  Letzte Partition identifiziert: $partition (Nummer $last_part_num)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Versuch die Partition zu vergrößern (growpart gibt 0 bei Erfolg, 1 bei &amp;quot;kein Platz&amp;quot; zurück)&lt;br /&gt;
    growpart &amp;quot;$disk&amp;quot; &amp;quot;$last_part_num&amp;quot; 2&amp;gt;/dev/null&lt;br /&gt;
    if [ $? -eq 0 ]; then&lt;br /&gt;
        echo &amp;quot;  Partition $partition wurde vergrößert.&amp;quot;&lt;br /&gt;
        &lt;br /&gt;
        # --- LVM Check ---&lt;br /&gt;
        # Prüfen, ob diese Partition ein LVM Physical Volume ist&lt;br /&gt;
        if pvs --noheadings -o pv_name &amp;quot;$partition&amp;quot; &amp;amp;&amp;gt;/dev/null; then&lt;br /&gt;
            echo &amp;quot;  LVM erkannt: Vergrößere Physical Volume...&amp;quot;&lt;br /&gt;
            pvresize &amp;quot;$partition&amp;quot;&lt;br /&gt;
            &lt;br /&gt;
            # Finde alle Logical Volumes auf diesem PV und vergrößere das LETZTE LV&lt;br /&gt;
            # (Wir nehmen hier an, dass das LV vergrößert werden soll, das den Platz braucht)&lt;br /&gt;
            lv_path=$(lvs --noheadings -o lv_path --sort -lv_size | head -n1 | xargs)&lt;br /&gt;
            if [ -n &amp;quot;$lv_path&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;  Vergrößere Logical Volume $lv_path und Dateisystem...&amp;quot;&lt;br /&gt;
                lvextend -l +100%FREE -r &amp;quot;$lv_path&amp;quot;&lt;br /&gt;
            fi&lt;br /&gt;
        else&lt;br /&gt;
            # --- Non-LVM Resize ---&lt;br /&gt;
            echo &amp;quot;  Kein LVM: Vergrößere Dateisystem direkt...&amp;quot;&lt;br /&gt;
            # Erkennt automatisch ext2/3/4 oder XFS&lt;br /&gt;
            lsblk -f &amp;quot;$partition&amp;quot; | grep -qi &amp;quot;xfs&amp;quot; &amp;amp;&amp;amp; xfs_growfs &amp;quot;$partition&amp;quot; || resize2fs &amp;quot;$partition&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;  Kein freier Platz nach Partition $last_part_num gefunden oder bereits maximal groß.&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
echo -e &amp;quot;\nFertig.&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Jetzt noch ausführbar machen:&amp;lt;br&amp;gt;&lt;br /&gt;
 chmod +x addiskspace.sh&lt;br /&gt;
----&lt;br /&gt;
====Skript ausführen====&lt;br /&gt;
 ./addiskspace.sh&lt;br /&gt;
Beispielausgabe (bei LVM):&amp;lt;br&amp;gt;&lt;br /&gt;
 --- Schritt 1: SCSI Rescan (alle Controller) ---&lt;br /&gt;
 Rescanning virtio_scsi (host0)...&lt;br /&gt;
 Rescanning ata_piix (host1)...&lt;br /&gt;
 Rescanning ata_piix (host2)...&lt;br /&gt;
 &lt;br /&gt;
 --- Schritt 2: Analyse und Vergrößerung der Datenträger ---&lt;br /&gt;
 Untersuche /dev/sda...&lt;br /&gt;
   Letzte Partition identifiziert: /dev/sda3 (Nummer 3)&lt;br /&gt;
 CHANGED: partition=3 start=4198400 old: size=79685632 end=83884031 new: size=100659167 end=104857566&lt;br /&gt;
   Partition /dev/sda3 wurde vergrößert.&lt;br /&gt;
   LVM erkannt: Vergrößere Physical Volume...&lt;br /&gt;
   Physical volume &amp;quot;/dev/sda3&amp;quot; changed&lt;br /&gt;
   1 physical volume(s) resized or updated / 0 physical volume(s) not resized&lt;br /&gt;
   Vergrößere Logical Volume /dev/ubuntu-vg/ubuntu-lv und Dateisystem...&lt;br /&gt;
   File system ext4 found on ubuntu-vg/ubuntu-lv mounted at /.&lt;br /&gt;
   Size of logical volume ubuntu-vg/ubuntu-lv changed from &amp;lt;19,00 GiB (4863 extents) to &amp;lt;48,00 GiB (12287 extents).&lt;br /&gt;
   Extending file system ext4 to &amp;lt;48,00 GiB (51535413248 bytes) on ubuntu-vg/ubuntu-lv...&lt;br /&gt;
 resize2fs /dev/ubuntu-vg/ubuntu-lv&lt;br /&gt;
 resize2fs 1.47.2 (1-Jan-2025)&lt;br /&gt;
 Dateisystem bei /dev/ubuntu-vg/ubuntu-lv ist auf / eingehängt; Online-Größenänderung ist&lt;br /&gt;
 erforderlich&lt;br /&gt;
 old_desc_blocks = 3, new_desc_blocks = 6&lt;br /&gt;
 Das Dateisystem auf /dev/ubuntu-vg/ubuntu-lv is nun 12581888 (4k) Blöcke lang.&lt;br /&gt;
 &lt;br /&gt;
 resize2fs done&lt;br /&gt;
   Extended file system ext4 on ubuntu-vg/ubuntu-lv.&lt;br /&gt;
   Logical volume ubuntu-vg/ubuntu-lv successfully resized.&lt;br /&gt;
 &lt;br /&gt;
 Fertig.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Variante B: manuell von Hand===&lt;br /&gt;
Hier führen wie die Schritte Händisch aus, im Oment ist nur der Weg ohne LVM beschrieben.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Schritt 1: Betriebssystem die neue Größe erkennen lassen====&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Die einfachste und sicherste Methode ist den Server neu zu starten.&#039;&#039;&#039;&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Wer will kann es aber auch im laufenden Betrieb durchführen, und das geht so:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=====Variante 1: Manueller Rescan der Festplatten durchführen=====&lt;br /&gt;
Wir müssen die Festplattenkontroller-Adapternummer ermitteln:&amp;lt;br&amp;gt;&lt;br /&gt;
Die ersten beiden Befehle suchen diesen unter VMware, der 3. unter Proxmox:&amp;lt;br&amp;gt;&lt;br /&gt;
 # VMware&lt;br /&gt;
 grep mpt /sys/class/scsi_host/host*/proc_name&lt;br /&gt;
 grep pvscsi /sys/class/scsi_host/host*/proc_name&lt;br /&gt;
 # Proxmox&lt;br /&gt;
 grep virtio_scsi /sys/class/scsi_host/host*/proc_name&lt;br /&gt;
Findet keiner der Befehle etwas, lasst euch den Namen des Controllers anzeigen:&lt;br /&gt;
 cat /sys/class/scsi_host/host*/proc_name&lt;br /&gt;
&lt;br /&gt;
Beispielausgaben (eine von denen wird kommen):&lt;br /&gt;
 /sys/class/scsi_host/&#039;&#039;&#039;host32&#039;&#039;&#039;/proc_name:mptspi&lt;br /&gt;
 /sys/class/scsi_host/&#039;&#039;&#039;host2&#039;&#039;&#039;/proc_name:vmw_pvscsi&lt;br /&gt;
 /sys/class/scsi_host/&#039;&#039;&#039;host0&#039;&#039;&#039;/proc_name:virtio_scsi&lt;br /&gt;
Die Nummer ist in diesem Fall &amp;lt;code&amp;gt;host0&amp;lt;/code&amp;gt;! Die brauchen wir für den nächsten Befehl:&amp;lt;br&amp;gt;&lt;br /&gt;
 find /sys -name rescan | grep host0&lt;br /&gt;
Beispielausgaben:&amp;lt;br&amp;gt;&lt;br /&gt;
VMware:&amp;lt;br&amp;gt;&lt;br /&gt;
 /sys/devices/pci0000:00/0000:00:10.0/host32/target32:0:0/32:0:0:0/rescan&lt;br /&gt;
Proxmox:&amp;lt;br&amp;gt;&lt;br /&gt;
 /sys/devices/pci0000:00/0000:00:05.0/0000:01:01.0/virtio4/host0/target0:0:0/0:0:0:0/rescan&lt;br /&gt;
Ok, an die Festplatte schicken wir jetzt eine &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; um den Rescan auszulösen:&lt;br /&gt;
 echo 1 &amp;gt; /sys/devices/pci0000:00/0000:00:10.0/host32/target32:0:0/32:0:0:0/rescan&lt;br /&gt;
oder&lt;br /&gt;
 echo 1 &amp;gt; /sys/devices/pci0000:00/0000:00:05.0/0000:01:01.0/virtio4/host0/target0:0:0/0:0:0:0/rescan&lt;br /&gt;
Fertig!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=====Variante 2: Rescan per Einzeiler auslösen=====&lt;br /&gt;
Der Einzeiler sollte auf allen Linux-Systemen funktionieren. AHCI Geräte, also SATA, werden übersprungen:&amp;lt;br&amp;gt;&lt;br /&gt;
 for host_path in /sys/class/scsi_host/host*; do host_name=$(cat $host_path/proc_name); if [[ &amp;quot;$host_name&amp;quot; != &amp;quot;ahci&amp;quot; ]]; then echo &amp;quot;Rescanning $host_name (${host_path##*/})...&amp;quot;; [ -e &amp;quot;$host_path/scan&amp;quot; ] &amp;amp;&amp;amp; echo &amp;quot;- - -&amp;quot; &amp;gt; &amp;quot;$host_path/scan&amp;quot;; find /sys/devices/ -name rescan | grep &amp;quot;/${host_path##*/}/&amp;quot; | while read r; do echo 1 &amp;gt; &amp;quot;$r&amp;quot;; done; fi; done&lt;br /&gt;
Wer doch SATA braucht nimmt es ohne Filter:&amp;lt;br&amp;gt;&lt;br /&gt;
 for host_path in /sys/class/scsi_host/host*; do host_name=$(cat $host_path/proc_name); if [[ &amp;quot;$host_name&amp;quot; =~ (virtio|mpt|pvscsi|ahci) ]]; then echo &amp;quot;Rescanning $host_name (${host_path##*/})...&amp;quot;; echo &amp;quot;- - -&amp;quot; &amp;gt; $host_path/scan; find /sys/devices/ -name rescan | grep &amp;quot;${host_path##*/}&amp;quot; | while read r; do echo 1 &amp;gt; &amp;quot;$r&amp;quot;; done; fi; done&lt;br /&gt;
&lt;br /&gt;
====Schritt 2: Kontrolle ob neue Größe erkannt wurde====&lt;br /&gt;
Im Anschluß zur Kontrolle ein&lt;br /&gt;
 fdisk -l&lt;br /&gt;
Die Ausgabe sollte ähnlich wie diese sein:&amp;lt;br&amp;gt;&lt;br /&gt;
 Festplatte /dev/sda: &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;100 GiB&amp;lt;/span&amp;gt;, 107374182400 Bytes, 209715200 Sektoren&lt;br /&gt;
 Festplattenmodell: Virtual disk&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 Festplattenbezeichnungstyp: gpt&lt;br /&gt;
 Festplattenbezeichner: 9BE90D25-A550-48DB-9E50-6CAC38D87217&lt;br /&gt;
 &lt;br /&gt;
 Gerät       Anfang     Ende Sektoren Größe Typ&lt;br /&gt;
 /dev/sda1     2048  2203647  2201600    1G EFI-System&lt;br /&gt;
 /dev/sda2  2203648 52426751 50223104 &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;23,9G&amp;lt;/span&amp;gt; Linux-Dateisystem&lt;br /&gt;
Wir können sehen das {{key|sda}} nun 100GB groß ist, in der letzten Zeile sehen wir aber das die Partition {{key|sda2}} zur Zeit noch 23,9Gb groß ist - prima!&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Schritt 3: Partition vergrößern====&lt;br /&gt;
Das &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; Verzeichnis unserer Root-Partition der Festplatte befindet sich auf dem Gerät&lt;br /&gt;
 /dev/sda2&lt;br /&gt;
wenn Ihr nach dieser Anleitung installiert hattet. Kontrollieren könnte Ihr das z.B. mit&lt;br /&gt;
 df -h&lt;br /&gt;
und dann schauen was links vom Verzeichnis &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; steht:&amp;lt;br&amp;gt;&lt;br /&gt;
 Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf&lt;br /&gt;
 tmpfs           392M    1,2M  391M    1% /run&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:yellow&amp;quot;&amp;gt;/dev/sda2        63G    8,8G   51G   15% /&amp;lt;/span&amp;gt;&lt;br /&gt;
 tmpfs           2,0G       0  2,0G    0% /dev/shm&lt;br /&gt;
 tmpfs           5,0M       0  5,0M    0% /run/lock&lt;br /&gt;
 tmpfs           392M     12K  392M    1% /run/user/0&lt;br /&gt;
Die nächsten Befehle gehen von {{Key|/dev/sda2}}, wenn der Pfad anderes ist müsst Ihr diesen anpassen!&amp;lt;br&amp;gt;&lt;br /&gt;
 growpart /dev/sda 2&lt;br /&gt;
 resize2fs /dev/sda2&lt;br /&gt;
Ja, beim ersten Befehl ist da ein Leerzeichen zwischen dem sda und der 2, beim zweiten Befehl nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn er {{code|growpart}} nicht findet, installiert es mit&amp;lt;br&amp;gt;&lt;br /&gt;
 apt install cloud-guest-utils&lt;br /&gt;
nach.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Schritt 4: Das war schon alles!====&lt;br /&gt;
Ihr könnt mit&amp;lt;br&amp;gt;&lt;br /&gt;
 df -h&lt;br /&gt;
es einmal kontrollieren - aber das war schon alles:&lt;br /&gt;
 Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf&lt;br /&gt;
 tmpfs           391M    1,2M  390M    1% /run&lt;br /&gt;
 /dev/sda2        32G    7,6G   23G   26% /&lt;br /&gt;
 tmpfs           2,0G       0  2,0G    0% /dev/shm&lt;br /&gt;
 tmpfs           5,0M       0  5,0M    0% /run/lock&lt;br /&gt;
 /dev/sdb1        99G    655M   93G    1% /var/www&lt;br /&gt;
 tmpfs           391M    4,0K  391M    1% /run/user/1000&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Kommentare==&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Vorlage:Installation-Ubuntu-2604&amp;diff=15992</id>
		<title>Vorlage:Installation-Ubuntu-2604</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Vorlage:Installation-Ubuntu-2604&amp;diff=15992"/>
		<updated>2026-05-20T12:14:29Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Zeitserver setzen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Grundinstallation===&lt;br /&gt;
{{Hinweis| Ich habe die offizielle ISO verwendet: https://ubuntu.com/download/server m die Datei heißt dann {{code|ubuntu-26.04-live-server-amd64.iso}}, an die Versionsnummer wird mit der Zeit ein .1, .2 und so weiter angehängt}}&lt;br /&gt;
{{Hinweis| Ich installiere mit Absicht &#039;&#039;&#039;OHNE&#039;&#039;&#039; LVM. Ubuntu erstellt inzwischen keine eigene Partition für SWAP mehr und ohne LVM lässt sich der Festplattenplatz bei einer Installation als VM auf einfachste Weise im laufenden Betrieb erweitern. Natürlich ginge das auch mit LVM (mit mehr Schritten), ich sehe hier den Nutzen und Vorteil in einer VM aber nicht.}}&lt;br /&gt;
Ggf. noch die ISO/CD einlegen (falls nicht schon in der VM Konfiguriert) und Einschalten/Starten,&amp;lt;br&amp;gt;&lt;br /&gt;
die Fragen beantwortet Ihr wie folgt (sind ggf. die Überschriften der Dialoge):&amp;lt;br&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095215.PNG|250px]] ||Try or Install Ubuntu Server&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095351.PNG|250px]] ||Deutsch&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095441.PNG|250px]] ||German / German&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;| Wenn er einen neueren Installer findet und fragt ob er auf diesen aktualisieren soll - Ja!&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095530.PNG|250px]] ||Ubuntu Server&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100030.PNG|250px]] ||Jetzt könnt Ihr schon die gewünschte feste IP-Adresse einstellen. Wählt dazu mit den Pfeiltasten den &amp;lt;code&amp;gt;ensXXX&amp;lt;/code&amp;gt; Eintrag aus und drückt {{Key|Enter}}:&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095823.PNG|250px]] ||ensXXX =&amp;gt; Bearbeite IPv4&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095925.PNG|250px]] ||Manuell&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100030.PNG|250px]] ||Bei Subnetz kommt nicht die Subnetzmaske sondern das Netzwerk mit Suffix. Bei einer 24 Maske (= 255.255.255.0) ist das die IP 0 mit Suffix /24&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100432.PNG|250px]] ||Wenn Ihr kein IPv6 nutzt, würde ich es an dieser Stelle deaktivieren, ansonsten durchkonfigurieren&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100538.PNG|250px]] ||Erledigt&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100618.PNG|250px]] ||Proxy bei Bedarf, sonst leer lassen&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100730.PNG|250px]] ||Den Test abwarten und dann auf Erledigt&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100901.PNG|250px]] ||Nutzt die ganze Festplatte ohne LVM (also Haken entfernen). Die Festplatte lässt sich später trotzdem sehr leicht vergrößern&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101002.PNG|250px]] ||Erledigt&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101040.PNG|250px]] ||Fortfahren&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101216.PNG|250px]] ||Den Servernamen festlegen. Ich lege hier den Benutzer &#039;&#039;&#039;&#039;&#039;installadmin&#039;&#039;&#039;&#039;&#039; an. Wählt euren Benutzer und Passwort nach Wunsch (Aufschreiben!)&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101253.PNG|250px]] ||Falls Ihr Ubuntu Pro habt, könnet Ihr es hier aktiveren, ansonsten einfach {{Key|[Fortfahren]}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101402.PNG|250px]] ||OpenSSH-Server auswählen =&amp;gt; Erledigt (für Zugriff z.B. mit Putty). Falls Ihr hier per {{code|Import SSH key}} einen Schlüssel importiert, ist keine an SSH mit einem Passwort möglich! Also nur wenn Ihr wisst was Ihr tut!&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101620.PNG|250px]] ||Erledigt&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Ab jetzt heißt es abwarten. Wenn er kann lädt er gleich ein paar Sicherheitsupdates nach.&amp;lt;br&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-103148.PNG|250px]] ||Jetzt neustarten&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-103236.PNG|250px]] ||ISO aus der VM entfernen (Konfiguration der VM bearbeiten!) und {{Key|Enter}} drücken&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-103345.PNG|250px]] ||Nach dem Reboot wartet ab bis diverse Meldungen abgelaufen sind / sich nichts mehr auf dem Bildschirm tut&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===PuTTY===&lt;br /&gt;
Ab dieser Stelle könnt Ihr PuTTY oder den SSH Client eurer Wahl nutzen - was ich dringend empfehle. Denn dann könnt Ihr hier vorgeschlagenen Befehle einfach per Copy&amp;amp;Paste übernehmen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die IP-Adresse habt Ihr zu diesem Zeitpunkt ja bereits festgelegt:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-200521-155245.PNG|150px]] [[Datei:ClipCapIt-200521-155339.PNG|150px]] [[Datei:ClipCapIt-200521-160706.PNG|150px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Nach der Anmeldung nutze ich immer gerne ein&lt;br /&gt;
 sudo -i&lt;br /&gt;
Damit wechselt man dauerhaft zum &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; Benutzer und muss nicht vor jedem Befehl ein &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; stellen.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
===Bei Bedarf: root wieder freischalten===&lt;br /&gt;
{{Hinweis| Ob nun wie ich immer als root arbeiten wollt oder aber als einfacher Benutzer und dann immer &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; verwendet müsst Ihr selbst wissen}}&lt;br /&gt;
* Mit Benutzer &#039;&#039;&#039;&#039;&#039;installadmin&#039;&#039;&#039;&#039;&#039; anmelden&amp;lt;br&amp;gt;&lt;br /&gt;
 sudo -i&lt;br /&gt;
* Kennwort des Benutzer &#039;&#039;&#039;&#039;&#039;installadmin&#039;&#039;&#039;&#039;&#039; eintippen&amp;lt;br&amp;gt;&lt;br /&gt;
 passwd root&lt;br /&gt;
* neues Kennwort für &amp;quot;root&amp;quot; 2x eintippen&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-200521-161108.PNG|150px]]&lt;br /&gt;
* Lokal Anmelden kann man sich nun mit &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; - aber eine Anmeldung über SSH funktioniert dann immer noch nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
* Damit diese auch funktioniert müsst ihr die &amp;lt;code&amp;gt;sshd_config&amp;lt;/code&amp;gt; bearbeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
sucht nach der Zeile ({{Key|STRG}} + {{Key|W}} ist Suchen) nach&lt;br /&gt;
 #PermitRootLogin prohibit-password&lt;br /&gt;
und stellt den Cursor in die Zeile.&amp;lt;br&amp;gt;&lt;br /&gt;
Drückt nun einmal {{Key|F9}} und 2x {{Key|F10}} - damit erstellt Ihr eine Kopie der Zeile.&amp;lt;br&amp;gt;&lt;br /&gt;
Ändert die Kopie wie folgt ab:&amp;lt;br&amp;gt;&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
:[[Datei:ClipCapIt-260513-104318.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Speichert die Datei ({{Key|STRG}} + {{Key|x}}, dann {{Key|y}} und {{Key|Enter}}) und startet den ssh Dienst neu:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl restart ssh.service&lt;br /&gt;
Ab dann klappt es auch mit dem SSH-Login für den Benutzer root, z.B. über &#039;&#039;&#039;puTTY&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt 2x&amp;lt;br&amp;gt;&lt;br /&gt;
 exit&lt;br /&gt;
eintippen wodurch sich das PuTTY Fenster schließt - der (eingeschränkte) Benutzer &#039;&#039;&#039;&#039;&#039;installadmin&#039;&#039;&#039;&#039;&#039; hat sich somit abgemeldet&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis|&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Ja, ich persönlich arbeite gerne als root und habe diesen für die Anmeldung freigeschaltet. Was ich nicht mache ist das Login per SSH mit Passwort zu erlauben.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Also das obige {{code|PermitRootLogin}} mache ich explizit nicht!&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich hinterlege also immer einen SSH-Key für die Anmeldung und nutze diesen statt des Kennwortes. Die Lösung hier ist einfach gehalten, der Profi mögen anpassen wie er es braucht. Ein Anmeldung als eingeschränkter Benutzer geht natürlich auch, das erste was ich dann immer mache ist ein &amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt; um dauerhaft zum root zu wechseln}}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Anmelden als root===&lt;br /&gt;
Startet PuTTY wieder und meldet euch diesmal gleich als Benutzer &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; an.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternativ als der Installationsbenutzer und wechselt per&amp;lt;br&amp;gt;&lt;br /&gt;
 sudo -i&lt;br /&gt;
dauerhaft zum &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===nano &amp;amp; Co auf Deutsch===&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;nano&#039;&#039;&#039;&#039;&#039; war eben z.B. noch auf Englisch, mit&lt;br /&gt;
 apt install -y language-pack-de&lt;br /&gt;
ist es (und vieles andere) auf deutsch.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===root farbiger Prompt===&lt;br /&gt;
Ich nutze gerne den farbigen Prompt, wenn Ihr als normaler Benutzer zu diesem wechselt, sieht man das optisch noch besser das man gewechselt hat.&amp;lt;br&amp;gt;&lt;br /&gt;
Als &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; angemeldet:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano ~/.bashrc&lt;br /&gt;
Zeile 39 ({{Key|Alt}} + {{Key|C}} aktiviert Zeilennummernanzeige):&amp;lt;br&amp;gt;&lt;br /&gt;
 #force_color_prompt=yes&lt;br /&gt;
ändern zu (# entfernen):&amp;lt;br&amp;gt;&lt;br /&gt;
 force_color_prompt=yes&lt;br /&gt;
:[[Datei:ClipCapIt-200521-162422.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Per&amp;lt;br&amp;gt;&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
könnt Ihr das direkt übernehmen.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Bash History aus mehreren Sitzungen gleichzeitig===&lt;br /&gt;
Wenn man mehr als eine SSH Sitzung zum Zabbix-Server hat, gewinnt in der Bash-Histoy die Sitzung von der man sich zuletzt abmeldet.&amp;lt;br&amp;gt;&lt;br /&gt;
Nachfolgende Änderung sorgt dafür das sich alle Sitzungen eine Bash-History teilen, was ich in Session 1 also aufrufe lässt sich sofort danach in Session 2 per Pfeil nach oben oder {{key|STRG}} + {{key|R}} Suche finden.&amp;lt;br&amp;gt;&lt;br /&gt;
Dazu bearbeiten man noch einmal die&amp;lt;br&amp;gt;&lt;br /&gt;
 nano ~/.bashrc&lt;br /&gt;
und hängt ganz unten folgendes an:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# don&#039;t put duplicate lines in the history. See bash(1) for more options&lt;br /&gt;
# ... or force ignoredups and ignorespace&lt;br /&gt;
HISTCONTROL=ignoredups:ignorespace:erasedups&lt;br /&gt;
&lt;br /&gt;
# append to the history file, don&#039;t overwrite it&lt;br /&gt;
shopt -s histappend&lt;br /&gt;
&lt;br /&gt;
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)&lt;br /&gt;
HISTSIZE=50000&lt;br /&gt;
HISTFILESIZE=50000&lt;br /&gt;
&lt;br /&gt;
# After each command, append to the history file&lt;br /&gt;
#  and reread it&lt;br /&gt;
export PROMPT_COMMAND=&amp;quot;${PROMPT_COMMAND:+$PROMPT_COMMAND$&#039;n&#039;}history -a; history -c; history -r&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit es sofort aktiv wird wieder&amp;lt;br&amp;gt;&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
Ja, {{code|HISTSIZE}} und {{code|HISTFILESIZE}} stehen nun 2x in der Datei, der letzte Eintrag gewinnt.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Feste IP-Adresse vergeben===&lt;br /&gt;
Der Server hat dank des neuen Setupdialoges nun bereits eine feste IP-Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
Solltet Ihr an dieser etwas ändern müssen so müssen wir erst das Cloud-Init deaktivieren: &lt;br /&gt;
 nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg&lt;br /&gt;
Inhalt:&lt;br /&gt;
 network: {config: disabled}&lt;br /&gt;
Dann könnte Ihr in der folgenden Datei etwas ändern, die Warnungen das es einen reboot nicht übersteht könnt Ihr ignorieren, dafür haben wir die andere Datei angelegt.&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/netplan/00-installer-config.yaml&lt;br /&gt;
:[[Datei:ClipCapIt-260513-105129.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis| Weiter unten deinstalliere ich Cloud-Init komplett (wenn die VM nicht bei einem Hoster läuft), da könnte man sich diesen Schritt hier sparen}}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Updates einspielen===&lt;br /&gt;
als &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; bzw. zum &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; wechseln:&amp;lt;br&amp;gt;&lt;br /&gt;
Ich mache das normalerweise immer als Einzeiler:&amp;lt;br&amp;gt;&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt upgrade -y &amp;amp;&amp;amp; apt autoremove -y&lt;br /&gt;
Das ganze im Detail:&amp;lt;br&amp;gt;&lt;br /&gt;
* Updates suchen für Betriebssystem: (aktualisiert den Katalog aus den Update-Quellen)&lt;br /&gt;
 apt update&lt;br /&gt;
* Updates einspielen:&lt;br /&gt;
 apt upgrade -y&lt;br /&gt;
* Nach Update überflüssige Pakete entfernen:&lt;br /&gt;
 apt autoremove -y&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===VM Integrationsdienste installieren===&lt;br /&gt;
Wenn euer installiertes System eine VM, eine &#039;&#039;&#039;V&#039;&#039;&#039;irtuelle &#039;&#039;&#039;M&#039;&#039;&#039;aschine, ist, solltest Ihr je nach verwendeten Hypervisor die passenden Integrationsdienste installieren:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
====VMware====&lt;br /&gt;
Unter VMware braucht ihr nichts tun, die&lt;br /&gt;
 apt install open-vm-tools&lt;br /&gt;
sind per Default installiert und aktiv. Ist es keine VMware VM, so könnt Ihr die Tools per&lt;br /&gt;
 apt remove open-vm-tools&lt;br /&gt;
entfernen&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
====Hyper-V====&lt;br /&gt;
In den Einstellungen der VM solltet Ihr hier den Haken setzen:&lt;br /&gt;
:[[Datei:ClipCapIt-250527-112648.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
In der VM die folgende Datei bearbeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/initramfs-tools/modules&lt;br /&gt;
und ganz unten die folgenden 4 Zeilen anhängen:&amp;lt;br&amp;gt;&lt;br /&gt;
 hv_vmbus&lt;br /&gt;
 hv_storvsc&lt;br /&gt;
 hv_blkvsc&lt;br /&gt;
 hv_netvsc&lt;br /&gt;
 hv_utils&lt;br /&gt;
Und dann die Tools installieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 apt -y install linux-virtual linux-cloud-tools-virtual linux-tools-virtual&lt;br /&gt;
 update-initramfs -u&lt;br /&gt;
und neu starten:&lt;br /&gt;
 reboot&lt;br /&gt;
Quelle: https://community.veeam.com/blogs-and-podcasts-57/how-to-install-hyper-v-integration-services-in-the-ubuntu-linux-vm-6353&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Proxmox PVE====&lt;br /&gt;
In den Einstellungen der VM den {{code|QEMU Guest Agent}} aktivieren:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260513-105702.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260513-105545.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und dann in der VM die Tools installieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 apt -y install qemu-guest-agent&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Falls die Harwareeinstellung so aussieht wie oben im Bild (mit dem orangenen Text),müssen wir die VM einmal ganz ausschalten und wieder einschalten:&amp;lt;br&amp;gt;&lt;br /&gt;
 shutdown -h now&lt;br /&gt;
Und danach wieder einschalten und neu an SSH anmelden.&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn da nichts orangenes ist, reicht ein reboot.&amp;lt;br&amp;gt;&lt;br /&gt;
Dann seht ihr in der Summary der VM sollte nun die IP-Adresse sichtbar sein:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260513-110008.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Multipathing deinstallieren (wenn der Server eine VM ist)===&lt;br /&gt;
Ab Werk findet man im&lt;br /&gt;
 tail -n 50000 -F /var/log/syslog | grep multipathd&lt;br /&gt;
einige Multipath-Meldungen:&amp;lt;br&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 2026-05-13T09:03:29.804259+00:00 zabbixtest systemd[1]: Starting multipathd.service - Device-Mapper Multipath Device Controller...&lt;br /&gt;
 2026-05-13T09:03:29.804288+00:00 zabbixtest multipathd[735]: multipathd v0.14.3: start up&lt;br /&gt;
 2026-05-13T09:03:29.804291+00:00 zabbixtest multipathd[735]: reconfigure: setting up paths and maps&lt;br /&gt;
 2026-05-13T09:03:29.804294+00:00 zabbixtest systemd[1]: Started multipathd.service - Device-Mapper Multipath Device Controller.&lt;br /&gt;
 2026-05-13T09:03:29.804922+00:00 zabbixtest systemd[1]: Starting multipathd-queueing.service - Enable queuing for multipath maps...&lt;br /&gt;
 2026-05-13T09:03:29.805021+00:00 zabbixtest systemd[1]: Finished multipathd-queueing.service - Enable queuing for multipath maps.&lt;br /&gt;
In einer VM macht Multipath nur in Ausnahmefällen Sinn, also deaktivieren und deinstallieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl stop multipathd.service &amp;amp;&amp;amp; systemctl disable multipathd.service&lt;br /&gt;
 apt install libsgutils2-1.48 sg3-utils sg3-utils-udev&lt;br /&gt;
 apt remove -y multipath-tools &amp;amp;&amp;amp; apt purge -y multipath-tools&lt;br /&gt;
 apt autoremove -y&lt;br /&gt;
Die &amp;lt;code&amp;gt;apt install&amp;lt;/code&amp;gt; Zeile ist da drin weil diese Pakete ggf. von anderen Anleitung vorausgesetzt werden. Die Pakete werden dadurch auf &#039;&#039;&#039;&#039;&#039;manuell installiert&#039;&#039;&#039;&#039;&#039; gesetzt und dann nicht bei einem &amp;lt;code&amp;gt;apt autoremove&amp;lt;/code&amp;gt; deinstalliert. Die Multipath-Bibliotheken habe ich dabei weggelassen.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Cloud-Init deinstallieren (Wenn es keine VM bei einem Cloudanbieter ist)===&lt;br /&gt;
Wenn Ihr die VM reboootet und die Console betrachtet tauchen kurz nach dem Reboot (Fehler-)Meldungen zum Cloud-init auf:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-200521-163633.PNG|150px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Das Cloud-Init ist - wenn ich mich recht erinnere - dafür da falls eure VM z.B. bei Amazon AWS, Azure oder andere Anbieter läuft um z.B. die Netzwerkinformationen vom Hoster/Provider zu erhalten.&amp;lt;br&amp;gt;&lt;br /&gt;
Brauchen wir nicht, also weg damit:&amp;lt;br&amp;gt;&lt;br /&gt;
 echo &#039;datasource_list: [ None ]&#039; | tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg&lt;br /&gt;
 apt purge -y cloud-init&lt;br /&gt;
 rm -rf /etc/cloud/ &amp;amp;&amp;amp; sudo rm -rf /var/lib/cloud/&lt;br /&gt;
 apt install cloud-guest-utils eatmydata libeatmydata1 python-babel-localedata python3-jinja2 python3-jsonpatch python3-jsonschema-specifications python3-passlib python3-rpds-py python3-babel python3-json-pointer python3-jsonschema python3-markupsafe python3-referencing gdisk libjs-sphinxdoc -y&lt;br /&gt;
 apt autoremove -y&lt;br /&gt;
 reboot&lt;br /&gt;
Die &amp;lt;code&amp;gt;apt install&amp;lt;/code&amp;gt; Zeile ist da drin weil diese Pakete ggf. von anderen Anleitung vorausgesetzt werden. Die Pakte werden dadurch auf &#039;&#039;&#039;&#039;&#039;manuell installiert&#039;&#039;&#039;&#039;&#039; gesetzt und dann nicht bei einem &amp;lt;code&amp;gt;apt autoremove&amp;lt;/code&amp;gt; deinstalliert. Insbesondere die {{code|cloud-guest-utils}} wollen wir behalten&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===OpenIPMI und IPMItool deinstallieren===&lt;br /&gt;
{{Hinweis|Scheint ab Ubuntu 26.04 nicht mehr automatisch installiert zu werden!}}&lt;br /&gt;
Bei meinen VMs schlägt der Start dieses Dienstes eh immer fehl (weil es keine passende Hardware gibt), also weg damit:&amp;lt;br&amp;gt;&lt;br /&gt;
 apt remove openipmi ipmitool -y &amp;amp;&amp;amp; apt purge openipmi ipmitool &amp;amp;&amp;amp; apt autoremove -y&lt;br /&gt;
Unter Hyper-V wird das Paket scheinbar nicht automatisch installiert.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Zeitzone setzen===&lt;br /&gt;
In meiner VM ist die Uhrzeit zu diesem Zeitpunkt falsch (gebt mal probeweise &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt; ein) - weil der ESXi- oder Proxmox-Host auf UTC Zeit läuft und Ubuntu in der VM die richtige Zeitzone nicht eingestellt hat.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir korrigieren das mit&amp;lt;br&amp;gt;&lt;br /&gt;
 timedatectl set-timezone Europe/Berlin&lt;br /&gt;
ein&lt;br /&gt;
 date&lt;br /&gt;
sollte dann die richtige Uhrzeit ausspucken.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Zeitserver setzen===&lt;br /&gt;
Es kann Sinnvoll sein, statt externer Zeitserver die eigenen internen zu Nutzen. Eine meiner Prüfungen in meinen Templates ist die Zeitabweichung des Hosts gegenüber dem Zabbix Server. Zum Beispiel in Active Directory-Domänen scheiter die Anmeldung, wenn der Zeitunterschied zwischen Domänencontroller und Client mehr als 15 Minuten beträgt, ab 5 Minuten kann es schon zickig werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Es ist ok wenn alle die gleiche falsche Zeit haben. Ich synchronisiere den Zabbix Servers deshalb gerne mit dem zentralen Domänenkontroller mit der PDC-Rolle.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis| Wenn Ihr diesen Schritt überspringt, wird {{Key|ntp.ubuntu.com}} als Zeitserver verwendet}}&lt;br /&gt;
Für die Zeitsynchronisierung ist ab Ubuntu 26.04 &#039;&#039;&#039;&#039;&#039;Chrony&#039;&#039;&#039;&#039;&#039; zuständig, über das erstellen der Datei&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/chrony/sources.d/local-ntp-server.sources&lt;br /&gt;
Können wir eigene Zeitserver hinzufügen (für jeden Server eine solche Zeile):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source &amp;quot;lang=bash&amp;quot;&amp;gt;&lt;br /&gt;
server 192.168.1.81 iburst&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Nach der Änderung müssen wir &#039;&#039;&#039;&#039;&#039;&#039;chrony&#039;&#039;&#039;&#039;&#039; das neu laden lassen:&amp;lt;br&amp;gt;&lt;br /&gt;
 chronyc reload sources&lt;br /&gt;
und mit folgenden Befehl könnt Ihr den Status abfragen:&amp;lt;br&amp;gt;&lt;br /&gt;
 timedatectl status&lt;br /&gt;
Beispielausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
                Local time: Mi 2026-05-13 11:21:27 CEST&lt;br /&gt;
            Universal time: Mi 2026-05-13 09:21:27 UTC&lt;br /&gt;
                  RTC time: Mi 2026-05-13 09:21:26&lt;br /&gt;
                 Time zone: Europe/Berlin (CEST, +0200)&lt;br /&gt;
 System clock synchronized: yes&lt;br /&gt;
               NTP service: active&lt;br /&gt;
           RTC in local TZ: no&lt;br /&gt;
Die verwendeten Zeitquellen seht Ihr per&amp;lt;br&amp;gt;&lt;br /&gt;
 chronyc sources&lt;br /&gt;
Beispielausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 MS Name/IP address         Stratum Poll Reach LastRx Last sample&lt;br /&gt;
 ===============================================================================&lt;br /&gt;
 ^* ntp-nts-2.ps5.canonical.&amp;gt;     2   6    17    27  -2075us[-2480us] +/-   21ms&lt;br /&gt;
 ^? DC81.znil.local               4   6    17    27  -1255us[-1660us] +/-   46ms&lt;br /&gt;
 ^+ ntp-nts-3.ps5.canonical.&amp;gt;     2   6    17    28   +206us[ -199us] +/-   19ms&lt;br /&gt;
 ^- ntp-nts-2.ps6.canonical.&amp;gt;     2   6    17    28  +7728us[+7323us] +/-   81ms&lt;br /&gt;
 ^- ntp-nts-3.ps6.canonical.&amp;gt;     2   6    17    27  +1970us[+1565us] +/-   78ms&lt;br /&gt;
 ^- ntp-nts-1.ps5.canonical.&amp;gt;     2   6    17    28    +93us[ -312us] +/-   18ms&lt;br /&gt;
Und welche er letztendlich genommen hat mit&amp;lt;br&amp;gt;&lt;br /&gt;
 chronyc tracking&lt;br /&gt;
Beispielausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Reference ID    : B97DBE7B (ntp-nts-3.ps5.canonical.com)&lt;br /&gt;
 Stratum         : 3&lt;br /&gt;
 Ref time (UTC)  : Wed May 13 09:25:28 2026&lt;br /&gt;
 System time     : 0.000000546 seconds slow of NTP time&lt;br /&gt;
 Last offset     : +0.000948038 seconds&lt;br /&gt;
 RMS offset      : 0.000487364 seconds&lt;br /&gt;
 Frequency       : 9.203 ppm slow&lt;br /&gt;
 Residual freq   : +7.510 ppm&lt;br /&gt;
 Skew            : 2.559 ppm&lt;br /&gt;
 Root delay      : 0.033688802 seconds&lt;br /&gt;
 Root dispersion : 0.001197023 seconds&lt;br /&gt;
 Update interval : 64.1 seconds&lt;br /&gt;
 Leap status     : Normal&lt;br /&gt;
Wie man sieht, nimmt er einen externen. Wenn wir aber den internen Erzwingen wollen, müssen wir die anderen Quellen auskommentieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/chrony/sources.d/ubuntu-ntp-pools.sources&lt;br /&gt;
und vor alle {{code|pool}} Zeilen ein {{code|#}} davor setzen:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260513-113129.PNG|300px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Den Dienst einmal neu starten (statt reloaden, damit er schneller wieder synced):&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl restart chrony.service&lt;br /&gt;
und den Status prüfen bis in der letzten Zeile {{code|Leap status : Normal}} steht:&amp;lt;br&amp;gt;&lt;br /&gt;
 chronyc tracking&lt;br /&gt;
Ausgabe:&lt;br /&gt;
 Reference ID    : C0A80151 (DC81.znil.local)&lt;br /&gt;
 Stratum         : 5&lt;br /&gt;
 Ref time (UTC)  : Wed May 13 09:32:15 2026&lt;br /&gt;
 System time     : 0.000017215 seconds fast of NTP time&lt;br /&gt;
 Last offset     : +0.000032023 seconds&lt;br /&gt;
 RMS offset      : 0.000032023 seconds&lt;br /&gt;
 Frequency       : 10.343 ppm slow&lt;br /&gt;
 Residual freq   : +1.266 ppm&lt;br /&gt;
 Skew            : 31.972 ppm&lt;br /&gt;
 Root delay      : 0.026105130 seconds&lt;br /&gt;
 Root dispersion : 0.038228851 seconds&lt;br /&gt;
 Update interval : 2.0 seconds&lt;br /&gt;
 Leap status     : Normal&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Automatische Updates deaktivieren===&lt;br /&gt;
Ich persönlich möchte nicht das der Zabbix-Server automatisch Updates einspielt.&amp;lt;br&amp;gt;&lt;br /&gt;
Die automatischen Updates aktualisieren - soweit ich das beobachten konnte - nur den Kernel. Aber auch das möchte ich nicht. Ich möchte das geplant durchführen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die automatischen Updates verhindern wir mit&amp;lt;br&amp;gt;&lt;br /&gt;
 apt remove -y unattended-upgrades&lt;br /&gt;
Wer möchte kann auch die Suche nach Updates deaktivieren. Ansonsten schaut das Ubuntu täglich an einem zufälligen Zeitpunkt nach, ob es Updates gibt. Bei der Anmeldung per SSH erhält man dann eine entsprechende Meldung. Deaktivieren kann man die automatsche Suche danach per&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/apt/apt.conf.d/20auto-upgrades&lt;br /&gt;
und in der Datei beide Optionen auf {{code|0}} setzen:&amp;lt;br&amp;gt;&lt;br /&gt;
 APT::Periodic::Update-Package-Lists &amp;quot;0&amp;quot;;&lt;br /&gt;
 APT::Periodic::Unattended-Upgrade &amp;quot;0&amp;quot;;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Automatischen Neustart von Diensten bei Updates deaktivieren===&lt;br /&gt;
Wie schon zuvor beschrieben aktualisiere ich Ubuntu (und andere Software aus Repos) gerne per folgenden Einzeiler:&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt upgrade -y &amp;amp;&amp;amp; apt autoremove -y&lt;br /&gt;
In neueren Ubunti Versionen werden dabei Dienste ggf. automatische neu gestartet (wenn man den Einzeiler nimmt!), es gibt dann eine Meldung wie diese:&lt;br /&gt;
 systemctl restart apache2.service cron.service fwupd.service mariadb.service open-vm-tools.service packagekit.service polkit.service rsyslog.service snmptrapd.service snmptt.service udisks2.service upower.service vgauth.service zabbix-agent2.service zabbix-web-service.service&lt;br /&gt;
 &lt;br /&gt;
 Dienste deren Neustart verschoben wurde:&lt;br /&gt;
  systemctl restart ModemManager.service&lt;br /&gt;
  /etc/needrestart/restart.d/dbus.service&lt;br /&gt;
  systemctl restart getty@tty1.service&lt;br /&gt;
  systemctl restart systemd-logind.service&lt;br /&gt;
Im Normalfall ist es kein Problem. Allerdings scheinen die Abhängigkeiten der Dienste nicht beachtet zu werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Ist zum Beispiel ein Dienst abhängig von der Datenbank / MySQL|MariaDB, das steht auch so in der &amp;lt;code&amp;gt;/usr/lib/systemd/system/namedesdienstes.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
 After=mysql.service&lt;br /&gt;
 After=mysqld.service&lt;br /&gt;
 After=mariadb.service&lt;br /&gt;
Der automatische Neustart startet aber z.B. MariaDB gnadenlos durch ohne vorher abhängige Dienste zu beenden. Schön ist das nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Als Lösung schalte ich inzwischen den automatischen Neustart der Dienste ab, es wird dann nur eine Liste der Dienste ausgegeben die neu gestartet werden müssten:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/needrestart/needrestart.conf&lt;br /&gt;
und dort ziemlich am Anfang ab Zeile 33:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Restart mode: (l)ist only, (i)nteractive or (a)utomatically.&lt;br /&gt;
#&lt;br /&gt;
# ATTENTION: If needrestart is configured to run in interactive mode but is run&lt;br /&gt;
# non-interactive (i.e. unattended-upgrades) it will fallback to list only mode.&lt;br /&gt;
#&lt;br /&gt;
# UBUNTU: the default restart mode when running as part of the APT hook is &#039;a&#039;,&lt;br /&gt;
# unless a specific UI is configured (see below).&lt;br /&gt;
#$nrconf{restart} = &#039;i&#039;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Bei der letzten Zeile 40 entfernen wir das Kommentarzeichen davor und machen aus dem &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; ein &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;, wie es auch in der obersten Zeile beschrieben wird:&lt;br /&gt;
 $nrconf{restart} = &#039;l&#039;;&lt;br /&gt;
So werden notwendige Neustarts nur aufgelistet. Diese kann man dann von Hand neu starten oder einfach das ganze System rebooten.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Vorlage:Installation-Ubuntu-2604&amp;diff=15991</id>
		<title>Vorlage:Installation-Ubuntu-2604</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Vorlage:Installation-Ubuntu-2604&amp;diff=15991"/>
		<updated>2026-05-20T12:12:48Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Zeitserver setzen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Grundinstallation===&lt;br /&gt;
{{Hinweis| Ich habe die offizielle ISO verwendet: https://ubuntu.com/download/server m die Datei heißt dann {{code|ubuntu-26.04-live-server-amd64.iso}}, an die Versionsnummer wird mit der Zeit ein .1, .2 und so weiter angehängt}}&lt;br /&gt;
{{Hinweis| Ich installiere mit Absicht &#039;&#039;&#039;OHNE&#039;&#039;&#039; LVM. Ubuntu erstellt inzwischen keine eigene Partition für SWAP mehr und ohne LVM lässt sich der Festplattenplatz bei einer Installation als VM auf einfachste Weise im laufenden Betrieb erweitern. Natürlich ginge das auch mit LVM (mit mehr Schritten), ich sehe hier den Nutzen und Vorteil in einer VM aber nicht.}}&lt;br /&gt;
Ggf. noch die ISO/CD einlegen (falls nicht schon in der VM Konfiguriert) und Einschalten/Starten,&amp;lt;br&amp;gt;&lt;br /&gt;
die Fragen beantwortet Ihr wie folgt (sind ggf. die Überschriften der Dialoge):&amp;lt;br&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095215.PNG|250px]] ||Try or Install Ubuntu Server&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095351.PNG|250px]] ||Deutsch&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095441.PNG|250px]] ||German / German&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;| Wenn er einen neueren Installer findet und fragt ob er auf diesen aktualisieren soll - Ja!&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095530.PNG|250px]] ||Ubuntu Server&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100030.PNG|250px]] ||Jetzt könnt Ihr schon die gewünschte feste IP-Adresse einstellen. Wählt dazu mit den Pfeiltasten den &amp;lt;code&amp;gt;ensXXX&amp;lt;/code&amp;gt; Eintrag aus und drückt {{Key|Enter}}:&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095823.PNG|250px]] ||ensXXX =&amp;gt; Bearbeite IPv4&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095925.PNG|250px]] ||Manuell&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100030.PNG|250px]] ||Bei Subnetz kommt nicht die Subnetzmaske sondern das Netzwerk mit Suffix. Bei einer 24 Maske (= 255.255.255.0) ist das die IP 0 mit Suffix /24&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100432.PNG|250px]] ||Wenn Ihr kein IPv6 nutzt, würde ich es an dieser Stelle deaktivieren, ansonsten durchkonfigurieren&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100538.PNG|250px]] ||Erledigt&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100618.PNG|250px]] ||Proxy bei Bedarf, sonst leer lassen&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100730.PNG|250px]] ||Den Test abwarten und dann auf Erledigt&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100901.PNG|250px]] ||Nutzt die ganze Festplatte ohne LVM (also Haken entfernen). Die Festplatte lässt sich später trotzdem sehr leicht vergrößern&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101002.PNG|250px]] ||Erledigt&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101040.PNG|250px]] ||Fortfahren&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101216.PNG|250px]] ||Den Servernamen festlegen. Ich lege hier den Benutzer &#039;&#039;&#039;&#039;&#039;installadmin&#039;&#039;&#039;&#039;&#039; an. Wählt euren Benutzer und Passwort nach Wunsch (Aufschreiben!)&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101253.PNG|250px]] ||Falls Ihr Ubuntu Pro habt, könnet Ihr es hier aktiveren, ansonsten einfach {{Key|[Fortfahren]}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101402.PNG|250px]] ||OpenSSH-Server auswählen =&amp;gt; Erledigt (für Zugriff z.B. mit Putty). Falls Ihr hier per {{code|Import SSH key}} einen Schlüssel importiert, ist keine an SSH mit einem Passwort möglich! Also nur wenn Ihr wisst was Ihr tut!&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101620.PNG|250px]] ||Erledigt&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Ab jetzt heißt es abwarten. Wenn er kann lädt er gleich ein paar Sicherheitsupdates nach.&amp;lt;br&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-103148.PNG|250px]] ||Jetzt neustarten&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-103236.PNG|250px]] ||ISO aus der VM entfernen (Konfiguration der VM bearbeiten!) und {{Key|Enter}} drücken&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-103345.PNG|250px]] ||Nach dem Reboot wartet ab bis diverse Meldungen abgelaufen sind / sich nichts mehr auf dem Bildschirm tut&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===PuTTY===&lt;br /&gt;
Ab dieser Stelle könnt Ihr PuTTY oder den SSH Client eurer Wahl nutzen - was ich dringend empfehle. Denn dann könnt Ihr hier vorgeschlagenen Befehle einfach per Copy&amp;amp;Paste übernehmen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die IP-Adresse habt Ihr zu diesem Zeitpunkt ja bereits festgelegt:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-200521-155245.PNG|150px]] [[Datei:ClipCapIt-200521-155339.PNG|150px]] [[Datei:ClipCapIt-200521-160706.PNG|150px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Nach der Anmeldung nutze ich immer gerne ein&lt;br /&gt;
 sudo -i&lt;br /&gt;
Damit wechselt man dauerhaft zum &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; Benutzer und muss nicht vor jedem Befehl ein &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; stellen.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
===Bei Bedarf: root wieder freischalten===&lt;br /&gt;
{{Hinweis| Ob nun wie ich immer als root arbeiten wollt oder aber als einfacher Benutzer und dann immer &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; verwendet müsst Ihr selbst wissen}}&lt;br /&gt;
* Mit Benutzer &#039;&#039;&#039;&#039;&#039;installadmin&#039;&#039;&#039;&#039;&#039; anmelden&amp;lt;br&amp;gt;&lt;br /&gt;
 sudo -i&lt;br /&gt;
* Kennwort des Benutzer &#039;&#039;&#039;&#039;&#039;installadmin&#039;&#039;&#039;&#039;&#039; eintippen&amp;lt;br&amp;gt;&lt;br /&gt;
 passwd root&lt;br /&gt;
* neues Kennwort für &amp;quot;root&amp;quot; 2x eintippen&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-200521-161108.PNG|150px]]&lt;br /&gt;
* Lokal Anmelden kann man sich nun mit &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; - aber eine Anmeldung über SSH funktioniert dann immer noch nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
* Damit diese auch funktioniert müsst ihr die &amp;lt;code&amp;gt;sshd_config&amp;lt;/code&amp;gt; bearbeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
sucht nach der Zeile ({{Key|STRG}} + {{Key|W}} ist Suchen) nach&lt;br /&gt;
 #PermitRootLogin prohibit-password&lt;br /&gt;
und stellt den Cursor in die Zeile.&amp;lt;br&amp;gt;&lt;br /&gt;
Drückt nun einmal {{Key|F9}} und 2x {{Key|F10}} - damit erstellt Ihr eine Kopie der Zeile.&amp;lt;br&amp;gt;&lt;br /&gt;
Ändert die Kopie wie folgt ab:&amp;lt;br&amp;gt;&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
:[[Datei:ClipCapIt-260513-104318.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Speichert die Datei ({{Key|STRG}} + {{Key|x}}, dann {{Key|y}} und {{Key|Enter}}) und startet den ssh Dienst neu:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl restart ssh.service&lt;br /&gt;
Ab dann klappt es auch mit dem SSH-Login für den Benutzer root, z.B. über &#039;&#039;&#039;puTTY&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt 2x&amp;lt;br&amp;gt;&lt;br /&gt;
 exit&lt;br /&gt;
eintippen wodurch sich das PuTTY Fenster schließt - der (eingeschränkte) Benutzer &#039;&#039;&#039;&#039;&#039;installadmin&#039;&#039;&#039;&#039;&#039; hat sich somit abgemeldet&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis|&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Ja, ich persönlich arbeite gerne als root und habe diesen für die Anmeldung freigeschaltet. Was ich nicht mache ist das Login per SSH mit Passwort zu erlauben.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Also das obige {{code|PermitRootLogin}} mache ich explizit nicht!&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich hinterlege also immer einen SSH-Key für die Anmeldung und nutze diesen statt des Kennwortes. Die Lösung hier ist einfach gehalten, der Profi mögen anpassen wie er es braucht. Ein Anmeldung als eingeschränkter Benutzer geht natürlich auch, das erste was ich dann immer mache ist ein &amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt; um dauerhaft zum root zu wechseln}}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Anmelden als root===&lt;br /&gt;
Startet PuTTY wieder und meldet euch diesmal gleich als Benutzer &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; an.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternativ als der Installationsbenutzer und wechselt per&amp;lt;br&amp;gt;&lt;br /&gt;
 sudo -i&lt;br /&gt;
dauerhaft zum &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===nano &amp;amp; Co auf Deutsch===&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;nano&#039;&#039;&#039;&#039;&#039; war eben z.B. noch auf Englisch, mit&lt;br /&gt;
 apt install -y language-pack-de&lt;br /&gt;
ist es (und vieles andere) auf deutsch.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===root farbiger Prompt===&lt;br /&gt;
Ich nutze gerne den farbigen Prompt, wenn Ihr als normaler Benutzer zu diesem wechselt, sieht man das optisch noch besser das man gewechselt hat.&amp;lt;br&amp;gt;&lt;br /&gt;
Als &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; angemeldet:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano ~/.bashrc&lt;br /&gt;
Zeile 39 ({{Key|Alt}} + {{Key|C}} aktiviert Zeilennummernanzeige):&amp;lt;br&amp;gt;&lt;br /&gt;
 #force_color_prompt=yes&lt;br /&gt;
ändern zu (# entfernen):&amp;lt;br&amp;gt;&lt;br /&gt;
 force_color_prompt=yes&lt;br /&gt;
:[[Datei:ClipCapIt-200521-162422.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Per&amp;lt;br&amp;gt;&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
könnt Ihr das direkt übernehmen.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Bash History aus mehreren Sitzungen gleichzeitig===&lt;br /&gt;
Wenn man mehr als eine SSH Sitzung zum Zabbix-Server hat, gewinnt in der Bash-Histoy die Sitzung von der man sich zuletzt abmeldet.&amp;lt;br&amp;gt;&lt;br /&gt;
Nachfolgende Änderung sorgt dafür das sich alle Sitzungen eine Bash-History teilen, was ich in Session 1 also aufrufe lässt sich sofort danach in Session 2 per Pfeil nach oben oder {{key|STRG}} + {{key|R}} Suche finden.&amp;lt;br&amp;gt;&lt;br /&gt;
Dazu bearbeiten man noch einmal die&amp;lt;br&amp;gt;&lt;br /&gt;
 nano ~/.bashrc&lt;br /&gt;
und hängt ganz unten folgendes an:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# don&#039;t put duplicate lines in the history. See bash(1) for more options&lt;br /&gt;
# ... or force ignoredups and ignorespace&lt;br /&gt;
HISTCONTROL=ignoredups:ignorespace:erasedups&lt;br /&gt;
&lt;br /&gt;
# append to the history file, don&#039;t overwrite it&lt;br /&gt;
shopt -s histappend&lt;br /&gt;
&lt;br /&gt;
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)&lt;br /&gt;
HISTSIZE=50000&lt;br /&gt;
HISTFILESIZE=50000&lt;br /&gt;
&lt;br /&gt;
# After each command, append to the history file&lt;br /&gt;
#  and reread it&lt;br /&gt;
export PROMPT_COMMAND=&amp;quot;${PROMPT_COMMAND:+$PROMPT_COMMAND$&#039;n&#039;}history -a; history -c; history -r&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit es sofort aktiv wird wieder&amp;lt;br&amp;gt;&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
Ja, {{code|HISTSIZE}} und {{code|HISTFILESIZE}} stehen nun 2x in der Datei, der letzte Eintrag gewinnt.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Feste IP-Adresse vergeben===&lt;br /&gt;
Der Server hat dank des neuen Setupdialoges nun bereits eine feste IP-Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
Solltet Ihr an dieser etwas ändern müssen so müssen wir erst das Cloud-Init deaktivieren: &lt;br /&gt;
 nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg&lt;br /&gt;
Inhalt:&lt;br /&gt;
 network: {config: disabled}&lt;br /&gt;
Dann könnte Ihr in der folgenden Datei etwas ändern, die Warnungen das es einen reboot nicht übersteht könnt Ihr ignorieren, dafür haben wir die andere Datei angelegt.&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/netplan/00-installer-config.yaml&lt;br /&gt;
:[[Datei:ClipCapIt-260513-105129.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis| Weiter unten deinstalliere ich Cloud-Init komplett (wenn die VM nicht bei einem Hoster läuft), da könnte man sich diesen Schritt hier sparen}}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Updates einspielen===&lt;br /&gt;
als &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; bzw. zum &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; wechseln:&amp;lt;br&amp;gt;&lt;br /&gt;
Ich mache das normalerweise immer als Einzeiler:&amp;lt;br&amp;gt;&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt upgrade -y &amp;amp;&amp;amp; apt autoremove -y&lt;br /&gt;
Das ganze im Detail:&amp;lt;br&amp;gt;&lt;br /&gt;
* Updates suchen für Betriebssystem: (aktualisiert den Katalog aus den Update-Quellen)&lt;br /&gt;
 apt update&lt;br /&gt;
* Updates einspielen:&lt;br /&gt;
 apt upgrade -y&lt;br /&gt;
* Nach Update überflüssige Pakete entfernen:&lt;br /&gt;
 apt autoremove -y&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===VM Integrationsdienste installieren===&lt;br /&gt;
Wenn euer installiertes System eine VM, eine &#039;&#039;&#039;V&#039;&#039;&#039;irtuelle &#039;&#039;&#039;M&#039;&#039;&#039;aschine, ist, solltest Ihr je nach verwendeten Hypervisor die passenden Integrationsdienste installieren:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
====VMware====&lt;br /&gt;
Unter VMware braucht ihr nichts tun, die&lt;br /&gt;
 apt install open-vm-tools&lt;br /&gt;
sind per Default installiert und aktiv. Ist es keine VMware VM, so könnt Ihr die Tools per&lt;br /&gt;
 apt remove open-vm-tools&lt;br /&gt;
entfernen&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
====Hyper-V====&lt;br /&gt;
In den Einstellungen der VM solltet Ihr hier den Haken setzen:&lt;br /&gt;
:[[Datei:ClipCapIt-250527-112648.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
In der VM die folgende Datei bearbeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/initramfs-tools/modules&lt;br /&gt;
und ganz unten die folgenden 4 Zeilen anhängen:&amp;lt;br&amp;gt;&lt;br /&gt;
 hv_vmbus&lt;br /&gt;
 hv_storvsc&lt;br /&gt;
 hv_blkvsc&lt;br /&gt;
 hv_netvsc&lt;br /&gt;
 hv_utils&lt;br /&gt;
Und dann die Tools installieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 apt -y install linux-virtual linux-cloud-tools-virtual linux-tools-virtual&lt;br /&gt;
 update-initramfs -u&lt;br /&gt;
und neu starten:&lt;br /&gt;
 reboot&lt;br /&gt;
Quelle: https://community.veeam.com/blogs-and-podcasts-57/how-to-install-hyper-v-integration-services-in-the-ubuntu-linux-vm-6353&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Proxmox PVE====&lt;br /&gt;
In den Einstellungen der VM den {{code|QEMU Guest Agent}} aktivieren:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260513-105702.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260513-105545.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und dann in der VM die Tools installieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 apt -y install qemu-guest-agent&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Falls die Harwareeinstellung so aussieht wie oben im Bild (mit dem orangenen Text),müssen wir die VM einmal ganz ausschalten und wieder einschalten:&amp;lt;br&amp;gt;&lt;br /&gt;
 shutdown -h now&lt;br /&gt;
Und danach wieder einschalten und neu an SSH anmelden.&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn da nichts orangenes ist, reicht ein reboot.&amp;lt;br&amp;gt;&lt;br /&gt;
Dann seht ihr in der Summary der VM sollte nun die IP-Adresse sichtbar sein:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260513-110008.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Multipathing deinstallieren (wenn der Server eine VM ist)===&lt;br /&gt;
Ab Werk findet man im&lt;br /&gt;
 tail -n 50000 -F /var/log/syslog | grep multipathd&lt;br /&gt;
einige Multipath-Meldungen:&amp;lt;br&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 2026-05-13T09:03:29.804259+00:00 zabbixtest systemd[1]: Starting multipathd.service - Device-Mapper Multipath Device Controller...&lt;br /&gt;
 2026-05-13T09:03:29.804288+00:00 zabbixtest multipathd[735]: multipathd v0.14.3: start up&lt;br /&gt;
 2026-05-13T09:03:29.804291+00:00 zabbixtest multipathd[735]: reconfigure: setting up paths and maps&lt;br /&gt;
 2026-05-13T09:03:29.804294+00:00 zabbixtest systemd[1]: Started multipathd.service - Device-Mapper Multipath Device Controller.&lt;br /&gt;
 2026-05-13T09:03:29.804922+00:00 zabbixtest systemd[1]: Starting multipathd-queueing.service - Enable queuing for multipath maps...&lt;br /&gt;
 2026-05-13T09:03:29.805021+00:00 zabbixtest systemd[1]: Finished multipathd-queueing.service - Enable queuing for multipath maps.&lt;br /&gt;
In einer VM macht Multipath nur in Ausnahmefällen Sinn, also deaktivieren und deinstallieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl stop multipathd.service &amp;amp;&amp;amp; systemctl disable multipathd.service&lt;br /&gt;
 apt install libsgutils2-1.48 sg3-utils sg3-utils-udev&lt;br /&gt;
 apt remove -y multipath-tools &amp;amp;&amp;amp; apt purge -y multipath-tools&lt;br /&gt;
 apt autoremove -y&lt;br /&gt;
Die &amp;lt;code&amp;gt;apt install&amp;lt;/code&amp;gt; Zeile ist da drin weil diese Pakete ggf. von anderen Anleitung vorausgesetzt werden. Die Pakete werden dadurch auf &#039;&#039;&#039;&#039;&#039;manuell installiert&#039;&#039;&#039;&#039;&#039; gesetzt und dann nicht bei einem &amp;lt;code&amp;gt;apt autoremove&amp;lt;/code&amp;gt; deinstalliert. Die Multipath-Bibliotheken habe ich dabei weggelassen.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Cloud-Init deinstallieren (Wenn es keine VM bei einem Cloudanbieter ist)===&lt;br /&gt;
Wenn Ihr die VM reboootet und die Console betrachtet tauchen kurz nach dem Reboot (Fehler-)Meldungen zum Cloud-init auf:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-200521-163633.PNG|150px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Das Cloud-Init ist - wenn ich mich recht erinnere - dafür da falls eure VM z.B. bei Amazon AWS, Azure oder andere Anbieter läuft um z.B. die Netzwerkinformationen vom Hoster/Provider zu erhalten.&amp;lt;br&amp;gt;&lt;br /&gt;
Brauchen wir nicht, also weg damit:&amp;lt;br&amp;gt;&lt;br /&gt;
 echo &#039;datasource_list: [ None ]&#039; | tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg&lt;br /&gt;
 apt purge -y cloud-init&lt;br /&gt;
 rm -rf /etc/cloud/ &amp;amp;&amp;amp; sudo rm -rf /var/lib/cloud/&lt;br /&gt;
 apt install cloud-guest-utils eatmydata libeatmydata1 python-babel-localedata python3-jinja2 python3-jsonpatch python3-jsonschema-specifications python3-passlib python3-rpds-py python3-babel python3-json-pointer python3-jsonschema python3-markupsafe python3-referencing gdisk libjs-sphinxdoc -y&lt;br /&gt;
 apt autoremove -y&lt;br /&gt;
 reboot&lt;br /&gt;
Die &amp;lt;code&amp;gt;apt install&amp;lt;/code&amp;gt; Zeile ist da drin weil diese Pakete ggf. von anderen Anleitung vorausgesetzt werden. Die Pakte werden dadurch auf &#039;&#039;&#039;&#039;&#039;manuell installiert&#039;&#039;&#039;&#039;&#039; gesetzt und dann nicht bei einem &amp;lt;code&amp;gt;apt autoremove&amp;lt;/code&amp;gt; deinstalliert. Insbesondere die {{code|cloud-guest-utils}} wollen wir behalten&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===OpenIPMI und IPMItool deinstallieren===&lt;br /&gt;
{{Hinweis|Scheint ab Ubuntu 26.04 nicht mehr automatisch installiert zu werden!}}&lt;br /&gt;
Bei meinen VMs schlägt der Start dieses Dienstes eh immer fehl (weil es keine passende Hardware gibt), also weg damit:&amp;lt;br&amp;gt;&lt;br /&gt;
 apt remove openipmi ipmitool -y &amp;amp;&amp;amp; apt purge openipmi ipmitool &amp;amp;&amp;amp; apt autoremove -y&lt;br /&gt;
Unter Hyper-V wird das Paket scheinbar nicht automatisch installiert.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Zeitzone setzen===&lt;br /&gt;
In meiner VM ist die Uhrzeit zu diesem Zeitpunkt falsch (gebt mal probeweise &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt; ein) - weil der ESXi- oder Proxmox-Host auf UTC Zeit läuft und Ubuntu in der VM die richtige Zeitzone nicht eingestellt hat.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir korrigieren das mit&amp;lt;br&amp;gt;&lt;br /&gt;
 timedatectl set-timezone Europe/Berlin&lt;br /&gt;
ein&lt;br /&gt;
 date&lt;br /&gt;
sollte dann die richtige Uhrzeit ausspucken.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Zeitserver setzen===&lt;br /&gt;
Es kann Sinnvoll sein, statt externer Zeitserver die eigenen internen zu Nutzen. Eine meiner Prüfungen in meinen Templates ist die Zeitabweichung des Hosts gegenüber dem Zabbix Server. Zum Beispiel in Active Directory-Domänen scheiter die Anmeldung, wenn der Zeitunterschied zwischen Domänencontroller und Client mehr als 15 Minuten beträgt, ab 5 Minuten kann es schon zickig werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Es ist ok wenn alle die gleiche falsche Zeit haben. Ich synchronisiere den Zabbix Servers deshalb gerne mit dem zentralen Domänenkontroller mit der PDC-Rolle.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis| Wenn Ihr diesen Schritt überspringt, wird {{Key|ntp.ubuntu.com}} als Zeitserver verwendet}}&lt;br /&gt;
Für die Zeitsynchronisierung ist ab Ubuntu 26.04 &#039;&#039;&#039;&#039;&#039;Chrony&#039;&#039;&#039;&#039;&#039; zuständig, über das erstellen der Datei&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/chrony/sources.d/local-ntp-server.sources&lt;br /&gt;
Können wir eigene Zeitserver hinzufügen (für jeden Server eine solche Zeile):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source &amp;quot;lang=bash&amp;quot;&amp;gt;&lt;br /&gt;
server 192.168.1.81 iburst&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Nach der Änderung müssen wir &#039;&#039;&#039;&#039;&#039;&#039;chrony&#039;&#039;&#039;&#039;&#039; das neu laden lassen:&amp;lt;br&amp;gt;&lt;br /&gt;
 chronyc reload sources&lt;br /&gt;
und mit folgenden Befehl könnt Ihr den Status abfragen:&amp;lt;br&amp;gt;&lt;br /&gt;
 timedatectl status&lt;br /&gt;
Beispielausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
                Local time: Mi 2026-05-13 11:21:27 CEST&lt;br /&gt;
            Universal time: Mi 2026-05-13 09:21:27 UTC&lt;br /&gt;
                  RTC time: Mi 2026-05-13 09:21:26&lt;br /&gt;
                 Time zone: Europe/Berlin (CEST, +0200)&lt;br /&gt;
 System clock synchronized: yes&lt;br /&gt;
               NTP service: active&lt;br /&gt;
           RTC in local TZ: no&lt;br /&gt;
Die verwendeten Zeitquellen seht Ihr per&amp;lt;br&amp;gt;&lt;br /&gt;
 chronyc sources&lt;br /&gt;
Beispielausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 MS Name/IP address         Stratum Poll Reach LastRx Last sample&lt;br /&gt;
 ===============================================================================&lt;br /&gt;
 ^* ntp-nts-2.ps5.canonical.&amp;gt;     2   6    17    27  -2075us[-2480us] +/-   21ms&lt;br /&gt;
 ^? DC81.znil.local               4   6    17    27  -1255us[-1660us] +/-   46ms&lt;br /&gt;
 ^+ ntp-nts-3.ps5.canonical.&amp;gt;     2   6    17    28   +206us[ -199us] +/-   19ms&lt;br /&gt;
 ^- ntp-nts-2.ps6.canonical.&amp;gt;     2   6    17    28  +7728us[+7323us] +/-   81ms&lt;br /&gt;
 ^- ntp-nts-3.ps6.canonical.&amp;gt;     2   6    17    27  +1970us[+1565us] +/-   78ms&lt;br /&gt;
 ^- ntp-nts-1.ps5.canonical.&amp;gt;     2   6    17    28    +93us[ -312us] +/-   18ms&lt;br /&gt;
Und welche er letztendlich genommen hat mit&amp;lt;br&amp;gt;&lt;br /&gt;
 chronyc tracking&lt;br /&gt;
Beispielausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Reference ID    : B97DBE7B (ntp-nts-3.ps5.canonical.com)&lt;br /&gt;
 Stratum         : 3&lt;br /&gt;
 Ref time (UTC)  : Wed May 13 09:25:28 2026&lt;br /&gt;
 System time     : 0.000000546 seconds slow of NTP time&lt;br /&gt;
 Last offset     : +0.000948038 seconds&lt;br /&gt;
 RMS offset      : 0.000487364 seconds&lt;br /&gt;
 Frequency       : 9.203 ppm slow&lt;br /&gt;
 Residual freq   : +7.510 ppm&lt;br /&gt;
 Skew            : 2.559 ppm&lt;br /&gt;
 Root delay      : 0.033688802 seconds&lt;br /&gt;
 Root dispersion : 0.001197023 seconds&lt;br /&gt;
 Update interval : 64.1 seconds&lt;br /&gt;
 Leap status     : Normal&lt;br /&gt;
Wie man sieht, nimmt er einen externen. Wenn wir aber den internen Erzwingen wollen, müssen wir die anderen Quellen auskommentieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/chrony/sources.d/ubuntu-ntp-pools.sources&lt;br /&gt;
und vor alle {{code|pool}} Zeilen ein {{code|#}} davor setzen:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260513-113129.PNG|300px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Den Dienst einmal neu starten (statt reloaden, damit er schneller wieder synced):&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl restart chrony.service&lt;br /&gt;
und den Status prüfen bis in der letzten Zeile {{code|Leap status : Normal}} steht:&amp;lt;br&amp;gt;&lt;br /&gt;
 Reference ID    : C0A80151 (DC81.znil.local)&lt;br /&gt;
 Stratum         : 5&lt;br /&gt;
 Ref time (UTC)  : Wed May 13 09:32:15 2026&lt;br /&gt;
 System time     : 0.000017215 seconds fast of NTP time&lt;br /&gt;
 Last offset     : +0.000032023 seconds&lt;br /&gt;
 RMS offset      : 0.000032023 seconds&lt;br /&gt;
 Frequency       : 10.343 ppm slow&lt;br /&gt;
 Residual freq   : +1.266 ppm&lt;br /&gt;
 Skew            : 31.972 ppm&lt;br /&gt;
 Root delay      : 0.026105130 seconds&lt;br /&gt;
 Root dispersion : 0.038228851 seconds&lt;br /&gt;
 Update interval : 2.0 seconds&lt;br /&gt;
 Leap status     : Normal&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Automatische Updates deaktivieren===&lt;br /&gt;
Ich persönlich möchte nicht das der Zabbix-Server automatisch Updates einspielt.&amp;lt;br&amp;gt;&lt;br /&gt;
Die automatischen Updates aktualisieren - soweit ich das beobachten konnte - nur den Kernel. Aber auch das möchte ich nicht. Ich möchte das geplant durchführen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die automatischen Updates verhindern wir mit&amp;lt;br&amp;gt;&lt;br /&gt;
 apt remove -y unattended-upgrades&lt;br /&gt;
Wer möchte kann auch die Suche nach Updates deaktivieren. Ansonsten schaut das Ubuntu täglich an einem zufälligen Zeitpunkt nach, ob es Updates gibt. Bei der Anmeldung per SSH erhält man dann eine entsprechende Meldung. Deaktivieren kann man die automatsche Suche danach per&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/apt/apt.conf.d/20auto-upgrades&lt;br /&gt;
und in der Datei beide Optionen auf {{code|0}} setzen:&amp;lt;br&amp;gt;&lt;br /&gt;
 APT::Periodic::Update-Package-Lists &amp;quot;0&amp;quot;;&lt;br /&gt;
 APT::Periodic::Unattended-Upgrade &amp;quot;0&amp;quot;;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Automatischen Neustart von Diensten bei Updates deaktivieren===&lt;br /&gt;
Wie schon zuvor beschrieben aktualisiere ich Ubuntu (und andere Software aus Repos) gerne per folgenden Einzeiler:&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt upgrade -y &amp;amp;&amp;amp; apt autoremove -y&lt;br /&gt;
In neueren Ubunti Versionen werden dabei Dienste ggf. automatische neu gestartet (wenn man den Einzeiler nimmt!), es gibt dann eine Meldung wie diese:&lt;br /&gt;
 systemctl restart apache2.service cron.service fwupd.service mariadb.service open-vm-tools.service packagekit.service polkit.service rsyslog.service snmptrapd.service snmptt.service udisks2.service upower.service vgauth.service zabbix-agent2.service zabbix-web-service.service&lt;br /&gt;
 &lt;br /&gt;
 Dienste deren Neustart verschoben wurde:&lt;br /&gt;
  systemctl restart ModemManager.service&lt;br /&gt;
  /etc/needrestart/restart.d/dbus.service&lt;br /&gt;
  systemctl restart getty@tty1.service&lt;br /&gt;
  systemctl restart systemd-logind.service&lt;br /&gt;
Im Normalfall ist es kein Problem. Allerdings scheinen die Abhängigkeiten der Dienste nicht beachtet zu werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Ist zum Beispiel ein Dienst abhängig von der Datenbank / MySQL|MariaDB, das steht auch so in der &amp;lt;code&amp;gt;/usr/lib/systemd/system/namedesdienstes.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
 After=mysql.service&lt;br /&gt;
 After=mysqld.service&lt;br /&gt;
 After=mariadb.service&lt;br /&gt;
Der automatische Neustart startet aber z.B. MariaDB gnadenlos durch ohne vorher abhängige Dienste zu beenden. Schön ist das nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Als Lösung schalte ich inzwischen den automatischen Neustart der Dienste ab, es wird dann nur eine Liste der Dienste ausgegeben die neu gestartet werden müssten:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/needrestart/needrestart.conf&lt;br /&gt;
und dort ziemlich am Anfang ab Zeile 33:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Restart mode: (l)ist only, (i)nteractive or (a)utomatically.&lt;br /&gt;
#&lt;br /&gt;
# ATTENTION: If needrestart is configured to run in interactive mode but is run&lt;br /&gt;
# non-interactive (i.e. unattended-upgrades) it will fallback to list only mode.&lt;br /&gt;
#&lt;br /&gt;
# UBUNTU: the default restart mode when running as part of the APT hook is &#039;a&#039;,&lt;br /&gt;
# unless a specific UI is configured (see below).&lt;br /&gt;
#$nrconf{restart} = &#039;i&#039;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Bei der letzten Zeile 40 entfernen wir das Kommentarzeichen davor und machen aus dem &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; ein &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;, wie es auch in der obersten Zeile beschrieben wird:&lt;br /&gt;
 $nrconf{restart} = &#039;l&#039;;&lt;br /&gt;
So werden notwendige Neustarts nur aufgelistet. Diese kann man dann von Hand neu starten oder einfach das ganze System rebooten.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Vorlage:Installation-Ubuntu-2604&amp;diff=15990</id>
		<title>Vorlage:Installation-Ubuntu-2604</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Vorlage:Installation-Ubuntu-2604&amp;diff=15990"/>
		<updated>2026-05-20T12:03:44Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Bei Bedarf: root wieder freischalten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Grundinstallation===&lt;br /&gt;
{{Hinweis| Ich habe die offizielle ISO verwendet: https://ubuntu.com/download/server m die Datei heißt dann {{code|ubuntu-26.04-live-server-amd64.iso}}, an die Versionsnummer wird mit der Zeit ein .1, .2 und so weiter angehängt}}&lt;br /&gt;
{{Hinweis| Ich installiere mit Absicht &#039;&#039;&#039;OHNE&#039;&#039;&#039; LVM. Ubuntu erstellt inzwischen keine eigene Partition für SWAP mehr und ohne LVM lässt sich der Festplattenplatz bei einer Installation als VM auf einfachste Weise im laufenden Betrieb erweitern. Natürlich ginge das auch mit LVM (mit mehr Schritten), ich sehe hier den Nutzen und Vorteil in einer VM aber nicht.}}&lt;br /&gt;
Ggf. noch die ISO/CD einlegen (falls nicht schon in der VM Konfiguriert) und Einschalten/Starten,&amp;lt;br&amp;gt;&lt;br /&gt;
die Fragen beantwortet Ihr wie folgt (sind ggf. die Überschriften der Dialoge):&amp;lt;br&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095215.PNG|250px]] ||Try or Install Ubuntu Server&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095351.PNG|250px]] ||Deutsch&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095441.PNG|250px]] ||German / German&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;| Wenn er einen neueren Installer findet und fragt ob er auf diesen aktualisieren soll - Ja!&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095530.PNG|250px]] ||Ubuntu Server&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100030.PNG|250px]] ||Jetzt könnt Ihr schon die gewünschte feste IP-Adresse einstellen. Wählt dazu mit den Pfeiltasten den &amp;lt;code&amp;gt;ensXXX&amp;lt;/code&amp;gt; Eintrag aus und drückt {{Key|Enter}}:&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095823.PNG|250px]] ||ensXXX =&amp;gt; Bearbeite IPv4&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095925.PNG|250px]] ||Manuell&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100030.PNG|250px]] ||Bei Subnetz kommt nicht die Subnetzmaske sondern das Netzwerk mit Suffix. Bei einer 24 Maske (= 255.255.255.0) ist das die IP 0 mit Suffix /24&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100432.PNG|250px]] ||Wenn Ihr kein IPv6 nutzt, würde ich es an dieser Stelle deaktivieren, ansonsten durchkonfigurieren&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100538.PNG|250px]] ||Erledigt&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100618.PNG|250px]] ||Proxy bei Bedarf, sonst leer lassen&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100730.PNG|250px]] ||Den Test abwarten und dann auf Erledigt&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100901.PNG|250px]] ||Nutzt die ganze Festplatte ohne LVM (also Haken entfernen). Die Festplatte lässt sich später trotzdem sehr leicht vergrößern&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101002.PNG|250px]] ||Erledigt&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101040.PNG|250px]] ||Fortfahren&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101216.PNG|250px]] ||Den Servernamen festlegen. Ich lege hier den Benutzer &#039;&#039;&#039;&#039;&#039;installadmin&#039;&#039;&#039;&#039;&#039; an. Wählt euren Benutzer und Passwort nach Wunsch (Aufschreiben!)&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101253.PNG|250px]] ||Falls Ihr Ubuntu Pro habt, könnet Ihr es hier aktiveren, ansonsten einfach {{Key|[Fortfahren]}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101402.PNG|250px]] ||OpenSSH-Server auswählen =&amp;gt; Erledigt (für Zugriff z.B. mit Putty). Falls Ihr hier per {{code|Import SSH key}} einen Schlüssel importiert, ist keine an SSH mit einem Passwort möglich! Also nur wenn Ihr wisst was Ihr tut!&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101620.PNG|250px]] ||Erledigt&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Ab jetzt heißt es abwarten. Wenn er kann lädt er gleich ein paar Sicherheitsupdates nach.&amp;lt;br&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-103148.PNG|250px]] ||Jetzt neustarten&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-103236.PNG|250px]] ||ISO aus der VM entfernen (Konfiguration der VM bearbeiten!) und {{Key|Enter}} drücken&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-103345.PNG|250px]] ||Nach dem Reboot wartet ab bis diverse Meldungen abgelaufen sind / sich nichts mehr auf dem Bildschirm tut&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===PuTTY===&lt;br /&gt;
Ab dieser Stelle könnt Ihr PuTTY oder den SSH Client eurer Wahl nutzen - was ich dringend empfehle. Denn dann könnt Ihr hier vorgeschlagenen Befehle einfach per Copy&amp;amp;Paste übernehmen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die IP-Adresse habt Ihr zu diesem Zeitpunkt ja bereits festgelegt:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-200521-155245.PNG|150px]] [[Datei:ClipCapIt-200521-155339.PNG|150px]] [[Datei:ClipCapIt-200521-160706.PNG|150px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Nach der Anmeldung nutze ich immer gerne ein&lt;br /&gt;
 sudo -i&lt;br /&gt;
Damit wechselt man dauerhaft zum &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; Benutzer und muss nicht vor jedem Befehl ein &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; stellen.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
===Bei Bedarf: root wieder freischalten===&lt;br /&gt;
{{Hinweis| Ob nun wie ich immer als root arbeiten wollt oder aber als einfacher Benutzer und dann immer &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; verwendet müsst Ihr selbst wissen}}&lt;br /&gt;
* Mit Benutzer &#039;&#039;&#039;&#039;&#039;installadmin&#039;&#039;&#039;&#039;&#039; anmelden&amp;lt;br&amp;gt;&lt;br /&gt;
 sudo -i&lt;br /&gt;
* Kennwort des Benutzer &#039;&#039;&#039;&#039;&#039;installadmin&#039;&#039;&#039;&#039;&#039; eintippen&amp;lt;br&amp;gt;&lt;br /&gt;
 passwd root&lt;br /&gt;
* neues Kennwort für &amp;quot;root&amp;quot; 2x eintippen&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-200521-161108.PNG|150px]]&lt;br /&gt;
* Lokal Anmelden kann man sich nun mit &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; - aber eine Anmeldung über SSH funktioniert dann immer noch nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
* Damit diese auch funktioniert müsst ihr die &amp;lt;code&amp;gt;sshd_config&amp;lt;/code&amp;gt; bearbeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
sucht nach der Zeile ({{Key|STRG}} + {{Key|W}} ist Suchen) nach&lt;br /&gt;
 #PermitRootLogin prohibit-password&lt;br /&gt;
und stellt den Cursor in die Zeile.&amp;lt;br&amp;gt;&lt;br /&gt;
Drückt nun einmal {{Key|F9}} und 2x {{Key|F10}} - damit erstellt Ihr eine Kopie der Zeile.&amp;lt;br&amp;gt;&lt;br /&gt;
Ändert die Kopie wie folgt ab:&amp;lt;br&amp;gt;&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
:[[Datei:ClipCapIt-260513-104318.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Speichert die Datei ({{Key|STRG}} + {{Key|x}}, dann {{Key|y}} und {{Key|Enter}}) und startet den ssh Dienst neu:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl restart ssh.service&lt;br /&gt;
Ab dann klappt es auch mit dem SSH-Login für den Benutzer root, z.B. über &#039;&#039;&#039;puTTY&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt 2x&amp;lt;br&amp;gt;&lt;br /&gt;
 exit&lt;br /&gt;
eintippen wodurch sich das PuTTY Fenster schließt - der (eingeschränkte) Benutzer &#039;&#039;&#039;&#039;&#039;installadmin&#039;&#039;&#039;&#039;&#039; hat sich somit abgemeldet&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis|&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Ja, ich persönlich arbeite gerne als root und habe diesen für die Anmeldung freigeschaltet. Was ich nicht mache ist das Login per SSH mit Passwort zu erlauben.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Also das obige {{code|PermitRootLogin}} mache ich explizit nicht!&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich hinterlege also immer einen SSH-Key für die Anmeldung und nutze diesen statt des Kennwortes. Die Lösung hier ist einfach gehalten, der Profi mögen anpassen wie er es braucht. Ein Anmeldung als eingeschränkter Benutzer geht natürlich auch, das erste was ich dann immer mache ist ein &amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt; um dauerhaft zum root zu wechseln}}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Anmelden als root===&lt;br /&gt;
Startet PuTTY wieder und meldet euch diesmal gleich als Benutzer &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; an.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternativ als der Installationsbenutzer und wechselt per&amp;lt;br&amp;gt;&lt;br /&gt;
 sudo -i&lt;br /&gt;
dauerhaft zum &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===nano &amp;amp; Co auf Deutsch===&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;nano&#039;&#039;&#039;&#039;&#039; war eben z.B. noch auf Englisch, mit&lt;br /&gt;
 apt install -y language-pack-de&lt;br /&gt;
ist es (und vieles andere) auf deutsch.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===root farbiger Prompt===&lt;br /&gt;
Ich nutze gerne den farbigen Prompt, wenn Ihr als normaler Benutzer zu diesem wechselt, sieht man das optisch noch besser das man gewechselt hat.&amp;lt;br&amp;gt;&lt;br /&gt;
Als &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; angemeldet:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano ~/.bashrc&lt;br /&gt;
Zeile 39 ({{Key|Alt}} + {{Key|C}} aktiviert Zeilennummernanzeige):&amp;lt;br&amp;gt;&lt;br /&gt;
 #force_color_prompt=yes&lt;br /&gt;
ändern zu (# entfernen):&amp;lt;br&amp;gt;&lt;br /&gt;
 force_color_prompt=yes&lt;br /&gt;
:[[Datei:ClipCapIt-200521-162422.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Per&amp;lt;br&amp;gt;&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
könnt Ihr das direkt übernehmen.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Bash History aus mehreren Sitzungen gleichzeitig===&lt;br /&gt;
Wenn man mehr als eine SSH Sitzung zum Zabbix-Server hat, gewinnt in der Bash-Histoy die Sitzung von der man sich zuletzt abmeldet.&amp;lt;br&amp;gt;&lt;br /&gt;
Nachfolgende Änderung sorgt dafür das sich alle Sitzungen eine Bash-History teilen, was ich in Session 1 also aufrufe lässt sich sofort danach in Session 2 per Pfeil nach oben oder {{key|STRG}} + {{key|R}} Suche finden.&amp;lt;br&amp;gt;&lt;br /&gt;
Dazu bearbeiten man noch einmal die&amp;lt;br&amp;gt;&lt;br /&gt;
 nano ~/.bashrc&lt;br /&gt;
und hängt ganz unten folgendes an:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# don&#039;t put duplicate lines in the history. See bash(1) for more options&lt;br /&gt;
# ... or force ignoredups and ignorespace&lt;br /&gt;
HISTCONTROL=ignoredups:ignorespace:erasedups&lt;br /&gt;
&lt;br /&gt;
# append to the history file, don&#039;t overwrite it&lt;br /&gt;
shopt -s histappend&lt;br /&gt;
&lt;br /&gt;
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)&lt;br /&gt;
HISTSIZE=50000&lt;br /&gt;
HISTFILESIZE=50000&lt;br /&gt;
&lt;br /&gt;
# After each command, append to the history file&lt;br /&gt;
#  and reread it&lt;br /&gt;
export PROMPT_COMMAND=&amp;quot;${PROMPT_COMMAND:+$PROMPT_COMMAND$&#039;n&#039;}history -a; history -c; history -r&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit es sofort aktiv wird wieder&amp;lt;br&amp;gt;&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
Ja, {{code|HISTSIZE}} und {{code|HISTFILESIZE}} stehen nun 2x in der Datei, der letzte Eintrag gewinnt.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Feste IP-Adresse vergeben===&lt;br /&gt;
Der Server hat dank des neuen Setupdialoges nun bereits eine feste IP-Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
Solltet Ihr an dieser etwas ändern müssen so müssen wir erst das Cloud-Init deaktivieren: &lt;br /&gt;
 nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg&lt;br /&gt;
Inhalt:&lt;br /&gt;
 network: {config: disabled}&lt;br /&gt;
Dann könnte Ihr in der folgenden Datei etwas ändern, die Warnungen das es einen reboot nicht übersteht könnt Ihr ignorieren, dafür haben wir die andere Datei angelegt.&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/netplan/00-installer-config.yaml&lt;br /&gt;
:[[Datei:ClipCapIt-260513-105129.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis| Weiter unten deinstalliere ich Cloud-Init komplett (wenn die VM nicht bei einem Hoster läuft), da könnte man sich diesen Schritt hier sparen}}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Updates einspielen===&lt;br /&gt;
als &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; bzw. zum &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; wechseln:&amp;lt;br&amp;gt;&lt;br /&gt;
Ich mache das normalerweise immer als Einzeiler:&amp;lt;br&amp;gt;&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt upgrade -y &amp;amp;&amp;amp; apt autoremove -y&lt;br /&gt;
Das ganze im Detail:&amp;lt;br&amp;gt;&lt;br /&gt;
* Updates suchen für Betriebssystem: (aktualisiert den Katalog aus den Update-Quellen)&lt;br /&gt;
 apt update&lt;br /&gt;
* Updates einspielen:&lt;br /&gt;
 apt upgrade -y&lt;br /&gt;
* Nach Update überflüssige Pakete entfernen:&lt;br /&gt;
 apt autoremove -y&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===VM Integrationsdienste installieren===&lt;br /&gt;
Wenn euer installiertes System eine VM, eine &#039;&#039;&#039;V&#039;&#039;&#039;irtuelle &#039;&#039;&#039;M&#039;&#039;&#039;aschine, ist, solltest Ihr je nach verwendeten Hypervisor die passenden Integrationsdienste installieren:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
====VMware====&lt;br /&gt;
Unter VMware braucht ihr nichts tun, die&lt;br /&gt;
 apt install open-vm-tools&lt;br /&gt;
sind per Default installiert und aktiv. Ist es keine VMware VM, so könnt Ihr die Tools per&lt;br /&gt;
 apt remove open-vm-tools&lt;br /&gt;
entfernen&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
====Hyper-V====&lt;br /&gt;
In den Einstellungen der VM solltet Ihr hier den Haken setzen:&lt;br /&gt;
:[[Datei:ClipCapIt-250527-112648.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
In der VM die folgende Datei bearbeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/initramfs-tools/modules&lt;br /&gt;
und ganz unten die folgenden 4 Zeilen anhängen:&amp;lt;br&amp;gt;&lt;br /&gt;
 hv_vmbus&lt;br /&gt;
 hv_storvsc&lt;br /&gt;
 hv_blkvsc&lt;br /&gt;
 hv_netvsc&lt;br /&gt;
 hv_utils&lt;br /&gt;
Und dann die Tools installieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 apt -y install linux-virtual linux-cloud-tools-virtual linux-tools-virtual&lt;br /&gt;
 update-initramfs -u&lt;br /&gt;
und neu starten:&lt;br /&gt;
 reboot&lt;br /&gt;
Quelle: https://community.veeam.com/blogs-and-podcasts-57/how-to-install-hyper-v-integration-services-in-the-ubuntu-linux-vm-6353&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Proxmox PVE====&lt;br /&gt;
In den Einstellungen der VM den {{code|QEMU Guest Agent}} aktivieren:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260513-105702.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260513-105545.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und dann in der VM die Tools installieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 apt -y install qemu-guest-agent&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Falls die Harwareeinstellung so aussieht wie oben im Bild (mit dem orangenen Text),müssen wir die VM einmal ganz ausschalten und wieder einschalten:&amp;lt;br&amp;gt;&lt;br /&gt;
 shutdown -h now&lt;br /&gt;
Und danach wieder einschalten und neu an SSH anmelden.&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn da nichts orangenes ist, reicht ein reboot.&amp;lt;br&amp;gt;&lt;br /&gt;
Dann seht ihr in der Summary der VM sollte nun die IP-Adresse sichtbar sein:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260513-110008.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Multipathing deinstallieren (wenn der Server eine VM ist)===&lt;br /&gt;
Ab Werk findet man im&lt;br /&gt;
 tail -n 50000 -F /var/log/syslog | grep multipathd&lt;br /&gt;
einige Multipath-Meldungen:&amp;lt;br&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 2026-05-13T09:03:29.804259+00:00 zabbixtest systemd[1]: Starting multipathd.service - Device-Mapper Multipath Device Controller...&lt;br /&gt;
 2026-05-13T09:03:29.804288+00:00 zabbixtest multipathd[735]: multipathd v0.14.3: start up&lt;br /&gt;
 2026-05-13T09:03:29.804291+00:00 zabbixtest multipathd[735]: reconfigure: setting up paths and maps&lt;br /&gt;
 2026-05-13T09:03:29.804294+00:00 zabbixtest systemd[1]: Started multipathd.service - Device-Mapper Multipath Device Controller.&lt;br /&gt;
 2026-05-13T09:03:29.804922+00:00 zabbixtest systemd[1]: Starting multipathd-queueing.service - Enable queuing for multipath maps...&lt;br /&gt;
 2026-05-13T09:03:29.805021+00:00 zabbixtest systemd[1]: Finished multipathd-queueing.service - Enable queuing for multipath maps.&lt;br /&gt;
In einer VM macht Multipath nur in Ausnahmefällen Sinn, also deaktivieren und deinstallieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl stop multipathd.service &amp;amp;&amp;amp; systemctl disable multipathd.service&lt;br /&gt;
 apt install libsgutils2-1.48 sg3-utils sg3-utils-udev&lt;br /&gt;
 apt remove -y multipath-tools &amp;amp;&amp;amp; apt purge -y multipath-tools&lt;br /&gt;
 apt autoremove -y&lt;br /&gt;
Die &amp;lt;code&amp;gt;apt install&amp;lt;/code&amp;gt; Zeile ist da drin weil diese Pakete ggf. von anderen Anleitung vorausgesetzt werden. Die Pakete werden dadurch auf &#039;&#039;&#039;&#039;&#039;manuell installiert&#039;&#039;&#039;&#039;&#039; gesetzt und dann nicht bei einem &amp;lt;code&amp;gt;apt autoremove&amp;lt;/code&amp;gt; deinstalliert. Die Multipath-Bibliotheken habe ich dabei weggelassen.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Cloud-Init deinstallieren (Wenn es keine VM bei einem Cloudanbieter ist)===&lt;br /&gt;
Wenn Ihr die VM reboootet und die Console betrachtet tauchen kurz nach dem Reboot (Fehler-)Meldungen zum Cloud-init auf:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-200521-163633.PNG|150px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Das Cloud-Init ist - wenn ich mich recht erinnere - dafür da falls eure VM z.B. bei Amazon AWS, Azure oder andere Anbieter läuft um z.B. die Netzwerkinformationen vom Hoster/Provider zu erhalten.&amp;lt;br&amp;gt;&lt;br /&gt;
Brauchen wir nicht, also weg damit:&amp;lt;br&amp;gt;&lt;br /&gt;
 echo &#039;datasource_list: [ None ]&#039; | tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg&lt;br /&gt;
 apt purge -y cloud-init&lt;br /&gt;
 rm -rf /etc/cloud/ &amp;amp;&amp;amp; sudo rm -rf /var/lib/cloud/&lt;br /&gt;
 apt install cloud-guest-utils eatmydata libeatmydata1 python-babel-localedata python3-jinja2 python3-jsonpatch python3-jsonschema-specifications python3-passlib python3-rpds-py python3-babel python3-json-pointer python3-jsonschema python3-markupsafe python3-referencing gdisk libjs-sphinxdoc -y&lt;br /&gt;
 apt autoremove -y&lt;br /&gt;
 reboot&lt;br /&gt;
Die &amp;lt;code&amp;gt;apt install&amp;lt;/code&amp;gt; Zeile ist da drin weil diese Pakete ggf. von anderen Anleitung vorausgesetzt werden. Die Pakte werden dadurch auf &#039;&#039;&#039;&#039;&#039;manuell installiert&#039;&#039;&#039;&#039;&#039; gesetzt und dann nicht bei einem &amp;lt;code&amp;gt;apt autoremove&amp;lt;/code&amp;gt; deinstalliert. Insbesondere die {{code|cloud-guest-utils}} wollen wir behalten&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===OpenIPMI und IPMItool deinstallieren===&lt;br /&gt;
{{Hinweis|Scheint ab Ubuntu 26.04 nicht mehr automatisch installiert zu werden!}}&lt;br /&gt;
Bei meinen VMs schlägt der Start dieses Dienstes eh immer fehl (weil es keine passende Hardware gibt), also weg damit:&amp;lt;br&amp;gt;&lt;br /&gt;
 apt remove openipmi ipmitool -y &amp;amp;&amp;amp; apt purge openipmi ipmitool &amp;amp;&amp;amp; apt autoremove -y&lt;br /&gt;
Unter Hyper-V wird das Paket scheinbar nicht automatisch installiert.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Zeitzone setzen===&lt;br /&gt;
In meiner VM ist die Uhrzeit zu diesem Zeitpunkt falsch (gebt mal probeweise &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt; ein) - weil der ESXi- oder Proxmox-Host auf UTC Zeit läuft und Ubuntu in der VM die richtige Zeitzone nicht eingestellt hat.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir korrigieren das mit&amp;lt;br&amp;gt;&lt;br /&gt;
 timedatectl set-timezone Europe/Berlin&lt;br /&gt;
ein&lt;br /&gt;
 date&lt;br /&gt;
sollte dann die richtige Uhrzeit ausspucken.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Zeitserver setzen===&lt;br /&gt;
Es kann Sinnvoll sein, statt externer Zeitserver die eigenen internen zu Nutzen. Eine meiner Prüfungen in meinen Templates ist die Zeitabweichung des Hosts gegenüber dem Zabbix Server. Zum Beispiel in Active Directory-Domänen scheiter die Anmeldung, wenn der Zeitunterschied zwischen Domänencontroller und Client mehr als 15 Minuten beträgt, ab 5 Minuten kann es schon zickig werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Es ist ok wenn alle die gleiche falsche Zeit haben. Ich synchronisiere den Zabbix Servers deshalb gerne mit dem zentralen Domänenkontroller mit der PDC-Rolle.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis| Wenn Ihr diesen Schritt überspringt, wird {{Key|ntp.ubuntu.com}} als Zeitserver verwendet}}&lt;br /&gt;
Für die Zeitsynchronisierung ist ab Ubuntu 26.04 &#039;&#039;&#039;&#039;&#039;Chrony&#039;&#039;&#039;&#039;&#039; zuständig, über das erstellen der Datei&lt;br /&gt;
nano /etc/chrony/sources.d/local-ntp-server.sources&lt;br /&gt;
Können wir eigene Zeitserver hinzufügen (für jeden Server eine solche Zeile):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source &amp;quot;lang=bash&amp;quot;&amp;gt;&lt;br /&gt;
server 192.168.1.81 iburst&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Nach der Änderung müssen wir &#039;&#039;&#039;&#039;&#039;&#039;chrony&#039;&#039;&#039;&#039;&#039; das neu laden lassen:&amp;lt;br&amp;gt;&lt;br /&gt;
 chronyc reload sources&lt;br /&gt;
und mit folgenden Befehl könnt Ihr den Status abfragen:&amp;lt;br&amp;gt;&lt;br /&gt;
 timedatectl status&lt;br /&gt;
Beispielausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
                Local time: Mi 2026-05-13 11:21:27 CEST&lt;br /&gt;
            Universal time: Mi 2026-05-13 09:21:27 UTC&lt;br /&gt;
                  RTC time: Mi 2026-05-13 09:21:26&lt;br /&gt;
                 Time zone: Europe/Berlin (CEST, +0200)&lt;br /&gt;
 System clock synchronized: yes&lt;br /&gt;
               NTP service: active&lt;br /&gt;
           RTC in local TZ: no&lt;br /&gt;
Die verwendeten Zeitquellen seht Ihr per&amp;lt;br&amp;gt;&lt;br /&gt;
 chronyc sources&lt;br /&gt;
Beispielausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 MS Name/IP address         Stratum Poll Reach LastRx Last sample&lt;br /&gt;
 ===============================================================================&lt;br /&gt;
 ^* ntp-nts-2.ps5.canonical.&amp;gt;     2   6    17    27  -2075us[-2480us] +/-   21ms&lt;br /&gt;
 ^? DC81.znil.local               4   6    17    27  -1255us[-1660us] +/-   46ms&lt;br /&gt;
 ^+ ntp-nts-3.ps5.canonical.&amp;gt;     2   6    17    28   +206us[ -199us] +/-   19ms&lt;br /&gt;
 ^- ntp-nts-2.ps6.canonical.&amp;gt;     2   6    17    28  +7728us[+7323us] +/-   81ms&lt;br /&gt;
 ^- ntp-nts-3.ps6.canonical.&amp;gt;     2   6    17    27  +1970us[+1565us] +/-   78ms&lt;br /&gt;
 ^- ntp-nts-1.ps5.canonical.&amp;gt;     2   6    17    28    +93us[ -312us] +/-   18ms&lt;br /&gt;
Und welche er letztendlich genommen hat mit&amp;lt;br&amp;gt;&lt;br /&gt;
 chronyc tracking&lt;br /&gt;
Beispielausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Reference ID    : B97DBE7B (ntp-nts-3.ps5.canonical.com)&lt;br /&gt;
 Stratum         : 3&lt;br /&gt;
 Ref time (UTC)  : Wed May 13 09:25:28 2026&lt;br /&gt;
 System time     : 0.000000546 seconds slow of NTP time&lt;br /&gt;
 Last offset     : +0.000948038 seconds&lt;br /&gt;
 RMS offset      : 0.000487364 seconds&lt;br /&gt;
 Frequency       : 9.203 ppm slow&lt;br /&gt;
 Residual freq   : +7.510 ppm&lt;br /&gt;
 Skew            : 2.559 ppm&lt;br /&gt;
 Root delay      : 0.033688802 seconds&lt;br /&gt;
 Root dispersion : 0.001197023 seconds&lt;br /&gt;
 Update interval : 64.1 seconds&lt;br /&gt;
 Leap status     : Normal&lt;br /&gt;
Wie man sieht, nimmt er einen externen. Wenn wir aber den internen Erzwingen wollen, müssen wir die anderen Quellen auskommentieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/chrony/sources.d/ubuntu-ntp-pools.sources&lt;br /&gt;
und vor alle {{code|pool}} Zeilen ein {{code|#}} davor setzen:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260513-113129.PNG|300px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Den Dienst einmal neu starten (statt reloaden, damit er schneller wieder synced):&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl restart chrony.service&lt;br /&gt;
und den Status prüfen bis in der letzten Zeile {{code|Leap status : Normal}} steht:&amp;lt;br&amp;gt;&lt;br /&gt;
 Reference ID    : C0A80151 (DC81.znil.local)&lt;br /&gt;
 Stratum         : 5&lt;br /&gt;
 Ref time (UTC)  : Wed May 13 09:32:15 2026&lt;br /&gt;
 System time     : 0.000017215 seconds fast of NTP time&lt;br /&gt;
 Last offset     : +0.000032023 seconds&lt;br /&gt;
 RMS offset      : 0.000032023 seconds&lt;br /&gt;
 Frequency       : 10.343 ppm slow&lt;br /&gt;
 Residual freq   : +1.266 ppm&lt;br /&gt;
 Skew            : 31.972 ppm&lt;br /&gt;
 Root delay      : 0.026105130 seconds&lt;br /&gt;
 Root dispersion : 0.038228851 seconds&lt;br /&gt;
 Update interval : 2.0 seconds&lt;br /&gt;
 Leap status     : Normal&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Automatische Updates deaktivieren===&lt;br /&gt;
Ich persönlich möchte nicht das der Zabbix-Server automatisch Updates einspielt.&amp;lt;br&amp;gt;&lt;br /&gt;
Die automatischen Updates aktualisieren - soweit ich das beobachten konnte - nur den Kernel. Aber auch das möchte ich nicht. Ich möchte das geplant durchführen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die automatischen Updates verhindern wir mit&amp;lt;br&amp;gt;&lt;br /&gt;
 apt remove -y unattended-upgrades&lt;br /&gt;
Wer möchte kann auch die Suche nach Updates deaktivieren. Ansonsten schaut das Ubuntu täglich an einem zufälligen Zeitpunkt nach, ob es Updates gibt. Bei der Anmeldung per SSH erhält man dann eine entsprechende Meldung. Deaktivieren kann man die automatsche Suche danach per&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/apt/apt.conf.d/20auto-upgrades&lt;br /&gt;
und in der Datei beide Optionen auf {{code|0}} setzen:&amp;lt;br&amp;gt;&lt;br /&gt;
 APT::Periodic::Update-Package-Lists &amp;quot;0&amp;quot;;&lt;br /&gt;
 APT::Periodic::Unattended-Upgrade &amp;quot;0&amp;quot;;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Automatischen Neustart von Diensten bei Updates deaktivieren===&lt;br /&gt;
Wie schon zuvor beschrieben aktualisiere ich Ubuntu (und andere Software aus Repos) gerne per folgenden Einzeiler:&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt upgrade -y &amp;amp;&amp;amp; apt autoremove -y&lt;br /&gt;
In neueren Ubunti Versionen werden dabei Dienste ggf. automatische neu gestartet (wenn man den Einzeiler nimmt!), es gibt dann eine Meldung wie diese:&lt;br /&gt;
 systemctl restart apache2.service cron.service fwupd.service mariadb.service open-vm-tools.service packagekit.service polkit.service rsyslog.service snmptrapd.service snmptt.service udisks2.service upower.service vgauth.service zabbix-agent2.service zabbix-web-service.service&lt;br /&gt;
 &lt;br /&gt;
 Dienste deren Neustart verschoben wurde:&lt;br /&gt;
  systemctl restart ModemManager.service&lt;br /&gt;
  /etc/needrestart/restart.d/dbus.service&lt;br /&gt;
  systemctl restart getty@tty1.service&lt;br /&gt;
  systemctl restart systemd-logind.service&lt;br /&gt;
Im Normalfall ist es kein Problem. Allerdings scheinen die Abhängigkeiten der Dienste nicht beachtet zu werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Ist zum Beispiel ein Dienst abhängig von der Datenbank / MySQL|MariaDB, das steht auch so in der &amp;lt;code&amp;gt;/usr/lib/systemd/system/namedesdienstes.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
 After=mysql.service&lt;br /&gt;
 After=mysqld.service&lt;br /&gt;
 After=mariadb.service&lt;br /&gt;
Der automatische Neustart startet aber z.B. MariaDB gnadenlos durch ohne vorher abhängige Dienste zu beenden. Schön ist das nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Als Lösung schalte ich inzwischen den automatischen Neustart der Dienste ab, es wird dann nur eine Liste der Dienste ausgegeben die neu gestartet werden müssten:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/needrestart/needrestart.conf&lt;br /&gt;
und dort ziemlich am Anfang ab Zeile 33:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Restart mode: (l)ist only, (i)nteractive or (a)utomatically.&lt;br /&gt;
#&lt;br /&gt;
# ATTENTION: If needrestart is configured to run in interactive mode but is run&lt;br /&gt;
# non-interactive (i.e. unattended-upgrades) it will fallback to list only mode.&lt;br /&gt;
#&lt;br /&gt;
# UBUNTU: the default restart mode when running as part of the APT hook is &#039;a&#039;,&lt;br /&gt;
# unless a specific UI is configured (see below).&lt;br /&gt;
#$nrconf{restart} = &#039;i&#039;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Bei der letzten Zeile 40 entfernen wir das Kommentarzeichen davor und machen aus dem &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; ein &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;, wie es auch in der obersten Zeile beschrieben wird:&lt;br /&gt;
 $nrconf{restart} = &#039;l&#039;;&lt;br /&gt;
So werden notwendige Neustarts nur aufgelistet. Diese kann man dann von Hand neu starten oder einfach das ganze System rebooten.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Vorlage:Installation-Ubuntu-2604&amp;diff=15989</id>
		<title>Vorlage:Installation-Ubuntu-2604</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Vorlage:Installation-Ubuntu-2604&amp;diff=15989"/>
		<updated>2026-05-20T12:03:16Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Bei Bedarf: root wieder freischalten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Grundinstallation===&lt;br /&gt;
{{Hinweis| Ich habe die offizielle ISO verwendet: https://ubuntu.com/download/server m die Datei heißt dann {{code|ubuntu-26.04-live-server-amd64.iso}}, an die Versionsnummer wird mit der Zeit ein .1, .2 und so weiter angehängt}}&lt;br /&gt;
{{Hinweis| Ich installiere mit Absicht &#039;&#039;&#039;OHNE&#039;&#039;&#039; LVM. Ubuntu erstellt inzwischen keine eigene Partition für SWAP mehr und ohne LVM lässt sich der Festplattenplatz bei einer Installation als VM auf einfachste Weise im laufenden Betrieb erweitern. Natürlich ginge das auch mit LVM (mit mehr Schritten), ich sehe hier den Nutzen und Vorteil in einer VM aber nicht.}}&lt;br /&gt;
Ggf. noch die ISO/CD einlegen (falls nicht schon in der VM Konfiguriert) und Einschalten/Starten,&amp;lt;br&amp;gt;&lt;br /&gt;
die Fragen beantwortet Ihr wie folgt (sind ggf. die Überschriften der Dialoge):&amp;lt;br&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095215.PNG|250px]] ||Try or Install Ubuntu Server&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095351.PNG|250px]] ||Deutsch&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095441.PNG|250px]] ||German / German&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;| Wenn er einen neueren Installer findet und fragt ob er auf diesen aktualisieren soll - Ja!&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095530.PNG|250px]] ||Ubuntu Server&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100030.PNG|250px]] ||Jetzt könnt Ihr schon die gewünschte feste IP-Adresse einstellen. Wählt dazu mit den Pfeiltasten den &amp;lt;code&amp;gt;ensXXX&amp;lt;/code&amp;gt; Eintrag aus und drückt {{Key|Enter}}:&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095823.PNG|250px]] ||ensXXX =&amp;gt; Bearbeite IPv4&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-095925.PNG|250px]] ||Manuell&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100030.PNG|250px]] ||Bei Subnetz kommt nicht die Subnetzmaske sondern das Netzwerk mit Suffix. Bei einer 24 Maske (= 255.255.255.0) ist das die IP 0 mit Suffix /24&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100432.PNG|250px]] ||Wenn Ihr kein IPv6 nutzt, würde ich es an dieser Stelle deaktivieren, ansonsten durchkonfigurieren&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100538.PNG|250px]] ||Erledigt&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100618.PNG|250px]] ||Proxy bei Bedarf, sonst leer lassen&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100730.PNG|250px]] ||Den Test abwarten und dann auf Erledigt&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-100901.PNG|250px]] ||Nutzt die ganze Festplatte ohne LVM (also Haken entfernen). Die Festplatte lässt sich später trotzdem sehr leicht vergrößern&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101002.PNG|250px]] ||Erledigt&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101040.PNG|250px]] ||Fortfahren&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101216.PNG|250px]] ||Den Servernamen festlegen. Ich lege hier den Benutzer &#039;&#039;&#039;&#039;&#039;installadmin&#039;&#039;&#039;&#039;&#039; an. Wählt euren Benutzer und Passwort nach Wunsch (Aufschreiben!)&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101253.PNG|250px]] ||Falls Ihr Ubuntu Pro habt, könnet Ihr es hier aktiveren, ansonsten einfach {{Key|[Fortfahren]}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101402.PNG|250px]] ||OpenSSH-Server auswählen =&amp;gt; Erledigt (für Zugriff z.B. mit Putty). Falls Ihr hier per {{code|Import SSH key}} einen Schlüssel importiert, ist keine an SSH mit einem Passwort möglich! Also nur wenn Ihr wisst was Ihr tut!&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-101620.PNG|250px]] ||Erledigt&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Ab jetzt heißt es abwarten. Wenn er kann lädt er gleich ein paar Sicherheitsupdates nach.&amp;lt;br&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-103148.PNG|250px]] ||Jetzt neustarten&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-103236.PNG|250px]] ||ISO aus der VM entfernen (Konfiguration der VM bearbeiten!) und {{Key|Enter}} drücken&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Datei:ClipCapIt-260513-103345.PNG|250px]] ||Nach dem Reboot wartet ab bis diverse Meldungen abgelaufen sind / sich nichts mehr auf dem Bildschirm tut&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===PuTTY===&lt;br /&gt;
Ab dieser Stelle könnt Ihr PuTTY oder den SSH Client eurer Wahl nutzen - was ich dringend empfehle. Denn dann könnt Ihr hier vorgeschlagenen Befehle einfach per Copy&amp;amp;Paste übernehmen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die IP-Adresse habt Ihr zu diesem Zeitpunkt ja bereits festgelegt:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-200521-155245.PNG|150px]] [[Datei:ClipCapIt-200521-155339.PNG|150px]] [[Datei:ClipCapIt-200521-160706.PNG|150px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Nach der Anmeldung nutze ich immer gerne ein&lt;br /&gt;
 sudo -i&lt;br /&gt;
Damit wechselt man dauerhaft zum &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; Benutzer und muss nicht vor jedem Befehl ein &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; stellen.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
===Bei Bedarf: root wieder freischalten===&lt;br /&gt;
{{Hinweis| Ob nun wie ich immer als root arbeiten wollt oder aber als einfacher Benutzer und dann immer &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; verwendet müsst Ihr selbst wissen}}&lt;br /&gt;
* Mit Benutzer &#039;&#039;&#039;&#039;&#039;installadmin&#039;&#039;&#039;&#039;&#039; anmelden&amp;lt;br&amp;gt;&lt;br /&gt;
 sudo -i&lt;br /&gt;
* Kennwort des Benutzer &#039;&#039;&#039;&#039;&#039;installadmin&#039;&#039;&#039;&#039;&#039; eintippen&amp;lt;br&amp;gt;&lt;br /&gt;
 passwd root&lt;br /&gt;
* neues Kennwort für &amp;quot;root&amp;quot; 2x eintippen&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-200521-161108.PNG|150px]]&lt;br /&gt;
* Lokal Anmelden kann man sich nun mit &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; - aber eine Anmeldung über SSH funktioniert dann immer noch nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
* Damit diese auch funktioniert müsst ihr die &amp;lt;code&amp;gt;sshd_config&amp;lt;/code&amp;gt; bearbeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
sucht nach der Zeile ({{Key|STRG}} + {{Key|W}} ist Suchen) nach&lt;br /&gt;
 #PermitRootLogin prohibit-password&lt;br /&gt;
und stellt den Cursor in die Zeile.&amp;lt;br&amp;gt;&lt;br /&gt;
Drückt nun einmal {{Key|F9}} und 2x {{Key|F10}} - damit erstellt Ihr eine Kopie der Zeile.&amp;lt;br&amp;gt;&lt;br /&gt;
Ändert die Kopie wie folgt ab:&amp;lt;br&amp;gt;&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
:[[Datei:ClipCapIt-260513-104318.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Speichert die Datei ({{Key|STRG}} + {{Key|x}}, dann {{Key|y}} und {{Key|Enter}}) und startet den ssh Dienst neu:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl restart ssh.service&lt;br /&gt;
Ab dann klappt es auch mit dem SSH-Login für den Benutzer root, z.B. über &#039;&#039;&#039;puTTY&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt 2x&amp;lt;br&amp;gt;&lt;br /&gt;
 exit&lt;br /&gt;
eintippen wodurch sich das PuTTY Fenster schließt - der (eingeschränkte) Benutzer &#039;&#039;&#039;&#039;&#039;installadmin&#039;&#039;&#039;&#039;&#039; hat sich somit abgemeldet&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis|&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Ja, ich persönlich arbeite gerne als root und habe diesen für die Anmeldung freigeschaltet. Was ich nicht mache ist das Login per SSH mit Passwort zu erlauben. &#039;&#039;&#039;Also das obige {{code|PermitRootLogin}} mache ich explizit nicht!&#039;&#039;&#039;. Ich hinterlege also immer einen SSH-Key für die Anmeldung und nutze diesen statt des Kennwortes. Die Lösung hier ist einfach gehalten, der Profi mögen anpassen wie er es braucht. Ein Anmeldung als eingeschränkter Benutzer geht natürlich auch, das erste was ich dann immer mache ist ein &amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt; um dauerhaft zum root zu wechseln}}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Anmelden als root===&lt;br /&gt;
Startet PuTTY wieder und meldet euch diesmal gleich als Benutzer &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; an.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternativ als der Installationsbenutzer und wechselt per&amp;lt;br&amp;gt;&lt;br /&gt;
 sudo -i&lt;br /&gt;
dauerhaft zum &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===nano &amp;amp; Co auf Deutsch===&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;nano&#039;&#039;&#039;&#039;&#039; war eben z.B. noch auf Englisch, mit&lt;br /&gt;
 apt install -y language-pack-de&lt;br /&gt;
ist es (und vieles andere) auf deutsch.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===root farbiger Prompt===&lt;br /&gt;
Ich nutze gerne den farbigen Prompt, wenn Ihr als normaler Benutzer zu diesem wechselt, sieht man das optisch noch besser das man gewechselt hat.&amp;lt;br&amp;gt;&lt;br /&gt;
Als &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; angemeldet:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano ~/.bashrc&lt;br /&gt;
Zeile 39 ({{Key|Alt}} + {{Key|C}} aktiviert Zeilennummernanzeige):&amp;lt;br&amp;gt;&lt;br /&gt;
 #force_color_prompt=yes&lt;br /&gt;
ändern zu (# entfernen):&amp;lt;br&amp;gt;&lt;br /&gt;
 force_color_prompt=yes&lt;br /&gt;
:[[Datei:ClipCapIt-200521-162422.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Per&amp;lt;br&amp;gt;&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
könnt Ihr das direkt übernehmen.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Bash History aus mehreren Sitzungen gleichzeitig===&lt;br /&gt;
Wenn man mehr als eine SSH Sitzung zum Zabbix-Server hat, gewinnt in der Bash-Histoy die Sitzung von der man sich zuletzt abmeldet.&amp;lt;br&amp;gt;&lt;br /&gt;
Nachfolgende Änderung sorgt dafür das sich alle Sitzungen eine Bash-History teilen, was ich in Session 1 also aufrufe lässt sich sofort danach in Session 2 per Pfeil nach oben oder {{key|STRG}} + {{key|R}} Suche finden.&amp;lt;br&amp;gt;&lt;br /&gt;
Dazu bearbeiten man noch einmal die&amp;lt;br&amp;gt;&lt;br /&gt;
 nano ~/.bashrc&lt;br /&gt;
und hängt ganz unten folgendes an:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# don&#039;t put duplicate lines in the history. See bash(1) for more options&lt;br /&gt;
# ... or force ignoredups and ignorespace&lt;br /&gt;
HISTCONTROL=ignoredups:ignorespace:erasedups&lt;br /&gt;
&lt;br /&gt;
# append to the history file, don&#039;t overwrite it&lt;br /&gt;
shopt -s histappend&lt;br /&gt;
&lt;br /&gt;
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)&lt;br /&gt;
HISTSIZE=50000&lt;br /&gt;
HISTFILESIZE=50000&lt;br /&gt;
&lt;br /&gt;
# After each command, append to the history file&lt;br /&gt;
#  and reread it&lt;br /&gt;
export PROMPT_COMMAND=&amp;quot;${PROMPT_COMMAND:+$PROMPT_COMMAND$&#039;n&#039;}history -a; history -c; history -r&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Damit es sofort aktiv wird wieder&amp;lt;br&amp;gt;&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
Ja, {{code|HISTSIZE}} und {{code|HISTFILESIZE}} stehen nun 2x in der Datei, der letzte Eintrag gewinnt.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Feste IP-Adresse vergeben===&lt;br /&gt;
Der Server hat dank des neuen Setupdialoges nun bereits eine feste IP-Adresse.&amp;lt;br&amp;gt;&lt;br /&gt;
Solltet Ihr an dieser etwas ändern müssen so müssen wir erst das Cloud-Init deaktivieren: &lt;br /&gt;
 nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg&lt;br /&gt;
Inhalt:&lt;br /&gt;
 network: {config: disabled}&lt;br /&gt;
Dann könnte Ihr in der folgenden Datei etwas ändern, die Warnungen das es einen reboot nicht übersteht könnt Ihr ignorieren, dafür haben wir die andere Datei angelegt.&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/netplan/00-installer-config.yaml&lt;br /&gt;
:[[Datei:ClipCapIt-260513-105129.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis| Weiter unten deinstalliere ich Cloud-Init komplett (wenn die VM nicht bei einem Hoster läuft), da könnte man sich diesen Schritt hier sparen}}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Updates einspielen===&lt;br /&gt;
als &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; bzw. zum &#039;&#039;&#039;&#039;&#039;root&#039;&#039;&#039;&#039;&#039; wechseln:&amp;lt;br&amp;gt;&lt;br /&gt;
Ich mache das normalerweise immer als Einzeiler:&amp;lt;br&amp;gt;&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt upgrade -y &amp;amp;&amp;amp; apt autoremove -y&lt;br /&gt;
Das ganze im Detail:&amp;lt;br&amp;gt;&lt;br /&gt;
* Updates suchen für Betriebssystem: (aktualisiert den Katalog aus den Update-Quellen)&lt;br /&gt;
 apt update&lt;br /&gt;
* Updates einspielen:&lt;br /&gt;
 apt upgrade -y&lt;br /&gt;
* Nach Update überflüssige Pakete entfernen:&lt;br /&gt;
 apt autoremove -y&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===VM Integrationsdienste installieren===&lt;br /&gt;
Wenn euer installiertes System eine VM, eine &#039;&#039;&#039;V&#039;&#039;&#039;irtuelle &#039;&#039;&#039;M&#039;&#039;&#039;aschine, ist, solltest Ihr je nach verwendeten Hypervisor die passenden Integrationsdienste installieren:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
====VMware====&lt;br /&gt;
Unter VMware braucht ihr nichts tun, die&lt;br /&gt;
 apt install open-vm-tools&lt;br /&gt;
sind per Default installiert und aktiv. Ist es keine VMware VM, so könnt Ihr die Tools per&lt;br /&gt;
 apt remove open-vm-tools&lt;br /&gt;
entfernen&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
====Hyper-V====&lt;br /&gt;
In den Einstellungen der VM solltet Ihr hier den Haken setzen:&lt;br /&gt;
:[[Datei:ClipCapIt-250527-112648.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
In der VM die folgende Datei bearbeiten:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/initramfs-tools/modules&lt;br /&gt;
und ganz unten die folgenden 4 Zeilen anhängen:&amp;lt;br&amp;gt;&lt;br /&gt;
 hv_vmbus&lt;br /&gt;
 hv_storvsc&lt;br /&gt;
 hv_blkvsc&lt;br /&gt;
 hv_netvsc&lt;br /&gt;
 hv_utils&lt;br /&gt;
Und dann die Tools installieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 apt -y install linux-virtual linux-cloud-tools-virtual linux-tools-virtual&lt;br /&gt;
 update-initramfs -u&lt;br /&gt;
und neu starten:&lt;br /&gt;
 reboot&lt;br /&gt;
Quelle: https://community.veeam.com/blogs-and-podcasts-57/how-to-install-hyper-v-integration-services-in-the-ubuntu-linux-vm-6353&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Proxmox PVE====&lt;br /&gt;
In den Einstellungen der VM den {{code|QEMU Guest Agent}} aktivieren:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260513-105702.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260513-105545.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und dann in der VM die Tools installieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 apt -y install qemu-guest-agent&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Falls die Harwareeinstellung so aussieht wie oben im Bild (mit dem orangenen Text),müssen wir die VM einmal ganz ausschalten und wieder einschalten:&amp;lt;br&amp;gt;&lt;br /&gt;
 shutdown -h now&lt;br /&gt;
Und danach wieder einschalten und neu an SSH anmelden.&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn da nichts orangenes ist, reicht ein reboot.&amp;lt;br&amp;gt;&lt;br /&gt;
Dann seht ihr in der Summary der VM sollte nun die IP-Adresse sichtbar sein:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260513-110008.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Multipathing deinstallieren (wenn der Server eine VM ist)===&lt;br /&gt;
Ab Werk findet man im&lt;br /&gt;
 tail -n 50000 -F /var/log/syslog | grep multipathd&lt;br /&gt;
einige Multipath-Meldungen:&amp;lt;br&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 2026-05-13T09:03:29.804259+00:00 zabbixtest systemd[1]: Starting multipathd.service - Device-Mapper Multipath Device Controller...&lt;br /&gt;
 2026-05-13T09:03:29.804288+00:00 zabbixtest multipathd[735]: multipathd v0.14.3: start up&lt;br /&gt;
 2026-05-13T09:03:29.804291+00:00 zabbixtest multipathd[735]: reconfigure: setting up paths and maps&lt;br /&gt;
 2026-05-13T09:03:29.804294+00:00 zabbixtest systemd[1]: Started multipathd.service - Device-Mapper Multipath Device Controller.&lt;br /&gt;
 2026-05-13T09:03:29.804922+00:00 zabbixtest systemd[1]: Starting multipathd-queueing.service - Enable queuing for multipath maps...&lt;br /&gt;
 2026-05-13T09:03:29.805021+00:00 zabbixtest systemd[1]: Finished multipathd-queueing.service - Enable queuing for multipath maps.&lt;br /&gt;
In einer VM macht Multipath nur in Ausnahmefällen Sinn, also deaktivieren und deinstallieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl stop multipathd.service &amp;amp;&amp;amp; systemctl disable multipathd.service&lt;br /&gt;
 apt install libsgutils2-1.48 sg3-utils sg3-utils-udev&lt;br /&gt;
 apt remove -y multipath-tools &amp;amp;&amp;amp; apt purge -y multipath-tools&lt;br /&gt;
 apt autoremove -y&lt;br /&gt;
Die &amp;lt;code&amp;gt;apt install&amp;lt;/code&amp;gt; Zeile ist da drin weil diese Pakete ggf. von anderen Anleitung vorausgesetzt werden. Die Pakete werden dadurch auf &#039;&#039;&#039;&#039;&#039;manuell installiert&#039;&#039;&#039;&#039;&#039; gesetzt und dann nicht bei einem &amp;lt;code&amp;gt;apt autoremove&amp;lt;/code&amp;gt; deinstalliert. Die Multipath-Bibliotheken habe ich dabei weggelassen.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Cloud-Init deinstallieren (Wenn es keine VM bei einem Cloudanbieter ist)===&lt;br /&gt;
Wenn Ihr die VM reboootet und die Console betrachtet tauchen kurz nach dem Reboot (Fehler-)Meldungen zum Cloud-init auf:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-200521-163633.PNG|150px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Das Cloud-Init ist - wenn ich mich recht erinnere - dafür da falls eure VM z.B. bei Amazon AWS, Azure oder andere Anbieter läuft um z.B. die Netzwerkinformationen vom Hoster/Provider zu erhalten.&amp;lt;br&amp;gt;&lt;br /&gt;
Brauchen wir nicht, also weg damit:&amp;lt;br&amp;gt;&lt;br /&gt;
 echo &#039;datasource_list: [ None ]&#039; | tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg&lt;br /&gt;
 apt purge -y cloud-init&lt;br /&gt;
 rm -rf /etc/cloud/ &amp;amp;&amp;amp; sudo rm -rf /var/lib/cloud/&lt;br /&gt;
 apt install cloud-guest-utils eatmydata libeatmydata1 python-babel-localedata python3-jinja2 python3-jsonpatch python3-jsonschema-specifications python3-passlib python3-rpds-py python3-babel python3-json-pointer python3-jsonschema python3-markupsafe python3-referencing gdisk libjs-sphinxdoc -y&lt;br /&gt;
 apt autoremove -y&lt;br /&gt;
 reboot&lt;br /&gt;
Die &amp;lt;code&amp;gt;apt install&amp;lt;/code&amp;gt; Zeile ist da drin weil diese Pakete ggf. von anderen Anleitung vorausgesetzt werden. Die Pakte werden dadurch auf &#039;&#039;&#039;&#039;&#039;manuell installiert&#039;&#039;&#039;&#039;&#039; gesetzt und dann nicht bei einem &amp;lt;code&amp;gt;apt autoremove&amp;lt;/code&amp;gt; deinstalliert. Insbesondere die {{code|cloud-guest-utils}} wollen wir behalten&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===OpenIPMI und IPMItool deinstallieren===&lt;br /&gt;
{{Hinweis|Scheint ab Ubuntu 26.04 nicht mehr automatisch installiert zu werden!}}&lt;br /&gt;
Bei meinen VMs schlägt der Start dieses Dienstes eh immer fehl (weil es keine passende Hardware gibt), also weg damit:&amp;lt;br&amp;gt;&lt;br /&gt;
 apt remove openipmi ipmitool -y &amp;amp;&amp;amp; apt purge openipmi ipmitool &amp;amp;&amp;amp; apt autoremove -y&lt;br /&gt;
Unter Hyper-V wird das Paket scheinbar nicht automatisch installiert.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Zeitzone setzen===&lt;br /&gt;
In meiner VM ist die Uhrzeit zu diesem Zeitpunkt falsch (gebt mal probeweise &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt; ein) - weil der ESXi- oder Proxmox-Host auf UTC Zeit läuft und Ubuntu in der VM die richtige Zeitzone nicht eingestellt hat.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir korrigieren das mit&amp;lt;br&amp;gt;&lt;br /&gt;
 timedatectl set-timezone Europe/Berlin&lt;br /&gt;
ein&lt;br /&gt;
 date&lt;br /&gt;
sollte dann die richtige Uhrzeit ausspucken.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Zeitserver setzen===&lt;br /&gt;
Es kann Sinnvoll sein, statt externer Zeitserver die eigenen internen zu Nutzen. Eine meiner Prüfungen in meinen Templates ist die Zeitabweichung des Hosts gegenüber dem Zabbix Server. Zum Beispiel in Active Directory-Domänen scheiter die Anmeldung, wenn der Zeitunterschied zwischen Domänencontroller und Client mehr als 15 Minuten beträgt, ab 5 Minuten kann es schon zickig werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Es ist ok wenn alle die gleiche falsche Zeit haben. Ich synchronisiere den Zabbix Servers deshalb gerne mit dem zentralen Domänenkontroller mit der PDC-Rolle.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Hinweis| Wenn Ihr diesen Schritt überspringt, wird {{Key|ntp.ubuntu.com}} als Zeitserver verwendet}}&lt;br /&gt;
Für die Zeitsynchronisierung ist ab Ubuntu 26.04 &#039;&#039;&#039;&#039;&#039;Chrony&#039;&#039;&#039;&#039;&#039; zuständig, über das erstellen der Datei&lt;br /&gt;
nano /etc/chrony/sources.d/local-ntp-server.sources&lt;br /&gt;
Können wir eigene Zeitserver hinzufügen (für jeden Server eine solche Zeile):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source &amp;quot;lang=bash&amp;quot;&amp;gt;&lt;br /&gt;
server 192.168.1.81 iburst&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Nach der Änderung müssen wir &#039;&#039;&#039;&#039;&#039;&#039;chrony&#039;&#039;&#039;&#039;&#039; das neu laden lassen:&amp;lt;br&amp;gt;&lt;br /&gt;
 chronyc reload sources&lt;br /&gt;
und mit folgenden Befehl könnt Ihr den Status abfragen:&amp;lt;br&amp;gt;&lt;br /&gt;
 timedatectl status&lt;br /&gt;
Beispielausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
                Local time: Mi 2026-05-13 11:21:27 CEST&lt;br /&gt;
            Universal time: Mi 2026-05-13 09:21:27 UTC&lt;br /&gt;
                  RTC time: Mi 2026-05-13 09:21:26&lt;br /&gt;
                 Time zone: Europe/Berlin (CEST, +0200)&lt;br /&gt;
 System clock synchronized: yes&lt;br /&gt;
               NTP service: active&lt;br /&gt;
           RTC in local TZ: no&lt;br /&gt;
Die verwendeten Zeitquellen seht Ihr per&amp;lt;br&amp;gt;&lt;br /&gt;
 chronyc sources&lt;br /&gt;
Beispielausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 MS Name/IP address         Stratum Poll Reach LastRx Last sample&lt;br /&gt;
 ===============================================================================&lt;br /&gt;
 ^* ntp-nts-2.ps5.canonical.&amp;gt;     2   6    17    27  -2075us[-2480us] +/-   21ms&lt;br /&gt;
 ^? DC81.znil.local               4   6    17    27  -1255us[-1660us] +/-   46ms&lt;br /&gt;
 ^+ ntp-nts-3.ps5.canonical.&amp;gt;     2   6    17    28   +206us[ -199us] +/-   19ms&lt;br /&gt;
 ^- ntp-nts-2.ps6.canonical.&amp;gt;     2   6    17    28  +7728us[+7323us] +/-   81ms&lt;br /&gt;
 ^- ntp-nts-3.ps6.canonical.&amp;gt;     2   6    17    27  +1970us[+1565us] +/-   78ms&lt;br /&gt;
 ^- ntp-nts-1.ps5.canonical.&amp;gt;     2   6    17    28    +93us[ -312us] +/-   18ms&lt;br /&gt;
Und welche er letztendlich genommen hat mit&amp;lt;br&amp;gt;&lt;br /&gt;
 chronyc tracking&lt;br /&gt;
Beispielausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Reference ID    : B97DBE7B (ntp-nts-3.ps5.canonical.com)&lt;br /&gt;
 Stratum         : 3&lt;br /&gt;
 Ref time (UTC)  : Wed May 13 09:25:28 2026&lt;br /&gt;
 System time     : 0.000000546 seconds slow of NTP time&lt;br /&gt;
 Last offset     : +0.000948038 seconds&lt;br /&gt;
 RMS offset      : 0.000487364 seconds&lt;br /&gt;
 Frequency       : 9.203 ppm slow&lt;br /&gt;
 Residual freq   : +7.510 ppm&lt;br /&gt;
 Skew            : 2.559 ppm&lt;br /&gt;
 Root delay      : 0.033688802 seconds&lt;br /&gt;
 Root dispersion : 0.001197023 seconds&lt;br /&gt;
 Update interval : 64.1 seconds&lt;br /&gt;
 Leap status     : Normal&lt;br /&gt;
Wie man sieht, nimmt er einen externen. Wenn wir aber den internen Erzwingen wollen, müssen wir die anderen Quellen auskommentieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/chrony/sources.d/ubuntu-ntp-pools.sources&lt;br /&gt;
und vor alle {{code|pool}} Zeilen ein {{code|#}} davor setzen:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260513-113129.PNG|300px]]&amp;lt;br&amp;gt;&lt;br /&gt;
Den Dienst einmal neu starten (statt reloaden, damit er schneller wieder synced):&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl restart chrony.service&lt;br /&gt;
und den Status prüfen bis in der letzten Zeile {{code|Leap status : Normal}} steht:&amp;lt;br&amp;gt;&lt;br /&gt;
 Reference ID    : C0A80151 (DC81.znil.local)&lt;br /&gt;
 Stratum         : 5&lt;br /&gt;
 Ref time (UTC)  : Wed May 13 09:32:15 2026&lt;br /&gt;
 System time     : 0.000017215 seconds fast of NTP time&lt;br /&gt;
 Last offset     : +0.000032023 seconds&lt;br /&gt;
 RMS offset      : 0.000032023 seconds&lt;br /&gt;
 Frequency       : 10.343 ppm slow&lt;br /&gt;
 Residual freq   : +1.266 ppm&lt;br /&gt;
 Skew            : 31.972 ppm&lt;br /&gt;
 Root delay      : 0.026105130 seconds&lt;br /&gt;
 Root dispersion : 0.038228851 seconds&lt;br /&gt;
 Update interval : 2.0 seconds&lt;br /&gt;
 Leap status     : Normal&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Automatische Updates deaktivieren===&lt;br /&gt;
Ich persönlich möchte nicht das der Zabbix-Server automatisch Updates einspielt.&amp;lt;br&amp;gt;&lt;br /&gt;
Die automatischen Updates aktualisieren - soweit ich das beobachten konnte - nur den Kernel. Aber auch das möchte ich nicht. Ich möchte das geplant durchführen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die automatischen Updates verhindern wir mit&amp;lt;br&amp;gt;&lt;br /&gt;
 apt remove -y unattended-upgrades&lt;br /&gt;
Wer möchte kann auch die Suche nach Updates deaktivieren. Ansonsten schaut das Ubuntu täglich an einem zufälligen Zeitpunkt nach, ob es Updates gibt. Bei der Anmeldung per SSH erhält man dann eine entsprechende Meldung. Deaktivieren kann man die automatsche Suche danach per&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/apt/apt.conf.d/20auto-upgrades&lt;br /&gt;
und in der Datei beide Optionen auf {{code|0}} setzen:&amp;lt;br&amp;gt;&lt;br /&gt;
 APT::Periodic::Update-Package-Lists &amp;quot;0&amp;quot;;&lt;br /&gt;
 APT::Periodic::Unattended-Upgrade &amp;quot;0&amp;quot;;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Automatischen Neustart von Diensten bei Updates deaktivieren===&lt;br /&gt;
Wie schon zuvor beschrieben aktualisiere ich Ubuntu (und andere Software aus Repos) gerne per folgenden Einzeiler:&lt;br /&gt;
 apt update &amp;amp;&amp;amp; apt upgrade -y &amp;amp;&amp;amp; apt autoremove -y&lt;br /&gt;
In neueren Ubunti Versionen werden dabei Dienste ggf. automatische neu gestartet (wenn man den Einzeiler nimmt!), es gibt dann eine Meldung wie diese:&lt;br /&gt;
 systemctl restart apache2.service cron.service fwupd.service mariadb.service open-vm-tools.service packagekit.service polkit.service rsyslog.service snmptrapd.service snmptt.service udisks2.service upower.service vgauth.service zabbix-agent2.service zabbix-web-service.service&lt;br /&gt;
 &lt;br /&gt;
 Dienste deren Neustart verschoben wurde:&lt;br /&gt;
  systemctl restart ModemManager.service&lt;br /&gt;
  /etc/needrestart/restart.d/dbus.service&lt;br /&gt;
  systemctl restart getty@tty1.service&lt;br /&gt;
  systemctl restart systemd-logind.service&lt;br /&gt;
Im Normalfall ist es kein Problem. Allerdings scheinen die Abhängigkeiten der Dienste nicht beachtet zu werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Ist zum Beispiel ein Dienst abhängig von der Datenbank / MySQL|MariaDB, das steht auch so in der &amp;lt;code&amp;gt;/usr/lib/systemd/system/namedesdienstes.service&amp;lt;/code&amp;gt;:&lt;br /&gt;
 After=mysql.service&lt;br /&gt;
 After=mysqld.service&lt;br /&gt;
 After=mariadb.service&lt;br /&gt;
Der automatische Neustart startet aber z.B. MariaDB gnadenlos durch ohne vorher abhängige Dienste zu beenden. Schön ist das nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Als Lösung schalte ich inzwischen den automatischen Neustart der Dienste ab, es wird dann nur eine Liste der Dienste ausgegeben die neu gestartet werden müssten:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/needrestart/needrestart.conf&lt;br /&gt;
und dort ziemlich am Anfang ab Zeile 33:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Restart mode: (l)ist only, (i)nteractive or (a)utomatically.&lt;br /&gt;
#&lt;br /&gt;
# ATTENTION: If needrestart is configured to run in interactive mode but is run&lt;br /&gt;
# non-interactive (i.e. unattended-upgrades) it will fallback to list only mode.&lt;br /&gt;
#&lt;br /&gt;
# UBUNTU: the default restart mode when running as part of the APT hook is &#039;a&#039;,&lt;br /&gt;
# unless a specific UI is configured (see below).&lt;br /&gt;
#$nrconf{restart} = &#039;i&#039;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Bei der letzten Zeile 40 entfernen wir das Kommentarzeichen davor und machen aus dem &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; ein &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;, wie es auch in der obersten Zeile beschrieben wird:&lt;br /&gt;
 $nrconf{restart} = &#039;l&#039;;&lt;br /&gt;
So werden notwendige Neustarts nur aufgelistet. Diese kann man dann von Hand neu starten oder einfach das ganze System rebooten.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15988</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15988"/>
		<updated>2026-05-19T14:33:02Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Installation Grundsystem mit Verschlüsselung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--{{AchtungBaustelle}}--&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn Ihr euch das anseht, seht Ihr das die zweite Festplatte beim Booten dadurch entsperrt wird, das eine Schlüsseldatei im Dateisystem der ersten Festplatte genutzt wird.&amp;lt;br&amp;gt;&lt;br /&gt;
Ist das denn sicher? Naja, die Datei liegt im verschlüsselten Dateisystem der ersten Festplatte welches Ihr zuerst entsperren müsst. Ist also so sicher wie die erste Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In dieser ersten Version nutze ich beim Bootlaufwerk LVM, auch wenn ich das sonst nicht tue. Grund ist das ich keinen - noch - einfachen Weg gefunden habe, die Verschlüsselung ohne LVM einzurichten.&amp;lt;br&amp;gt;&lt;br /&gt;
So geht es direkt im Setup-Dialog.&amp;lt;br&amp;gt;&lt;br /&gt;
Bei der zweiten Festplatte wird auch LVM genutzt - da müsste es ggf. auch ohne gehen wie mir beim erstellen des Artikels aufgefallen ist. Ein Lösung ohne LVM schiebe ich vielleicht noch nach.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-095403.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort!&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
{{Hinweis|Achtet beim Passwort auf die Sonderzeichen! Ein &#039;&#039;&#039;&amp;amp;&#039;&#039;&#039; machte bei mir Probleme in der VM-Konsole. Eigentlich ist die Belegung an dieser Stelle ja Deutsch, bei mir gab es im ersten Anlauf keine Probleme, in den Versuchen danach aber dann doch. Ich habe dann erst ein anderes Kennwort genommen und das gewünschte später als 2. dazu genommen}}&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;29.980G&#039;&#039;&#039; nur &#039;&#039;&#039;14.988G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.992G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260519-163257.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102659.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-103407.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Kontrolle nach dem Neustart=&lt;br /&gt;
Nach dem Reboot habe ich mich angemeldet und bin zum {{code|root}} gewechselt.&amp;lt;br&amp;gt;&lt;br /&gt;
Meine Mappings sehen nun so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
 df -h&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Dateisystem                       Größe Benutzt Verf. Verw% Eingehängt auf&lt;br /&gt;
 tmpfs                              329M   1008K  328M    1% /run&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-cryptsetup@dm_crypt\x2d0.service&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;/dev/mapper/ubuntu--vg-ubuntu--lv   30G    5,2G   23G   19% /&amp;lt;/span&amp;gt;&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /dev/shm&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-journald.service&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /tmp&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-resolved.service&lt;br /&gt;
 /dev/sda2                          2,0G    186M  1,7G   11% /boot&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-networkd.service&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/getty@tty1.service&lt;br /&gt;
 tmpfs                              165M    8,0K  165M    1% /run/user/1000&lt;br /&gt;
Im LVM gibt es nur die eine Volume Group mit der 32G Festplatte:&amp;lt;br&amp;gt;&lt;br /&gt;
 vgs&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
   VG        #PV #LV #SN Attr   VSize  VFree&lt;br /&gt;
   ubuntu-vg   1   1   0 wz--n- 29,98g    0&lt;br /&gt;
Die zweite. noch leere Festplatte ist die {{code|/dev/sdb}}:&amp;lt;br&amp;gt;&lt;br /&gt;
 fdisk -l&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/sda: 32 GiB, 34359738368 Bytes, 67108864 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Festplattenmodell: QEMU HARDDISK&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 Festplattenbezeichnungstyp: gpt&lt;br /&gt;
 Festplattenbezeichner: 357E98E9-94AA-4982-8244-AB5A910BC31A&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Gerät       Anfang     Ende Sektoren Größe Typ&#039;&#039;&#039;&lt;br /&gt;
 /dev/sda1     2048     4095     2048    1M BIOS boot&lt;br /&gt;
 /dev/sda2     4096  4198399  4194304    2G Linux-Dateisystem&lt;br /&gt;
 /dev/sda3  4198400 67106815 62908416   30G Linux-Dateisystem&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;&#039;&#039;&#039;Festplatte /dev/sdb: 512 GiB, 549755813888 Bytes, 1073741824 Sektoren&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Festplattenmodell: QEMU HARDDISK&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Einheiten: Sektoren von 1 * 512 = 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/dm_crypt-0: 29,98 GiB, 32192331776 Bytes, 62875648 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/ubuntu--vg-ubuntu--lv: 29,98 GiB, 32191283200 Bytes, 62873600 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
Diese 512G Festplatte möchte ich nun als verschlüsseltes Laufwerk nach {{code|/opt}} mounten.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Zweite Festplatte verschlüsseln und einbinden=&lt;br /&gt;
{{Hinweis|Ich verschlüssle hier direkt das ganze Laufwerk, nicht nur die Partition. Zudem richte ich eine separate LVM Gruppe ein . so kann man diese später auch leichter entfernen oder ersetzen}}&lt;br /&gt;
Als {{code|root}}:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksFormat /dev/sdb&lt;br /&gt;
Bestätigen und eine Passphrase festlegen:&amp;lt;br&amp;gt;&lt;br /&gt;
 WARNUNG!&lt;br /&gt;
 ========&lt;br /&gt;
 Hiermit werden die Daten auf »/dev/sdb« unwiderruflich überschrieben.&lt;br /&gt;
 &lt;br /&gt;
 Sind Sie sicher? (Tippen Sie &#039;yes&#039; in Großbuchstaben): YES&lt;br /&gt;
 Geben Sie die Passphrase für »/dev/sdb« ein:&lt;br /&gt;
 Passphrase bestätigen:&lt;br /&gt;
Jetzt die verschlüsselte Partition öffnen:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksOpen /dev/sdb luks_sdb&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie die Passphrase für »/dev/sdb« ein:&lt;br /&gt;
Das entschlüsselte Laufwerk steht nun als&amp;lt;br&amp;gt;&lt;br /&gt;
 /dev/mapper/luks_sdb&lt;br /&gt;
zur Verfügung. Die Bezeichnung {{code|luks_sdb}} ist frei wählbar.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt können wir {{luks_sdb}} nutzen um es mit LVM zu konfigurieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 pvcreate /dev/mapper/luks_sdb&lt;br /&gt;
 vgcreate &#039;&#039;&#039;vg_luks_sdb&#039;&#039;&#039; /dev/mapper/luks_sdb&lt;br /&gt;
 lvcreate -n &#039;&#039;&#039;lv_opt&#039;&#039;&#039; -l100%VG &#039;&#039;&#039;vg_luks_sdb&#039;&#039;&#039;&lt;br /&gt;
 mkfs.ext4 /dev/vg_luks_sdb/lv_opt&lt;br /&gt;
Der Name der Volume Group {{code|vg_luks_sdb}} und des Logical Volume {{code|lv_opt}} sind wiederum frei wählbar, aber die Pfade/Parameter müsst Ihr dann an eure Bezeichnungen anpassen.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir könnten jetzt {{code|lv_opt}} bereits an das leere Verzeichnis {{code|/opt}} mounten, aber wir wollen ja das dies beim booten automatisch geschieht.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Automatischen Mount beim Start einrichten=&lt;br /&gt;
Im Moment wird {{code|/dev/sdb}} nur per Passwort entsperrt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir richten jetzt zusätzlich ein das man das Laufwerk per Schlüssel aus einer Datei entsperren kann.&amp;lt;br&amp;gt;&lt;br /&gt;
Zuerst ein Verzeichnis in welchen wir den Schlüssel ablegen. Diese muss auf der bestehenden verschlüsselten Festplatte liegen:&amp;lt;br&amp;gt;&lt;br /&gt;
 mkdir /etc/luks&lt;br /&gt;
Jetzt die Schlüsseldatei. Die enthält nichts weiter als einen String. Der nachfolgende Befehl erzeugt eine 4 Kilobyte große zufällige Datei {{code|luks_sdb.key}},&amp;lt;br&amp;gt;&lt;br /&gt;
 dd if=/dev/urandom of=/etc/luks/luks_sdb.key bs=512 count=8&lt;br /&gt;
Die Datei schützen gegen Zugriff:&amp;lt;br&amp;gt;&lt;br /&gt;
 chmod 0400 /etc/luks/luks_sdb&lt;br /&gt;
Und jetzt die Datei als Entschlüsselungsmethode dem verschlüsselten Laufwerk {{code|/dev/sdb}} hinzufügen:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup -v luksAddKey /dev/sdb /etc/luks/luks_sdb.key&lt;br /&gt;
Beispielausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie irgendeine bestehende Passphrase ein:&lt;br /&gt;
 Schlüsselfach 0 entsperrt.&lt;br /&gt;
 Schlüsselfach 2 erstellt.&lt;br /&gt;
 Befehl erfolgreich.&lt;br /&gt;
0 war das Passwort, nach 2 wurde der Key gespeichert. Unter 1 habe ich eine 2. Passphrase gespeichert.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Dienst für das Entsperren erstellen==&lt;br /&gt;
Jetzt richten wir einen Dienst ein der beim Booten das Laufwerk {{code|/dev/sdb}} mit diesem Key entsperrt:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
Inhalt:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb.key&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n vg_luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Der Dienst wartet auf die Verfügbarkeit des Gerätes {{code|dev-sdb.devive}}, das wird automatisch vom System zur Verfügung gestellt.&amp;lt;br&amp;gt;&lt;br /&gt;
Unter {{code|ExecStart}} wird die Festplatte dann entschlüsselt mit dem erzeugten Key.&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|ExecStartPost}} veranlasst den LVM neu nachzusehen ob es da neue Laufwerke gibt und bindet diese ein,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|ExecStop}} hängt das Volume beim herunterfahren wieder aus und beendet den Zugriff&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Den Dienst starten wir jetzt aber nicht und setzen diesen auch nicht auf einen automatischen Start.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir richten einen zweiten Dienst ein der dann das Logical Volume mappt, dieser wird den Dienst für die Entschlüsselung dann aufrufen.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Dienst für das Mapping / Mounten erstellen==&lt;br /&gt;
Für den zweiten Dienst ist es wichtig, wohin wir mounten wollen.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich möchte die Festplatte unter&lt;br /&gt;
 /opt&lt;br /&gt;
einhängen. Der Mountpoint muss sich zwingend im Namen des Dienstes widerspiegeln, in diesem Fall muss die Datei&amp;lt;br&amp;gt;&lt;br /&gt;
 /etc/systemd/system/opt.mount&lt;br /&gt;
heißen. Wäre der Mountpoint {{code|/mnt/meineDisk}} so müsste die Datei {{code|/etc/systemd/system/mnt-meineDisk.mount}} heißen!&amp;lt;br&amp;gt;&lt;br /&gt;
Wir erstellen also die Datei:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
mit folgendem Inhalt:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# //dev/vg_luks_sdb/lv_opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount lv_luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/vg_luks_sdb/lv_opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Testen!==&lt;br /&gt;
Wir lassen &#039;&#039;&#039;systemctl&#039;&#039;&#039; die Dienste neu einlesen:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
und beenden das Logical Volume und entladen das verschlüsselte Laufwerk:&amp;lt;br&amp;gt;&lt;br /&gt;
 /usr/sbin/vgchange -a n vg_luks_sdb&lt;br /&gt;
 /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
Jetzt starten wir zum Test den Dienst für das Mounten:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl start opt.mount&lt;br /&gt;
Wenn alles klappt, dauert es ein paar Sekunden und der Prompt kehrt zurück.&amp;lt;br&amp;gt;&lt;br /&gt;
Bei&amp;lt;br&amp;gt;&lt;br /&gt;
 df -h&lt;br /&gt;
sieht es nun so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
 Dateisystem                       Größe Benutzt Verf. Verw% Eingehängt auf&lt;br /&gt;
 tmpfs                              329M    1,1M  328M    1% /run&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-cryptsetup@dm_crypt\x2d0.service&lt;br /&gt;
 /dev/mapper/ubuntu--vg-ubuntu--lv   30G    5,2G   23G   19% /&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /dev/shm&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-journald.service&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /tmp&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-resolved.service&lt;br /&gt;
 /dev/sda2                          2,0G    186M  1,7G   11% /boot&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-networkd.service&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/getty@tty1.service&lt;br /&gt;
 tmpfs                              165M    8,0K  165M    1% /run/user/1000&lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;/dev/mapper/vg_luks_sdb-lv_opt     503G    2,1M  478G    1% /opt&amp;lt;/span&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Jetzt können wir den Dienst aktivieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl enable opt.mount&lt;br /&gt;
und das System einmal neu starten und kontrollieren ob es auch noch einem Reboot vorhanden ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Das sollte so sein, ich habe eine Weile gebraucht bis ich das hinbekommen hatte - die Lösung war das der Dienst zum entperren auf das Device wartet.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Weitere Passphrasen für das Entsperren angeben=&lt;br /&gt;
Wer will kann weitere Passphrasen für das Bootlaufwerk angeben, diese funktionieren dann alle gleichberechtigt.&amp;lt;br&amp;gt;&lt;br /&gt;
Kann auch als Trick genutzt werden wenn es Probleme mit der Tastaturbelegung gibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Als {{code|root}}&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
Dann fragt er ein bestehendes und dann 2 mal das neue Kennwort ab:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie irgendeine bestehende Passphrase ein:&lt;br /&gt;
 Geben Sie die neue Passphrase für das Schlüsselfach ein:&lt;br /&gt;
 Passphrase bestätigen:&lt;br /&gt;
Und in Zukunft kann auch dieses Kennwort genutzt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Verschlüsselte Festplatten Festplatten nachträglich vergrößern=&lt;br /&gt;
Dazu nutze ich ein Skript das ihr hier findet:&amp;lt;br&amp;gt;&lt;br /&gt;
* [[Linux VM Festplatte im laufenden Betrieb vergrößern Universalskript mit und ohne LVM oder LUKS]]&lt;br /&gt;
Einfach die Festplatte im Hypervisor vergrößern, egal ob die Boot-Festplatte oder weitere Laufwerke und dann das Skript einmal laufen lassen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;br /&gt;
----&lt;br /&gt;
=Kommentare=&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Datei:ClipCapIt-260519-163257.PNG&amp;diff=15987</id>
		<title>Datei:ClipCapIt-260519-163257.PNG</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Datei:ClipCapIt-260519-163257.PNG&amp;diff=15987"/>
		<updated>2026-05-19T14:32:58Z</updated>

		<summary type="html">&lt;p&gt;BLinz: Direkt aus der Zwischenablage hochgeladen Kategorie:ClipUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Direkt aus der Zwischenablage hochgeladen [[Kategorie:ClipUpload]]&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15986</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15986"/>
		<updated>2026-05-18T12:06:12Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Vorwort */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--{{AchtungBaustelle}}--&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn Ihr euch das anseht, seht Ihr das die zweite Festplatte beim Booten dadurch entsperrt wird, das eine Schlüsseldatei im Dateisystem der ersten Festplatte genutzt wird.&amp;lt;br&amp;gt;&lt;br /&gt;
Ist das denn sicher? Naja, die Datei liegt im verschlüsselten Dateisystem der ersten Festplatte welches Ihr zuerst entsperren müsst. Ist also so sicher wie die erste Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In dieser ersten Version nutze ich beim Bootlaufwerk LVM, auch wenn ich das sonst nicht tue. Grund ist das ich keinen - noch - einfachen Weg gefunden habe, die Verschlüsselung ohne LVM einzurichten.&amp;lt;br&amp;gt;&lt;br /&gt;
So geht es direkt im Setup-Dialog.&amp;lt;br&amp;gt;&lt;br /&gt;
Bei der zweiten Festplatte wird auch LVM genutzt - da müsste es ggf. auch ohne gehen wie mir beim erstellen des Artikels aufgefallen ist. Ein Lösung ohne LVM schiebe ich vielleicht noch nach.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-095403.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort!&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
{{Hinweis|Achtet beim Passwort auf die Sonderzeichen! Ein &#039;&#039;&#039;&amp;amp;&#039;&#039;&#039; machte bei mir Probleme in der VM-Konsole. Eigentlich ist die Belegung an dieser Stelle ja Deutsch, bei mir gab es im ersten Anlauf keine Probleme, in den Versuchen danach aber dann doch. Ich habe dann erst ein anderes Kennwort genommen und das gewünschte später als 2. dazu genommen}}&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;29.980G&#039;&#039;&#039; nur &#039;&#039;&#039;14.988G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.992G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102659.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-103407.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Kontrolle nach dem Neustart=&lt;br /&gt;
Nach dem Reboot habe ich mich angemeldet und bin zum {{code|root}} gewechselt.&amp;lt;br&amp;gt;&lt;br /&gt;
Meine Mappings sehen nun so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
 df -h&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Dateisystem                       Größe Benutzt Verf. Verw% Eingehängt auf&lt;br /&gt;
 tmpfs                              329M   1008K  328M    1% /run&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-cryptsetup@dm_crypt\x2d0.service&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;/dev/mapper/ubuntu--vg-ubuntu--lv   30G    5,2G   23G   19% /&amp;lt;/span&amp;gt;&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /dev/shm&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-journald.service&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /tmp&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-resolved.service&lt;br /&gt;
 /dev/sda2                          2,0G    186M  1,7G   11% /boot&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-networkd.service&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/getty@tty1.service&lt;br /&gt;
 tmpfs                              165M    8,0K  165M    1% /run/user/1000&lt;br /&gt;
Im LVM gibt es nur die eine Volume Group mit der 32G Festplatte:&amp;lt;br&amp;gt;&lt;br /&gt;
 vgs&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
   VG        #PV #LV #SN Attr   VSize  VFree&lt;br /&gt;
   ubuntu-vg   1   1   0 wz--n- 29,98g    0&lt;br /&gt;
Die zweite. noch leere Festplatte ist die {{code|/dev/sdb}}:&amp;lt;br&amp;gt;&lt;br /&gt;
 fdisk -l&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/sda: 32 GiB, 34359738368 Bytes, 67108864 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Festplattenmodell: QEMU HARDDISK&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 Festplattenbezeichnungstyp: gpt&lt;br /&gt;
 Festplattenbezeichner: 357E98E9-94AA-4982-8244-AB5A910BC31A&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Gerät       Anfang     Ende Sektoren Größe Typ&#039;&#039;&#039;&lt;br /&gt;
 /dev/sda1     2048     4095     2048    1M BIOS boot&lt;br /&gt;
 /dev/sda2     4096  4198399  4194304    2G Linux-Dateisystem&lt;br /&gt;
 /dev/sda3  4198400 67106815 62908416   30G Linux-Dateisystem&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;&#039;&#039;&#039;Festplatte /dev/sdb: 512 GiB, 549755813888 Bytes, 1073741824 Sektoren&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Festplattenmodell: QEMU HARDDISK&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Einheiten: Sektoren von 1 * 512 = 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/dm_crypt-0: 29,98 GiB, 32192331776 Bytes, 62875648 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/ubuntu--vg-ubuntu--lv: 29,98 GiB, 32191283200 Bytes, 62873600 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
Diese 512G Festplatte möchte ich nun als verschlüsseltes Laufwerk nach {{code|/opt}} mounten.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Zweite Festplatte verschlüsseln und einbinden=&lt;br /&gt;
{{Hinweis|Ich verschlüssle hier direkt das ganze Laufwerk, nicht nur die Partition. Zudem richte ich eine separate LVM Gruppe ein . so kann man diese später auch leichter entfernen oder ersetzen}}&lt;br /&gt;
Als {{code|root}}:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksFormat /dev/sdb&lt;br /&gt;
Bestätigen und eine Passphrase festlegen:&amp;lt;br&amp;gt;&lt;br /&gt;
 WARNUNG!&lt;br /&gt;
 ========&lt;br /&gt;
 Hiermit werden die Daten auf »/dev/sdb« unwiderruflich überschrieben.&lt;br /&gt;
 &lt;br /&gt;
 Sind Sie sicher? (Tippen Sie &#039;yes&#039; in Großbuchstaben): YES&lt;br /&gt;
 Geben Sie die Passphrase für »/dev/sdb« ein:&lt;br /&gt;
 Passphrase bestätigen:&lt;br /&gt;
Jetzt die verschlüsselte Partition öffnen:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksOpen /dev/sdb luks_sdb&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie die Passphrase für »/dev/sdb« ein:&lt;br /&gt;
Das entschlüsselte Laufwerk steht nun als&amp;lt;br&amp;gt;&lt;br /&gt;
 /dev/mapper/luks_sdb&lt;br /&gt;
zur Verfügung. Die Bezeichnung {{code|luks_sdb}} ist frei wählbar.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt können wir {{luks_sdb}} nutzen um es mit LVM zu konfigurieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 pvcreate /dev/mapper/luks_sdb&lt;br /&gt;
 vgcreate &#039;&#039;&#039;vg_luks_sdb&#039;&#039;&#039; /dev/mapper/luks_sdb&lt;br /&gt;
 lvcreate -n &#039;&#039;&#039;lv_opt&#039;&#039;&#039; -l100%VG &#039;&#039;&#039;vg_luks_sdb&#039;&#039;&#039;&lt;br /&gt;
 mkfs.ext4 /dev/vg_luks_sdb/lv_opt&lt;br /&gt;
Der Name der Volume Group {{code|vg_luks_sdb}} und des Logical Volume {{code|lv_opt}} sind wiederum frei wählbar, aber die Pfade/Parameter müsst Ihr dann an eure Bezeichnungen anpassen.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir könnten jetzt {{code|lv_opt}} bereits an das leere Verzeichnis {{code|/opt}} mounten, aber wir wollen ja das dies beim booten automatisch geschieht.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Automatischen Mount beim Start einrichten=&lt;br /&gt;
Im Moment wird {{code|/dev/sdb}} nur per Passwort entsperrt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir richten jetzt zusätzlich ein das man das Laufwerk per Schlüssel aus einer Datei entsperren kann.&amp;lt;br&amp;gt;&lt;br /&gt;
Zuerst ein Verzeichnis in welchen wir den Schlüssel ablegen. Diese muss auf der bestehenden verschlüsselten Festplatte liegen:&amp;lt;br&amp;gt;&lt;br /&gt;
 mkdir /etc/luks&lt;br /&gt;
Jetzt die Schlüsseldatei. Die enthält nichts weiter als einen String. Der nachfolgende Befehl erzeugt eine 4 Kilobyte große zufällige Datei {{code|luks_sdb.key}},&amp;lt;br&amp;gt;&lt;br /&gt;
 dd if=/dev/urandom of=/etc/luks/luks_sdb.key bs=512 count=8&lt;br /&gt;
Die Datei schützen gegen Zugriff:&amp;lt;br&amp;gt;&lt;br /&gt;
 chmod 0400 /etc/luks/luks_sdb&lt;br /&gt;
Und jetzt die Datei als Entschlüsselungsmethode dem verschlüsselten Laufwerk {{code|/dev/sdb}} hinzufügen:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup -v luksAddKey /dev/sdb /etc/luks/luks_sdb.key&lt;br /&gt;
Beispielausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie irgendeine bestehende Passphrase ein:&lt;br /&gt;
 Schlüsselfach 0 entsperrt.&lt;br /&gt;
 Schlüsselfach 2 erstellt.&lt;br /&gt;
 Befehl erfolgreich.&lt;br /&gt;
0 war das Passwort, nach 2 wurde der Key gespeichert. Unter 1 habe ich eine 2. Passphrase gespeichert.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Dienst für das Entsperren erstellen==&lt;br /&gt;
Jetzt richten wir einen Dienst ein der beim Booten das Laufwerk {{code|/dev/sdb}} mit diesem Key entsperrt:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
Inhalt:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb.key&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n vg_luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Der Dienst wartet auf die Verfügbarkeit des Gerätes {{code|dev-sdb.devive}}, das wird automatisch vom System zur Verfügung gestellt.&amp;lt;br&amp;gt;&lt;br /&gt;
Unter {{code|ExecStart}} wird die Festplatte dann entschlüsselt mit dem erzeugten Key.&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|ExecStartPost}} veranlasst den LVM neu nachzusehen ob es da neue Laufwerke gibt und bindet diese ein,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|ExecStop}} hängt das Volume beim herunterfahren wieder aus und beendet den Zugriff&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Den Dienst starten wir jetzt aber nicht und setzen diesen auch nicht auf einen automatischen Start.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir richten einen zweiten Dienst ein der dann das Logical Volume mappt, dieser wird den Dienst für die Entschlüsselung dann aufrufen.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Dienst für das Mapping / Mounten erstellen==&lt;br /&gt;
Für den zweiten Dienst ist es wichtig, wohin wir mounten wollen.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich möchte die Festplatte unter&lt;br /&gt;
 /opt&lt;br /&gt;
einhängen. Der Mountpoint muss sich zwingend im Namen des Dienstes widerspiegeln, in diesem Fall muss die Datei&amp;lt;br&amp;gt;&lt;br /&gt;
 /etc/systemd/system/opt.mount&lt;br /&gt;
heißen. Wäre der Mountpoint {{code|/mnt/meineDisk}} so müsste die Datei {{code|/etc/systemd/system/mnt-meineDisk.mount}} heißen!&amp;lt;br&amp;gt;&lt;br /&gt;
Wir erstellen also die Datei:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
mit folgendem Inhalt:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# //dev/vg_luks_sdb/lv_opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount lv_luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/vg_luks_sdb/lv_opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Testen!==&lt;br /&gt;
Wir lassen &#039;&#039;&#039;systemctl&#039;&#039;&#039; die Dienste neu einlesen:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
und beenden das Logical Volume und entladen das verschlüsselte Laufwerk:&amp;lt;br&amp;gt;&lt;br /&gt;
 /usr/sbin/vgchange -a n vg_luks_sdb&lt;br /&gt;
 /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
Jetzt starten wir zum Test den Dienst für das Mounten:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl start opt.mount&lt;br /&gt;
Wenn alles klappt, dauert es ein paar Sekunden und der Prompt kehrt zurück.&amp;lt;br&amp;gt;&lt;br /&gt;
Bei&amp;lt;br&amp;gt;&lt;br /&gt;
 df -h&lt;br /&gt;
sieht es nun so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
 Dateisystem                       Größe Benutzt Verf. Verw% Eingehängt auf&lt;br /&gt;
 tmpfs                              329M    1,1M  328M    1% /run&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-cryptsetup@dm_crypt\x2d0.service&lt;br /&gt;
 /dev/mapper/ubuntu--vg-ubuntu--lv   30G    5,2G   23G   19% /&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /dev/shm&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-journald.service&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /tmp&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-resolved.service&lt;br /&gt;
 /dev/sda2                          2,0G    186M  1,7G   11% /boot&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-networkd.service&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/getty@tty1.service&lt;br /&gt;
 tmpfs                              165M    8,0K  165M    1% /run/user/1000&lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;/dev/mapper/vg_luks_sdb-lv_opt     503G    2,1M  478G    1% /opt&amp;lt;/span&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Jetzt können wir den Dienst aktivieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl enable opt.mount&lt;br /&gt;
und das System einmal neu starten und kontrollieren ob es auch noch einem Reboot vorhanden ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Das sollte so sein, ich habe eine Weile gebraucht bis ich das hinbekommen hatte - die Lösung war das der Dienst zum entperren auf das Device wartet.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Weitere Passphrasen für das Entsperren angeben=&lt;br /&gt;
Wer will kann weitere Passphrasen für das Bootlaufwerk angeben, diese funktionieren dann alle gleichberechtigt.&amp;lt;br&amp;gt;&lt;br /&gt;
Kann auch als Trick genutzt werden wenn es Probleme mit der Tastaturbelegung gibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Als {{code|root}}&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
Dann fragt er ein bestehendes und dann 2 mal das neue Kennwort ab:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie irgendeine bestehende Passphrase ein:&lt;br /&gt;
 Geben Sie die neue Passphrase für das Schlüsselfach ein:&lt;br /&gt;
 Passphrase bestätigen:&lt;br /&gt;
Und in Zukunft kann auch dieses Kennwort genutzt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Verschlüsselte Festplatten Festplatten nachträglich vergrößern=&lt;br /&gt;
Dazu nutze ich ein Skript das ihr hier findet:&amp;lt;br&amp;gt;&lt;br /&gt;
* [[Linux VM Festplatte im laufenden Betrieb vergrößern Universalskript mit und ohne LVM oder LUKS]]&lt;br /&gt;
Einfach die Festplatte im Hypervisor vergrößern, egal ob die Boot-Festplatte oder weitere Laufwerke und dann das Skript einmal laufen lassen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;br /&gt;
----&lt;br /&gt;
=Kommentare=&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15985</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15985"/>
		<updated>2026-05-18T11:49:35Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Vorwort */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--{{AchtungBaustelle}}--&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn Ihr euch das anseht, seht Ihr das die zweite Festplatte beim Booten dadurch entsperrt wird, das eine Schlüsseldatei im Dateisystem der ersten Festplatte genutzt wird.&amp;lt;br&amp;gt;&lt;br /&gt;
Ist das denn sicher? Naja, die Datei liegt im verschlüsselten Dateisystem der ersten Festplatte welches Ihr zuerst entsperren müsst. Ist also so sicher wie die erste Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-095403.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort!&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
{{Hinweis|Achtet beim Passwort auf die Sonderzeichen! Ein &#039;&#039;&#039;&amp;amp;&#039;&#039;&#039; machte bei mir Probleme in der VM-Konsole. Eigentlich ist die Belegung an dieser Stelle ja Deutsch, bei mir gab es im ersten Anlauf keine Probleme, in den Versuchen danach aber dann doch. Ich habe dann erst ein anderes Kennwort genommen und das gewünschte später als 2. dazu genommen}}&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;29.980G&#039;&#039;&#039; nur &#039;&#039;&#039;14.988G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.992G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102659.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-103407.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Kontrolle nach dem Neustart=&lt;br /&gt;
Nach dem Reboot habe ich mich angemeldet und bin zum {{code|root}} gewechselt.&amp;lt;br&amp;gt;&lt;br /&gt;
Meine Mappings sehen nun so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
 df -h&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Dateisystem                       Größe Benutzt Verf. Verw% Eingehängt auf&lt;br /&gt;
 tmpfs                              329M   1008K  328M    1% /run&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-cryptsetup@dm_crypt\x2d0.service&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;/dev/mapper/ubuntu--vg-ubuntu--lv   30G    5,2G   23G   19% /&amp;lt;/span&amp;gt;&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /dev/shm&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-journald.service&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /tmp&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-resolved.service&lt;br /&gt;
 /dev/sda2                          2,0G    186M  1,7G   11% /boot&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-networkd.service&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/getty@tty1.service&lt;br /&gt;
 tmpfs                              165M    8,0K  165M    1% /run/user/1000&lt;br /&gt;
Im LVM gibt es nur die eine Volume Group mit der 32G Festplatte:&amp;lt;br&amp;gt;&lt;br /&gt;
 vgs&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
   VG        #PV #LV #SN Attr   VSize  VFree&lt;br /&gt;
   ubuntu-vg   1   1   0 wz--n- 29,98g    0&lt;br /&gt;
Die zweite. noch leere Festplatte ist die {{code|/dev/sdb}}:&amp;lt;br&amp;gt;&lt;br /&gt;
 fdisk -l&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/sda: 32 GiB, 34359738368 Bytes, 67108864 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Festplattenmodell: QEMU HARDDISK&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 Festplattenbezeichnungstyp: gpt&lt;br /&gt;
 Festplattenbezeichner: 357E98E9-94AA-4982-8244-AB5A910BC31A&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Gerät       Anfang     Ende Sektoren Größe Typ&#039;&#039;&#039;&lt;br /&gt;
 /dev/sda1     2048     4095     2048    1M BIOS boot&lt;br /&gt;
 /dev/sda2     4096  4198399  4194304    2G Linux-Dateisystem&lt;br /&gt;
 /dev/sda3  4198400 67106815 62908416   30G Linux-Dateisystem&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;&#039;&#039;&#039;Festplatte /dev/sdb: 512 GiB, 549755813888 Bytes, 1073741824 Sektoren&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Festplattenmodell: QEMU HARDDISK&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Einheiten: Sektoren von 1 * 512 = 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/dm_crypt-0: 29,98 GiB, 32192331776 Bytes, 62875648 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/ubuntu--vg-ubuntu--lv: 29,98 GiB, 32191283200 Bytes, 62873600 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
Diese 512G Festplatte möchte ich nun als verschlüsseltes Laufwerk nach {{code|/opt}} mounten.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Zweite Festplatte verschlüsseln und einbinden=&lt;br /&gt;
{{Hinweis|Ich verschlüssle hier direkt das ganze Laufwerk, nicht nur die Partition. Zudem richte ich eine separate LVM Gruppe ein . so kann man diese später auch leichter entfernen oder ersetzen}}&lt;br /&gt;
Als {{code|root}}:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksFormat /dev/sdb&lt;br /&gt;
Bestätigen und eine Passphrase festlegen:&amp;lt;br&amp;gt;&lt;br /&gt;
 WARNUNG!&lt;br /&gt;
 ========&lt;br /&gt;
 Hiermit werden die Daten auf »/dev/sdb« unwiderruflich überschrieben.&lt;br /&gt;
 &lt;br /&gt;
 Sind Sie sicher? (Tippen Sie &#039;yes&#039; in Großbuchstaben): YES&lt;br /&gt;
 Geben Sie die Passphrase für »/dev/sdb« ein:&lt;br /&gt;
 Passphrase bestätigen:&lt;br /&gt;
Jetzt die verschlüsselte Partition öffnen:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksOpen /dev/sdb luks_sdb&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie die Passphrase für »/dev/sdb« ein:&lt;br /&gt;
Das entschlüsselte Laufwerk steht nun als&amp;lt;br&amp;gt;&lt;br /&gt;
 /dev/mapper/luks_sdb&lt;br /&gt;
zur Verfügung. Die Bezeichnung {{code|luks_sdb}} ist frei wählbar.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt können wir {{luks_sdb}} nutzen um es mit LVM zu konfigurieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 pvcreate /dev/mapper/luks_sdb&lt;br /&gt;
 vgcreate &#039;&#039;&#039;vg_luks_sdb&#039;&#039;&#039; /dev/mapper/luks_sdb&lt;br /&gt;
 lvcreate -n &#039;&#039;&#039;lv_opt&#039;&#039;&#039; -l100%VG &#039;&#039;&#039;vg_luks_sdb&#039;&#039;&#039;&lt;br /&gt;
 mkfs.ext4 /dev/vg_luks_sdb/lv_opt&lt;br /&gt;
Der Name der Volume Group {{code|vg_luks_sdb}} und des Logical Volume {{code|lv_opt}} sind wiederum frei wählbar, aber die Pfade/Parameter müsst Ihr dann an eure Bezeichnungen anpassen.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir könnten jetzt {{code|lv_opt}} bereits an das leere Verzeichnis {{code|/opt}} mounten, aber wir wollen ja das dies beim booten automatisch geschieht.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Automatischen Mount beim Start einrichten=&lt;br /&gt;
Im Moment wird {{code|/dev/sdb}} nur per Passwort entsperrt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir richten jetzt zusätzlich ein das man das Laufwerk per Schlüssel aus einer Datei entsperren kann.&amp;lt;br&amp;gt;&lt;br /&gt;
Zuerst ein Verzeichnis in welchen wir den Schlüssel ablegen. Diese muss auf der bestehenden verschlüsselten Festplatte liegen:&amp;lt;br&amp;gt;&lt;br /&gt;
 mkdir /etc/luks&lt;br /&gt;
Jetzt die Schlüsseldatei. Die enthält nichts weiter als einen String. Der nachfolgende Befehl erzeugt eine 4 Kilobyte große zufällige Datei {{code|luks_sdb.key}},&amp;lt;br&amp;gt;&lt;br /&gt;
 dd if=/dev/urandom of=/etc/luks/luks_sdb.key bs=512 count=8&lt;br /&gt;
Die Datei schützen gegen Zugriff:&amp;lt;br&amp;gt;&lt;br /&gt;
 chmod 0400 /etc/luks/luks_sdb&lt;br /&gt;
Und jetzt die Datei als Entschlüsselungsmethode dem verschlüsselten Laufwerk {{code|/dev/sdb}} hinzufügen:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup -v luksAddKey /dev/sdb /etc/luks/luks_sdb.key&lt;br /&gt;
Beispielausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie irgendeine bestehende Passphrase ein:&lt;br /&gt;
 Schlüsselfach 0 entsperrt.&lt;br /&gt;
 Schlüsselfach 2 erstellt.&lt;br /&gt;
 Befehl erfolgreich.&lt;br /&gt;
0 war das Passwort, nach 2 wurde der Key gespeichert. Unter 1 habe ich eine 2. Passphrase gespeichert.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Dienst für das Entsperren erstellen==&lt;br /&gt;
Jetzt richten wir einen Dienst ein der beim Booten das Laufwerk {{code|/dev/sdb}} mit diesem Key entsperrt:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
Inhalt:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb.key&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n vg_luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Der Dienst wartet auf die Verfügbarkeit des Gerätes {{code|dev-sdb.devive}}, das wird automatisch vom System zur Verfügung gestellt.&amp;lt;br&amp;gt;&lt;br /&gt;
Unter {{code|ExecStart}} wird die Festplatte dann entschlüsselt mit dem erzeugten Key.&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|ExecStartPost}} veranlasst den LVM neu nachzusehen ob es da neue Laufwerke gibt und bindet diese ein,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|ExecStop}} hängt das Volume beim herunterfahren wieder aus und beendet den Zugriff&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Den Dienst starten wir jetzt aber nicht und setzen diesen auch nicht auf einen automatischen Start.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir richten einen zweiten Dienst ein der dann das Logical Volume mappt, dieser wird den Dienst für die Entschlüsselung dann aufrufen.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Dienst für das Mapping / Mounten erstellen==&lt;br /&gt;
Für den zweiten Dienst ist es wichtig, wohin wir mounten wollen.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich möchte die Festplatte unter&lt;br /&gt;
 /opt&lt;br /&gt;
einhängen. Der Mountpoint muss sich zwingend im Namen des Dienstes widerspiegeln, in diesem Fall muss die Datei&amp;lt;br&amp;gt;&lt;br /&gt;
 /etc/systemd/system/opt.mount&lt;br /&gt;
heißen. Wäre der Mountpoint {{code|/mnt/meineDisk}} so müsste die Datei {{code|/etc/systemd/system/mnt-meineDisk.mount}} heißen!&amp;lt;br&amp;gt;&lt;br /&gt;
Wir erstellen also die Datei:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
mit folgendem Inhalt:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# //dev/vg_luks_sdb/lv_opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount lv_luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/vg_luks_sdb/lv_opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Testen!==&lt;br /&gt;
Wir lassen &#039;&#039;&#039;systemctl&#039;&#039;&#039; die Dienste neu einlesen:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
und beenden das Logical Volume und entladen das verschlüsselte Laufwerk:&amp;lt;br&amp;gt;&lt;br /&gt;
 /usr/sbin/vgchange -a n vg_luks_sdb&lt;br /&gt;
 /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
Jetzt starten wir zum Test den Dienst für das Mounten:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl start opt.mount&lt;br /&gt;
Wenn alles klappt, dauert es ein paar Sekunden und der Prompt kehrt zurück.&amp;lt;br&amp;gt;&lt;br /&gt;
Bei&amp;lt;br&amp;gt;&lt;br /&gt;
 df -h&lt;br /&gt;
sieht es nun so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
 Dateisystem                       Größe Benutzt Verf. Verw% Eingehängt auf&lt;br /&gt;
 tmpfs                              329M    1,1M  328M    1% /run&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-cryptsetup@dm_crypt\x2d0.service&lt;br /&gt;
 /dev/mapper/ubuntu--vg-ubuntu--lv   30G    5,2G   23G   19% /&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /dev/shm&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-journald.service&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /tmp&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-resolved.service&lt;br /&gt;
 /dev/sda2                          2,0G    186M  1,7G   11% /boot&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-networkd.service&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/getty@tty1.service&lt;br /&gt;
 tmpfs                              165M    8,0K  165M    1% /run/user/1000&lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;/dev/mapper/vg_luks_sdb-lv_opt     503G    2,1M  478G    1% /opt&amp;lt;/span&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Jetzt können wir den Dienst aktivieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl enable opt.mount&lt;br /&gt;
und das System einmal neu starten und kontrollieren ob es auch noch einem Reboot vorhanden ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Das sollte so sein, ich habe eine Weile gebraucht bis ich das hinbekommen hatte - die Lösung war das der Dienst zum entperren auf das Device wartet.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Weitere Passphrasen für das Entsperren angeben=&lt;br /&gt;
Wer will kann weitere Passphrasen für das Bootlaufwerk angeben, diese funktionieren dann alle gleichberechtigt.&amp;lt;br&amp;gt;&lt;br /&gt;
Kann auch als Trick genutzt werden wenn es Probleme mit der Tastaturbelegung gibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Als {{code|root}}&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
Dann fragt er ein bestehendes und dann 2 mal das neue Kennwort ab:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie irgendeine bestehende Passphrase ein:&lt;br /&gt;
 Geben Sie die neue Passphrase für das Schlüsselfach ein:&lt;br /&gt;
 Passphrase bestätigen:&lt;br /&gt;
Und in Zukunft kann auch dieses Kennwort genutzt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Verschlüsselte Festplatten Festplatten nachträglich vergrößern=&lt;br /&gt;
Dazu nutze ich ein Skript das ihr hier findet:&amp;lt;br&amp;gt;&lt;br /&gt;
* [[Linux VM Festplatte im laufenden Betrieb vergrößern Universalskript mit und ohne LVM oder LUKS]]&lt;br /&gt;
Einfach die Festplatte im Hypervisor vergrößern, egal ob die Boot-Festplatte oder weitere Laufwerke und dann das Skript einmal laufen lassen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;br /&gt;
----&lt;br /&gt;
=Kommentare=&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15984</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15984"/>
		<updated>2026-05-18T11:47:18Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Weitere Passphrasen für das Entsperren angeben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--{{AchtungBaustelle}}--&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-095403.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort!&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
{{Hinweis|Achtet beim Passwort auf die Sonderzeichen! Ein &#039;&#039;&#039;&amp;amp;&#039;&#039;&#039; machte bei mir Probleme in der VM-Konsole. Eigentlich ist die Belegung an dieser Stelle ja Deutsch, bei mir gab es im ersten Anlauf keine Probleme, in den Versuchen danach aber dann doch. Ich habe dann erst ein anderes Kennwort genommen und das gewünschte später als 2. dazu genommen}}&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;29.980G&#039;&#039;&#039; nur &#039;&#039;&#039;14.988G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.992G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102659.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-103407.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Kontrolle nach dem Neustart=&lt;br /&gt;
Nach dem Reboot habe ich mich angemeldet und bin zum {{code|root}} gewechselt.&amp;lt;br&amp;gt;&lt;br /&gt;
Meine Mappings sehen nun so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
 df -h&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Dateisystem                       Größe Benutzt Verf. Verw% Eingehängt auf&lt;br /&gt;
 tmpfs                              329M   1008K  328M    1% /run&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-cryptsetup@dm_crypt\x2d0.service&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;/dev/mapper/ubuntu--vg-ubuntu--lv   30G    5,2G   23G   19% /&amp;lt;/span&amp;gt;&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /dev/shm&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-journald.service&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /tmp&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-resolved.service&lt;br /&gt;
 /dev/sda2                          2,0G    186M  1,7G   11% /boot&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-networkd.service&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/getty@tty1.service&lt;br /&gt;
 tmpfs                              165M    8,0K  165M    1% /run/user/1000&lt;br /&gt;
Im LVM gibt es nur die eine Volume Group mit der 32G Festplatte:&amp;lt;br&amp;gt;&lt;br /&gt;
 vgs&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
   VG        #PV #LV #SN Attr   VSize  VFree&lt;br /&gt;
   ubuntu-vg   1   1   0 wz--n- 29,98g    0&lt;br /&gt;
Die zweite. noch leere Festplatte ist die {{code|/dev/sdb}}:&amp;lt;br&amp;gt;&lt;br /&gt;
 fdisk -l&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/sda: 32 GiB, 34359738368 Bytes, 67108864 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Festplattenmodell: QEMU HARDDISK&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 Festplattenbezeichnungstyp: gpt&lt;br /&gt;
 Festplattenbezeichner: 357E98E9-94AA-4982-8244-AB5A910BC31A&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Gerät       Anfang     Ende Sektoren Größe Typ&#039;&#039;&#039;&lt;br /&gt;
 /dev/sda1     2048     4095     2048    1M BIOS boot&lt;br /&gt;
 /dev/sda2     4096  4198399  4194304    2G Linux-Dateisystem&lt;br /&gt;
 /dev/sda3  4198400 67106815 62908416   30G Linux-Dateisystem&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;&#039;&#039;&#039;Festplatte /dev/sdb: 512 GiB, 549755813888 Bytes, 1073741824 Sektoren&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Festplattenmodell: QEMU HARDDISK&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Einheiten: Sektoren von 1 * 512 = 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/dm_crypt-0: 29,98 GiB, 32192331776 Bytes, 62875648 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/ubuntu--vg-ubuntu--lv: 29,98 GiB, 32191283200 Bytes, 62873600 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
Diese 512G Festplatte möchte ich nun als verschlüsseltes Laufwerk nach {{code|/opt}} mounten.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Zweite Festplatte verschlüsseln und einbinden=&lt;br /&gt;
{{Hinweis|Ich verschlüssle hier direkt das ganze Laufwerk, nicht nur die Partition. Zudem richte ich eine separate LVM Gruppe ein . so kann man diese später auch leichter entfernen oder ersetzen}}&lt;br /&gt;
Als {{code|root}}:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksFormat /dev/sdb&lt;br /&gt;
Bestätigen und eine Passphrase festlegen:&amp;lt;br&amp;gt;&lt;br /&gt;
 WARNUNG!&lt;br /&gt;
 ========&lt;br /&gt;
 Hiermit werden die Daten auf »/dev/sdb« unwiderruflich überschrieben.&lt;br /&gt;
 &lt;br /&gt;
 Sind Sie sicher? (Tippen Sie &#039;yes&#039; in Großbuchstaben): YES&lt;br /&gt;
 Geben Sie die Passphrase für »/dev/sdb« ein:&lt;br /&gt;
 Passphrase bestätigen:&lt;br /&gt;
Jetzt die verschlüsselte Partition öffnen:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksOpen /dev/sdb luks_sdb&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie die Passphrase für »/dev/sdb« ein:&lt;br /&gt;
Das entschlüsselte Laufwerk steht nun als&amp;lt;br&amp;gt;&lt;br /&gt;
 /dev/mapper/luks_sdb&lt;br /&gt;
zur Verfügung. Die Bezeichnung {{code|luks_sdb}} ist frei wählbar.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt können wir {{luks_sdb}} nutzen um es mit LVM zu konfigurieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 pvcreate /dev/mapper/luks_sdb&lt;br /&gt;
 vgcreate &#039;&#039;&#039;vg_luks_sdb&#039;&#039;&#039; /dev/mapper/luks_sdb&lt;br /&gt;
 lvcreate -n &#039;&#039;&#039;lv_opt&#039;&#039;&#039; -l100%VG &#039;&#039;&#039;vg_luks_sdb&#039;&#039;&#039;&lt;br /&gt;
 mkfs.ext4 /dev/vg_luks_sdb/lv_opt&lt;br /&gt;
Der Name der Volume Group {{code|vg_luks_sdb}} und des Logical Volume {{code|lv_opt}} sind wiederum frei wählbar, aber die Pfade/Parameter müsst Ihr dann an eure Bezeichnungen anpassen.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir könnten jetzt {{code|lv_opt}} bereits an das leere Verzeichnis {{code|/opt}} mounten, aber wir wollen ja das dies beim booten automatisch geschieht.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Automatischen Mount beim Start einrichten=&lt;br /&gt;
Im Moment wird {{code|/dev/sdb}} nur per Passwort entsperrt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir richten jetzt zusätzlich ein das man das Laufwerk per Schlüssel aus einer Datei entsperren kann.&amp;lt;br&amp;gt;&lt;br /&gt;
Zuerst ein Verzeichnis in welchen wir den Schlüssel ablegen. Diese muss auf der bestehenden verschlüsselten Festplatte liegen:&amp;lt;br&amp;gt;&lt;br /&gt;
 mkdir /etc/luks&lt;br /&gt;
Jetzt die Schlüsseldatei. Die enthält nichts weiter als einen String. Der nachfolgende Befehl erzeugt eine 4 Kilobyte große zufällige Datei {{code|luks_sdb.key}},&amp;lt;br&amp;gt;&lt;br /&gt;
 dd if=/dev/urandom of=/etc/luks/luks_sdb.key bs=512 count=8&lt;br /&gt;
Die Datei schützen gegen Zugriff:&amp;lt;br&amp;gt;&lt;br /&gt;
 chmod 0400 /etc/luks/luks_sdb&lt;br /&gt;
Und jetzt die Datei als Entschlüsselungsmethode dem verschlüsselten Laufwerk {{code|/dev/sdb}} hinzufügen:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup -v luksAddKey /dev/sdb /etc/luks/luks_sdb.key&lt;br /&gt;
Beispielausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie irgendeine bestehende Passphrase ein:&lt;br /&gt;
 Schlüsselfach 0 entsperrt.&lt;br /&gt;
 Schlüsselfach 2 erstellt.&lt;br /&gt;
 Befehl erfolgreich.&lt;br /&gt;
0 war das Passwort, nach 2 wurde der Key gespeichert. Unter 1 habe ich eine 2. Passphrase gespeichert.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Dienst für das Entsperren erstellen==&lt;br /&gt;
Jetzt richten wir einen Dienst ein der beim Booten das Laufwerk {{code|/dev/sdb}} mit diesem Key entsperrt:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
Inhalt:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb.key&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n vg_luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Der Dienst wartet auf die Verfügbarkeit des Gerätes {{code|dev-sdb.devive}}, das wird automatisch vom System zur Verfügung gestellt.&amp;lt;br&amp;gt;&lt;br /&gt;
Unter {{code|ExecStart}} wird die Festplatte dann entschlüsselt mit dem erzeugten Key.&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|ExecStartPost}} veranlasst den LVM neu nachzusehen ob es da neue Laufwerke gibt und bindet diese ein,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|ExecStop}} hängt das Volume beim herunterfahren wieder aus und beendet den Zugriff&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Den Dienst starten wir jetzt aber nicht und setzen diesen auch nicht auf einen automatischen Start.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir richten einen zweiten Dienst ein der dann das Logical Volume mappt, dieser wird den Dienst für die Entschlüsselung dann aufrufen.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Dienst für das Mapping / Mounten erstellen==&lt;br /&gt;
Für den zweiten Dienst ist es wichtig, wohin wir mounten wollen.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich möchte die Festplatte unter&lt;br /&gt;
 /opt&lt;br /&gt;
einhängen. Der Mountpoint muss sich zwingend im Namen des Dienstes widerspiegeln, in diesem Fall muss die Datei&amp;lt;br&amp;gt;&lt;br /&gt;
 /etc/systemd/system/opt.mount&lt;br /&gt;
heißen. Wäre der Mountpoint {{code|/mnt/meineDisk}} so müsste die Datei {{code|/etc/systemd/system/mnt-meineDisk.mount}} heißen!&amp;lt;br&amp;gt;&lt;br /&gt;
Wir erstellen also die Datei:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
mit folgendem Inhalt:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# //dev/vg_luks_sdb/lv_opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount lv_luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/vg_luks_sdb/lv_opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Testen!==&lt;br /&gt;
Wir lassen &#039;&#039;&#039;systemctl&#039;&#039;&#039; die Dienste neu einlesen:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
und beenden das Logical Volume und entladen das verschlüsselte Laufwerk:&amp;lt;br&amp;gt;&lt;br /&gt;
 /usr/sbin/vgchange -a n vg_luks_sdb&lt;br /&gt;
 /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
Jetzt starten wir zum Test den Dienst für das Mounten:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl start opt.mount&lt;br /&gt;
Wenn alles klappt, dauert es ein paar Sekunden und der Prompt kehrt zurück.&amp;lt;br&amp;gt;&lt;br /&gt;
Bei&amp;lt;br&amp;gt;&lt;br /&gt;
 df -h&lt;br /&gt;
sieht es nun so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
 Dateisystem                       Größe Benutzt Verf. Verw% Eingehängt auf&lt;br /&gt;
 tmpfs                              329M    1,1M  328M    1% /run&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-cryptsetup@dm_crypt\x2d0.service&lt;br /&gt;
 /dev/mapper/ubuntu--vg-ubuntu--lv   30G    5,2G   23G   19% /&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /dev/shm&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-journald.service&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /tmp&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-resolved.service&lt;br /&gt;
 /dev/sda2                          2,0G    186M  1,7G   11% /boot&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-networkd.service&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/getty@tty1.service&lt;br /&gt;
 tmpfs                              165M    8,0K  165M    1% /run/user/1000&lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;/dev/mapper/vg_luks_sdb-lv_opt     503G    2,1M  478G    1% /opt&amp;lt;/span&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Jetzt können wir den Dienst aktivieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl enable opt.mount&lt;br /&gt;
und das System einmal neu starten und kontrollieren ob es auch noch einem Reboot vorhanden ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Das sollte so sein, ich habe eine Weile gebraucht bis ich das hinbekommen hatte - die Lösung war das der Dienst zum entperren auf das Device wartet.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Weitere Passphrasen für das Entsperren angeben=&lt;br /&gt;
Wer will kann weitere Passphrasen für das Bootlaufwerk angeben, diese funktionieren dann alle gleichberechtigt.&amp;lt;br&amp;gt;&lt;br /&gt;
Kann auch als Trick genutzt werden wenn es Probleme mit der Tastaturbelegung gibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Als {{code|root}}&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
Dann fragt er ein bestehendes und dann 2 mal das neue Kennwort ab:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie irgendeine bestehende Passphrase ein:&lt;br /&gt;
 Geben Sie die neue Passphrase für das Schlüsselfach ein:&lt;br /&gt;
 Passphrase bestätigen:&lt;br /&gt;
Und in Zukunft kann auch dieses Kennwort genutzt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Verschlüsselte Festplatten Festplatten nachträglich vergrößern=&lt;br /&gt;
Dazu nutze ich ein Skript das ihr hier findet:&amp;lt;br&amp;gt;&lt;br /&gt;
* [[Linux VM Festplatte im laufenden Betrieb vergrößern Universalskript mit und ohne LVM oder LUKS]]&lt;br /&gt;
Einfach die Festplatte im Hypervisor vergrößern, egal ob die Boot-Festplatte oder weitere Laufwerke und dann das Skript einmal laufen lassen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;br /&gt;
----&lt;br /&gt;
=Kommentare=&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15983</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15983"/>
		<updated>2026-05-18T11:44:17Z</updated>

		<summary type="html">&lt;p&gt;BLinz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--{{AchtungBaustelle}}--&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-095403.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort!&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
{{Hinweis|Achtet beim Passwort auf die Sonderzeichen! Ein &#039;&#039;&#039;&amp;amp;&#039;&#039;&#039; machte bei mir Probleme in der VM-Konsole. Eigentlich ist die Belegung an dieser Stelle ja Deutsch, bei mir gab es im ersten Anlauf keine Probleme, in den Versuchen danach aber dann doch. Ich habe dann erst ein anderes Kennwort genommen und das gewünschte später als 2. dazu genommen}}&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;29.980G&#039;&#039;&#039; nur &#039;&#039;&#039;14.988G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.992G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102659.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-103407.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Kontrolle nach dem Neustart=&lt;br /&gt;
Nach dem Reboot habe ich mich angemeldet und bin zum {{code|root}} gewechselt.&amp;lt;br&amp;gt;&lt;br /&gt;
Meine Mappings sehen nun so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
 df -h&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Dateisystem                       Größe Benutzt Verf. Verw% Eingehängt auf&lt;br /&gt;
 tmpfs                              329M   1008K  328M    1% /run&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-cryptsetup@dm_crypt\x2d0.service&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;/dev/mapper/ubuntu--vg-ubuntu--lv   30G    5,2G   23G   19% /&amp;lt;/span&amp;gt;&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /dev/shm&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-journald.service&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /tmp&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-resolved.service&lt;br /&gt;
 /dev/sda2                          2,0G    186M  1,7G   11% /boot&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-networkd.service&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/getty@tty1.service&lt;br /&gt;
 tmpfs                              165M    8,0K  165M    1% /run/user/1000&lt;br /&gt;
Im LVM gibt es nur die eine Volume Group mit der 32G Festplatte:&amp;lt;br&amp;gt;&lt;br /&gt;
 vgs&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
   VG        #PV #LV #SN Attr   VSize  VFree&lt;br /&gt;
   ubuntu-vg   1   1   0 wz--n- 29,98g    0&lt;br /&gt;
Die zweite. noch leere Festplatte ist die {{code|/dev/sdb}}:&amp;lt;br&amp;gt;&lt;br /&gt;
 fdisk -l&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/sda: 32 GiB, 34359738368 Bytes, 67108864 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Festplattenmodell: QEMU HARDDISK&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 Festplattenbezeichnungstyp: gpt&lt;br /&gt;
 Festplattenbezeichner: 357E98E9-94AA-4982-8244-AB5A910BC31A&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Gerät       Anfang     Ende Sektoren Größe Typ&#039;&#039;&#039;&lt;br /&gt;
 /dev/sda1     2048     4095     2048    1M BIOS boot&lt;br /&gt;
 /dev/sda2     4096  4198399  4194304    2G Linux-Dateisystem&lt;br /&gt;
 /dev/sda3  4198400 67106815 62908416   30G Linux-Dateisystem&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;&#039;&#039;&#039;Festplatte /dev/sdb: 512 GiB, 549755813888 Bytes, 1073741824 Sektoren&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Festplattenmodell: QEMU HARDDISK&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Einheiten: Sektoren von 1 * 512 = 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/dm_crypt-0: 29,98 GiB, 32192331776 Bytes, 62875648 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/ubuntu--vg-ubuntu--lv: 29,98 GiB, 32191283200 Bytes, 62873600 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
Diese 512G Festplatte möchte ich nun als verschlüsseltes Laufwerk nach {{code|/opt}} mounten.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Zweite Festplatte verschlüsseln und einbinden=&lt;br /&gt;
{{Hinweis|Ich verschlüssle hier direkt das ganze Laufwerk, nicht nur die Partition. Zudem richte ich eine separate LVM Gruppe ein . so kann man diese später auch leichter entfernen oder ersetzen}}&lt;br /&gt;
Als {{code|root}}:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksFormat /dev/sdb&lt;br /&gt;
Bestätigen und eine Passphrase festlegen:&amp;lt;br&amp;gt;&lt;br /&gt;
 WARNUNG!&lt;br /&gt;
 ========&lt;br /&gt;
 Hiermit werden die Daten auf »/dev/sdb« unwiderruflich überschrieben.&lt;br /&gt;
 &lt;br /&gt;
 Sind Sie sicher? (Tippen Sie &#039;yes&#039; in Großbuchstaben): YES&lt;br /&gt;
 Geben Sie die Passphrase für »/dev/sdb« ein:&lt;br /&gt;
 Passphrase bestätigen:&lt;br /&gt;
Jetzt die verschlüsselte Partition öffnen:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksOpen /dev/sdb luks_sdb&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie die Passphrase für »/dev/sdb« ein:&lt;br /&gt;
Das entschlüsselte Laufwerk steht nun als&amp;lt;br&amp;gt;&lt;br /&gt;
 /dev/mapper/luks_sdb&lt;br /&gt;
zur Verfügung. Die Bezeichnung {{code|luks_sdb}} ist frei wählbar.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt können wir {{luks_sdb}} nutzen um es mit LVM zu konfigurieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 pvcreate /dev/mapper/luks_sdb&lt;br /&gt;
 vgcreate &#039;&#039;&#039;vg_luks_sdb&#039;&#039;&#039; /dev/mapper/luks_sdb&lt;br /&gt;
 lvcreate -n &#039;&#039;&#039;lv_opt&#039;&#039;&#039; -l100%VG &#039;&#039;&#039;vg_luks_sdb&#039;&#039;&#039;&lt;br /&gt;
 mkfs.ext4 /dev/vg_luks_sdb/lv_opt&lt;br /&gt;
Der Name der Volume Group {{code|vg_luks_sdb}} und des Logical Volume {{code|lv_opt}} sind wiederum frei wählbar, aber die Pfade/Parameter müsst Ihr dann an eure Bezeichnungen anpassen.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir könnten jetzt {{code|lv_opt}} bereits an das leere Verzeichnis {{code|/opt}} mounten, aber wir wollen ja das dies beim booten automatisch geschieht.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Automatischen Mount beim Start einrichten=&lt;br /&gt;
Im Moment wird {{code|/dev/sdb}} nur per Passwort entsperrt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir richten jetzt zusätzlich ein das man das Laufwerk per Schlüssel aus einer Datei entsperren kann.&amp;lt;br&amp;gt;&lt;br /&gt;
Zuerst ein Verzeichnis in welchen wir den Schlüssel ablegen. Diese muss auf der bestehenden verschlüsselten Festplatte liegen:&amp;lt;br&amp;gt;&lt;br /&gt;
 mkdir /etc/luks&lt;br /&gt;
Jetzt die Schlüsseldatei. Die enthält nichts weiter als einen String. Der nachfolgende Befehl erzeugt eine 4 Kilobyte große zufällige Datei {{code|luks_sdb.key}},&amp;lt;br&amp;gt;&lt;br /&gt;
 dd if=/dev/urandom of=/etc/luks/luks_sdb.key bs=512 count=8&lt;br /&gt;
Die Datei schützen gegen Zugriff:&amp;lt;br&amp;gt;&lt;br /&gt;
 chmod 0400 /etc/luks/luks_sdb&lt;br /&gt;
Und jetzt die Datei als Entschlüsselungsmethode dem verschlüsselten Laufwerk {{code|/dev/sdb}} hinzufügen:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup -v luksAddKey /dev/sdb /etc/luks/luks_sdb.key&lt;br /&gt;
Beispielausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie irgendeine bestehende Passphrase ein:&lt;br /&gt;
 Schlüsselfach 0 entsperrt.&lt;br /&gt;
 Schlüsselfach 2 erstellt.&lt;br /&gt;
 Befehl erfolgreich.&lt;br /&gt;
0 war das Passwort, nach 2 wurde der Key gespeichert. Unter 1 habe ich eine 2. Passphrase gespeichert.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Dienst für das Entsperren erstellen==&lt;br /&gt;
Jetzt richten wir einen Dienst ein der beim Booten das Laufwerk {{code|/dev/sdb}} mit diesem Key entsperrt:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
Inhalt:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb.key&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n vg_luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Der Dienst wartet auf die Verfügbarkeit des Gerätes {{code|dev-sdb.devive}}, das wird automatisch vom System zur Verfügung gestellt.&amp;lt;br&amp;gt;&lt;br /&gt;
Unter {{code|ExecStart}} wird die Festplatte dann entschlüsselt mit dem erzeugten Key.&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|ExecStartPost}} veranlasst den LVM neu nachzusehen ob es da neue Laufwerke gibt und bindet diese ein,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|ExecStop}} hängt das Volume beim herunterfahren wieder aus und beendet den Zugriff&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Den Dienst starten wir jetzt aber nicht und setzen diesen auch nicht auf einen automatischen Start.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir richten einen zweiten Dienst ein der dann das Logical Volume mappt, dieser wird den Dienst für die Entschlüsselung dann aufrufen.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Dienst für das Mapping / Mounten erstellen==&lt;br /&gt;
Für den zweiten Dienst ist es wichtig, wohin wir mounten wollen.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich möchte die Festplatte unter&lt;br /&gt;
 /opt&lt;br /&gt;
einhängen. Der Mountpoint muss sich zwingend im Namen des Dienstes widerspiegeln, in diesem Fall muss die Datei&amp;lt;br&amp;gt;&lt;br /&gt;
 /etc/systemd/system/opt.mount&lt;br /&gt;
heißen. Wäre der Mountpoint {{code|/mnt/meineDisk}} so müsste die Datei {{code|/etc/systemd/system/mnt-meineDisk.mount}} heißen!&amp;lt;br&amp;gt;&lt;br /&gt;
Wir erstellen also die Datei:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
mit folgendem Inhalt:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# //dev/vg_luks_sdb/lv_opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount lv_luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/vg_luks_sdb/lv_opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Testen!==&lt;br /&gt;
Wir lassen &#039;&#039;&#039;systemctl&#039;&#039;&#039; die Dienste neu einlesen:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
und beenden das Logical Volume und entladen das verschlüsselte Laufwerk:&amp;lt;br&amp;gt;&lt;br /&gt;
 /usr/sbin/vgchange -a n vg_luks_sdb&lt;br /&gt;
 /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
Jetzt starten wir zum Test den Dienst für das Mounten:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl start opt.mount&lt;br /&gt;
Wenn alles klappt, dauert es ein paar Sekunden und der Prompt kehrt zurück.&amp;lt;br&amp;gt;&lt;br /&gt;
Bei&amp;lt;br&amp;gt;&lt;br /&gt;
 df -h&lt;br /&gt;
sieht es nun so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
 Dateisystem                       Größe Benutzt Verf. Verw% Eingehängt auf&lt;br /&gt;
 tmpfs                              329M    1,1M  328M    1% /run&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-cryptsetup@dm_crypt\x2d0.service&lt;br /&gt;
 /dev/mapper/ubuntu--vg-ubuntu--lv   30G    5,2G   23G   19% /&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /dev/shm&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-journald.service&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /tmp&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-resolved.service&lt;br /&gt;
 /dev/sda2                          2,0G    186M  1,7G   11% /boot&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-networkd.service&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/getty@tty1.service&lt;br /&gt;
 tmpfs                              165M    8,0K  165M    1% /run/user/1000&lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;/dev/mapper/vg_luks_sdb-lv_opt     503G    2,1M  478G    1% /opt&amp;lt;/span&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Jetzt können wir den Dienst aktivieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 systemctl enable opt.mount&lt;br /&gt;
und das System einmal neu starten und kontrollieren ob es auch noch einem Reboot vorhanden ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Das sollte so sein, ich habe eine Weile gebraucht bis ich das hinbekommen hatte - die Lösung war das der Dienst zum entperren auf das Device wartet.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Weitere Passphrasen für das Entsperren angeben=&lt;br /&gt;
Wer will kann weitere Passphrasen für das Bootlaufwerk angeben, diese funktionieren dann alle gleichberechtigt.&amp;lt;br&amp;gt;&lt;br /&gt;
Kann auch als Trick genutzt werden wenn es Probleme mit der Tastaturbelegung gibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Als {{code|root}}&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
Dann fragt er ein bestehendes und dann 2 mal das neue Kennwort ab:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie irgendeine bestehende Passphrase ein:&lt;br /&gt;
 Geben Sie die neue Passphrase für das Schlüsselfach ein:&lt;br /&gt;
 Passphrase bestätigen:&lt;br /&gt;
Und in Zukunft kann auch dieses Kennwort genutzt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;br /&gt;
----&lt;br /&gt;
=Kommentare=&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15982</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15982"/>
		<updated>2026-05-18T11:34:51Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Dienst für das Entsperren erstellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AchtungBaustelle}}&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-095403.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort!&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
{{Hinweis|Achtet beim Passwort auf die Sonderzeichen! Ein &#039;&#039;&#039;&amp;amp;&#039;&#039;&#039; machte bei mir Probleme in der VM-Konsole. Eigentlich ist die Belegung an dieser Stelle ja Deutsch, bei mir gab es im ersten Anlauf keine Probleme, in den Versuchen danach aber dann doch. Ich habe dann erst ein anderes Kennwort genommen und das gewünschte später als 2. dazu genommen}}&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;29.980G&#039;&#039;&#039; nur &#039;&#039;&#039;14.988G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.992G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102659.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-103407.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Kontrolle nach dem Neustart=&lt;br /&gt;
Nach dem Reboot habe ich mich angemeldet und bin zum {{code|root}} gewechselt.&amp;lt;br&amp;gt;&lt;br /&gt;
Meine Mappings sehen nun so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
 df -h&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Dateisystem                       Größe Benutzt Verf. Verw% Eingehängt auf&lt;br /&gt;
 tmpfs                              329M   1008K  328M    1% /run&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-cryptsetup@dm_crypt\x2d0.service&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;/dev/mapper/ubuntu--vg-ubuntu--lv   30G    5,2G   23G   19% /&amp;lt;/span&amp;gt;&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /dev/shm&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-journald.service&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /tmp&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-resolved.service&lt;br /&gt;
 /dev/sda2                          2,0G    186M  1,7G   11% /boot&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-networkd.service&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/getty@tty1.service&lt;br /&gt;
 tmpfs                              165M    8,0K  165M    1% /run/user/1000&lt;br /&gt;
Im LVM gibt es nur die eine Volume Group mit der 32G Festplatte:&amp;lt;br&amp;gt;&lt;br /&gt;
 vgs&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
   VG        #PV #LV #SN Attr   VSize  VFree&lt;br /&gt;
   ubuntu-vg   1   1   0 wz--n- 29,98g    0&lt;br /&gt;
Die zweite. noch leere Festplatte ist die {{code|/dev/sdb}}:&amp;lt;br&amp;gt;&lt;br /&gt;
 fdisk -l&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/sda: 32 GiB, 34359738368 Bytes, 67108864 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Festplattenmodell: QEMU HARDDISK&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 Festplattenbezeichnungstyp: gpt&lt;br /&gt;
 Festplattenbezeichner: 357E98E9-94AA-4982-8244-AB5A910BC31A&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Gerät       Anfang     Ende Sektoren Größe Typ&#039;&#039;&#039;&lt;br /&gt;
 /dev/sda1     2048     4095     2048    1M BIOS boot&lt;br /&gt;
 /dev/sda2     4096  4198399  4194304    2G Linux-Dateisystem&lt;br /&gt;
 /dev/sda3  4198400 67106815 62908416   30G Linux-Dateisystem&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;&#039;&#039;&#039;Festplatte /dev/sdb: 512 GiB, 549755813888 Bytes, 1073741824 Sektoren&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Festplattenmodell: QEMU HARDDISK&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Einheiten: Sektoren von 1 * 512 = 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/dm_crypt-0: 29,98 GiB, 32192331776 Bytes, 62875648 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/ubuntu--vg-ubuntu--lv: 29,98 GiB, 32191283200 Bytes, 62873600 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
Diese 512G Festplatte möchte ich nun als verschlüsseltes Laufwerk nach {{code|/opt}} mounten.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Zweite Festplatte verschlüsseln und einbinden=&lt;br /&gt;
{{Hinweis|Ich verschlüssle hier direkt das ganze Laufwerk, nicht nur die Partition. Zudem richte ich eine separate LVM Gruppe ein . so kann man diese später auch leichter entfernen oder ersetzen}}&lt;br /&gt;
Als {{code|root}}:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksFormat /dev/sdb&lt;br /&gt;
Bestätigen und eine Passphrase festlegen:&amp;lt;br&amp;gt;&lt;br /&gt;
 WARNUNG!&lt;br /&gt;
 ========&lt;br /&gt;
 Hiermit werden die Daten auf »/dev/sdb« unwiderruflich überschrieben.&lt;br /&gt;
 &lt;br /&gt;
 Sind Sie sicher? (Tippen Sie &#039;yes&#039; in Großbuchstaben): YES&lt;br /&gt;
 Geben Sie die Passphrase für »/dev/sdb« ein:&lt;br /&gt;
 Passphrase bestätigen:&lt;br /&gt;
Jetzt die verschlüsselte Partition öffnen:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksOpen /dev/sdb luks_sdb&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie die Passphrase für »/dev/sdb« ein:&lt;br /&gt;
Das entschlüsselte Laufwerk steht nun als&amp;lt;br&amp;gt;&lt;br /&gt;
 /dev/mapper/luks_sdb&lt;br /&gt;
zur Verfügung. Die Bezeichnung {{code|luks_sdb}} ist frei wählbar.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt können wir {{luks_sdb}} nutzen um es mit LVM zu konfigurieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 pvcreate /dev/mapper/luks_sdb&lt;br /&gt;
 vgcreate &#039;&#039;&#039;vg_luks_sdb&#039;&#039;&#039; /dev/mapper/luks_sdb&lt;br /&gt;
 lvcreate -n &#039;&#039;&#039;lv_opt&#039;&#039;&#039; -l100%VG &#039;&#039;&#039;vg_luks_sdb&#039;&#039;&#039;&lt;br /&gt;
 mkfs.ext4 /dev/vg_luks_sdb/lv_opt&lt;br /&gt;
Der Name der Volume Group {{code|vg_luks_sdb}} und des Logical Volume {{code|lv_opt}} sind wiederum frei wählbar, aber die Pfade/Parameter müsst Ihr dann an eure Bezeichnungen anpassen.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir könnten jetzt {{code|lv_opt}} bereits an das leere Verzeichnis {{code|/opt}} mounten, aber wir wollen ja das dies beim booten automatisch geschieht.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Automatischen Mount beim Start einrichten=&lt;br /&gt;
Im Moment wird {{code|/dev/sdb}} nur per Passwort entsperrt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir richten jetzt zusätzlich ein das man das Laufwerk per Schlüssel aus einer Datei entsperren kann.&amp;lt;br&amp;gt;&lt;br /&gt;
Zuerst ein Verzeichnis in welchen wir den Schlüssel ablegen. Diese muss auf der bestehenden verschlüsselten Festplatte liegen:&amp;lt;br&amp;gt;&lt;br /&gt;
 mkdir /etc/luks&lt;br /&gt;
Jetzt die Schlüsseldatei. Die enthält nichts weiter als einen String. Der nachfolgende Befehl erzeugt eine 4 Kilobyte große zufällige Datei {{code|luks_sdb.key}},&amp;lt;br&amp;gt;&lt;br /&gt;
 dd if=/dev/urandom of=/etc/luks/luks_sdb.key bs=512 count=8&lt;br /&gt;
Die Datei schützen gegen Zugriff:&amp;lt;br&amp;gt;&lt;br /&gt;
 chmod 0400 /etc/luks/luks_sdb&lt;br /&gt;
Und jetzt die Datei als Entschlüsselungsmethode dem verschlüsselten Laufwerk {{code|/dev/sdb}} hinzufügen:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup -v luksAddKey /dev/sdb /etc/luks/luks_sdb.key&lt;br /&gt;
Beispielausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie irgendeine bestehende Passphrase ein:&lt;br /&gt;
 Schlüsselfach 0 entsperrt.&lt;br /&gt;
 Schlüsselfach 2 erstellt.&lt;br /&gt;
 Befehl erfolgreich.&lt;br /&gt;
0 war das Passwort, nach 2 wurde der Key gespeichert. Unter 1 habe ich eine 2. Passphrase gespeichert.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Dienst für das Entsperren erstellen==&lt;br /&gt;
Jetzt richten wir einen Dienst ein der beim Booten das Laufwerk {{code|/dev/sdb}} mit diesem Key entsperrt:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
Inhalt:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb.key&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n vg_luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Der Dienst wartet auf die Verfügbarkeit des Gerätes {{code|dev-sdb.devive}}, das wird automatisch vom System zur Verfügung gestellt.&amp;lt;br&amp;gt;&lt;br /&gt;
Unter {{code|ExecStart}} wird die Festplatte dann entschlüsselt mit dem erzeugten Key.&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|ExecStartPost}} veranlasst den LVM neu nachzusehen ob es da neue Laufwerke gibt und bindet diese ein,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|ExecStop}} hängt das Volume beim herunterfahren wieder aus und beendet den Zugriff&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Den Dienst starten wir jetzt aber nicht und setzen diesen auch nicht auf einen automatischen Start.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir richten einen zweiten Dienst ein der dann das Logical Volume mappt, dieser wird den Dienst für die Entschlüsselung dann aufrufen.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dienst für das Mapping / Mounten erstellen==&lt;br /&gt;
Für den zweiten Dienst ist es wichtig, wohin wir mounten wollen.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich möchte die Festplatte unter&lt;br /&gt;
 /opt&lt;br /&gt;
einhängen. Der Mountpoint muss sich zwingend im Namen des Dienstes widerspiegeln, in diesem Fall muss die Datei&amp;lt;br&amp;gt;&lt;br /&gt;
 /etc/systemd/system/opt.mount&lt;br /&gt;
heißen. Wäre der Mountpoint {{code|/mnt/meineDisk}} so müsste die Datei {{code|/etc/systemd/system/mnt-meineDisk.mount}} heißen!&amp;lt;br&amp;gt;&lt;br /&gt;
Wir erstellen also die Datei:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
mit folgendem Inhalt:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# //dev/vg_luks_sdb/lv_opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount lv_luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/vg_luks_sdb/lv_opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Weitere Passphrasen für das Entsperren angeben=&lt;br /&gt;
Wer will kann weitere Passphrasen für das Bootlaufwerk angeben, diese funktionieren dann alle gleichberechtigt.&amp;lt;br&amp;gt;&lt;br /&gt;
Kann auch als Trick genutzt werden wenn es Probleme mit der Tastaturbelegung gibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Als {{code|root}}&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
Dann fragt er ein bestehendes und dann 2 mal das neue Kennwort ab:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie irgendeine bestehende Passphrase ein:&lt;br /&gt;
 Geben Sie die neue Passphrase für das Schlüsselfach ein:&lt;br /&gt;
 Passphrase bestätigen:&lt;br /&gt;
Und in Zukunft kann auch dieses Kennwort genutzt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# /dev/luks_sdb/opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/luks_sdb/opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15981</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15981"/>
		<updated>2026-05-18T11:33:51Z</updated>

		<summary type="html">&lt;p&gt;BLinz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AchtungBaustelle}}&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-095403.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort!&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
{{Hinweis|Achtet beim Passwort auf die Sonderzeichen! Ein &#039;&#039;&#039;&amp;amp;&#039;&#039;&#039; machte bei mir Probleme in der VM-Konsole. Eigentlich ist die Belegung an dieser Stelle ja Deutsch, bei mir gab es im ersten Anlauf keine Probleme, in den Versuchen danach aber dann doch. Ich habe dann erst ein anderes Kennwort genommen und das gewünschte später als 2. dazu genommen}}&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;29.980G&#039;&#039;&#039; nur &#039;&#039;&#039;14.988G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.992G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102659.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-103407.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Kontrolle nach dem Neustart=&lt;br /&gt;
Nach dem Reboot habe ich mich angemeldet und bin zum {{code|root}} gewechselt.&amp;lt;br&amp;gt;&lt;br /&gt;
Meine Mappings sehen nun so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
 df -h&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Dateisystem                       Größe Benutzt Verf. Verw% Eingehängt auf&lt;br /&gt;
 tmpfs                              329M   1008K  328M    1% /run&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-cryptsetup@dm_crypt\x2d0.service&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;/dev/mapper/ubuntu--vg-ubuntu--lv   30G    5,2G   23G   19% /&amp;lt;/span&amp;gt;&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /dev/shm&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-journald.service&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /tmp&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-resolved.service&lt;br /&gt;
 /dev/sda2                          2,0G    186M  1,7G   11% /boot&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-networkd.service&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/getty@tty1.service&lt;br /&gt;
 tmpfs                              165M    8,0K  165M    1% /run/user/1000&lt;br /&gt;
Im LVM gibt es nur die eine Volume Group mit der 32G Festplatte:&amp;lt;br&amp;gt;&lt;br /&gt;
 vgs&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
   VG        #PV #LV #SN Attr   VSize  VFree&lt;br /&gt;
   ubuntu-vg   1   1   0 wz--n- 29,98g    0&lt;br /&gt;
Die zweite. noch leere Festplatte ist die {{code|/dev/sdb}}:&amp;lt;br&amp;gt;&lt;br /&gt;
 fdisk -l&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/sda: 32 GiB, 34359738368 Bytes, 67108864 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Festplattenmodell: QEMU HARDDISK&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 Festplattenbezeichnungstyp: gpt&lt;br /&gt;
 Festplattenbezeichner: 357E98E9-94AA-4982-8244-AB5A910BC31A&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Gerät       Anfang     Ende Sektoren Größe Typ&#039;&#039;&#039;&lt;br /&gt;
 /dev/sda1     2048     4095     2048    1M BIOS boot&lt;br /&gt;
 /dev/sda2     4096  4198399  4194304    2G Linux-Dateisystem&lt;br /&gt;
 /dev/sda3  4198400 67106815 62908416   30G Linux-Dateisystem&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;&#039;&#039;&#039;Festplatte /dev/sdb: 512 GiB, 549755813888 Bytes, 1073741824 Sektoren&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Festplattenmodell: QEMU HARDDISK&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Einheiten: Sektoren von 1 * 512 = 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/dm_crypt-0: 29,98 GiB, 32192331776 Bytes, 62875648 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/ubuntu--vg-ubuntu--lv: 29,98 GiB, 32191283200 Bytes, 62873600 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
Diese 512G Festplatte möchte ich nun als verschlüsseltes Laufwerk nach {{code|/opt}} mounten.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Zweite Festplatte verschlüsseln und einbinden=&lt;br /&gt;
{{Hinweis|Ich verschlüssle hier direkt das ganze Laufwerk, nicht nur die Partition. Zudem richte ich eine separate LVM Gruppe ein . so kann man diese später auch leichter entfernen oder ersetzen}}&lt;br /&gt;
Als {{code|root}}:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksFormat /dev/sdb&lt;br /&gt;
Bestätigen und eine Passphrase festlegen:&amp;lt;br&amp;gt;&lt;br /&gt;
 WARNUNG!&lt;br /&gt;
 ========&lt;br /&gt;
 Hiermit werden die Daten auf »/dev/sdb« unwiderruflich überschrieben.&lt;br /&gt;
 &lt;br /&gt;
 Sind Sie sicher? (Tippen Sie &#039;yes&#039; in Großbuchstaben): YES&lt;br /&gt;
 Geben Sie die Passphrase für »/dev/sdb« ein:&lt;br /&gt;
 Passphrase bestätigen:&lt;br /&gt;
Jetzt die verschlüsselte Partition öffnen:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksOpen /dev/sdb luks_sdb&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie die Passphrase für »/dev/sdb« ein:&lt;br /&gt;
Das entschlüsselte Laufwerk steht nun als&amp;lt;br&amp;gt;&lt;br /&gt;
 /dev/mapper/luks_sdb&lt;br /&gt;
zur Verfügung. Die Bezeichnung {{code|luks_sdb}} ist frei wählbar.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt können wir {{luks_sdb}} nutzen um es mit LVM zu konfigurieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 pvcreate /dev/mapper/luks_sdb&lt;br /&gt;
 vgcreate &#039;&#039;&#039;vg_luks_sdb&#039;&#039;&#039; /dev/mapper/luks_sdb&lt;br /&gt;
 lvcreate -n &#039;&#039;&#039;lv_opt&#039;&#039;&#039; -l100%VG &#039;&#039;&#039;vg_luks_sdb&#039;&#039;&#039;&lt;br /&gt;
 mkfs.ext4 /dev/vg_luks_sdb/lv_opt&lt;br /&gt;
Der Name der Volume Group {{code|vg_luks_sdb}} und des Logical Volume {{code|lv_opt}} sind wiederum frei wählbar, aber die Pfade/Parameter müsst Ihr dann an eure Bezeichnungen anpassen.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir könnten jetzt {{code|lv_opt}} bereits an das leere Verzeichnis {{code|/opt}} mounten, aber wir wollen ja das dies beim booten automatisch geschieht.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Automatischen Mount beim Start einrichten=&lt;br /&gt;
Im Moment wird {{code|/dev/sdb}} nur per Passwort entsperrt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir richten jetzt zusätzlich ein das man das Laufwerk per Schlüssel aus einer Datei entsperren kann.&amp;lt;br&amp;gt;&lt;br /&gt;
Zuerst ein Verzeichnis in welchen wir den Schlüssel ablegen. Diese muss auf der bestehenden verschlüsselten Festplatte liegen:&amp;lt;br&amp;gt;&lt;br /&gt;
 mkdir /etc/luks&lt;br /&gt;
Jetzt die Schlüsseldatei. Die enthält nichts weiter als einen String. Der nachfolgende Befehl erzeugt eine 4 Kilobyte große zufällige Datei {{code|luks_sdb.key}},&amp;lt;br&amp;gt;&lt;br /&gt;
 dd if=/dev/urandom of=/etc/luks/luks_sdb.key bs=512 count=8&lt;br /&gt;
Die Datei schützen gegen Zugriff:&amp;lt;br&amp;gt;&lt;br /&gt;
 chmod 0400 /etc/luks/luks_sdb&lt;br /&gt;
Und jetzt die Datei als Entschlüsselungsmethode dem verschlüsselten Laufwerk {{code|/dev/sdb}} hinzufügen:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup -v luksAddKey /dev/sdb /etc/luks/luks_sdb.key&lt;br /&gt;
Beispielausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie irgendeine bestehende Passphrase ein:&lt;br /&gt;
 Schlüsselfach 0 entsperrt.&lt;br /&gt;
 Schlüsselfach 2 erstellt.&lt;br /&gt;
 Befehl erfolgreich.&lt;br /&gt;
0 war das Passwort, nach 2 wurde der Key gespeichert. Unter 1 habe ich eine 2. Passphrase gespeichert.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Dienst für das Entsperren erstellen==&lt;br /&gt;
Jetzt richten wir einen Dienst ein der beim Booten das Laufwerk {{code|/dev/sdb}} mit diesem Key entsperrt:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
Inhalt:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb.key&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n vg_luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Der Dienst wartet auf die Verfügbarkeit des Gerätes {{code|dev-sdb.devive}}, das wird automatisch vom System zur Verfügung gestellt.&amp;lt;br&amp;gt;&lt;br /&gt;
Unter {{code|ExecStart=}} wird die Festplatte dann entschlüsselt mit dem erzeugten Key.&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|ExecStartPost=}} veranlasst den LVM neu nachzusehen ob es da neue Laufwerke gibt und bindet diese ein,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|ExecStop=}} hängt das Volume beim herunterfahren wieder aus und beendet den Zugriff&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Den Dienst starten wir jetzt aber nicht und setzen diesen auch nicht auf einen automatischen Start.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir richten einen zweiten Dienst ein der dann das Logical Volume mappt, dieser wird den Dienst für die Entschlüsselung dann aufrufen.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Dienst für das Mapping / Mounten erstellen==&lt;br /&gt;
Für den zweiten Dienst ist es wichtig, wohin wir mounten wollen.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich möchte die Festplatte unter&lt;br /&gt;
 /opt&lt;br /&gt;
einhängen. Der Mountpoint muss sich zwingend im Namen des Dienstes widerspiegeln, in diesem Fall muss die Datei&amp;lt;br&amp;gt;&lt;br /&gt;
 /etc/systemd/system/opt.mount&lt;br /&gt;
heißen. Wäre der Mountpoint {{code|/mnt/meineDisk}} so müsste die Datei {{code|/etc/systemd/system/mnt-meineDisk.mount}} heißen!&amp;lt;br&amp;gt;&lt;br /&gt;
Wir erstellen also die Datei:&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
mit folgendem Inhalt:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# //dev/vg_luks_sdb/lv_opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount lv_luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/vg_luks_sdb/lv_opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Weitere Passphrasen für das Entsperren angeben=&lt;br /&gt;
Wer will kann weitere Passphrasen für das Bootlaufwerk angeben, diese funktionieren dann alle gleichberechtigt.&amp;lt;br&amp;gt;&lt;br /&gt;
Kann auch als Trick genutzt werden wenn es Probleme mit der Tastaturbelegung gibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Als {{code|root}}&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
Dann fragt er ein bestehendes und dann 2 mal das neue Kennwort ab:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie irgendeine bestehende Passphrase ein:&lt;br /&gt;
 Geben Sie die neue Passphrase für das Schlüsselfach ein:&lt;br /&gt;
 Passphrase bestätigen:&lt;br /&gt;
Und in Zukunft kann auch dieses Kennwort genutzt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# /dev/luks_sdb/opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/luks_sdb/opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15980</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15980"/>
		<updated>2026-05-18T11:11:55Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Anmeldung nach dem Neustart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AchtungBaustelle}}&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-095403.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort!&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
{{Hinweis|Achtet beim Passwort auf die Sonderzeichen! Ein &#039;&#039;&#039;&amp;amp;&#039;&#039;&#039; machte bei mir Probleme in der VM-Konsole. Eigentlich ist die Belegung an dieser Stelle ja Deutsch, bei mir gab es im ersten Anlauf keine Probleme, in den Versuchen danach aber dann doch. Ich habe dann erst ein anderes Kennwort genommen und das gewünschte später als 2. dazu genommen}}&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;29.980G&#039;&#039;&#039; nur &#039;&#039;&#039;14.988G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.992G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102659.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-103407.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Kontrolle nach dem Neustart=&lt;br /&gt;
Nach dem Reboot habe ich mich angemeldet und bin zum {{code|root}} gewechselt.&amp;lt;br&amp;gt;&lt;br /&gt;
Meine Mappings sehen nun so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
 df -h&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Dateisystem                       Größe Benutzt Verf. Verw% Eingehängt auf&lt;br /&gt;
 tmpfs                              329M   1008K  328M    1% /run&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-cryptsetup@dm_crypt\x2d0.service&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;/dev/mapper/ubuntu--vg-ubuntu--lv   30G    5,2G   23G   19% /&amp;lt;/span&amp;gt;&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /dev/shm&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-journald.service&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /tmp&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-resolved.service&lt;br /&gt;
 /dev/sda2                          2,0G    186M  1,7G   11% /boot&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-networkd.service&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/getty@tty1.service&lt;br /&gt;
 tmpfs                              165M    8,0K  165M    1% /run/user/1000&lt;br /&gt;
Im LVM gibt es nur die eine Volume Group mit der 32G Festplatte:&amp;lt;br&amp;gt;&lt;br /&gt;
 vgs&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
   VG        #PV #LV #SN Attr   VSize  VFree&lt;br /&gt;
   ubuntu-vg   1   1   0 wz--n- 29,98g    0&lt;br /&gt;
Die zweite. noch leere Festplatte ist die {{code|/dev/sdb}}:&amp;lt;br&amp;gt;&lt;br /&gt;
 fdisk -l&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/sda: 32 GiB, 34359738368 Bytes, 67108864 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Festplattenmodell: QEMU HARDDISK&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 Festplattenbezeichnungstyp: gpt&lt;br /&gt;
 Festplattenbezeichner: 357E98E9-94AA-4982-8244-AB5A910BC31A&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Gerät       Anfang     Ende Sektoren Größe Typ&#039;&#039;&#039;&lt;br /&gt;
 /dev/sda1     2048     4095     2048    1M BIOS boot&lt;br /&gt;
 /dev/sda2     4096  4198399  4194304    2G Linux-Dateisystem&lt;br /&gt;
 /dev/sda3  4198400 67106815 62908416   30G Linux-Dateisystem&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;&#039;&#039;&#039;Festplatte /dev/sdb: 512 GiB, 549755813888 Bytes, 1073741824 Sektoren&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Festplattenmodell: QEMU HARDDISK&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Einheiten: Sektoren von 1 * 512 = 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/dm_crypt-0: 29,98 GiB, 32192331776 Bytes, 62875648 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/ubuntu--vg-ubuntu--lv: 29,98 GiB, 32191283200 Bytes, 62873600 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
Diese 512G Festplatte möchte ich nun als verschlüsseltes Laufwerk nach {{code|/opt}} mounten.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Zweite Festplatte verschlüsseln und einbinden=&lt;br /&gt;
{{Hinweis|Ich verschlüssle hier direkt das ganze Laufwerk, nicht nur die Partition. Zudem richte ich eine separate LVM Gruppe ein . so kann man diese später auch leichter entfernen oder ersetzen}}&lt;br /&gt;
Als {{code|root}}:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksFormat /dev/sdb&lt;br /&gt;
Bestätigen und eine Passphrase festlegen:&amp;lt;br&amp;gt;&lt;br /&gt;
 WARNUNG!&lt;br /&gt;
 ========&lt;br /&gt;
 Hiermit werden die Daten auf »/dev/sdb« unwiderruflich überschrieben.&lt;br /&gt;
 &lt;br /&gt;
 Sind Sie sicher? (Tippen Sie &#039;yes&#039; in Großbuchstaben): YES&lt;br /&gt;
 Geben Sie die Passphrase für »/dev/sdb« ein:&lt;br /&gt;
 Passphrase bestätigen:&lt;br /&gt;
Jetzt die verschlüsselte Partition öffnen:&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksOpen /dev/sdb luks_sdb&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie die Passphrase für »/dev/sdb« ein:&lt;br /&gt;
Das entschlüsselte Laufwerk steht nun als&amp;lt;br&amp;gt;&lt;br /&gt;
 /dev/mapper/luks_sdb&lt;br /&gt;
zur Verfügung. Die Bezeichnung {{code|luks_sdb}} ist frei wählbar.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt können wir {{luks_sdb}} nutzen um es mit LVM zu konfigurieren:&amp;lt;br&amp;gt;&lt;br /&gt;
 pvcreate /dev/mapper/luks_sdb&lt;br /&gt;
 vgcreate &#039;&#039;&#039;vg_luks_sdb&#039;&#039;&#039; /dev/mapper/luks_sdb&lt;br /&gt;
 lvcreate -n &#039;&#039;&#039;lv_opt&#039;&#039;&#039; -l100%VG &#039;&#039;&#039;vg_luks_sdb&#039;&#039;&#039;&lt;br /&gt;
 mkfs.ext4 /dev/vg_luks_sdb/lv_opt&lt;br /&gt;
Der Name der Volume Group {{code|vg_luks_sdb}} und des Logical Volume {{code|lv_opt}} sind wiederum frei wählbar, aber die Pfade/Parameter müsst Ihr dann an eure Bezeichnungen anpassen.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir könnten jetzt {{code|lv_opt}} bereits an das leere Verzeichnis {{code|/opt}} mounten, aber wir wollen ja das dies beim booten automatisch geschieht.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Automatischen Mount beim Start einrichten=&lt;br /&gt;
Im Moment wird {{code|/dev/sdb}} nur per Passwort entsperrt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wir richten jetzt zusätzlich ein das man das Laufwerk per Schlüssel aus einer Datei entsperren kann:&amp;lt;br&amp;gt;&lt;br /&gt;
 mkdir /etc/luks&lt;br /&gt;
 dd if=/dev/urandom of=/etc/luks/luks_sdb bs=512 count=8&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Weitere Passphrasen für das Entsperren angeben=&lt;br /&gt;
Wer will kann weitere Passphrasen für das Bootlaufwerk angeben, diese funktionieren dann alle gleichberechtigt.&amp;lt;br&amp;gt;&lt;br /&gt;
Kann auch als Trick genutzt werden wenn es Probleme mit der Tastaturbelegung gibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Als {{code|root}}&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
Dann fragt er ein bestehendes und dann 2 mal das neue Kennwort ab:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie irgendeine bestehende Passphrase ein:&lt;br /&gt;
 Geben Sie die neue Passphrase für das Schlüsselfach ein:&lt;br /&gt;
 Passphrase bestätigen:&lt;br /&gt;
Und in Zukunft kann auch dieses Kennwort genutzt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# /dev/luks_sdb/opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/luks_sdb/opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15979</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15979"/>
		<updated>2026-05-18T09:59:58Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Anmeldung nach dem Neustart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AchtungBaustelle}}&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-095403.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort!&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
{{Hinweis|Achtet beim Passwort auf die Sonderzeichen! Ein &#039;&#039;&#039;&amp;amp;&#039;&#039;&#039; machte bei mir Probleme in der VM-Konsole. Eigentlich ist die Belegung an dieser Stelle ja Deutsch, bei mir gab es im ersten Anlauf keine Probleme, in den Versuchen danach aber dann doch. Ich habe dann erst ein anderes Kennwort genommen und das gewünschte später als 2. dazu genommen}}&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;29.980G&#039;&#039;&#039; nur &#039;&#039;&#039;14.988G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.992G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102659.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-103407.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Anmeldung nach dem Neustart=&lt;br /&gt;
Nach dem Reboot habe ich mich angemeldet und bin zum {{code|root}} gewechselt.&amp;lt;br&amp;gt;&lt;br /&gt;
Meine Mappings sehen nun so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
 df -h&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Dateisystem                       Größe Benutzt Verf. Verw% Eingehängt auf&lt;br /&gt;
 tmpfs                              329M   1008K  328M    1% /run&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-cryptsetup@dm_crypt\x2d0.service&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;/dev/mapper/ubuntu--vg-ubuntu--lv   30G    5,2G   23G   19% /&amp;lt;/span&amp;gt;&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /dev/shm&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-journald.service&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /tmp&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-resolved.service&lt;br /&gt;
 /dev/sda2                          2,0G    186M  1,7G   11% /boot&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-networkd.service&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/getty@tty1.service&lt;br /&gt;
 tmpfs                              165M    8,0K  165M    1% /run/user/1000&lt;br /&gt;
Im LVM gibt es nur die eine Volume Group mit der 32G Festplatte:&amp;lt;br&amp;gt;&lt;br /&gt;
 vgs&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
   VG        #PV #LV #SN Attr   VSize  VFree&lt;br /&gt;
   ubuntu-vg   1   1   0 wz--n- 29,98g    0&lt;br /&gt;
Die zweite. noch leere Festplatte ist die {{code|/dev/sdb}}:&amp;lt;br&amp;gt;&lt;br /&gt;
 fdisk -l&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/sda: 32 GiB, 34359738368 Bytes, 67108864 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Festplattenmodell: QEMU HARDDISK&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 Festplattenbezeichnungstyp: gpt&lt;br /&gt;
 Festplattenbezeichner: 357E98E9-94AA-4982-8244-AB5A910BC31A&lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Gerät       Anfang     Ende Sektoren Größe Typ&#039;&#039;&#039;&lt;br /&gt;
 /dev/sda1     2048     4095     2048    1M BIOS boot&lt;br /&gt;
 /dev/sda2     4096  4198399  4194304    2G Linux-Dateisystem&lt;br /&gt;
 /dev/sda3  4198400 67106815 62908416   30G Linux-Dateisystem&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;&#039;&#039;&#039;Festplatte /dev/sdb: 512 GiB, 549755813888 Bytes, 1073741824 Sektoren&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Festplattenmodell: QEMU HARDDISK&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Einheiten: Sektoren von 1 * 512 = 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/dm_crypt-0: 29,98 GiB, 32192331776 Bytes, 62875648 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/ubuntu--vg-ubuntu--lv: 29,98 GiB, 32191283200 Bytes, 62873600 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
Diese 512G Festplatte möchte ich nun als verschlüsseltes Laufwerk nach {{code|/opt}} mounten.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Weitere Passphrasen für das Entsperren angeben=&lt;br /&gt;
Wer will kann weitere Passphrasen für das Bootlaufwerk angeben, diese funktionieren dann alle gleichberechtigt.&amp;lt;br&amp;gt;&lt;br /&gt;
Kann auch als Trick genutzt werden wenn es Probleme mit der Tastaturbelegung gibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Als {{code|root}}&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
Dann fragt er ein bestehendes und dann 2 mal das neue Kennwort ab:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie irgendeine bestehende Passphrase ein:&lt;br /&gt;
 Geben Sie die neue Passphrase für das Schlüsselfach ein:&lt;br /&gt;
 Passphrase bestätigen:&lt;br /&gt;
Und in Zukunft kann auch dieses Kennwort genutzt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# /dev/luks_sdb/opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/luks_sdb/opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15978</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15978"/>
		<updated>2026-05-18T09:59:34Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Anmeldung nach dem Neustart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AchtungBaustelle}}&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-095403.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort!&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
{{Hinweis|Achtet beim Passwort auf die Sonderzeichen! Ein &#039;&#039;&#039;&amp;amp;&#039;&#039;&#039; machte bei mir Probleme in der VM-Konsole. Eigentlich ist die Belegung an dieser Stelle ja Deutsch, bei mir gab es im ersten Anlauf keine Probleme, in den Versuchen danach aber dann doch. Ich habe dann erst ein anderes Kennwort genommen und das gewünschte später als 2. dazu genommen}}&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;29.980G&#039;&#039;&#039; nur &#039;&#039;&#039;14.988G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.992G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102659.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-103407.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Anmeldung nach dem Neustart=&lt;br /&gt;
Nach dem Reboot habe ich mich angemeldet und bin zum {{code|root}} gewechselt.&amp;lt;br&amp;gt;&lt;br /&gt;
Meine Mappings sehen nun so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
 df -h&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 Dateisystem                       Größe Benutzt Verf. Verw% Eingehängt auf&lt;br /&gt;
 tmpfs                              329M   1008K  328M    1% /run&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-cryptsetup@dm_crypt\x2d0.service&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;/dev/mapper/ubuntu--vg-ubuntu--lv   30G    5,2G   23G   19% /&amp;lt;/span&amp;gt;&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /dev/shm&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-journald.service&lt;br /&gt;
 tmpfs                              822M       0  822M    0% /tmp&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-resolved.service&lt;br /&gt;
 /dev/sda2                          2,0G    186M  1,7G   11% /boot&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/systemd-networkd.service&lt;br /&gt;
 none                               1,0M       0  1,0M    0% /run/credentials/getty@tty1.service&lt;br /&gt;
 tmpfs                              165M    8,0K  165M    1% /run/user/1000&lt;br /&gt;
Im LVM gibt es nur die eine Volume Group mit der 32G Festplatte:&amp;lt;br&amp;gt;&lt;br /&gt;
 vgs&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
   VG        #PV #LV #SN Attr   VSize  VFree&lt;br /&gt;
   ubuntu-vg   1   1   0 wz--n- 29,98g    0&lt;br /&gt;
Die zweite. noch leere Festplatte ist die {{code|/dev/sdb}}:&amp;lt;br&amp;gt;&lt;br /&gt;
 fdisk -l&lt;br /&gt;
Ausgabe:&amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/sda: 32 GiB, 34359738368 Bytes, 67108864 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Festplattenmodell: QEMU HARDDISK&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 Festplattenbezeichnungstyp: gpt&lt;br /&gt;
 Festplattenbezeichner: 357E98E9-94AA-4982-8244-AB5A910BC31A&lt;br /&gt;
 &lt;br /&gt;
 Gerät       Anfang     Ende Sektoren Größe Typ&lt;br /&gt;
 /dev/sda1     2048     4095     2048    1M BIOS boot&lt;br /&gt;
 /dev/sda2     4096  4198399  4194304    2G Linux-Dateisystem&lt;br /&gt;
 /dev/sda3  4198400 67106815 62908416   30G Linux-Dateisystem&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;&#039;&#039;&#039;Festplatte /dev/sdb: 512 GiB, 549755813888 Bytes, 1073741824 Sektoren&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Festplattenmodell: QEMU HARDDISK&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Einheiten: Sektoren von 1 * 512 = 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;background:lightgreen&amp;quot;&amp;gt;E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/dm_crypt-0: 29,98 GiB, 32192331776 Bytes, 62875648 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &#039;&#039;&#039;Festplatte /dev/mapper/ubuntu--vg-ubuntu--lv: 29,98 GiB, 32191283200 Bytes, 62873600 Sektoren&#039;&#039;&#039;&lt;br /&gt;
 Einheiten: Sektoren von 1 * 512 = 512 Bytes&lt;br /&gt;
 Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes&lt;br /&gt;
 E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes&lt;br /&gt;
Diese 512G Festplatte möchte ich nun als verschlüsseltes Laufwerk nach {{code|/opt}} mounten.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Weitere Passphrasen für das Entsperren angeben=&lt;br /&gt;
Wer will kann weitere Passphrasen für das Bootlaufwerk angeben, diese funktionieren dann alle gleichberechtigt.&amp;lt;br&amp;gt;&lt;br /&gt;
Kann auch als Trick genutzt werden wenn es Probleme mit der Tastaturbelegung gibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Als {{code|root}}&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
Dann fragt er ein bestehendes und dann 2 mal das neue Kennwort ab:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie irgendeine bestehende Passphrase ein:&lt;br /&gt;
 Geben Sie die neue Passphrase für das Schlüsselfach ein:&lt;br /&gt;
 Passphrase bestätigen:&lt;br /&gt;
Und in Zukunft kann auch dieses Kennwort genutzt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# /dev/luks_sdb/opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/luks_sdb/opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15977</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15977"/>
		<updated>2026-05-18T09:51:00Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Installation Grundsystem mit Verschlüsselung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AchtungBaustelle}}&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-095403.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort!&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
{{Hinweis|Achtet beim Passwort auf die Sonderzeichen! Ein &#039;&#039;&#039;&amp;amp;&#039;&#039;&#039; machte bei mir Probleme in der VM-Konsole. Eigentlich ist die Belegung an dieser Stelle ja Deutsch, bei mir gab es im ersten Anlauf keine Probleme, in den Versuchen danach aber dann doch. Ich habe dann erst ein anderes Kennwort genommen und das gewünschte später als 2. dazu genommen}}&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;29.980G&#039;&#039;&#039; nur &#039;&#039;&#039;14.988G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.992G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102659.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-103407.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Anmeldung nach dem Neustart=&lt;br /&gt;
Nach dem Reboot habe ich mich angemeldet und bin zum {{code|root}} gewechselt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Weitere Passphrasen für das Entsperren angeben=&lt;br /&gt;
Wer will kann weitere Passphrasen für das Bootlaufwerk angeben, diese funktionieren dann alle gleichberechtigt.&amp;lt;br&amp;gt;&lt;br /&gt;
Kann auch als Trick genutzt werden wenn es Probleme mit der Tastaturbelegung gibt.&amp;lt;br&amp;gt;&lt;br /&gt;
Als {{code|root}}&amp;lt;br&amp;gt;&lt;br /&gt;
 cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
Dann fragt er ein bestehendes und dann 2 mal das neue Kennwort ab:&amp;lt;br&amp;gt;&lt;br /&gt;
 Geben Sie irgendeine bestehende Passphrase ein:&lt;br /&gt;
 Geben Sie die neue Passphrase für das Schlüsselfach ein:&lt;br /&gt;
 Passphrase bestätigen:&lt;br /&gt;
Und in Zukunft kann auch dieses Kennwort genutzt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# /dev/luks_sdb/opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/luks_sdb/opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15976</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15976"/>
		<updated>2026-05-18T09:41:14Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Installation Grundsystem mit Verschlüsselung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AchtungBaustelle}}&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-095403.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort!&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
{{Hinweis|Achtet beim Passwort auf die Sonderzeichen! Ein &#039;&#039;&#039;&amp;amp;&#039;&#039;&#039; machte bei mir Probleme in der VM-Konsole. Eigentlich ist die Belegung an dieser Stelle ja Deutsch, bei mir gab es im ersten Anlauf keine Probleme, in den Versuchen danach aber dann doch.}}&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;29.980G&#039;&#039;&#039; nur &#039;&#039;&#039;14.988G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.992G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102659.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-103407.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# /dev/luks_sdb/opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/luks_sdb/opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15975</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15975"/>
		<updated>2026-05-18T09:36:53Z</updated>

		<summary type="html">&lt;p&gt;BLinz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AchtungBaustelle}}&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-095403.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort!&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;29.980G&#039;&#039;&#039; nur &#039;&#039;&#039;14.988G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.992G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102659.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-103407.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# /dev/luks_sdb/opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/luks_sdb/opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15974</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15974"/>
		<updated>2026-05-18T09:35:53Z</updated>

		<summary type="html">&lt;p&gt;BLinz: Änderung 15973 von BLinz (Diskussion) rückgängig gemacht.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AchtungBaustelle}}&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-105526.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Wichtig:&#039;&#039;&#039; Ich habe in den {{code|System}} Einstellungen der VM diese als {{code|UEFI}} System erstellt:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-105201.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Dann habt Ihr später bei der Passworteingabe für die verschlüsselte Festplatte dann auch eine deutsche Tastaturbelegung!&amp;lt;br&amp;gt;&lt;br /&gt;
Ohne &#039;&#039;&#039;UEFI&#039;&#039;&#039; müsst ihr beachten, das beim Booten noch die englische Tastaturbelegung aktiv ist!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort! Das ganze Funktioniert nur wenn es eine UEFI-VM / UEFI System ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;29.980G&#039;&#039;&#039; nur &#039;&#039;&#039;14.988G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.992G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102659.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-103407.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# /dev/luks_sdb/opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/luks_sdb/opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15973</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15973"/>
		<updated>2026-05-18T09:17:34Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Installation Grundsystem mit Verschlüsselung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AchtungBaustelle}}&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-105526.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Wichtig:&#039;&#039;&#039; Ich habe in den {{code|System}} Einstellungen der VM diese als {{code|UEFI}} System erstellt:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-105201.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Dann habt Ihr später bei der Passworteingabe für die verschlüsselte Festplatte dann auch eine deutsche Tastaturbelegung!&amp;lt;br&amp;gt;&lt;br /&gt;
Ohne &#039;&#039;&#039;UEFI&#039;&#039;&#039; müsst ihr beachten, das beim Booten noch die englische Tastaturbelegung aktiv ist!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort! Das ganze Funktioniert nur wenn es eine UEFI-VM / UEFI System ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-105929.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;28.929G&#039;&#039;&#039; nur &#039;&#039;&#039;14.464G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.464G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-110133.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
Bei einem UEFI-System sieht die Abfrage so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-110712.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn euer System kein UEFI-System ist, sieht es vermutlich so aus und die Tastaturbelegung ist Englisch:&lt;br /&gt;
:[[Datei:ClipCapIt-260518-103407.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# /dev/luks_sdb/opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/luks_sdb/opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Datei:ClipCapIt-260518-110712.PNG&amp;diff=15972</id>
		<title>Datei:ClipCapIt-260518-110712.PNG</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Datei:ClipCapIt-260518-110712.PNG&amp;diff=15972"/>
		<updated>2026-05-18T09:07:13Z</updated>

		<summary type="html">&lt;p&gt;BLinz: Direkt aus der Zwischenablage hochgeladen Kategorie:ClipUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Direkt aus der Zwischenablage hochgeladen [[Kategorie:ClipUpload]]&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Datei:ClipCapIt-260518-110133.PNG&amp;diff=15971</id>
		<title>Datei:ClipCapIt-260518-110133.PNG</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Datei:ClipCapIt-260518-110133.PNG&amp;diff=15971"/>
		<updated>2026-05-18T09:01:34Z</updated>

		<summary type="html">&lt;p&gt;BLinz: Direkt aus der Zwischenablage hochgeladen Kategorie:ClipUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Direkt aus der Zwischenablage hochgeladen [[Kategorie:ClipUpload]]&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Datei:ClipCapIt-260518-105929.PNG&amp;diff=15970</id>
		<title>Datei:ClipCapIt-260518-105929.PNG</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Datei:ClipCapIt-260518-105929.PNG&amp;diff=15970"/>
		<updated>2026-05-18T08:59:29Z</updated>

		<summary type="html">&lt;p&gt;BLinz: Direkt aus der Zwischenablage hochgeladen Kategorie:ClipUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Direkt aus der Zwischenablage hochgeladen [[Kategorie:ClipUpload]]&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15969</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15969"/>
		<updated>2026-05-18T08:58:14Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Installation Grundsystem mit Verschlüsselung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AchtungBaustelle}}&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-105526.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Wichtig:&#039;&#039;&#039; Ich habe in den {{code|System}} Einstellungen der VM diese als {{code|UEFI}} System erstellt:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-105201.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Dann habt Ihr später bei der Passworteingabe für die verschlüsselte Festplatte dann auch eine deutsche Tastaturbelegung!&amp;lt;br&amp;gt;&lt;br /&gt;
Ohne &#039;&#039;&#039;UEFI&#039;&#039;&#039; müsst ihr beachten, das beim Booten noch die englische Tastaturbelegung aktiv ist!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort! Das ganze Funktioniert nur wenn es eine UEFI-VM / UEFI System ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;29.980G&#039;&#039;&#039; nur &#039;&#039;&#039;14.988G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.992G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102659.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-103407.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# /dev/luks_sdb/opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/luks_sdb/opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15968</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15968"/>
		<updated>2026-05-18T08:55:37Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Hardwarekonfiguration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AchtungBaustelle}}&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-105526.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Wichtig:&#039;&#039;&#039; Ich habe in den {{code|System}} Einstellungen der VM diese als {{code|UEFI}} System erstellt:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-105201.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Dann habt Ihr später bei der Passworteingabe für die verschlüsselte Festplatte dann auch eine deutsche Tastaturbelegung!&amp;lt;br&amp;gt;&lt;br /&gt;
Ohne &#039;&#039;&#039;UEFI&#039;&#039;&#039; müsst ihr beachten, das beim Booten noch die englische Tastaturbelegung aktiv ist!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort!&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;29.980G&#039;&#039;&#039; nur &#039;&#039;&#039;14.988G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.992G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102659.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-103407.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# /dev/luks_sdb/opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/luks_sdb/opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Datei:ClipCapIt-260518-105526.PNG&amp;diff=15967</id>
		<title>Datei:ClipCapIt-260518-105526.PNG</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Datei:ClipCapIt-260518-105526.PNG&amp;diff=15967"/>
		<updated>2026-05-18T08:55:26Z</updated>

		<summary type="html">&lt;p&gt;BLinz: Direkt aus der Zwischenablage hochgeladen Kategorie:ClipUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Direkt aus der Zwischenablage hochgeladen [[Kategorie:ClipUpload]]&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Datei:ClipCapIt-260518-105439.PNG&amp;diff=15966</id>
		<title>Datei:ClipCapIt-260518-105439.PNG</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Datei:ClipCapIt-260518-105439.PNG&amp;diff=15966"/>
		<updated>2026-05-18T08:54:40Z</updated>

		<summary type="html">&lt;p&gt;BLinz: Direkt aus der Zwischenablage hochgeladen Kategorie:ClipUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Direkt aus der Zwischenablage hochgeladen [[Kategorie:ClipUpload]]&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15965</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15965"/>
		<updated>2026-05-18T08:53:15Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Hardwarekonfiguration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AchtungBaustelle}}&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-095403.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Wichtig:&#039;&#039;&#039; Ich habe in den {{code|System}} Einstellungen der VM diese als {{code|UEFI}} System erstellt:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-105201.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Dann habt Ihr später bei der Passworteingabe für die verschlüsselte Festplatte dann auch eine deutsche Tastaturbelegung!&amp;lt;br&amp;gt;&lt;br /&gt;
Ohne &#039;&#039;&#039;UEFI&#039;&#039;&#039; müsst ihr beachten, das beim Booten noch die englische Tastaturbelegung aktiv ist!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort!&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;29.980G&#039;&#039;&#039; nur &#039;&#039;&#039;14.988G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.992G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102659.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-103407.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# /dev/luks_sdb/opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/luks_sdb/opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Datei:ClipCapIt-260518-105201.PNG&amp;diff=15964</id>
		<title>Datei:ClipCapIt-260518-105201.PNG</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Datei:ClipCapIt-260518-105201.PNG&amp;diff=15964"/>
		<updated>2026-05-18T08:52:02Z</updated>

		<summary type="html">&lt;p&gt;BLinz: Direkt aus der Zwischenablage hochgeladen Kategorie:ClipUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Direkt aus der Zwischenablage hochgeladen [[Kategorie:ClipUpload]]&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15963</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15963"/>
		<updated>2026-05-18T08:48:30Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Installation Grundsystem mit Verschlüsselung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AchtungBaustelle}}&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-095403.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort!&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;29.980G&#039;&#039;&#039; nur &#039;&#039;&#039;14.988G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.992G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102659.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-103407.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# /dev/luks_sdb/opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/luks_sdb/opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Datei:ClipCapIt-260518-103407.PNG&amp;diff=15962</id>
		<title>Datei:ClipCapIt-260518-103407.PNG</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Datei:ClipCapIt-260518-103407.PNG&amp;diff=15962"/>
		<updated>2026-05-18T08:34:07Z</updated>

		<summary type="html">&lt;p&gt;BLinz: Direkt aus der Zwischenablage hochgeladen Kategorie:ClipUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Direkt aus der Zwischenablage hochgeladen [[Kategorie:ClipUpload]]&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15961</id>
		<title>Ubuntu Server zweite Festplatte mit LUKS verschlüsseln und beim Boot automatisch einbinden sowie Festplatte im laufenden Betrieb vergrößern</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Ubuntu_Server_zweite_Festplatte_mit_LUKS_verschl%C3%BCsseln_und_beim_Boot_automatisch_einbinden_sowie_Festplatte_im_laufenden_Betrieb_vergr%C3%B6%C3%9Fern&amp;diff=15961"/>
		<updated>2026-05-18T08:29:29Z</updated>

		<summary type="html">&lt;p&gt;BLinz: /* Installation Grundsystem mit Verschlüsselung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AchtungBaustelle}}&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;Changelog:&#039;&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
* 18.05.2026 erste Version&lt;br /&gt;
----&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Ich nutze virtuelle Cloud-Server auch für Backups und war am überlegen ob ich deren Dateisystem verschlüsseln soll.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei habe ich ausprobiert, sowohl die Boot-Festplatte als auch eine zusätzlichen Datenfestplatte zu verschlüsseln.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Start des Systems soll aber nur einmal das Passwort abgefragt werden und danach automatisch alle Festplatten entschlüsselt und in das Dateisystem eingehängt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Da habe ich einen Moment für gebraucht, deshalb habe ich mir wie immer eine Schritt-für-Schritt-Anleitung geschrieben damit ich das später auch noch mal hinbekomme.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Als Clou habe ich - mit Unterstützung von Google Gemini - ein Skript für das Vergrößern der Festplatten auch mit LUKS-Verschlüsselung erstellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=Hardwarekonfiguration=&lt;br /&gt;
Für diesen Beitrag nutze ich eine Proxmox-VM mit 2 Festplatten:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-095403.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi0)}} mit &#039;&#039;&#039;32GB&#039;&#039;&#039; ist dabei die Betriebssystem Festplatte und liegt auf einer NVMe,&amp;lt;br&amp;gt;&lt;br /&gt;
{{code|Hard Disk (scsi1)}} mit &#039;&#039;&#039;512GB&#039;&#039;&#039; ist das Datengrab und liegt auf einem RAID5 aus drehenden Festplatten&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Installation Grundsystem mit Verschlüsselung=&lt;br /&gt;
Ich installiere hier Ubuntu Server 26.04 LTS, sollte mit anderen Versionen und Systemen wie Debian ähnlich sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wähle ich die Festplattenverschlüsselung direkt im Setup aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Setup an sich überspringe ich bis zu dem Teil mit der Festplattenauswahl.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer genauere Installationsanweisung haben möchte, den Verweise ich auf meine Universalanleitung dazu: [[Vorlage:Installation-Ubuntu-2604|Installation Ubuntu 2604]] oder [[Vorlage:Installation-Ubuntu-2404|Installation Ubuntu 2404]]&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Verwende ich auch immer in meinen anderen Artikeln.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtig bei der Sprachauswahl ist die richtige Tastatur - wenn beim Booten das Passwort für die Verschlüsselung abgefragt wird, ist das gewählte Tastaturlayout aktiv - wichtig für Sonderzeichen und Umlaute im Verschlüsselungspasswort!&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn der Dialog {{code|Begleitete Speicherplatzkonfiguration}} erscheint beachtet folgendes:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Achtet darauf das die richtige Festplatte ausgewählt ist! Bei mir war die 512G Festplatte vorausgewählt und ich musste händisch zu 32G wechseln&lt;br /&gt;
* Setzt den Haken bei {{code|Die LVM-Gruppe mit LUKS verschlüsseln}}&lt;br /&gt;
* Vergebt ein Passwort / eine Passphrase die Ihr dann zukünftig zum entsperren des System beim Booten eingeben müsst&lt;br /&gt;
Im der Zusammenfassung sieht das dann so bei mir aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-100642.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die 512G sind noch unbenutzt, auf den 32G richtet er das LVM-Volume {{code|ubuntu-vg}} mit der Datenpartition {{code|ubuntu-lv}} ein welche er nach {{code|/}} mounted.&amp;lt;br&amp;gt;&lt;br /&gt;
Wer sich wundert das da von den &#039;&#039;&#039;29.980G&#039;&#039;&#039; nur &#039;&#039;&#039;14.988G&#039;&#039;&#039; im Dateisystem landet:&amp;lt;br&amp;gt;&lt;br /&gt;
Ubuntu nimmt - bei der Verwendung von LVM - ab Werk nur den halben verfügbaren Speicher, ganz oben steht unterhalb von {{code|ubuntu-vg}} die Zeile mit&amp;lt;br&amp;gt;&lt;br /&gt;
 freier Speicherplatz                     14.992G&lt;br /&gt;
Um diesen auch zu nutzen, bewegt den Fokus mit den Pfeiltasten auf die Zeile mit {{code|ubuntu-lv}} und rückt {{key|Enter}}:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Wählt Edit:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102100.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Und setzt in diesem Dialog den Wert auf das Maximum:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102300.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Jetzt sieht die Zusammenfassung so aus:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-260518-102659.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
Der einzige freie Speicherplatz ist nun die 2. Festplatte.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Rest des Setups wie gewohnt / gehabt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Am Ende des Setups erfolgt der erste Reboot - und Ihr müsst zum ersten mal das Passwort zum entsperren eingeben:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano /etc/systemd/system/decrypt-luks_sdb.service&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Decrypt and open /dev/sdb&lt;br /&gt;
Documentation=man:cryptsetup&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
Conflicts=shutdown.target&lt;br /&gt;
After=local-fs.target&lt;br /&gt;
Before=shutdown.target&lt;br /&gt;
BindsTo=dev-sdb.device&lt;br /&gt;
After=dev-sdb.device&lt;br /&gt;
#Before=var-lib-docker.mount&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
ExecStart=/usr/sbin/cryptsetup luksOpen /dev/sdb luks_sdb --key-file /etc/luks/luks_sdb&lt;br /&gt;
ExecStartPost=/usr/sbin/vgscan ; /usr/sbin/vgchange -ay&lt;br /&gt;
ExecStop=/usr/sbin/vgchange -a n luks_sdb ; /usr/sbin/cryptsetup luksClose luks_sdb&lt;br /&gt;
TimeoutSec=90s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 nano /etc/systemd/system/opt.mount&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# this systemd unit will mount the LVM logical volume&lt;br /&gt;
# /dev/luks_sdb/opt at /opt&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Mount luks_sdb&lt;br /&gt;
DefaultDependencies=no&lt;br /&gt;
ConditionPathExists=/opt&lt;br /&gt;
Requires=decrypt-luks_sdb.service&lt;br /&gt;
After=decrypt-luks_sdb.service&lt;br /&gt;
[Mount]&lt;br /&gt;
What=/dev/luks_sdb/opt&lt;br /&gt;
Where=/opt&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Quellen=&lt;br /&gt;
* https://medium.com/@chandana_33332/howto-setup-a-luks-encrypted-drive-with-lvm-on-linux-f33465383bb8&lt;br /&gt;
* https://gemini.google.com/&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Datei:ClipCapIt-260518-102659.PNG&amp;diff=15960</id>
		<title>Datei:ClipCapIt-260518-102659.PNG</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Datei:ClipCapIt-260518-102659.PNG&amp;diff=15960"/>
		<updated>2026-05-18T08:27:00Z</updated>

		<summary type="html">&lt;p&gt;BLinz: Direkt aus der Zwischenablage hochgeladen Kategorie:ClipUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Direkt aus der Zwischenablage hochgeladen [[Kategorie:ClipUpload]]&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Datei:ClipCapIt-260518-102300.PNG&amp;diff=15959</id>
		<title>Datei:ClipCapIt-260518-102300.PNG</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Datei:ClipCapIt-260518-102300.PNG&amp;diff=15959"/>
		<updated>2026-05-18T08:23:01Z</updated>

		<summary type="html">&lt;p&gt;BLinz: Direkt aus der Zwischenablage hochgeladen Kategorie:ClipUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Direkt aus der Zwischenablage hochgeladen [[Kategorie:ClipUpload]]&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
	<entry>
		<id>https://znil.net/index.php?title=Datei:ClipCapIt-260518-102100.PNG&amp;diff=15958</id>
		<title>Datei:ClipCapIt-260518-102100.PNG</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=Datei:ClipCapIt-260518-102100.PNG&amp;diff=15958"/>
		<updated>2026-05-18T08:21:00Z</updated>

		<summary type="html">&lt;p&gt;BLinz: Direkt aus der Zwischenablage hochgeladen Kategorie:ClipUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Direkt aus der Zwischenablage hochgeladen [[Kategorie:ClipUpload]]&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
</feed>