<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Linux – teqqy</title><link>https://www.teqqy.de/tags/linux/</link><description>Ein Blog über Technik und mehr</description><language>de</language><managingEditor>teqqy</managingEditor><lastBuildDate>Thu, 16 Jul 2026 10:53:16 +0000</lastBuildDate><generator>Hugo 0.164.0</generator><atom:link href="https://www.teqqy.de/tags/linux/index.xml" rel="self" type="application/rss+xml"/><item><title>iVentoy PXE Server unter Debian LXC installieren</title><link>https://www.teqqy.de/iventoy-pxe-server-unter-debian-lxc-installieren/</link><pubDate>Wed, 26 Mar 2025 12:00:00 +0100</pubDate><lastBuildDate>Wed, 26 Mar 2025 12:00:00 +0100</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/iventoy-pxe-server-unter-debian-lxc-installieren/</guid><description>In meinem Homelab verwende ich einen Kubernetes Cluster der auf Talos als Betriebssystem aufsetzt. Bei einer kompletten Neuinstallation ist es für mich aufwendig immer drei USB Sticks vorzubereiten um dann alle drei Nodes parallel installieren zu können. Also entschied ich mich einen PXE Server bereit zu stellen um die ISO Images aus dem Netzwerk booten zu können.
Es gibt für das Endergebnis verschiedene Wege. Ich habe mich dazu entschlossen iVentoy als PXE Server zu verwenden. Ventoy an sich ist ja sicherlich vielen von euch schon ein Begriff. Damit kann man nämlich USB Sticks erstellen mit mehreren ISO Dateien. iVentoy ist vom gleichen Entwickler und bietet dann die Möglichkeit diese ISO Images aus dem Netzwerk zu booten.</description><content:encoded>&lt;![CDATA[<p>In meinem Homelab verwende ich einen Kubernetes Cluster der auf Talos als Betriebssystem aufsetzt. Bei einer kompletten Neuinstallation ist es für mich aufwendig immer drei USB Sticks vorzubereiten um dann alle drei Nodes parallel installieren zu können. Also entschied ich mich einen PXE Server bereit zu stellen um die ISO Images aus dem Netzwerk booten zu können.</p><p>Es gibt für das Endergebnis verschiedene Wege. Ich habe mich dazu entschlossen iVentoy als PXE Server zu verwenden. Ventoy an sich ist ja sicherlich vielen von euch schon ein Begriff. Damit kann man nämlich USB Sticks erstellen mit mehreren ISO Dateien. iVentoy ist vom gleichen Entwickler und bietet dann die Möglichkeit diese ISO Images aus dem Netzwerk zu booten.</p><p>Ich verwende wo ich nur kann Container, sei es Docker oder, wie in diesem Fall, LXC. Ich benötige hier nicht eine voll aufgeblähte virtuelle Maschine, wenn ein kleiner LXC auf meinem Proxmox Host dafür ausreichend ist.</p><h2 id="was-ist-ein-pxe-server">Was ist ein PXE Server?<a href="#was-ist-ein-pxe-server" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Ein PXE-Server (Preboot Execution Environment) erlaubt es Computern, ein Betriebssystem über das Netzwerk zu starten, ohne dass eine Festplatte oder ein USB-Stick nötig ist. Beim Start fragt der Computer per Netzwerk nach einem Boot-Server. Der PXE-Server antwortet und liefert die nötigen Daten, damit der Computer ein Betriebssystem laden und installieren kann. Das ist nützlich für die automatische Einrichtung vieler Computer.</p><h2 id="lxc-anlegen">LXC anlegen<a href="#lxc-anlegen" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Unter Proxmox könnt ihr ganz normal einen LXC anlegen. Ich verwende in meinem Fall einen priviligierten Container, weil es mir die Sache etwas einfach macht. Wer sehr stark auf Sicherheit wert legt, müsste für einen unpriviligierten Container entsprechend noch Dinge anpassen.
Zudem verwende ich, wie in der Überschrift angegeben, Debian als Betriebssystem. Zum Zeitpunkt der Erstellung dieses Beitrages in Version 11 alias Bookworm. Ggf. sind Anpassungen bei Ubuntu notwendig.
Wenn du den Container also angelegt hast, müsstest du ihn einmal wieder beenden bzw. noch nicht starten. Wir müssen nämlich die Konfiguration noch anpassen, weil wir sonst später auf ein APPARMOR Problem stoßen werden. Also bitte per SSH auf den Proxmox Server verbinden (oder die interne Shell nutzen) und die LXC Datei editieren</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>nano /etc/pve/lxc/&lt;LXC ID&gt;.conf</span></span></code></pre></div></div><p>Die LXC ID siehst du im Proxmox Frontend.
Hier fügen wir am Ende folgendes ein</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>lxc.apparmor.profile: unconfined
lxc.cap.drop:</code></pre></div><p>Nun können wir den Container starten.</p><h2 id="iventoy-installieren">iVentoy installieren<a href="#iventoy-installieren" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Als erstes sollten wir natürlich das System aktualliseren</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>apt update<span style="color:#ff7b72;font-weight:bold">&amp;&amp;</span> apt upgrade -y</span></span></code></pre></div></div><p>Jetzt benötigen wir bei einem LXC noch diverse Pakete. Bei einer VM könnten diese nicht notwendig sein.</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>apt install libevent-2.1-7 libevent-pthreads-2.1-7 glibc libwim15 libhivex0 wget</span></span></code></pre></div></div><p>Jetzt laden wir uns noch das aktuelle Paket bei<a href="https://github.com/ventoy/PXE/releases" target="_blank" rel="noopener noreferrer">GitHub<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
herunter. Am besten vorher die aktuelle Version kontrollieren.</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>wget https://github.com/ventoy/PXE/releases/download/v1.0.20/iventoy-1.0.20-linux-free.tar.gz</span></span></code></pre></div></div><p>Anschließend können wir das Paket entpacken</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>tar xvfz iventoy-1.0.20-linux-free.tar.gz</span></span></code></pre></div></div><p>Ich für meinen Teil packe solche Installationen immer nach<code>/opt</code>, aber das kannst du gerne anpassen. Ich verschiebe also die iVentoy Installation und benenne gleichzeitig den Ordner um</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>mv iventoy-1.0.20-linux-free /opt/pxe</span></span></code></pre></div></div><p>Es sollte bei dir dann ungefähr so aussehen.<img src="/iventoy-pxe-server-unter-debian-lxc-installieren/images/iventoy-pxe-verzeichnis_hu_4ded0c825b7cbb63.webp" srcset="/iventoy-pxe-server-unter-debian-lxc-installieren/images/iventoy-pxe-verzeichnis_hu_dc86d0de613e217d.webp 384w, /iventoy-pxe-server-unter-debian-lxc-installieren/images/iventoy-pxe-verzeichnis_hu_4ded0c825b7cbb63.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="Verzeichnisausgabe iVentoy" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="128">
Wichtig ist das Verzeichnis<strong>ISO</strong>, weil du dort alle ISO Dateien ablegen muss welche du im Netzwerk verfügbar haben möchtest.</p><h2 id="iventoy-starten-und-einrichten">iVentoy starten und einrichten<a href="#iventoy-starten-und-einrichten" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Nun können wir das Programm starten</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>./iventoy.sh start</span></span></code></pre></div></div><p>Du bekommst dann eine Ausgabe unter welcher PID der Prozess läuft und wie du auf die Webseite zugreifen kannst.
Wir rufen also die iVentoy Seite einmal mit der IP deines Containers sowie Port 26000 auf und bekommen dann sowas angezeigt<img src="/iventoy-pxe-server-unter-debian-lxc-installieren/images/iventoy-pxe-webseite_hu_115929964182793b.webp" srcset="/iventoy-pxe-server-unter-debian-lxc-installieren/images/iventoy-pxe-webseite_hu_48d9b48a0899ea46.webp 384w, /iventoy-pxe-server-unter-debian-lxc-installieren/images/iventoy-pxe-webseite_hu_115929964182793b.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="iVentoy Seite" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="408">
Nun hängt es wieder ein bisschen von deiner Wunschkonfiguration ab. Ich möchte den DHCP Server von iVentoy nicht verwenden, sondern den meines Unifi Gateways. Wenn du einen (für iVentoy) externen DHCP Server verwenden möchtest, gehst du links auf<strong>Configuration</strong> und stellst bei<strong>Server Mode</strong> auf<strong>External</strong>. Etwas oben drüber dann auf speichern klicken.
Unter<strong>Image Management</strong> kannst du die ISO Dateien sehen welche du ggf. vorher schon abgelegt hast. Andernfalls kannst du auf der rechten Seite auch per drag and drop eine neue hochladen.</p><p>Zu guter letzte müssen wir den Server &ldquo;nochmal&rdquo; starten. Unter<strong>Boot Information</strong> ist rechts ein Play-Button der grün hinterlegt ist. Den musst du unbedingt anklicken, sonst funktioniert es nicht.</p><p>Wenn du jetzt ein System mit der Bootoption Netzwerk am Anfang startest erwartet dich dann solch eine Anzeige<img src="/iventoy-pxe-server-unter-debian-lxc-installieren/images/iventoy-pxe-network-boot_hu_6066bc81f12c2be2.webp" srcset="/iventoy-pxe-server-unter-debian-lxc-installieren/images/iventoy-pxe-network-boot_hu_4368975849f3c1d0.webp 384w, /iventoy-pxe-server-unter-debian-lxc-installieren/images/iventoy-pxe-network-boot_hu_6066bc81f12c2be2.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="iventoy Netzwerk boot" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="476"/>
]]></content:encoded><category>pxe</category><category>proxmox</category><category>linux</category></item><item><title>Samba Gastfreigabe unter Ubuntu einrichten: Anleitung für macOS, Windows &amp; Linux</title><link>https://www.teqqy.de/samba-gast-freigabe-fuer-macos/</link><pubDate>Thu, 30 Dec 2021 20:36:40 +0100</pubDate><lastBuildDate>Thu, 30 Dec 2021 20:36:40 +0100</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/samba-gast-freigabe-fuer-macos/</guid><description>Heute habe ich mir ein neues NAS auf Basis von Ubuntu 21.04 eingerichtet und muss für unsere diversen macOS Geräte natürlich auch eine Dateifreigabe einrichten. Da das interne Netzwerk, für ein privates akzeptabel, abgesichert ist, verzichte ich auf eine erneute Authentifizierung an den Freigaben.
Heute habe ich mir ein neues NAS auf Basis von Ubuntu 22.0
Mein neues NAS ist auf Basis von Ubuntu (externer Link) 22 und SAMBA für CIFS Freigaben. Hierfür musste ich eine SAMBA Gast Freigabe erstellen die primär für MacOS gedacht ist. Aber natürlich funktioniert diese auch für Windows und Linux. Für MacOS benötigt man lediglich erweiterte Parameter.</description><content:encoded>&lt;![CDATA[<p>Heute habe ich mir ein neues NAS auf Basis von Ubuntu 21.04 eingerichtet und muss für unsere diversen macOS Geräte natürlich auch eine Dateifreigabe einrichten. Da das interne Netzwerk, für ein privates akzeptabel, abgesichert ist, verzichte ich auf eine erneute Authentifizierung an den Freigaben.</p><p>Heute habe ich mir ein neues NAS auf Basis von Ubuntu 22.0</p><p>Mein neues NAS ist auf Basis von<a href="https://ubuntu.com" target="_blank" rel="noopener noreferrer">Ubuntu<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
22 und SAMBA für CIFS Freigaben. Hierfür musste ich eine SAMBA Gast Freigabe erstellen die primär für MacOS gedacht ist. Aber natürlich funktioniert diese auch für Windows und Linux. Für MacOS benötigt man lediglich erweiterte Parameter.</p><h2 id="samba-installieren">SAMBA installieren<a href="#samba-installieren" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Zuerst müssen wir natürlich alle benötigten Pakete installieren. Diese sollten sich nicht unterscheiden, wenn du eine andere Ubuntu oder auf Debian/Ubuntu basierende Distribution verwendest. Zumindest wenn der Versionunterschied nicht allzugroß ist.</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>apt install samba samba-vfs-modules</code></pre></div><p>Das wir SAMBA als Paket benötigen, sollte klar sein. Die „samba-vfs-modules“ sind Erweiterungen damit macOS die notwenigen Funktionen bereitgestellt bekommt.</p><h2 id="samba-gast-freigabe-einrichten">SAMBA Gast Freigabe einrichten<a href="#samba-gast-freigabe-einrichten" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Erst einmal sichern wir uns die Original Konfiguration</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>mv /etc/samba/smb.conf /etc/samba/smb.conf.org</span></span></code></pre></div></div><p>Nun können wir uns eine neue Datei anlegen</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>nano /etc/samba/smb.conf</span></span></code></pre></div></div><p>Dort packen wir folgenden Inhalt rein</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">conf</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="conf"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code class="language-conf" data-lang="conf">[global]
workgroup = WORKGROUP
security = user
map to guest = Bad User
min protocol = SMB2
vfs objects = fruit streams_xattr
fruit:metadata = stream
fruit:model = Xserve
fruit:posix_rename = yes
fruit:veto_appledouble = no
fruit:wipe_intentionally_left_blank_rfork = yes
fruit:delete_empty_adfiles = yes
[Dateien]
path = /nas02/shares/Dateien
vfs objects = catia fruit streams_xattr
public = yes
only guest = yes
browseable = yes
read only = no
writeable = yes
create mask = 0644
directory mask = 0755</code></pre></div><p>Natürlich müsstest du noch ein paar Dinge anpassen:</p><ul><li><em>workgroup</em> sollte entsprechend deiner im Heimnetzwerk befindlichen angepasst werden.</li><li><em>[Dateien]</em> ist der Name der Freigabe wie sie im Finder oder Windows Explorer angezeigt wird. Verwende hier nur Buchstaben und/oder Zahlen. Keine Sonderzeichen oder Leerzeichen. Das kann immer mal zu Problemen führen</li><li><em>path</em> sollte natürlich der Pfad wiederspiegeln in dem deine Dateien liegen sollen. Häufig ist das eine extra Festplatte oder gemountetes Laufwerk.</li></ul><p>Den Rest kannst du so übernehmen. Natürlich kannst auch Dinge direkt anpassen, wenn du weißt was du tun musst.</p><p>Also können wir jetzt den SAMBA-Dienst neu starten</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>systemctl restart smbd</span></span></code></pre></div></div><h2 id="anzeige-mit-avahi-verschönern">Anzeige mit AVAHI verschönern<a href="#anzeige-mit-avahi-versch%c3%b6nern" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Grundsätzlich würde die Freigabe im Finder jetzt schon auftauchen und funktionieren. Wir wollen das ganze aber noch ein wenig aufhübschen und ein passendes Icon an die Freigabe hängen. Das ganze wird mit AVAHI realisiert. Das muss auch erst einmal installiert werden</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>apt install avahi-daemon</span></span></code></pre></div></div><p>Nun erstellen wir eine Datei die die benötigte Konfigration enthält</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>nano /etc/avahi/services/smb.service</span></span></code></pre></div></div><p>Die bekommt folgenden Inhalt</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>&lt;?xml version="1.0" standalone='no'?&gt;
&lt;!–*-nxml-*–&gt;
&lt;service-group&gt;
&lt;name replace-wildcards="yes"&gt;%h&lt;/name&gt;
&lt;service&gt;
&lt;type&gt;_smb._tcp&lt;/type&gt;
&lt;port&gt;445&lt;/port&gt;
&lt;/service&gt;
&lt;service&gt;
&lt;type&gt;_device-info._tcp&lt;/type&gt;
&lt;port&gt;0&lt;/port&gt;
&lt;txt-record&gt;model=Xserve&lt;/txt-record&gt;
&lt;/service&gt;
&lt;/service-group&gt;</code></pre></div><p>Pass beim kopieren auf das die Hochkommata und Anführungszeichen richtig sind. Gegebenenfalls einfach noch mal ersetzen.</p><p>Solltest du den<em>Xserve</em> nicht als Model verwenden wollen, stehen dir auch noch andere zur Verfügung. Füge einfach folgende URL in Safari ein und übernehme eines der Icons</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>file:///System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/`</code></pre></div><p>Anschließend muss natürlich AVAHI einmal neu gestartet werden</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>systemctl restart avahi-daemon</span></span></code></pre></div></div><p>Nun solltest du eine saubere Freigabe für macOS und Windows Geräte haben die keine Authentifizierung erfordern.</p><p><img src="/samba-gast-freigabe-fuer-macos/images/samba-gast-freigabe_hu_3aa2782b7a8381f4.webp" srcset="/samba-gast-freigabe-fuer-macos/images/samba-gast-freigabe_hu_2affa8608f8647be.webp 384w, /samba-gast-freigabe-fuer-macos/images/samba-gast-freigabe_hu_3aa2782b7a8381f4.webp 768w" sizes="(max-width: 768px) 100vw, 768px" alt="Finder Screenshot von der SAMBA Gast Freigabe" loading="lazy" fetchpriority="auto" decoding="async" width="768" height="408"/><aside class="callout callout-info" role="note" aria-label="Hinweis"><svg class="callout-icon" aria-hidden="true" focusable="false" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg><div class="callout-content"><p class="callout-title">Hinweis</p><div class="callout-body">Windows-Hinweis: Beachte, dass Windows 10 und Windows 11 den anonymen SMB-Gastzugriff standardmäßig blockieren. Dieses Verhalten ist beabsichtigt und dient der Sicherheit.
Solltest du die hier beschriebene Samba-Gastfreigabe dennoch unter Windows verwenden wollen, ist vorher eine kleine Systemanpassung erforderlich. Eine komplette Anleitung dazu findest du in meinem separaten<a href="/windows-server-2019-smb-gast-zugriff/">Beitrag</a>
) zum Aktivieren von Gastzugriffen unter Windows.</div></div></aside>
]]></content:encoded><category>samba</category><category>linux</category><category>windows</category></item><item><title>Linux am Desktop - Ein kurzes Experiment</title><link>https://www.teqqy.de/linux-am-desktop-ein-kurzes-experiment/</link><pubDate>Tue, 06 Apr 2021 20:46:36 +0200</pubDate><lastBuildDate>Tue, 06 Apr 2021 20:46:36 +0200</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/linux-am-desktop-ein-kurzes-experiment/</guid><description>Seit Jahren bin ich in der Apple-Welt daheim und nutze eigentlich bei allen wichtigen Plattformen ein entsprechendes Produkt. Einer Diskussion über die Vor- und Nachteile von diversen Betriebssystemen gehe ich grundsätzlich aus dem Weg. Wer – wie ich – alle Plattformen häufig nutzt, weiß, dass nix fehlerfrei ist.
Meiner Meinung nach muss aber als Admin in der IT neugierig auf neue Dinge sein und gerne experimentieren wollen. Wer das nicht gerne macht, wird wohl mit den schnellen Entwicklungen nicht mehr lange mithalten können.</description><content:encoded>&lt;![CDATA[<p>Seit Jahren bin ich in der Apple-Welt daheim und nutze eigentlich bei allen wichtigen Plattformen ein entsprechendes Produkt. Einer Diskussion über die Vor- und Nachteile von diversen Betriebssystemen gehe ich grundsätzlich aus dem Weg. Wer – wie ich – alle Plattformen häufig nutzt, weiß, dass nix fehlerfrei ist.</p><p>Meiner Meinung nach muss aber als Admin in der IT neugierig auf neue Dinge sein und gerne experimentieren wollen. Wer das nicht gerne macht, wird wohl mit den schnellen Entwicklungen nicht mehr lange mithalten können.</p><p>Aus eben diesen Gründen dachte ich mir, ich schaue mir mal wieder Linux am Desktop an.<a href="/status-meines-k3s-homelab-stand-02-2021/">Serverseitig</a>
nutze ich ja fast ausschließlich Ubuntu. Am Client wurde mir aber da eher von abgeraten und empfohlen auf<a href="https://archlinux.org" target="_blank" rel="noopener noreferrer">Arch Linux<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
zu setzen. Schlussendlich ja kein großer Unterschied. Natürlich ist die Installation bei Arch mit wesentlich mehr manuellem Aufwand geprägt als bei vielen anderen Distributionen. Mit<a href="https://akolles.de/arch-linux/arch-linux-installation#livestick" target="_blank" rel="noopener noreferrer">dieser guten Anleitung<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
funktionierte es allerdings schnell und zuverlässig.</p><p>Nachdem also das System auf einer zweiten SSD installiert war und sauber bootete, kümmerte ich mich um die ganzen Programme, ein wenig um das Design und um meine Arbeitsroutine an das System anzupassen. Im besten Fall passt sich natürlich immer das System an die nutzende Person an, aber sind wir mal ehrlich: Das ist Wunschdenken…</p><p>Die notwendigen Tools wie Browser, Email Client und so waren schnell heraus gesucht. Chromium wurde durch die Anleitung mit installiert, also nutze ich erst mal den. Für den Anfang reicht das ja. Ein Email Client unter Linux, der Microsoft Office 365 wirklich kann, wird schwierig. Entweder kostet der 130 US-$ im Jahr oder hat schon unter macOS mich nicht wirklich überzeugt.</p><p>Anschließend besorgte ich mir dann schon mal die ganzen kleinen Tools wie PDF-Reader, Video-Player, Bildbetrachter und so weiter. Als das ganze gut lief, war ich schon recht beeindruckt und war guter Hoffnung zukünftig komplett auf Linux am Desktop setzen zu können.</p><p>Allerdings muss ich ja irgendwie noch meine Videos produzieren.<a href="https://obsproject.com/de" target="_blank" rel="noopener noreferrer">OBS Studio<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
war schnell installiert und eingerichtet.<a href="https://amzn.to/3wA42Ur" target="_blank" rel="noopener noreferrer">Elgato CamLink 4k<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
,<a href="https://amzn.to/39NfUIF" target="_blank" rel="noopener noreferrer">Logitech C920<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
Webcam und das<a href="https://amzn.to/3dGJYHi" target="_blank" rel="noopener noreferrer">Behringer USB Interface<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
wurden schnell und ohne zutun erkannt. Top!</p><p>Als nächstes das Schnittprogramm:<a href="https://www.blackmagicdesign.com/de/products/davinciresolve/" target="_blank" rel="noopener noreferrer">Blackmagic Davinci Resolve<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
. Das Tool gibt es auch unter Linux und die Installation gestaltete sich mit einer RUN-Datei auch denkbar einfach. Leider ließ es sich nicht starten. Und hier begann das Drama.</p><p>Meine AMD R470 Grafikkarte wird grundsätzlich unterstützt, denn mein Philips Ultrawide Monitor lieferte von Anfang an die richtige Auflösung. Im Arch Wiki wird dann berichtet, dass man spezielle Treiber braucht. Kann man ja installieren. Allerdings ließen sich diese nicht aktivieren. Spezielle weitere Treiber für unsere europäische PAL Region waren nicht mehr verfügbar. Diverse Workarounds im Internet halfen nix.</p><p>Da an diesem Punkt schon drei Tage ins Land gezogen sind, brach ich mein Experiment ab. Natürlich gibt es mit Kdenlive auch eine Alternative zu Davinci Resolve, aber auch noch meinen<a href="https://www.youtube.com/channel/UCnBQ7GosWO57aTpm2wR7Q7Q" target="_blank" rel="noopener noreferrer">YouTube<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
Workflow zu ändern kam für mich nicht in Frage.</p><p>Allerdings bin ich mir sicher, dass für diejenigen, die keine besonderen Anforderungen haben, Linux ohne Problem als primäres Betriebssystem zu nutzen ist. Zumindest für Menschen, die technikafin sind.</p>
]]></content:encoded><category>linux</category><category>hardware</category></item><item><title>Debian NTP Client konfigurieren</title><link>https://www.teqqy.de/debian-9-ntp-client-konfigurieren/</link><pubDate>Tue, 08 Jan 2019 14:33:21 +0100</pubDate><lastBuildDate>Tue, 08 Jan 2019 14:33:21 +0100</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/debian-9-ntp-client-konfigurieren/</guid><description>Vor kurzem bin ich auf das Problem gestoßen, dass ich meinen Debian (externer Link) Systemen einen anderen NTP Server beibringen wollte. Der Debian NTP Client sollten nicht mehr die Poolserver im Internet abfragen, sondern die Firewall. Diese konfiguriere ich, sofern es diese zulässt, immer als zentralen NTP Server für das Netzwerk . Diese soll dann die Abfragen an die öffentlichen Adressen durchführen.</description><content:encoded>&lt;![CDATA[<p>Vor kurzem bin ich auf das Problem gestoßen, dass ich meinen<a href="https://www.debian.org" target="_blank" rel="noopener noreferrer">Debian<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
Systemen einen anderen NTP Server beibringen wollte. Der Debian NTP Client sollten nicht mehr die Poolserver im Internet abfragen, sondern die Firewall. Diese konfiguriere ich, sofern es diese zulässt, immer als zentralen NTP Server für das<a href="/3-dns-blocklisten-fuer-pihole-adguard-oder-blocky/">Netzwerk</a>
. Diese soll dann die Abfragen an die öffentlichen Adressen durchführen.</p><h1 id="debian-ntp-client-konfigurieren">Debian NTP Client konfigurieren<a href="#debian-ntp-client-konfigurieren" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h1><p>Im Internet gibt es diverse Anleitungen die einem sagen, man möge doch einfach das Paket NTP installieren und dann die Server umtragen. Funktioniert leider nicht! Debian arbeitet via systemd mit dem Paket „systemd-timesyncd“. Dieses übernimmmt die entsprechende Funktion um korrekten einstellen der Uhrzeit am System.</p><p>Um jetzt einen individuellen Zeitserver einzutragen editiert man die Datei</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>/etc/systemd/timesyncd.conf</code></pre></div><p>Diese ist per default kaum konfiguriert. Entsprechend trägt man die Server so ein, dass die Datei im Anschluss ca. so aussehen könnte:</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>[Time]
NTP={IP des NTP Servers}</code></pre></div><p>Anschließend startet man noch den Dienst neu</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>systemctl restart systemd-timesyncd</code></pre></div><p>Und schon fragt der Debian NTP Client den korrekten<a href="https://www.pool.ntp.org/zone/de" target="_blank" rel="noopener noreferrer">NTP Server<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
ab. Kontrollieren kannst du das natürlich im syslog.</p><h1 id="alternative-chrony">Alternative: Chrony<a href="#alternative-chrony" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h1><p>Chrony ist eine Software, die zur Zeitsynchronisation auf Computern und Netzwerken verwendet wird. Sie ist eine der modernen Alternativen zu NTP (Network Time Protocol)-Diensten und eignet sich besonders gut für Systeme, die nicht immer eine permanente Netzwerkverbindung haben, wie Laptops oder Server mit gelegentlicher Internetverbindung.</p><p>Installiert wird chrony ganz regulär mittels</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>apt install chrony</code></pre></div><p>Anschließend sollte noch die Konfigurationsdatei geändert werden. Zumindest wenn du einen eigenen NTP-Server verwenden möchtest.</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>vim /etc/chrony/chrony.conf</code></pre></div><p>Direkt bei Server kannst du die Zeilen raus löschen und gegen deinen Server austauschen. Wie immer muss der Dienst anschließend neu gestartet werden</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label"/><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang=""><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><pre tabindex="0"><code>systemctl restart chronyd</code></pre></div>
]]></content:encoded><category>linux</category><category>networking</category></item><item><title>Java 8 unter Debian 9 (Stretch) via apt installieren</title><link>https://www.teqqy.de/java-8-unter-debian-9-stretch-via-apt-installieren/</link><pubDate>Fri, 14 Dec 2018 14:35:22 +0100</pubDate><lastBuildDate>Fri, 14 Dec 2018 14:35:22 +0100</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/java-8-unter-debian-9-stretch-via-apt-installieren/</guid><description>In letzter Zeit benötige ich recht häufig die Java Version von Oracle. Genau so häufig suche ich im Internet nach der passenden Anleitung und jedes Mal erwische ich die falschen Seiten. Anstatt einfach nur die Links abzuspeichern möchte ich dir ein Mehrwert bieten und kurz zusammenfassen, wie du Java unter Debian 9 installieren kannst.
Wie immer gehe ich in meinen Anleitungen davon aus, dass du als root arbeitest. Sollte das nicht der Fall sein, musst du vor den einzelnen Befehlen noch jeweils ein sudo setzen.</description><content:encoded>&lt;![CDATA[<p>In letzter Zeit benötige ich recht häufig die Java Version von Oracle. Genau so häufig suche ich im Internet nach der passenden Anleitung und jedes Mal erwische ich die falschen Seiten. Anstatt einfach nur die Links abzuspeichern möchte ich dir ein Mehrwert bieten und kurz zusammenfassen, wie du Java unter Debian 9 installieren kannst.</p><p>Wie immer gehe ich in meinen Anleitungen davon aus, dass du als<em>root</em> arbeitest. Sollte das nicht der Fall sein, musst du vor den einzelnen Befehlen noch jeweils ein<em>sudo</em> setzen.</p><p>Mit diesen zwei Befehlen fügen wir die Paketquellen hinzu und laden uns den aktuellen Schlüssel vom Keyserver.</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>echo<span style="color:#a5d6ff">"deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main"</span> | tee /etc/apt/sources.list.d/webupd8team-java.listapt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886</span></span></code></pre></div></div><p>Wenn dies erfolgreich durchgelaufen ist, können wir die Paketquellen updaten</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>apt update</span></span></code></pre></div></div><p>Sollten auch hier keine Fehler auftreten kannst du nun Java installieren und den Bildschirmanweisungen folgen.</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>apt install oracle-java8-installer -y</span></span></code></pre></div></div><p>Zu guter letzt überprüfen wir noch die korrekte Version</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>java -version</span></span></code></pre></div></div><p>Zum Zeitpunkt der Erstellung dieser Anleitung kam hierbei folgendes Ergebnis</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>java version<span style="color:#a5d6ff">"1.8.0_191"</span>Java<span style="color:#ff7b72;font-weight:bold">(</span>TM<span style="color:#ff7b72;font-weight:bold">)</span> SE Runtime Environment<span style="color:#ff7b72;font-weight:bold">(</span>build 1.8.0_191-b12<span style="color:#ff7b72;font-weight:bold">)</span>Java HotSpot<span style="color:#ff7b72;font-weight:bold">(</span>TM<span style="color:#ff7b72;font-weight:bold">)</span> 64-Bit Server VM<span style="color:#ff7b72;font-weight:bold">(</span>build 25.191-b12, mixed mode<span style="color:#ff7b72;font-weight:bold">)</span></span></span></code></pre></div></div>
]]></content:encoded><category>linux</category><category>java</category></item></channel></rss>