<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Installation Archive - CEOsBay</title>
	<atom:link href="https://ceosbay.com/tag/installation/feed/" rel="self" type="application/rss+xml" />
	<link>https://ceosbay.com/tag/installation/</link>
	<description>It&#039;s all about Tech</description>
	<lastBuildDate>Fri, 06 Oct 2023 16:03:26 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://i0.wp.com/ceosbay.com/wp-content/uploads/2022/11/image.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>Installation Archive - CEOsBay</title>
	<link>https://ceosbay.com/tag/installation/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">211828771</site>	<item>
		<title>UNIX &#8211; Das Betriebssystem, das die IT-Welt veränderte</title>
		<link>https://ceosbay.com/2023/10/06/unix-das-betriebssystem-das-die-it-welt-veraenderte/</link>
					<comments>https://ceosbay.com/2023/10/06/unix-das-betriebssystem-das-die-it-welt-veraenderte/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Fri, 06 Oct 2023 16:03:22 +0000</pubDate>
				<category><![CDATA[Betriebssystem]]></category>
		<category><![CDATA[Informationstechnologie]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Technologie]]></category>
		<category><![CDATA[Befehlszeilenschnittstelle]]></category>
		<category><![CDATA[Bell Labs]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[Datenanalyse]]></category>
		<category><![CDATA[Dennis Ritchie]]></category>
		<category><![CDATA[Flexibilität]]></category>
		<category><![CDATA[Geschichte]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[IT-Anwendungen]]></category>
		<category><![CDATA[Ken Thompson]]></category>
		<category><![CDATA[Kernel]]></category>
		<category><![CDATA[Kompatibilität]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Modularität]]></category>
		<category><![CDATA[Robustheit]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Webentwicklung]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=2655</guid>

					<description><![CDATA[<p>UNIX, ein Name, der in der IT-Welt heute beinahe als synonym für Zuverlässigkeit, Effizienz, Flexibilität und Open Source steht, hat tiefe Wurzeln in der Geschichte der Informatik. In diesem Blog-Beitrag gehe ich dem Ursprung von &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/10/06/unix-das-betriebssystem-das-die-it-welt-veraenderte/">UNIX &#8211; Das Betriebssystem, das die IT-Welt veränderte</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">UNIX, ein Name, der in der IT-Welt heute beinahe als synonym für Zuverlässigkeit, Effizienz, Flexibilität und <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> steht, hat tiefe Wurzeln in der Geschichte der Informatik. In diesem Blog-Beitrag gehe ich dem Ursprung von UNIX nach, erkläre, was dieses mächtige Betriebssystem ausmacht und gebe Einblicke, wie man es nutzen und aufsetzen kann.</p>



<h2 class="wp-block-heading">Die Entstehungsgeschichte von UNIX</h2>



<p class="wp-block-paragraph">Die Geschichte beginnt in den 1960er Jahren bei den Bell Labs, einer Forschungseinrichtung von AT&amp;T. Hier suchten Ken Thompson und Dennis Ritchie nach einem neuen Betriebssystem, dass den Anforderungen an Flexibilität und Effizienz genügen sollte. 1969 entwickelten sie die erste Version von UNIX, geschrieben in der Programmiersprache Assembly. Innerhalb weniger Jahre schrieben sie es in C um, einer neuen Sprache, die sie ebenfalls bei Bell Labs entwickelten. Diese Neugestaltung machte UNIX zu einem der ersten Betriebssysteme, die auf verschiedensten Hardware-Plattformen laufen konnten.</p>



<h2 class="wp-block-heading">Die Besonderheiten von UNIX</h2>



<p class="wp-block-paragraph">Eines der Hauptmerkmale ist die Modularität. Das System folgt dem Prinzip &#8222;Alles ist eine Datei&#8220;, was eine intuitive Interaktion mit Geräten und Prozessen ermöglicht. Das Herzstück, der Kernel, verwaltet die Hardware-Ressourcen, während die Shell als Benutzerschnittstelle dient. Dank dieser Architektur kann es nahezu unbegrenzt erweitert und angepasst werden.</p>



<p class="wp-block-paragraph">UNIX besticht zudem durch seine Befehlszeilenschnittstelle (CLI). Hier ein einfaches Beispiel zur Veranschaulichung:</p>



<p class="wp-block-paragraph"><code>ls&nbsp;-l | grep&nbsp;"txt"&nbsp;|&nbsp;wc&nbsp;-l</code></p>



<p class="wp-block-paragraph">Dieser Befehl listet alle Dateien auf (<code>ls -l</code>), filtert diejenigen heraus, die &#8222;txt&#8220; im Namen haben (<code>grep "txt"</code>) und zählt die Ergebnisse (<code>wc -l</code>).</p>



<h2 class="wp-block-heading">Nutzen und aufsetzen</h2>



<p class="wp-block-paragraph">UNIX-Systeme finden sich heute in verschiedenen Varianten und Distributionen, von denen <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a> und <a href="https://ceosbay.com/2023/10/05/macos-intuitiv-sicher-nahtlos/">macOS</a> die bekanntesten sind. Interessenten können beispielsweise eine <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a>-Distribution wie <a href="https://ceosbay.com/2022/12/04/erklaerung-ubuntu-linux/">Ubuntu</a> oder <a href="https://ceosbay.com/2022/12/05/erklaerung-debian-linux/">Debian</a> leicht auf ihrem Computer installieren.</p>



<p class="wp-block-paragraph">Hier sind einige der beliebtesten Linux-Distributionen, die man herunterladen kann:</p>



<ol class="wp-block-list">
<li><strong>Ubuntu</strong>: Eine der bekanntesten und benutzerfreundlichsten Distributionen.
<ul class="wp-block-list">
<li><a href="https://ubuntu.com/download">Download-Link für Ubuntu</a></li>
</ul>
</li>



<li><strong>Debian</strong>: Ein stabiles und robustes System, das als Grundlage für viele andere Distributionen dient, einschließlich Ubuntu.
<ul class="wp-block-list">
<li><a href="https://www.debian.org/distrib/">Download-Link für Debian</a></li>
</ul>
</li>



<li><strong>Fedora</strong>: Ein weiteres beliebtes Betriebssystem mit regelmäßigen Updates.
<ul class="wp-block-list">
<li><a href="https://getfedora.org/">Download-Link für Fedora</a></li>
</ul>
</li>



<li><strong>CentOS</strong>: Eine kostenlose Variante von Red Hat Enterprise Linux (RHEL) und oft in Unternehmensumgebungen zu finden.
<ul class="wp-block-list">
<li><a href="https://www.centos.org/download/">Download-Link für CentOS</a></li>
</ul>
</li>



<li><strong>openSUSE</strong>: Eine robuste und zuverlässige Option für Desktops und Server.
<ul class="wp-block-list">
<li><a href="https://www.opensuse.org/">Download-Link für openSUSE</a></li>
</ul>
</li>



<li><strong>Arch Linux</strong>: Geeignet für erfahrene Benutzer, die ein minimalistisches und hochkonfigurierbares System bevorzugen.
<ul class="wp-block-list">
<li><a href="https://archlinux.org/download/">Download-Link für Arch Linux</a></li>
</ul>
</li>
</ol>



<p class="wp-block-paragraph">Es gibt natürlich viele weitere Linux-Distributionen, und welche am besten geeignet ist, hängt von den spezifischen Anforderungen und Vorlieben ab.</p>



<p class="wp-block-paragraph">Wenn man an &#8222;reinem&#8220; UNIX interessiert ist, kann man sich auch BSD-Systeme ansehen, wie FreeBSD, OpenBSD oder NetBSD. Diese sind enger mit den historischen UNIX-Systemen verwandt als Linux.</p>



<ul class="wp-block-list">
<li><a href="https://www.freebsd.org/where.html">Download-Link für FreeBSD</a></li>



<li><a href="https://www.openbsd.org/ftp.html">Download-Link für OpenBSD</a></li>



<li><a href="https://www.netbsd.org/releases/">Download-Link für NetBSD</a></li>
</ul>



<p class="wp-block-paragraph">Es ist zu beachten, dass die Installation und Konfiguration dieser Systeme Kenntnisse in der Systemadministration erfordern können.</p>



<h2 class="wp-block-heading">Um es aufzusetzen:</h2>



<ol class="wp-block-list">
<li>Auswählen einer passenden Distribution.</li>



<li>Herunterladen des Installationsimages.</li>



<li>Erstellen eines bootfähigen USB-Sticks.</li>



<li>Booten von dem Stick und Installationsanweisungen folgen.</li>
</ol>



<p class="wp-block-paragraph">Einmal installiert, bietet es eine robuste und leistungsstarke Umgebung für alle Arten von IT-Anwendungen, von der Webentwicklung bis zur Datenanalyse.</p>



<h2 class="wp-block-heading">Fazit</h2>



<p class="wp-block-paragraph">UNIX hat die Landschaft der Betriebssysteme maßgeblich geprägt und bietet auch heute noch eine solide Grundlage für moderne IT-Lösungen. Seine Flexibilität, Robustheit und Modularität machen es zu einer ersten Wahl für viele Entwickler und IT-Experten weltweit. Wer in die Welt von UNIX eintauchen möchte, findet in den zahlreichen Distributionen und Ressourcen online einen idealen Einstieg.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/10/06/unix-das-betriebssystem-das-die-it-welt-veraenderte/">UNIX &#8211; Das Betriebssystem, das die IT-Welt veränderte</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/10/06/unix-das-betriebssystem-das-die-it-welt-veraenderte/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2655</post-id>	</item>
		<item>
		<title>Pip &#8211; Python Paketmanager</title>
		<link>https://ceosbay.com/2023/09/10/pip-python-paketmanager/</link>
					<comments>https://ceosbay.com/2023/09/10/pip-python-paketmanager/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sun, 10 Sep 2023 21:16:00 +0000</pubDate>
				<category><![CDATA[Automatisierung]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Künstliche Intelligenz]]></category>
		<category><![CDATA[Maschinelles Lernen]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Anforderungsdatei]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Drittanbieterpakete]]></category>
		<category><![CDATA[Ian Bicking]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[Paketabhängigkeiten]]></category>
		<category><![CDATA[Paketaktualisierung]]></category>
		<category><![CDATA[Paketdeinstallation]]></category>
		<category><![CDATA[Paketinstallation]]></category>
		<category><![CDATA[Paketkonflikte]]></category>
		<category><![CDATA[Paketliste]]></category>
		<category><![CDATA[Paketmanager]]></category>
		<category><![CDATA[Paketversionen]]></category>
		<category><![CDATA[Paketverwaltung]]></category>
		<category><![CDATA[Pip]]></category>
		<category><![CDATA[Pip-Befehle]]></category>
		<category><![CDATA[Programmiersprache]]></category>
		<category><![CDATA[Projektmanagement]]></category>
		<category><![CDATA[PyPI]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Python Package Index]]></category>
		<category><![CDATA[Repository]]></category>
		<category><![CDATA[requirements.txt]]></category>
		<category><![CDATA[setuptools]]></category>
		<category><![CDATA[Softwarepakete]]></category>
		<category><![CDATA[venv]]></category>
		<category><![CDATA[virtuelle Umgebung]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=2364</guid>

					<description><![CDATA[<p>Einer der herausragenden Vorteile von Python, einer der weltweit beliebtesten Programmiersprachen, ist die umfangreiche Standardbibliothek und die schiere Menge an verfügbaren Drittanbieterpaketen. Doch wie lassen sich diese Pakete am einfachsten verwalten und installieren? Hier kommt &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/09/10/pip-python-paketmanager/">Pip &#8211; Python Paketmanager</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Einer der herausragenden Vorteile von <a href="https://ceosbay.com/2022/12/20/erklaerung-python/">Python</a>, einer der weltweit beliebtesten Programmiersprachen, ist die umfangreiche Standardbibliothek und die schiere Menge an verfügbaren Drittanbieterpaketen. Doch wie lassen sich diese Pakete am einfachsten verwalten und installieren? Hier kommt der Pip Paketmanager ins Spiel.</p>



<h2 class="wp-block-heading">Was ist der Pip Paketmanager?</h2>



<p class="wp-block-paragraph">Pip steht für &#8222;Pip Installs Packages&#8220; und ist ein Paketverwaltungssystem, mit dem <a href="https://ceosbay.com/2022/12/20/erklaerung-python/">Python</a>-Programmierer Softwarepakete aus dem <a href="https://ceosbay.com/2022/12/20/erklaerung-python/">Python</a> Package Index (PyPI) installieren können. PyPI ist eine Online-Repository, in der Entwickler ihre <a href="https://ceosbay.com/2022/12/20/erklaerung-python/">Python</a>-Pakete für die Öffentlichkeit bereitstellen können.</p>



<h2 class="wp-block-heading">Geschichte von Pip</h2>



<p class="wp-block-paragraph">Die Notwendigkeit eines Paketmanagers für Python trat im Laufe der Zeit auf, da die Anzahl der verfügbaren Pakete stieg und der Bedarf an einem zentralen Ort zur Verwaltung dieser Ressourcen wuchs. Pip wurde ursprünglich von Ian Bicking erstellt und basiert auf seinem <code>setuptools</code>-Projekt. Es bot eine einheitliche Schnittstelle zum Installieren und Verwalten von <a href="https://ceosbay.com/2022/12/20/erklaerung-python/">Python</a>-Paketen und wurde schnell zur bevorzugten Methode für diese Aufgabe.</p>



<h2 class="wp-block-heading">Pip richtig einrichten und nutzen</h2>



<p class="wp-block-paragraph">Die Installation ist relativ unkompliziert:</p>



<pre class="wp-block-code"><code><code>curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py</code></code></pre>



<p class="wp-block-paragraph">Für Benutzer, die mit einer <a href="https://ceosbay.com/2022/12/20/erklaerung-python/">Python</a>-Version ab 3.4 oder höher arbeiten, ist Pip bereits in der Standardbibliothek enthalten und muss nicht separat installiert werden.</p>



<h2 class="wp-block-heading">Beim Arbeiten damit gibt es einige Best Practices, die man befolgen sollte:</h2>



<ol class="wp-block-list">
<li><strong>Virtuelle Umgebungen nutzen</strong>: Vor der Installation von Paketen empfiehlt es sich, eine virtuelle Umgebung mit <code>venv</code> oder <code>virtualenv</code> zu erstellen. Dies gewährleistet, dass man Pakete projektbezogen installieren kann und keine Konflikte mit global installierten Paketen entstehen.</li>



<li><strong>Anforderungsdateien verwenden</strong>: Es ist eine gute Praxis, eine <code>requirements.txt</code> Datei zu erstellen, in der alle für ein Projekt erforderlichen Pakete aufgelistet sind. Dies erleichtert das Einrichten von Projekten auf neuen Systemen.</li>



<li><strong>Regelmäßige Aktualisierungen durchführen</strong>: Um sicherzustellen, dass alle Pakete aktuell und sicher sind, sollte man Pip regelmäßig verwenden, um Updates zu überprüfen und zu installieren.</li>
</ol>



<h3 class="wp-block-heading">Einige grundlegende Befehle</h3>



<ul class="wp-block-list">
<li>Ein Paket installieren:</li>
</ul>



<p class="wp-block-paragraph"><code>pip install paketname</code></p>



<ul class="wp-block-list">
<li>Ein Paket deinstallieren:</li>
</ul>



<p class="wp-block-paragraph"><code>pip uninstall paketname</code></p>



<ul class="wp-block-list">
<li>Verfügbare Pakete anzeigen:</li>
</ul>



<p class="wp-block-paragraph"><code>pip list</code></p>



<ul class="wp-block-list">
<li>Anforderungsdatei verwenden, um Pakete zu installieren:</li>
</ul>



<p class="wp-block-paragraph"><code>pip install -r requirements.txt</code></p>



<h3 class="wp-block-heading">Fazit</h3>



<p class="wp-block-paragraph">Pip bietet <a href="https://ceosbay.com/2022/12/20/erklaerung-python/">Python</a>-Entwicklern ein robustes und flexibles Werkzeug zur Verwaltung ihrer Pakete. Mit einem fundierten Verständnis davon und den zugehörigen Best Practices können Entwickler ihre Projekte effizienter und zuverlässiger gestalten.</p>



<p class="wp-block-paragraph"><em>Hinweis: Die Informationen und Befehle in diesem Blog-Beitrag können sich mit der Zeit ändern. Es wird daher empfohlen, die <a href="https://pip.pypa.io/en/stable/">offizielle Dokumentation</a></em> <em>zu Rate zu ziehen, um aktuelle und genaue Informationen zu erhalten.</em></p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/09/10/pip-python-paketmanager/">Pip &#8211; Python Paketmanager</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/09/10/pip-python-paketmanager/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2364</post-id>	</item>
		<item>
		<title>Treiber &#8211; Herzstück der Hardware-Kommunikation</title>
		<link>https://ceosbay.com/2023/09/05/treiber-herzstueck-der-hardware-kommunikation/</link>
					<comments>https://ceosbay.com/2023/09/05/treiber-herzstueck-der-hardware-kommunikation/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Tue, 05 Sep 2023 18:04:00 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Betriebssystem]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Aktualisierung]]></category>
		<category><![CDATA[Anwendungssoftware]]></category>
		<category><![CDATA[Befehlsübersetzung]]></category>
		<category><![CDATA[Benutzererfahrung]]></category>
		<category><![CDATA[Computer-Treiber]]></category>
		<category><![CDATA[Fehlerbehebung]]></category>
		<category><![CDATA[Geräteintegration]]></category>
		<category><![CDATA[Geschichte]]></category>
		<category><![CDATA[Grafikkarte]]></category>
		<category><![CDATA[Hardware-Kommunikation]]></category>
		<category><![CDATA[Hersteller]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[Kompatibilität]]></category>
		<category><![CDATA[Malware-Vermeidung]]></category>
		<category><![CDATA[Performance-Verbesserung]]></category>
		<category><![CDATA[Schnittstellenmanagement]]></category>
		<category><![CDATA[Software-Schnittstelle]]></category>
		<category><![CDATA[Standardisierung]]></category>
		<category><![CDATA[Systemoptimierung]]></category>
		<category><![CDATA[Systemstabilität]]></category>
		<category><![CDATA[Treiber-Entwicklung]]></category>
		<category><![CDATA[Treiberquellen]]></category>
		<category><![CDATA[Übersetzungsfunktion]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=2321</guid>

					<description><![CDATA[<p>Treiber, oft auch als Software-Treiber oder Hardware-Treiber bezeichnet, sind unverzichtbare Komponenten in jedem Computer. Diese Software-Schnittstellen ermöglichen die Kommunikation zwischen dem Betriebssystem und der Hardware. In diesem Artikel versuche ich einen Einblick in die Entstehung, &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/09/05/treiber-herzstueck-der-hardware-kommunikation/">Treiber &#8211; Herzstück der Hardware-Kommunikation</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Treiber, oft auch als Software-Treiber oder Hardware-Treiber bezeichnet, sind unverzichtbare Komponenten in jedem Computer. Diese Software-Schnittstellen ermöglichen die Kommunikation zwischen dem Betriebssystem und der Hardware. In diesem Artikel versuche ich einen Einblick in die Entstehung, Funktion und Installation von Treibern zu ermöglichen.</p>



<h2 class="wp-block-heading">Entstehung und Entwicklung</h2>



<p class="wp-block-paragraph">Die Geschichte der Treiber ist eng mit der Entwicklung der Computerhardware verbunden. Als man die ersten Computer entwickelte, gab es eine direkte Kommunikation zwischen dem Betriebssystem und der Hardware. Doch mit der Zeit und dem Aufkommen unterschiedlichster Hardware-Komponenten entstand die Notwendigkeit, eine Schnittstelle zu schaffen, um diese Kommunikation zu erleichtern.</p>



<p class="wp-block-paragraph">Es ist schwer zu sagen, wer genau den ersten Treiber ins Leben gerufen hat, da unterschiedliche Hersteller zur gleichen Zeit Lösungen für ihre spezifischen Hardware-Probleme entwickelten. Aber mit dem Aufstieg von Betriebssystemen wie Microsoft Windows wurde schnell deutlich, dass standardisierte Treiberlösungen notwendig sind, um die Vielfalt der Hardware-Komponenten zu unterstützen.</p>



<h2 class="wp-block-heading">Die Funktion von Treibern</h2>



<p class="wp-block-paragraph">Die dienen als Übersetzer zwischen dem Betriebssystem und der Hardware. Ganz unabhängig davon, ob es sich um eine Windows, <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a> oder MacOS Maschine handelt. Er sorgt für die Umwandlung der Befehle des Betriebssystems oder der Anwendungssoftware, in eine von der Hardware verständlichen Sprache.</p>



<p class="wp-block-paragraph">Ein einfaches Beispiel: Ohne den passenden Grafikkartentreiber kann ein Betriebssystem nicht wissen, wie es Bilder auf einem Monitor anzeigt. Der Treiber nimmt die Anweisungen des Betriebssystems entgegen und setzt sie in Befehle um, die die Grafikkarte versteht und ausführt.</p>



<h2 class="wp-block-heading">Treiber richtig installieren</h2>



<p class="wp-block-paragraph">Die Installation eines Treibers kann heutzutage recht einfach sein, dennoch gibt es einige Punkte, die man beachten sollte:</p>



<ol class="wp-block-list">
<li><strong>Aktualität</strong>: Stets die neueste Treiberversion verwenden. Hersteller aktualisieren ihre Treiber regelmäßig, um Performance-Verbesserungen und Fehlerbehebungen zu bieten.</li>



<li><strong>Offizielle Quellen</strong>: Treiber nur von offiziellen Websites oder vertrauenswürdigen Quellen herunterladen, um Malware und inkompatible Versionen zu vermeiden.</li>



<li><strong>Kompatibilität</strong>: Achten auf die Kompatibilität mit dem Betriebssystem und der Hardware-Version.</li>



<li><strong>Anweisungen folgen</strong>: Die Installationsanleitung des Herstellers beachten und gegebenenfalls nach erfolgreichem Abschluss der Installation den Computer neu starten.</li>
</ol>



<h2 class="wp-block-heading">Fazit</h2>



<p class="wp-block-paragraph">Treiber sind essenziell für die korrekte Funktion von Computern. Ihr Ursprung liegt in der Notwendigkeit, eine effektive Kommunikation zwischen Betriebssystemen und vielfältiger Hardware zu gewährleisten. Bei der Installation ist es wichtig, aktuell zu bleiben und vertrauenswürdige Quellen zu nutzen.</p>



<p class="wp-block-paragraph">Durch das Einhalten dieser Praktiken und das kontinuierliche Aktualisieren von Treibern wird nicht nur die Performance des Systems verbessert, sondern auch die Sicherheit und Stabilität gewährleistet.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/09/05/treiber-herzstueck-der-hardware-kommunikation/">Treiber &#8211; Herzstück der Hardware-Kommunikation</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/09/05/treiber-herzstueck-der-hardware-kommunikation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2321</post-id>	</item>
		<item>
		<title>Apache-Webserver</title>
		<link>https://ceosbay.com/2023/09/04/apache-webserver/</link>
					<comments>https://ceosbay.com/2023/09/04/apache-webserver/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Mon, 04 Sep 2023 20:45:00 +0000</pubDate>
				<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Apache Software Foundation]]></category>
		<category><![CDATA[Apache-Dokumentation]]></category>
		<category><![CDATA[Apache-Entwicklerteam]]></category>
		<category><![CDATA[Apache-Modules]]></category>
		<category><![CDATA[Apache-Webserver]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Caching]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Einrichtung]]></category>
		<category><![CDATA[Geschichte]]></category>
		<category><![CDATA[HTTP-Server]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[Konfiguration]]></category>
		<category><![CDATA[Let’s Encrypt]]></category>
		<category><![CDATA[mod_cache]]></category>
		<category><![CDATA[mod_expires]]></category>
		<category><![CDATA[mod_security]]></category>
		<category><![CDATA[Module]]></category>
		<category><![CDATA[NCSA HTTPd]]></category>
		<category><![CDATA[Patches]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[PHP-Aktivierung]]></category>
		<category><![CDATA[Server-Software]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[SSL-Zertifikate]]></category>
		<category><![CDATA[SSL/TLS]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Virtual Hosts]]></category>
		<category><![CDATA[Web Application Firewall]]></category>
		<category><![CDATA[Web-Hosting]]></category>
		<category><![CDATA[Web-Wurzelverzeichnis]]></category>
		<category><![CDATA[Webbrowser]]></category>
		<category><![CDATA[Webdienste]]></category>
		<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[Webserver-Konfiguration]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=2323</guid>

					<description><![CDATA[<p>Der Apache-Webserver, häufig einfach als &#8222;Apache&#8220; bezeichnet, ist einer der bekanntesten und am häufigsten eingesetzten Webserver weltweit. Doch was genau ist der Apache-Webserver, woher kommt er und wie wird er eingerichtet? In diesem Blog-Beitrag versuche &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/09/04/apache-webserver/">Apache-Webserver</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Der Apache-Webserver, häufig einfach als &#8222;Apache&#8220; bezeichnet, ist einer der bekanntesten und am häufigsten eingesetzten <a href="https://ceosbay.com/2023/08/29/server-evolution-typen-und-best-practices-fuer-den-aufbau/">Webserver</a> weltweit. Doch was genau ist der Apache-<a href="https://ceosbay.com/2023/08/29/server-evolution-typen-und-best-practices-fuer-den-aufbau/">Webserver</a>, woher kommt er und wie wird er eingerichtet? In diesem Blog-Beitrag versuche ich, diese Fragen zu beantworten und gebe Einblicke in die spannende Geschichte und Technik hinter diesem <a href="https://ceosbay.com/2023/08/29/server-evolution-typen-und-best-practices-fuer-den-aufbau/">Webserver</a>.</p>



<h2 class="wp-block-heading">Geschichte des Apache-Webservers </h2>



<p class="wp-block-paragraph">Die Entstehung von Apache geht zurück auf die frühen 1990er Jahre. Damals suchten einige Webentwickler nach einer Alternative zum damals populären NCSA HTTPd-Server, der von der <a href="https://www.ncsa.illinois.edu">National Center for Supercomputing Applications</a> entwickelt wurde. Der Name &#8222;Apache&#8220; leitet sich von &#8222;A Patchy Server&#8220; ab, was darauf hinweist, dass der ursprüngliche Code aus einer Reihe von Patches zum NCSA HTTPd bestand.</p>



<p class="wp-block-paragraph">Das Apache-Entwicklerteam, zu dem Personen wie Rob McCool und Brian Behlendorf gehörten, veröffentlichte die erste offizielle Version 1995. Seitdem hat Apache stetige Weiterentwicklungen erlebt und stellt heute ein führendes <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Projekt dar, das die <a href="https://www.apache.org">Apache Software Foundation</a> verwaltet.</p>



<h2 class="wp-block-heading">Einrichtung des Apache-Webservers </h2>



<p class="wp-block-paragraph">Apache lässt sich auf vielen Betriebssystemen, einschließlich UNIX, <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a> und Windows, installieren. Der Apache-Webserver ist bereits in macOS eingebaut, allerdings standardmäßig deaktiviert. Dazu aber im Anschluss mehr. Für eine einfache Installation auf einem <a href="https://ceosbay.com/2022/12/05/erklaerung-debian-linux/">Debian</a>-basierten System, wie <a href="https://ceosbay.com/2022/12/04/erklaerung-ubuntu-linux/">Ubuntu</a>, verwendet man beispielsweise folgende Befehle:</p>



<p class="wp-block-paragraph"><code>sudo apt update sudo apt install apache2</code></p>



<p class="wp-block-paragraph">Nach der Installation läuft der Webserver und kann über einen Webbrowser mit der <a href="https://ceosbay.com/2023/08/28/url-von-ihrer-entstehung-bis-zur-modernen-optimierung/">URL</a> &#8222;<a href="http://localhost/">http://localhost</a>&#8220; erreicht werden.</p>



<h2 class="wp-block-heading">Konfiguration</h2>



<p class="wp-block-paragraph">Der Apache-Webserver bietet eine Vielzahl von Konfigurationsoptionen, die in der Hauptkonfigurationsdatei <code>/etc/apache2/apache2.conf</code> zu finden sind. Einzelne Website-Konfigurationen lassen sich in <code>/etc/apache2/sites-available/</code> erstellen und mit dem Tool <code>a2ensite</code> aktivieren.</p>



<h2 class="wp-block-heading">Auf dem Mac</h2>



<p class="wp-block-paragraph">Der Apache-Webserver ist bereits in macOS eingebaut, allerdings standardmäßig deaktiviert. Für diejenigen, die Apache auf einem Mac nutzen möchten, hier eine Schritt-für-Schritt-Anleitung zur Aktivierung und Einrichtung:</p>



<h2 class="wp-block-heading">Apache auf macOS aktivieren und konfigurieren</h2>



<ol class="wp-block-list">
<li><strong>Apache starten</strong>: Im Terminal gibt man den folgenden Befehl ein:bashCopy code<code>sudo apachectl start</code>Nachdem man den Befehl ausgeführt hat, kann man über den Webbrowser über die <a href="https://ceosbay.com/2023/08/28/url-von-ihrer-entstehung-bis-zur-modernen-optimierung/">URL</a> &#8222;<a href="http://localhost/">http://localhost</a>&#8220; überprüfen, ob Apache läuft. Es sollte eine Standard-Begrüßungsseite von Apache erscheinen.</li>



<li><strong>Dokumentenverzeichnis bestimmen</strong>: Standardmäßig verwendet Apache das Verzeichnis <code>/Library/WebServer/Documents/</code> als Web-Wurzelverzeichnis. Inhalte, die in diesem Verzeichnis platziert sind, kann man über den Webbrowser erreichen.</li>



<li><strong>Apache-Konfigurationsdatei bearbeiten</strong>: Die Hauptkonfigurationsdatei von Apache auf macOS befindet sich unter <code>/etc/apache2/httpd.conf</code>. Um diese Datei zu bearbeiten, kann man einen Texteditor wie <code>nano</code> verwenden:bashCopy code<code>sudo nano /etc/apache2/httpd.conf</code>In dieser Datei kann man verschiedene Einstellungen vornehmen, z.B. die Aktivierung von <a href="https://ceosbay.com/2023/02/26/erklaerung-php/">PHP</a>, die Definition von Virtual Hosts oder die Anpassung des Dokumentenverzeichnisses.</li>



<li><strong>PHP aktivieren (optional)</strong>: Wenn <a href="https://ceosbay.com/2023/02/26/erklaerung-php/">PHP</a> auf dem Mac installiert ist und man es mit Apache verwenden möchte, kann man dies in der <code>httpd.conf</code>-Datei aktivieren. Dazu muss die Zeile, die mit <code>#LoadModule php</code> beginnt, gesucht und das <code>#</code> am Anfang der Zeile entfernt werden. Nach dem Speichern der Datei muss man Apache neu starten, um die Änderungen zu übernehmen.</li>



<li><strong>Apache neu starten</strong>: Jedes Mal, wenn man Änderungen an der Konfigurationsdatei vornimmt, muss man Apache auch neu starten. Dies kann mit dem folgenden Befehl erfolgen:bashCopy code<code>sudo apachectl restart</code></li>



<li><strong>Automatischer Start von Apache</strong>: Wenn man möchte, dass Apache automatisch beim Hochfahren des Macs startet, kann man den folgenden Befehl verwenden:bashCopy code<code>sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist</code></li>
</ol>



<h2 class="wp-block-heading">Abschließende Anmerkungen</h2>



<p class="wp-block-paragraph">Obwohl macOS einen eingebauten Apache-<a href="https://ceosbay.com/2023/08/29/server-evolution-typen-und-best-practices-fuer-den-aufbau/">Server</a> enthält, ziehen es einige Entwickler vor, Tools wie MAMP (Habe ich in der Vergangenheit verwendet aber heute eher nicht mehr. Evtl. schreibe ich noch einen Beitrag darüber) oder <a href="https://ceosbay.com/2022/10/25/homebrew-der-fehlende-paketmanager-fuer-macos-lassen-wir-fluegel-wachsen/">Homebrew</a> zu verwenden, um eine individuellere Entwicklungsumgebung zu schaffen. Diese Tools bieten oft eine einfachere Einrichtung und Konfiguration, insbesondere wenn auch andere Dienste wie <a href="https://ceosbay.com/2022/10/31/ubuntu-linux-starten-und-nutzen-mysql-server/">MySQL</a> oder <a href="https://ceosbay.com/2023/02/26/erklaerung-php/">PHP</a> in spezifischen Versionen benötigt werden.</p>



<h2 class="wp-block-heading">Best Practices und zu beachtende Punkte</h2>



<ol class="wp-block-list">
<li><strong>Sicherheit:</strong> Es ist immer dafür zu sorgen, dass der Webserver auf dem neuesten Stand ist, um Sicherheitslücken zu schließen. Zusätzlich empfiehlt sich die Installation von <code>mod_security</code> als Web Application Firewall.</li>



<li><strong>Performance:</strong> Für Websites mit hohem Traffic sollte man Module wie <code>mod_cache</code> und <code>mod_expires</code> verwenden, um Inhalte zu cachen und um die Ladezeiten zu reduzieren.</li>



<li><strong>SSL/TLS:</strong> In der heutigen Zeit ist es unerlässlich, Websites über <a href="https://ceosbay.com/2023/07/04/https-und-https-eine-reise-zur-web-sicherheit/">HTTPS</a> bereitzustellen. Mit Tools wie <a href="https://ceosbay.com/2023/09/01/lets-encrypt-der-offene-rechteanbieter/">Let&#8217;s Encrypt</a> lassen sich kostenlose <a href="https://ceosbay.com/2023/08/30/ssl-geschichte-typen-und-einrichtung/">SSL-Zertifikate</a> generieren und mit Apache verwenden.</li>



<li><strong>Module:</strong> Apache bietet eine Vielzahl von Modulen, die zusätzliche Funktionalitäten bereitstellen. Es ist genau zu überlegen, welche Module man benötigt, um unnötige Ressourcenbelastungen zu vermeiden.</li>
</ol>



<h2 class="wp-block-heading">Fazit </h2>



<p class="wp-block-paragraph">Der Apache-Webserver ist nicht nur ein Stück Internetgeschichte, sondern auch heute noch ein leistungsstarkes Tool für Webentwickler und Administratoren. Mit dem richtigen Wissen und den passenden Best Practices lässt sich Apache optimal einsetzen und bietet eine solide Grundlage für nahezu jede Webanwendung.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/09/04/apache-webserver/">Apache-Webserver</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/09/04/apache-webserver/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2323</post-id>	</item>
		<item>
		<title>Lombok &#8211; Entwicklerproduktivität steigern und Boilerplate-Code eliminieren für sauberen, effizienten Java-Code</title>
		<link>https://ceosbay.com/2023/03/28/erklaerung-lombok/</link>
					<comments>https://ceosbay.com/2023/03/28/erklaerung-lombok/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Tue, 28 Mar 2023 14:15:28 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Builder]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Equal]]></category>
		<category><![CDATA[Equals]]></category>
		<category><![CDATA[Getter]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[JAR]]></category>
		<category><![CDATA[Log]]></category>
		<category><![CDATA[Logging]]></category>
		<category><![CDATA[Lombok]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Objekt]]></category>
		<category><![CDATA[Objekte]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[pom]]></category>
		<category><![CDATA[Programmiersprache]]></category>
		<category><![CDATA[Setter]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[Sprache]]></category>
		<category><![CDATA[ToString]]></category>
		<category><![CDATA[Wert]]></category>
		<category><![CDATA[Zeit]]></category>
		<category><![CDATA[Zip]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1260</guid>

					<description><![CDATA[<p>Lombok ist ein Open Source Java-Framework, um die Entwicklungszeit von Java-Anwendungen zu verkürzen und um die Codequalität im Allgemeinen zu verbessern. Ins Leben gerufen durch die beiden Entwickler Eugen Paraschiv und Roel Spilker. Die Idee &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/28/erklaerung-lombok/">Lombok &#8211; Entwicklerproduktivität steigern und Boilerplate-Code eliminieren für sauberen, effizienten Java-Code</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Lombok ist ein Open Source <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a>-Framework, um die Entwicklungszeit von <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a>-Anwendungen zu verkürzen und um die Codequalität im Allgemeinen zu verbessern. Ins Leben gerufen durch die beiden Entwickler Eugen Paraschiv und Roel Spilker. Die Idee hinter Lombok ist es, Entwicklern das Schreiben von Boilerplate-Code zu ersparen, indem man Annotationen verwendet, um häufig verwendete Konstrukte wie Getter, Setter, Builder, Konstruktoren und vieles mehr automatisch zu generieren.</p>



<h3 class="wp-block-heading">Funktionen</h3>



<p class="wp-block-paragraph">Lombok bietet eine Vielzahl von Funktionen, die Entwicklern helfen, effizienten Code zu schreiben. Hier sind einige der wichtigsten Funktionen:</p>



<p class="wp-block-paragraph"><strong>Getter und Setter:</strong></p>



<p class="wp-block-paragraph">Lombok ermöglicht es Entwicklern, Getter und Setter-Methoden für Klassenvariablen automatisch zu generieren. Dies ist besonders nützlich, wenn man viele Klassenvariablen hat und nicht jedes Mal manuell Getter und Setter schreiben möchte.</p>



<p class="wp-block-paragraph"><strong>Konstruktoren:</strong></p>



<p class="wp-block-paragraph">Entwickler können Konstruktoren für ihre Klassen automatisch generieren lassen. Dies ist besonders nützlich, wenn man eine Klasse mit vielen Variablen hat und einen Konstruktor erstellen möchte, der diese Variablen automatisch initialisiert.</p>



<p class="wp-block-paragraph"><strong>Builder:</strong></p>



<p class="wp-block-paragraph">Mit dem Builder können Entwickler Builder-Klassen automatisch generieren lassen, die es einfach machen, komplexe Objekte zu erstellen. Der Builder generiert eine Methode für jede Klassenvariable, mit der man den Wert der Variable setzen kann. Sobald alle Variablen gesetzt sind, erfolgt die Rückgabe des Objekts.</p>



<p class="wp-block-paragraph"><strong>ToString:</strong></p>



<p class="wp-block-paragraph">Entwickler können die toString-Methode automatisch generieren lassen. Dies macht es einfach, die Inhalte eines Objekts zu debuggen oder zu protokollieren.</p>



<p class="wp-block-paragraph"><strong>Equals und HashCode:</strong></p>



<p class="wp-block-paragraph">Entwickler können equals- und hashCode-Methoden automatisch generieren lassen. Dies ist besonders nützlich, wenn man eine Klasse hat, die Verwendung in einer Hash-Map hat.</p>



<p class="wp-block-paragraph"><strong>Log:</strong></p>



<p class="wp-block-paragraph">Es bietet eine Annotation, mit der Entwickler eine Logger-Variable automatisch generieren können. Dies macht es einfach, Protokolle in der Anwendung zu erstellen.</p>



<h3 class="wp-block-heading">Installation</h3>



<p class="wp-block-paragraph">Um Lombok in einem Projekt zu verwenden, muss man es installieren. Es gibt mehrere Möglichkeiten, Lombok zu installieren, doch die einfachste Methode besteht darin, die Lombok-JAR-Datei in das Projektverzeichnis zu kopieren und diese dann zu der IDE-Konfiguration hinzuzufügen. Als IDE&#8217;s sind beispielsweise <a href="https://ceosbay.com/2023/03/10/erklaerung-intellij-idea/" target="_blank" rel="noreferrer noopener">IntelliJ</a> oder <a href="https://ceosbay.com/2023/03/19/erklaerung-eclipse/" target="_blank" rel="noreferrer noopener">Eclipse</a> zu erwähnen.</p>



<p class="wp-block-paragraph">Wenn man <a href="https://ceosbay.com/2022/12/22/erklaerung-maven/" target="_blank" rel="noreferrer noopener">Maven</a> verwendet, kann man Lombok einfach zu der POM-File hinzufügen:</p>



<pre class="wp-block-code"><code>&lt;dependency&gt;

&nbsp;&nbsp;&nbsp;&lt;groupId&gt;org.projectlombok&lt;/groupId&gt;

&nbsp;&nbsp;&nbsp;&lt;artifactId&gt;lombok&lt;/artifactId&gt;

&nbsp;&nbsp;&nbsp;&lt;version&gt;X.XX.XX&lt;/version&gt;

&nbsp;&nbsp;&nbsp;&lt;scope&gt;provided&lt;/scope&gt;

&lt;/dependency&gt;</code></pre>



<p class="wp-block-paragraph">Sobald es installiert ist, kann man die verschiedenen Annotationen verwenden, um den Code zu verbessern.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/28/erklaerung-lombok/">Lombok &#8211; Entwicklerproduktivität steigern und Boilerplate-Code eliminieren für sauberen, effizienten Java-Code</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/03/28/erklaerung-lombok/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1260</post-id>	</item>
		<item>
		<title>Debian &#8211; Für Stabilität und Freiheit</title>
		<link>https://ceosbay.com/2022/12/05/erklaerung-debian-linux/</link>
					<comments>https://ceosbay.com/2022/12/05/erklaerung-debian-linux/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Mon, 05 Dec 2022 16:24:36 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[basierend]]></category>
		<category><![CDATA[Basis]]></category>
		<category><![CDATA[Betriebssystem]]></category>
		<category><![CDATA[Distribution]]></category>
		<category><![CDATA[Frei]]></category>
		<category><![CDATA[Freie Software]]></category>
		<category><![CDATA[Get]]></category>
		<category><![CDATA[GNU]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[Kernel]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Projekt]]></category>
		<category><![CDATA[Satzung]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[System]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=891</guid>

					<description><![CDATA[<p>Debian bzw. das Open Source Debian Projekt ist ein Zusammenschluss von Individuen, die auf ein gemeinsames Ziel hinarbeiten. Die Entwicklung eines freien Betriebssystems, dass frei für alle verfügbar ist. Und wenn dabei das Wort frei &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/12/05/erklaerung-debian-linux/">Debian &#8211; Für Stabilität und Freiheit</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Debian bzw. das <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> Debian Projekt ist ein Zusammenschluss von Individuen, die auf ein gemeinsames Ziel hinarbeiten. Die Entwicklung eines freien Betriebssystems, dass frei für alle verfügbar ist. Und wenn dabei das Wort frei fällt, spricht man von der wahren Software-Freiheit. Damit zählt Debian für mich persönlich eher zu den sympathischeren Distributionen, mit einer äußerst hilfsbereiten und qualifizierten Community.</p>



<p class="wp-block-paragraph">Debian GNU/<a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a> basiert auf den grundlegenden Systemwerkzeugen des GNU-Projektes sowie dem <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a>-Kernel.</p>



<p class="wp-block-paragraph">Die aktuelle Version ist Debian 11 „Bullseye“ und als Vorabversion gibt es bereits Debian 12 „Bookworm“. Es bietet eine große Auswahl (Zurzeit ca. 60.000) an Anwendungsprogrammen und Werkzeugen. Auch wird Debian als Basis für viele andere <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a> Distributionen genutzt. Eines der Bekannteren <a href="https://ceosbay.com/2022/12/04/erklaerung-ubuntu-linux/">Ubuntu</a>, welches eher nicht mehr zu meinen persönlichen Favoriten gehört.</p>



<h3 class="wp-block-heading">So ging es los</h3>



<p class="wp-block-paragraph">Im August 1993 hat Ian Murdock mit der Arbeit an einem neuen Betriebssystem angefangen. Es sollte offen sein, ganz im Sinn von <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a> und GNU. Er verschickte eine offene Einladung an andere Software-Entwickler und lud sie ein, bei einer Software-Distribution mitzumachen, die auf dem damals noch recht jungen <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a>-Kernel basieren sollte. Debian sollte sorgfältig zusammengestellt und genauso gewissenhaft betreut und unterstützt werden. Dabei sollte es ein offenes Design aufweisen und Beiträge und Unterstützung aus der Freien-Software-Gemeinschaft einfließen lassen.</p>



<p class="wp-block-paragraph">Alles begann mit einer kleinen, eingeschworenen Gruppe von Hackern von freier Software und wuchs zu einer relativ großen, gut organisierten Gruppe aus Entwicklern, Beitragenden und Anwendern heran. Mittlerweile fasst das Debian-Projekt mehr als eintausend aktive Entwickler und Unterstützer auf der ganzen Welt.</p>



<h3 class="wp-block-heading">Die Satzung</h3>



<p class="wp-block-paragraph">Ein Projekt mit dieser Größe braucht eine gute Organisationsstruktur. Aus diesem Grund hat das Debian-Projekt klare Regeln und Richtlinien, die man hier unter der <a href="https://www.debian.org/devel/constitution" target="_blank" rel="noreferrer noopener">Satzung</a>&nbsp;einsehen kann.</p>



<h3 class="wp-block-heading">Debian – Das Wieso</h3>



<p class="wp-block-paragraph">Manche wundern sich, warum so viele Menschen dafür brennen, so viel Freizeit in das Programmieren, Verpacken und Betreuen von Software zu investieren und sie dann auch noch zu verschenken. Dafür gibt es eine ganze Reihe von Gründen.</p>



<p class="wp-block-paragraph">Manche Leute sind von Natur aus einfach hilfsbereit und haben mit der Einbringung in ein freies Software-Projekt ihren Weg gefunden, diese Hilfsbereitschaft auszuleben.</p>



<p class="wp-block-paragraph">Viele Entwickler schreiben Programme, um Computer sowie verschiedene Architekturen und Programmiersprachen besser zu verstehen.</p>



<p class="wp-block-paragraph">Einige Unterstützer möchten sich für all die freie Software revanchieren, die sie benutzen dürfen und bringen sich deshalb ein.&nbsp;</p>



<p class="wp-block-paragraph">Dann gibt es noch viele AkademikerInnen, die an freier Software entwickeln, um ihre Kenntnisse zu erweitern und um die Ergebnisse ihrer Forschungen bekannt zu machen.</p>



<p class="wp-block-paragraph">Und zu guter Letzt gibt es Unternehmen, die bei der Entwicklung und Betreuung von freier Software helfen, um Einfluss darauf zu nehmen, wie sich die Software weiterentwickelt. Besonders dann, wenn man neue Features schnell implementiert haben möchte.</p>



<p class="wp-block-paragraph">Ich persönlich bin bei dem ein oder anderen Projekt dabei, weil mich die Technologie an sich interessiert und mir die Zusammenarbeit mit Menschen sehr viel Spaß macht. Und nachdem mir relativ schnell langweilig wird, benötige ich immer wieder neuen Input. Letzteres gilt natürlich für die Technologie und weniger für die Menschen. Im Grunde genommen, beteiligt man sich meistens an <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> bzw. in diesem Kontext als Debian-Entwickler, für den Spaß und um gemeinsam etwas großartiges zu erschaffen.</p>



<h3 class="wp-block-heading">Ideologie und unfreie Software</h3>



<p class="wp-block-paragraph">Die Debian Gemeinschaft glaubt an die freie Software. Dennoch ist es respektiert, dass Menschen manchmal unfreie Software auf ihren Computern installieren müssen. Aus diesem Grund gibt es den Beschluss seitens der Debian Entwickler, diese Menschen nach Möglichkeit zu unterstützen, daher gibt es eine immer größer werdende Anzahl von Paketen, die unfreie Software auf einem Debian-System nachinstallieren lässt.</p>



<p class="wp-block-paragraph">Diese Tatsache kann besonders zu Beginn relativ herausfordernd sein, da man bereits zur Installation von Debian nicht freie Treiber Pakete für diverse Hardware installieren muss, die nicht standardmäßig auf den Installationsmedien mitgeliefert werden. Besonders betroffen hierbei, sind in der Regel die Treiber für die Netzwerkkarte, da man diese bereits bei der Installation benötigt, um aktualisierte Pakete bereits bei der initialen Installation mitzuinstallieren. Doch dies werde ich, mit einer hohen Wahrscheinlichkeit, bei einem späteren Beitrag nochmals ausführlich thematisieren.</p>



<h3 class="wp-block-heading">Das Projekt</h3>



<p class="wp-block-paragraph">So gesehen, kann sich jeder als Debian Entwickler registrieren, der den sogenannten New-Member-Prozess erfolgreich durchläuft. Die Bewerber kommen hinsichtlich ihrer Kenntnisse und Fähigkeiten auf den Prüfstand. Außerdem wird sichergestellt, dass sie mit der Philosophie des Projektes vertraut sind.</p>



<p class="wp-block-paragraph">Der Name des Betriebssystems leitet sich von den Vornamen des Debian-Gründers Ian Murdock und seiner damaligen Freundin und späteren Ehefrau Debra Lynn ab. Bereits wenige Monate nach der Gründung, im Mai 1994, entschied sich das Projekt zu einer Änderung des offiziellen Namens von Debian zu Debian GNU/<a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a>.</p>



<p class="wp-block-paragraph">Letzteres ging mit der Auffassung der Free Software Foundation einher, dass das häufig als <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a> bezeichnete Betriebssystem eine Variante des GNU-Systems sei. Dahingehend gab es einen relativ bekannten Namensstreit, den ich hier nicht wirklich thematisieren werde. Wen es aber interessiert, kann gerne <a href="https://de.wikipedia.org/wiki/GNU/Linux-Namensstreit" target="_blank" rel="noreferrer noopener">hier</a> vorbeischauen.</p>



<p class="wp-block-paragraph">Allgemein spricht man nur noch von Debian, wenn man von Debian spricht 😀</p>



<p class="wp-block-paragraph">Das System ist bekannt für seine Paketverwaltung dpkg und deren Frontend APT. Mit diesen ist es möglich, alte Versionen von Debian GNU/<a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a> durch aktuelle zu ersetzen oder neue Softwarepakete zu installieren. Sie sind ebenfalls dafür zuständig, alle von einem Programm benötigten Abhängigkeiten aufzulösen, also alle Programmpakete zu laden und zu installieren, welche die gewünschte Software benötigt.</p>



<h3 class="wp-block-heading">Sicherheit</h3>



<p class="wp-block-paragraph">Alle Probleme mit der Software sind öffentlich behandelt, so auch sämtliche Sicherheitsprobleme. Aspekte der Sicherheit sind öffentlich auf der debian-security-announce-Mailingliste zur Diskussion freigegeben. Debian‘s Sicherheitsgutachten (Audits) werden über eine öffentliche Mailingliste versendet (Sowohl unter den Entwicklern als auch mit den externen Mailinglisten) gleichzeitig auf einem öffentlichen Server bekanntgegeben.</p>



<p class="wp-block-paragraph">Durch diese Handhabung verspricht man sich ein schnelleres Auffinden von Sicherheitslücken und damit die Möglichkeit, diese auch eher beheben zu können. Die entgegengesetzte Herangehensweise des Security Through Obscurity (Sicherheit durch Unklarheit bedeutet, dass man sich in der Sicherheitstechnik auf die Geheimhaltung des Entwurfs oder der Implementierung als Hauptmethode zur Gewährleistung der Sicherheit eines Systems oder einer Komponente verlässt) ist dagegen als unpraktikabel angesehen.&nbsp;</p>



<p class="wp-block-paragraph">Die Tatsache, dass die Entwicklung der Distribution öffentlich sichtbar unter Beteiligung einer Vielzahl von Personen geschieht, erfordert besondere Sicherheitsmaßnahmen. Änderungen an Paketen sind grundsätzlich mit einem verifizierbaren Schlüssel digital signiert. Die Überprüfung der Gültigkeit der Signatur erfolgt beim Anwender vor der Installation. Diese Maßnahme soll es Dritten erschweren, schädliche Software in Debian-Pakete einzuschleusen.</p>



<p class="wp-block-paragraph">Die Paketbetreuer passen die Sicherheitsaspekte ihrer jeweiligen Software an die allgemeinen Grundsätze von Debian an. Daher sind Dienste nach der Installation oft als „sicher“ voreingestellt, was von einem Benutzer als „Einschränkung“ empfunden werden kann. Dennoch versucht Debian, Sicherheitsaspekte und einfache Administration abzuwägen. Zum Beispiel werden Dienste wie ssh und ntp nicht inaktiv installiert, wie es bei den Distributionen der BSD-Familie üblich ist. Auf BSD werde ich in einem zukünftigen Beitrag eingehen.</p>



<p class="wp-block-paragraph">Wenn ein Sicherheitsproblem in einem Debian-Paket entdeckt wird, kommt es zusammen mit einer Einschätzung der dadurch entstehenden Gefahr in die Öffentlichkeit bzw. wird auf den vorher erwähnten Wegen publiziert. Parallel wird so schnell wie möglich ein Sicherheitsupdate dieses Pakets vorbereitet und auf speziellen Servern veröffentlicht. Kritische Sicherheitslücken werden auf diese Weise häufig innerhalb von Stunden geschlossen.</p>



<p class="wp-block-paragraph">An dieser Stelle ist es vielleicht sinnvoll zu erwähnen, dass die von Debian angepasste Implementierung des für die Schlüsselerstellung zuständigen Zufallsgenerators der OpenSSL-Bibliothek zwischen September 2006 und Mai 2008 mit einer erheblichen Sicherheitslücke lief. Die generierten geheimen Schlüssel konnten abgeschätzt und damit in kurzer Zeit (vor-)berechnet werden (1024- und 2048-Bit-Schlüssel in ungefähr zwei Stunden). Insbesondere OpenSSH und die sichere Kommunikation in Webbrowsern waren davon betroffen.</p>



<p class="wp-block-paragraph">Das Sicherheitsrisiko besteht weiterhin für alle RSA-Schlüssel, die in diesem Zeitraum auf betroffenen Systemen erstellt wurden und seit der Aktualisierung der Bibliothek nicht neu erstellt wurden. Auch alle DSA-Schlüssel, die jemals von einem Rechner mit fehlerhaftem Zufallszahlengenerator verwendet wurden, sind seitdem unsicher. Selbst wenn diese ursprünglich auf einem Rechner mit korrekt arbeitendem Zufallszahlengenerator erstellt wurden. Zu einem der größeren Sicherheitslücken kam es auch im Jahr 2019. Denn da wurde in dem Paketmanagertool von Debian („apt“ bzw. „apt-get“) eine Sicherheitslücke entdeckt, die es einem Man-in-the-Middle-Angreifer ermöglichte Code bei einem Update auszuführen.</p>



<h3 class="wp-block-heading">Fun Facts</h3>



<p class="wp-block-paragraph">Die Stadt München war zwischen 2006 und 2013 mit Debian-basierten Betriebssystemen LiMux auf freier Software unterwegs. Spekulationen zufolge switchten sie durch Einfluss von Microsoft, da sie mit einer Deutschland-Zentrale von Unterschleißheim nach München-Schwabing umzogen, zu Microsoft. Dies könnte mit der Gewerbesteuer an die Stadt München zusammenhängen, meinte der ein oder andere Autor im Manager-Magazin.</p>



<h3 class="wp-block-heading">Fazit</h3>



<p class="wp-block-paragraph">Wie bereits erwähnt, empfinde ich Debian als äußerst sympathisches Projekt bzw. Distribution. Nichtsdestotrotz ist es, meiner Meinung nach, noch kein einsteigerfreundliches Betriebssystem. Zum einen, wegen der unfreien Treiber, die gegebenenfalls vor- oder nachinstalliert werden müssen und zum anderen, weil grundsätzlich jedes System nach der Neuinstallation Sicherheitslücken enthält, die von fähigen Personen geschlossen werden müssen. Debian GNU/<a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a> bietet umfangreiche Möglichkeiten, das System vor unbefugten Zugriffen abzuschotten. Allerdings reicht es nicht aus nur Sicherheits-Updates aufzuspielen. Der Anwender selbst kann und muss aktiv sein System „härten“. Und dafür muss man schon einiges an Fachwissen mitbringen.</p>



<p class="wp-block-paragraph">Sicherlich kann sich der Nutzer über Sicherheitsrisiken unter den genannten Quellen bereits im Vorfeld informieren. Doch auch während und nach der Installation des Debian-Betriebssystems muss der Nutzer auf einige grundlegende Dinge achten. Dies beginnt bei den BIOS-Einstellungen, geht über die Absicherung des Bootloaders und schlussendlich bei der Installation von Sicherheits-Patches bzw. zur Anpassung von Diensten und sicherheitsrelevanten Dateien.</p>



<p class="wp-block-paragraph">Daher ist es vielleicht sinnvoll, mit einem „einfacheren“ System wie <a href="https://ceosbay.com/2022/12/04/erklaerung-ubuntu-linux/">Ubuntu</a> zu beginnen und sich so langsam in die Materie einzuarbeiten, wenn man in der Zukunft etwas unabhängiger und konsequenter unterwegs sein will.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/12/05/erklaerung-debian-linux/">Debian &#8211; Für Stabilität und Freiheit</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2022/12/05/erklaerung-debian-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">891</post-id>	</item>
		<item>
		<title>Node.js® mit npm auf MacOS</title>
		<link>https://ceosbay.com/2022/11/11/node-js-mit-npm-auf-macos/</link>
					<comments>https://ceosbay.com/2022/11/11/node-js-mit-npm-auf-macos/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Fri, 11 Nov 2022 07:16:47 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Befehl]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[Homebrew]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java Script]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[Laufzeitumgebung]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Minification]]></category>
		<category><![CDATA[Minify]]></category>
		<category><![CDATA[Node.JS]]></category>
		<category><![CDATA[npm]]></category>
		<category><![CDATA[Paket]]></category>
		<category><![CDATA[Paketmanager]]></category>
		<category><![CDATA[Sass]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Spotlight]]></category>
		<category><![CDATA[Sudo]]></category>
		<category><![CDATA[Syntactically Awesome Stylesheets]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Update]]></category>
		<category><![CDATA[Version]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=416</guid>

					<description><![CDATA[<p>Node.js® ist eine Single-Thread, JavaScript-basierte, Open Source, plattformübergreifende Laufzeitumgebung für die Erstellung von schnellen und skalierbaren Webservern und vernetzten Anwendungen. Hier noch die Website. Man kann damit auch hilfreiche Aufgaben auf dem Computer ausführen, wie z.B. &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/11/node-js-mit-npm-auf-macos/">Node.js® mit npm auf MacOS</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Node.js® ist eine Single-Thread, JavaScript-basierte, Open Source, plattformübergreifende Laufzeitumgebung für die Erstellung von schnellen und skalierbaren Webservern und vernetzten Anwendungen. Hier noch die <a href="https://nodejs.org" target="_blank" rel="noreferrer noopener">Website</a>. Man kann damit auch hilfreiche Aufgaben auf dem Computer ausführen, wie z.B. die Verkettung und Minimierung von JavaScript-Dateien und die Kompilierung von Sass-Dateien in CSS. Node ist kein Framework! (Kurz zu Framework: Ein Programm-Code besteht aus vielen kleinen Bausteinen. Um das Programmieren zu erleichtern und um Zeit zu sparen, gibt es sogenannte <em>Frameworks</em>. Dazu aber mehr in einem anderen Beitrag.</p>



<h2 class="wp-block-heading">Minimierung (Minification / Minify)</h2>



<p class="wp-block-paragraph">Unter Minifizierung versteht man das Entfernen aller überflüssigen Zeichen aus dem Quellcode von interpretierten Programmiersprachen oder Markup-Sprachen, ohne dessen Funktionalität zu verändern. Dazu in einem separaten Beitrag mehr.</p>



<h2 class="wp-block-heading">CSS (Cascading Style Sheets)</h2>



<p class="wp-block-paragraph"> Eine Programmiersprache, die es ermöglicht, das Design von elektronischen Dokumenten zu bestimmen. Auch hier bei einem separaten Beitrag mehr.</p>



<h2 class="wp-block-heading">Sass (Syntactically Awesome Stylesheets)</h2>



<p class="wp-block-paragraph">CSS mit Superkräften bzw. auf Steroiden. Dies werde ich auch in einem separaten Beitrag ausführlich thematisieren.</p>



<h2 class="wp-block-heading">npm</h2>



<p class="wp-block-paragraph">Der Node Package Manager ist ein Paketmanager für die JavaScript-Programmiersprache, der von npm, Inc. gepflegt wird. npm ist der Standard-Paketmanager für die JavaScript-Laufzeitumgebung Node. Es vereinfacht das Installieren von Node-&#8222;Paketen&#8220;. Ein Paket, auch Modul genannt, ist lediglich eine Code-Bibliothek, die Node um nützliche Funktionen erweitert. Das Modul &#8222;request&#8220; zum Beispiel vereinfacht https-Anfragen, so dass man problemlos Webressourcen von anderen Websites abrufen kann. npm wird bei der Installation von Node mitinstalliert. Obwohl es auf der Node-Website ein MacOS-Installationsprogramm gibt, wird die Verwendung von <a href="https://ceosbay.com/2022/10/25/homebrew-der-fehlende-paketmanager-fuer-macos-lassen-wir-fluegel-wachsen/">Homebrew</a> zur Installation und Aktualisierung von Node empfohlen. Über und wie man <a href="https://ceosbay.com/2022/10/25/homebrew-der-fehlende-paketmanager-fuer-macos-lassen-wir-fluegel-wachsen/">Homebrew</a> installiert bzw. verwendet, kann in einem anderen <a href="https://ceosbay.com/2022/10/25/homebrew-der-fehlende-paketmanager-fuer-macos-lassen-wir-fluegel-wachsen/">Beitrag</a> gelesen werden, den ich geschrieben habe.</p>



<p class="wp-block-paragraph">Grundsätzlich sollte man mit dem Mac-Terminal vertraut sein, da es zum Installieren und Testen von Node und npm verwenden werden muss. Die Terminal-Anwendung befindet sich im Dienstprogramme Ordner unter den Programmen. Ansonsten kann man auch einfach mit der Tastenkombination Command + Leertaste im Spotlight nach dem Terminus Terminal suchen. Durch die Verwendung von Homebrew können etwaige Sicherheitsprobleme vermieden werden, die mit der Verwendung des sudo-Befehls zur Installation von Software wie Node und Node-Modulen einhergehen.</p>



<h2 class="wp-block-heading">Installation</h2>



<p class="wp-block-paragraph">Die Installation von Node.js® und npm ist mit Homebrew relativ einfach. Homebrew übernimmt das Herunterladen, Entpacken (Eine komprimierte bzw. archivierte Datei extrahieren) und Installieren von Node.js® und npm auf dem System. Der Installationsprozess dauert lediglich ein paar Minuten. </p>



<p class="wp-block-paragraph">Ist das Terminal geöffnet, geht es folgendermaßen weiter:</p>



<pre class="wp-block-code"><code>brew update</code></pre>



<p class="wp-block-paragraph">brew update aktualisiert die Repository</p>



<pre class="wp-block-code"><code>brew install node</code></pre>



<p class="wp-block-paragraph">Hiermit lässt sich Node.js® installieren</p>



<pre class="wp-block-code"><code>node -v</code></pre>



<p class="wp-block-paragraph">Mit diesem Befehl lässt sich überprüfen, ob und in welcher Version Node installiert ist.</p>



<pre class="wp-block-code"><code>npm -v</code></pre>



<p class="wp-block-paragraph">Und hiermit, ob und in welcher Version npm installiert ist.</p>



<p class="wp-block-paragraph">Damit sind Node.JS® und npm erfolgreich installiert!</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/11/node-js-mit-npm-auf-macos/">Node.js® mit npm auf MacOS</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2022/11/11/node-js-mit-npm-auf-macos/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">416</post-id>	</item>
		<item>
		<title>Ubuntu Linux &#8211; Starten und nutzen von MySQL Server</title>
		<link>https://ceosbay.com/2022/10/31/ubuntu-linux-starten-und-nutzen-mysql-server/</link>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Mon, 31 Oct 2022 11:00:00 +0000</pubDate>
				<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Install]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=126</guid>

					<description><![CDATA[<p>Eine kurze Einführung in MySQL Server auf Ubuntu. Was ist MySQL? MySQL ist ein relationales Open-Source-SQL-Databaseverwaltungssystem, das von Oracle entwickelt und unterstützt wird. Selbstverständlich sollte man hierfür so ein bisschen mit Ubuntu Linux, dem Terminal &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/10/31/ubuntu-linux-starten-und-nutzen-mysql-server/">Ubuntu Linux &#8211; Starten und nutzen von MySQL Server</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Eine kurze Einführung in MySQL Server auf Ubuntu.</p>



<h3 class="wp-block-heading">Was ist MySQL?</h3>



<p class="wp-block-paragraph">MySQL ist ein relationales <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-SQL-Databaseverwaltungssystem, das von Oracle entwickelt und unterstützt wird.</p>



<p class="wp-block-paragraph">Selbstverständlich sollte man hierfür so ein bisschen mit Ubuntu Linux, dem Terminal und mit den Standardbefehlen in SQL und Linux vertraut sein.</p>



<h3 class="wp-block-heading">Terminal</h3>



<pre class="wp-block-code"><code>$ sudo apt update</code></pre>



<p class="wp-block-paragraph">Man öffnet ein frisches Terminal Fenster für das Repository Update. Ein Update ist bei einer Neuinstallation einer neuen Anwendung immer erforderlich.</p>



<h3 class="wp-block-heading">MySQL Server installieren</h3>



<pre class="wp-block-code"><code>$ sudo apt install mysql-server -y</code></pre>



<p class="wp-block-paragraph">Mit diesem Befehl initiiert man die Installation des MySQL Servers.</p>



<p class="wp-block-paragraph">Jetzt kann man eventuell fragen, &#8222;Wofür dieses -y&#8220;. Ganz einfach &#8211; Mit der Option -y wird apt-get (Advanced Package Tool (APT) ist eine freie Software-Benutzeroberfläche, die mit Kernbibliotheken arbeitet, um die Installation und Entfernung von Software unter Debian und Debian-basierten Linux-Distributionen zu verwalten) angewiesen, alle Fragen, die bei der Installation auftauchen, mit einem &#8222;Ja!&#8220; zu beantworten. Bei der Installation kommt es immer wieder einmal zu der Frage, ob die Installation fortgesetzt werden soll, wenn die richtigen Pakete gefunden werden. Mit dem Zusatz -y wird diese Frage schlichtweg automatisch mit einem Y, wie Yes, beantwortet und ohne Unterbrechung automatisch fortgesetzt. Im Anschluss ist ein MySQL Server erstellt und aktiv.</p>



<h3 class="wp-block-heading">Überprüfung</h3>



<p class="wp-block-paragraph">Überprüfung mit dem folgenden Befehl:</p>



<pre class="wp-block-code"><code>$ sudo systemctl status mysql</code></pre>



<p class="wp-block-paragraph">Wenn in der dritten Zeile die Rückmeldung active (running) zurückgegeben wird, wurde alles richtig gemacht und der Server ist ordnungsgemäß installiert und im Einsatz.</p>



<h3 class="wp-block-heading">MySQL Monitor starten</h3>



<p class="wp-block-paragraph">Um den MySQL Monitor zu starten, reicht ein einfaches:</p>



<pre class="wp-block-code"><code>$ sudo mysql</code></pre>



<p class="wp-block-paragraph">Und schon befindet man sich im Command Promt des MySQL Monitors.</p>



<p class="wp-block-paragraph">Mit dem nachfolgenden Befehl lassen sich alle verfügbaren Datenbanken anzeigen:</p>



<pre class="wp-block-code"><code>mysql&gt; show databases;</code></pre>



<p class="wp-block-paragraph">So werden die Standard Datenbanken die routinemäßig angelegt werden angezeigt. </p>



<p class="wp-block-paragraph">Zur Veranschaulichung wird eine Verkaufsliste erstellt, dessen Produkte mit ID&#8217;s, Namen, einer Haltbarkeitsdauer von kurz- mittel- und langfristig und einem Preis definiert werden. </p>



<pre class="wp-block-code"><code>mysql&gt; create database coes_database;</code></pre>



<p class="wp-block-paragraph">Um die eigene Datenbank zu erstellen.</p>



<pre class="wp-block-code"><code>mysql&gt;  use coes_database</code></pre>



<p class="wp-block-paragraph">Um die Datenbank zu nutzen.</p>



<p class="wp-block-paragraph">&#8222;Database changed&#8220; zeigt, dass die Datenbank zur Bearbeitung ausgewählt ist.</p>



<pre class="wp-block-code"><code>mysql&gt; show tables;</code></pre>



<p class="wp-block-paragraph">Um alle Tabellen anzuzeigen.</p>



<pre class="wp-block-code"><code>mysql&gt; create table verkaufsliste (</code></pre>



<p class="wp-block-paragraph">Zur Erstellung einer Tabelle mit der Bezeichnung &#8222;verkaufsliste&#8220;.</p>



<p class="wp-block-paragraph">Unter &#8222;Tables_in_coes_database&#8220;, sollte nun die Tabelle &#8222;verkaufsliste&#8220; zu sehen sein.</p>



<pre class="wp-block-code"><code>-&gt; id int,
-&gt; name varchar(255),
-&gt; haltbarkeitsdauer varchar(255),
-&gt; preis float
-&gt; );</code></pre>



<p class="wp-block-paragraph">Um die ersten Spalten zu füllen, die Inhalte mit der Inhaltsform definieren und nach jedem &#8222;,&#8220; Komma mit der Enter Taste bestätigen. Bzgl. der Definition: int = Integer = ganze Zahlen, varchar = variable Charakter = string mit maximal 255 Zeichen und float = Gleitkommazahl.</p>



<p class="wp-block-paragraph">Die Spalten id gefolgt von name, land, haltbarkeitsdauer, und preis sind erstellt. </p>



<pre class="wp-block-code"><code>mysql&gt; describe verkaufsliste;</code></pre>



<p class="wp-block-paragraph">Um die Inhalte der Tabelle anzuzeigen nutzt man den Befehle describe.</p>



<pre class="wp-block-code"><code>mysql&gt; insert into verkaufsliste values (1, "apfel", "kurz", "1.20");</code></pre>



<p class="wp-block-paragraph">&#8222;insert&#8220; Befehl um die erste Zeile zu füllen. </p>



<p class="wp-block-paragraph">Die Zeilen danach ähnlich füllen. Man definiert lediglich die spezifischen ID&#8217;s und Inhalte.</p>



<pre class="wp-block-code"><code>mysql&gt; insert into verkaufsliste values (2, "Zitrone", "mittel", "0.4");
mysql&gt; insert into verkaufsliste values (3, "erdbeer", "kurz", "3");
mysql&gt; insert into verkaufsliste values (4, "wassermelone", "lang", "4");</code></pre>



<p class="wp-block-paragraph">Dadurch wurden der Tabelle nun 3 weitere Zeilen hinzugefügt.</p>



<pre class="wp-block-code"><code>mysql&gt; select * from verkaufsliste;</code></pre>



<p class="wp-block-paragraph">Für Spezifische Inhalte ersetzt man &#8222;*&#8220; durch die benötigte Spaltenbezeichnung. In diesem Beispiel &#8222;name&#8220;.</p>



<p class="wp-block-paragraph">Um alle Inhalte der Tabelle anzuzeigen nutzt man &#8222;*&#8220;.</p>



<pre class="wp-block-code"><code>mysql&gt; select name from verkaufsliste;</code></pre>



<p class="wp-block-paragraph">Als Einführung sollte dies reichen 😉</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/10/31/ubuntu-linux-starten-und-nutzen-mysql-server/">Ubuntu Linux &#8211; Starten und nutzen von MySQL Server</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">126</post-id>	</item>
		<item>
		<title>Docker &#8211; Verpacken, verteilen und überall ausführen &#8211; Laufzeitumgebung für Softwareanwendungen</title>
		<link>https://ceosbay.com/2022/10/28/laufzeitumgebung-fuer-softwareanwendungen-docker/</link>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Fri, 28 Oct 2022 12:18:00 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Betriebssystem]]></category>
		<category><![CDATA[Container]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Engine]]></category>
		<category><![CDATA[Images]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[Komponenten]]></category>
		<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[Laufzeitumgebung]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Portainer]]></category>
		<category><![CDATA[Registry]]></category>
		<category><![CDATA[Repository]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Softwareanwendung]]></category>
		<category><![CDATA[Virtual Machine]]></category>
		<category><![CDATA[VMs]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=82</guid>

					<description><![CDATA[<p>Docker ist ein beliebtes Open-Source-Tool, das eine portable und konsistente Laufzeitumgebung für Softwareanwendungen bietet. In anderen Worten: Ein Tool, mit dem Entwickler, Systemadministratoren und andere Normalsterbliche ihre Anwendungen einfach in einer Sandbox (genannt Container) bereitstellen &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/10/28/laufzeitumgebung-fuer-softwareanwendungen-docker/">Docker &#8211; Verpacken, verteilen und überall ausführen &#8211; Laufzeitumgebung für Softwareanwendungen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Docker ist ein beliebtes <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Tool, das eine portable und konsistente Laufzeitumgebung für Softwareanwendungen bietet. In anderen Worten: Ein Tool, mit dem Entwickler, Systemadministratoren und andere Normalsterbliche ihre Anwendungen einfach in einer Sandbox (genannt Container) bereitstellen können, um sie auf dem Host-Betriebssystem, z. B. auf Linux, auszuführen. Der Hauptvorteil besteht darin, dass es Benutzern ermöglicht, eine Anwendung mit all ihren Abhängigkeiten in eine standardisierte Einheit für die Softwareentwicklung zu verpacken. Im Gegensatz zu virtuellen Maschinen haben Container keinen hohen Overhead (Verwaltungsaufwand) und ermöglichen daher eine effizientere Nutzung des zugrunde liegenden Systems und der Ressourcen. Es kann für die gängigen Betriebsysteme auf der <a href="https://www.docker.com" target="_blank" rel="noreferrer noopener">Website</a> heruntergeladen werden (Achtung! &#8211; Die Desktop Version ist keine <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> Anwendung!).</p>



<h2 class="wp-block-heading">Was sind Container?</h2>



<p class="wp-block-paragraph">Zu dem heutigen Industriestandard gehört die Verwendung von virtuellen Maschinen (VMs) zur Ausführung von Softwareanwendungen zum Alltag. Ein Docker-Container ist eine Standardsoftwareeinheit, die einen Code in all seinen Abhängigkeiten speichert. So wird die Anwendung schnell und zuverlässig auf verschiedensten Computerumgebungen lauffähig. Ein Container bildet ein leichtes eigenständiges ausführbares Softwarepaket ab, das alles enthält, was zum Ausführen einer Anwendungscodelaufzeit benötigt wird. Was im Grunde genommen benötigt wird sind in der Regel der Programmcode, diverse RunTime-Engines, Systemtools, die dazugehörigen Systembibliotheken und so ziemlich alle Einstellungen. Diese containerisierte Software läuft unabhängig von dem Betriebssystem, also auf Linux-, Mac- und Windows-basierten Systemen. Und dies vollkommen unabhängig von der jeweiligen Infrastruktur. Die Container isolieren die Software von der Umgebung und stellen sicher, dass sie trotz der Unterschiede einheitlich funktioniert.</p>



<h2 class="wp-block-heading">Vorteile von Containern</h2>



<p class="wp-block-paragraph">Docker-Container sind besonders beliebt, weil sie gegenüber&nbsp;<a href="https://ceosbay.com/2022/11/10/erklaerung-virtuelle-maschine/">Virtuellen Maschinen (VMs)</a>&nbsp;viele Vorteile bieten. <a href="https://ceosbay.com/2022/11/10/erklaerung-virtuelle-maschine/">VMs</a> enthalten grundsätzlich vollständige Kopien eines umfassenden Betriebssystems, die Anwendung(en) selbst, alle erforderlichen Binärdateien und Bibliotheken. Diese Tatsache beansprucht in der Regel Unmengen an Speicherkapazität.</p>



<p class="wp-block-paragraph"><a href="https://ceosbay.com/2022/11/10/erklaerung-virtuelle-maschine/">VMs</a> booten im Vergleich auch ausgesprochen langsam. Container benötigen grundsätzlich weniger Speicherplatz, da ihre Images normalerweise nur wenige hundert Megabyte groß sind. So können bei dem Einsatz von Docker viel mehr Anwendungen gleichzeitig verarbeitet werden. Dies reduziert Verwendung von <a href="https://ceosbay.com/2022/11/10/erklaerung-virtuelle-maschine/">VMs</a> und Betriebssystemen. </p>



<p class="wp-block-paragraph">Auch der Einsatz von Containern auf&nbsp;Edge-Devices, z.B. auf kompakten Einplatinencomputern (Single-Board Computer (SBC) wie die beliebten Raspberry Pi&#8217;s oder NVIDIA Jetson&#8217;s, sowie robusten und wartungsarmen Embedded PC&#8217;s in der Industrie, ist problemlos möglich. Container sind flexibler und effektiver als <a href="https://ceosbay.com/2022/11/10/erklaerung-virtuelle-maschine/">VMs</a> und die Verwendung von Docker in der Cloud ist ebenfalls sehr beliebt. Die Möglichkeit, dass verschiedene Anwendungen auf einer einzelnen Betriebssystem-Instanz ausgeführt werden können, verbessert vielfältige Einsatzmöglichkeiten immens. Ein weiterer entscheidender&nbsp;Vorteil von Containern&nbsp;ist die Fähigkeit, Apps nicht nur voneinander, sondern auch von ihrem zugrundeliegenden System zu isolieren. </p>



<p class="wp-block-paragraph">So kann der Anwender leicht bestimmen, wie eine zugewiesene containerisierte Einheit das jeweilige System und die vorhandenen Ressourcen (CPU, GPU und Netzwerk) nutzt. Zudem stellt es auch sicher, dass Daten und Code voneinander getrennt bleiben was durchaus eine weitere Sicherheitsinstanz darstellen kann.</p>



<h2 class="wp-block-heading">Komponenten von Docker</h2>



<p class="wp-block-paragraph">Die Docker-Plattform besteht aus einer Reihe von Komponenten. Desktop und Engine sind die zwei wesentlichen Bestandteile davon. Images definieren den Inhalt von Containern. Container sind lauffähige Instanzen von Images. Der Daemon ist eine Hintergrundanwendung, die Images und -Container verwaltet und ausführt. Der Client ist ein Befehlszeilenprogramm (CLI <em>Command-Line Interface</em>) &#8222;Ein Befehlszeileninterpreter oder Befehlszeilenprozessor.&#8220; Es verwendet eine Befehlszeilenschnittstelle, um Befehle von einem Benutzer in Form von Textzeilen zu empfangen, dass die API des Daemons aufruft. Registries enthalten Images, und der Hub ist ein weit verbreitetes öffentliches Registry. Zudem gibt es noch die&nbsp;Toolbox,&nbsp;um Docker auf Systeme zu bringen, die nicht nativ unterstützt werden. Dies wird dadurch erreicht, indem eine virtualisierte Linux-Instanz gestartet wird. Dies geschieht beispielsweise innerhalb von VirtualBox. Und Docker wird dann innerhalb dieser virtuellen Maschine ausgeführt.‎ Ein Großteil von Docker (jedoch nicht Desktop) ist <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a>. Lizenziert ist es unter der Apache-V2-Lizenz.</p>



<h2 class="wp-block-heading">Docker Desktop</h2>



<p class="wp-block-paragraph">Während die meisten Komponenten sowohl für Windows, Mac und Linux verfügbar sind, und trotz der Tatsache, dass die meisten Container auf Linux lauffähig sind, ist Docker Desktop lediglich für Windows und Mac verfügbar. Docker Desktop ist ein GUI-Tool (Graphical User Interface / Grafische Benutzeroberfläche), welches im Wesentlichen eine <a href="https://ceosbay.com/2022/11/10/erklaerung-virtuelle-maschine/">virtuelle Maschineninstallation</a> abdeckt. Diese virtuelle Maschine ist unter Linux nicht notwendig, da hier direkt die Engine lauffähig ist. Docker Desktop dient unter Windows und Mac zum Management verschiedener Komponenten und Funktionen, einschließlich von Containern, Images, Volumes (an Container angehängter Speicher), lokalem Kubernetes (eine Automatisierung der Bereitstellung, Skalierung und Verwaltung von Container-Anwendungen &#8211; Doch hierzu später mehr), Entwicklungsumgebungen innerhalb von Containern und vielem mehr.</p>



<h2 class="wp-block-heading">Docker-Images und -Registry</h2>



<p class="wp-block-paragraph">Ein Docker-Image ist eine unveränderliche Datei, die im wesentlichen Sinn einen Schnappschuss eines Containers darstellt. Images werden mit dem Befehl „build“ erstellt und erzeugen einen Container, wenn sie mit „run“ gestartet werden. Images werden in einer Registry wie „registry.hub.docker.com“ gespeichert. Sie sind so konzipiert, dass sie aus mehreren Schichten anderer Images bestehen können. So muss bei der Übermittlung von Images über das Netzwerk nur eine geringe Datenmenge übertragen werden.</p>



<h2 class="wp-block-heading">Docker-Container</h2>



<p class="wp-block-paragraph">Als Programmierer spricht man bei einem Image immer von einer Klasse und bei Containern über eine Instanz einer Klasse – bzw. über ein Laufzeitobjekt. Container sind der Grund, warum Docker so vielfältig verwendet wird: Sie sind leichtgewichtige und portable Kapselungen einer Umgebung, in der Anwendungen ausgeführt werden können.</p>



<h2 class="wp-block-heading">Docker-Engine</h2>



<p class="wp-block-paragraph">Bei einem Blick auf die Docker-Engine und ihre Komponenten, kann man eine grundlegende Vorstellung davon erhalten, wie das System funktioniert. Mit der Engine entwickelt man Anwendungen, stellt sie zusammen, liefert sie aus und im Anschluss kann man sie ausführen, indem die folgenden Komponenten verwenden: Der <strong>Docker Deamon</strong> &#8211; Ein dauerhafter Hintergrundprozess, der Images, Container, Netzwerke und Speichervolumen verwaltet. Der Daemon „betrachtet“ ständig die Docker-API-Anforderungen und verarbeitet sie.</p>



<p class="wp-block-paragraph">Die <strong>Docker Engine REST API</strong> &#8211; Eine Schnittstelle, die von Anwendungen verwendet wird, um mit dem Daemon zu interagieren. Auf sie kann über einen https-Client zugegriffen werden. Der <strong>Docker Client bzw. die CLI</strong> &#8211; Ermöglicht den Benutzern die Interaktion mit Docker. Er kann sich auf demselben Host wie der Daemon befinden oder eine Verbindung zu einem Daemon auf einem entfernten Host herstellen und mit mehr als einem Daemon kommunizieren.</p>



<p class="wp-block-paragraph">Der Docker-Client bietet eine Befehlszeilenschnittstelle (CLI = Command Line Interpreter), über die man einem Daemon Befehle zum Erstellen, Ausführen und Anhalten von Anwendungen erteilen kann. Der Hauptzweck des Clients besteht darin, ein Mittel zur Verfügung zu stellen, mit dem Images aus einer Registry gezogen und auf einem Docker-Host ausgeführt werden können. Die gängigen Befehle, die von einem Client ausgegeben werden, sind: docker build, docker pull und docker run. </p>



<p class="wp-block-paragraph"><strong>Portainer</strong> &#8211; Zur Vereinfachung der Arbeit mit Docker-Befehlen ist das freie, intuitive und leicht zu implementierende GUI (Graphical User Interface = Grafische Benutzeroberfläche) Portainer oft eine gute Wahl. Die Verwaltung der Engines und das komplette Management ist mit Portainer auch für kleine Projekte geeignet. Ich selbst hatte nur wenig Kontakt damit, daher bitte mit Vorsicht genießen ;). Hardwareinformationen wie die Anzahl der Prozessoren und die Größe des Arbeitsspeichers, sowie Docker-spezifische Informationen (Anzahl der Container, Images, Volumes und Networks) sind auf jeden Fall relativ leicht ersichtlich. So kann das Dockertool mit seiner übersichtlichen Weboberfläche die Standard-Docker-Funktionen und die Verwaltung übernehmen.</p>



<h2 class="wp-block-heading">Kubernetes</h2>



<p class="wp-block-paragraph">Ein Thema, mit dem ich mich auch noch auseinandersetzen werde und es noch einen gesonderten Beitrag darüber geben wird. Im Grunde genommen ist Kubernetes ein <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-System, welches mit Hilfe von Prozessautomatisierung die Verwaltung der Container übernimmt und somit Hand in Hand mit dem Docker zusammenarbeitet. </p>



<p class="wp-block-paragraph">In einem Helm-Chart werden Konfigurationsdaten an Kubernetes übergeben. Dort wird konfiguriert, welche Container ausgerollt, überwacht und verwaltet werden sollen. Kubernetes löst diese Aufgabe auch mit einer hohen Anzahl an Containern problemlos. Außerdem kann Kubernetes Ressourcen perfekt einsetzen. Maschinen, die nicht benötigt werden, können entweder ausgeschaltet oder an andere Tasks weitervergeben werden, um Kosten sowie Kapazitäten zu sparen und folglich ein besseres Ressourcenmanagement zu ermöglichen.</p>



<h2 class="wp-block-heading">Auf welchen Betriebssystemen läuft Docker?</h2>



<p class="wp-block-paragraph">Ein Docker-Container läuft mit der Engine direkt unter Linux und auf jedem Host-Computer, der die Container-Laufzeitumgebung „Docker Desktop“ unterstützt (Mac und Windows). Die Anwendungen müssen nicht an das Host-Betriebssystem angepasst werden. So kann sowohl die Anwendungsumgebung, als auch die zugrunde liegende Betriebssystemumgebung sauber und minimalistisch gehalten werden. Containerbasierte Anwendungen können so problemlos von Systemen in Cloud-Umgebungen oder von Entwickler-Notebooks auf Server geschoben werden, wenn das Zielsystem Docker und alle damit verwendeten Tools von Drittanbietern unterstützt.</p>



<h2 class="wp-block-heading">Wie kann Docker installiert werden?</h2>



<ul class="wp-block-list">
<li><a rel="noreferrer noopener" href="https://docs.docker.com/desktop/windows/install/" target="_blank">Installationsanleitung für Docker Desktop (Windows)</a></li>



<li><a rel="noreferrer noopener" href="https://docs.docker.com/desktop/mac/install/" target="_blank">Installationsanleitung für Docker Desktop (Mac)</a></li>



<li><a href="https://docs.docker.com/engine/install/" target="_blank" rel="noreferrer noopener">Installationsanleitung für die Docker-Engine auf diversen Linux Distributionen</a></li>
</ul>



<h2 class="wp-block-heading">Microservices-Modell &#8211; Was ist das?</h2>



<p class="wp-block-paragraph">Die meisten Geschäftsanwendungen bestehen aus mehreren separaten Komponenten, die in einem sogenannten „Stack“ organisiert sind. Beispiele hierfür sind ein Webserver, eine Datenbank oder ein In-Memory-Cache. Container ermöglichen es, diese einzelnen Komponenten zu einer funktionalen Einheit mit leicht austauschbaren Teilen zusammenzustellen. Verschiedene Container können diese Komponenten beinhalten. So kann jede Komponente für sich gepflegt, aktualisiert und unabhängig von den anderen modifiziert werden. Im Grunde ist dies das Microservices-Modell des Anwendungsdesigns. Indem die Anwendungsfunktionalität in separate und in sich geschlossene Dienste unterteilt ist, bietet das Modell eine Alternative zu langsamen traditionellen Entwicklungsprozessen und unflexiblen Apps. Leichtgewichtige übertragbare Container machen es einfacher, Microservices basierende Anwendungen zu erstellen und zu pflegen.</p>



<p class="wp-block-paragraph">Alles in allem trägt Docker dazu bei, die Verwaltung einer kompletten Infrastruktur wesentlich zu vereinfachen, indem es die zugrunde liegenden Instanzen leichter, schneller und robuster macht. Darüber hinaus trennt es die Anwendungsschicht von der Infrastrukturebene und bringt die dringend benötigte Portabilität, Zusammenarbeit und Kontrolle über die Softwarebereitstellungskette. Es wurde für moderne DevOps-Teams entwickelt. Das Verständnis seiner Architektur kann helfen, das Beste aus containerisierten Anwendungen herauszuholen.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/10/28/laufzeitumgebung-fuer-softwareanwendungen-docker/">Docker &#8211; Verpacken, verteilen und überall ausführen &#8211; Laufzeitumgebung für Softwareanwendungen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">82</post-id>	</item>
	</channel>
</rss>
