<?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>Mac Archive - CEOsBay</title>
	<atom:link href="https://ceosbay.com/tag/mac/feed/" rel="self" type="application/rss+xml" />
	<link>https://ceosbay.com/tag/mac/</link>
	<description>It&#039;s all about Tech</description>
	<lastBuildDate>Sun, 16 Apr 2023 10:40:08 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://i0.wp.com/ceosbay.com/wp-content/uploads/2022/11/image.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>Mac Archive - CEOsBay</title>
	<link>https://ceosbay.com/tag/mac/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">211828771</site>	<item>
		<title>Jenkins &#8211; Automatisierte Arbeitsabläufe beim Testing</title>
		<link>https://ceosbay.com/2022/12/18/erklaerung-jenkins/</link>
					<comments>https://ceosbay.com/2022/12/18/erklaerung-jenkins/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sun, 18 Dec 2022 07:35:48 +0000</pubDate>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[CD]]></category>
		<category><![CDATA[CI]]></category>
		<category><![CDATA[CIFS]]></category>
		<category><![CDATA[Continious]]></category>
		<category><![CDATA[Deploy]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Fazit]]></category>
		<category><![CDATA[Foundation]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Hudson]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Jenkins]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Machine]]></category>
		<category><![CDATA[Maschine]]></category>
		<category><![CDATA[Microservice]]></category>
		<category><![CDATA[Microservices]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsystems]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Pipeline]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[VM]]></category>
		<category><![CDATA[Win]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=999</guid>

					<description><![CDATA[<p>Jenkins ist ein webbasiertes Open Source Tool bzw. Software-System, für Continuous Integration und Continuous Delivery (CI/CD). Es dient der Automatisierung und für DevOps. Geschrieben ist es in der Programmiersprache Java. Es lassen sich damit CI/CD-Workflows &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/12/18/erklaerung-jenkins/">Jenkins &#8211; Automatisierte Arbeitsabläufe beim Testing</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Jenkins ist ein webbasiertes <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> Tool bzw. Software-System, für <a href="https://ceosbay.com/2023/04/14/erklaerung-ci-cd/" target="_blank" rel="noreferrer noopener">Continuous Integration und Continuous Delivery</a> (<a href="https://ceosbay.com/2023/04/14/erklaerung-ci-cd/" target="_blank" rel="noreferrer noopener">CI/CD</a>). Es dient der Automatisierung und für <a href="https://ceosbay.com/2023/03/02/erklaerung-devops/" target="_blank" rel="noreferrer noopener">DevOps</a>. Geschrieben ist es in der Programmiersprache Java. Es lassen sich damit <a href="https://ceosbay.com/2023/04/14/erklaerung-ci-cd/" target="_blank" rel="noreferrer noopener">CI/CD</a>-Workflows bzw. sogenannte Pipelines implementieren. Es wird als Fork der Software Hudson von Sun Microsystems, heute Oracle, betrachtet.</p>



<h3 class="wp-block-heading">Kurze Zeitreise</h3>



<p>Jenkins ist in erster Linie eine Entwicklung von Kohsuke Kawaguchi. Einem ehemaligen Mitarbeiter von Sun Microsystems, der es unter dem Namen Hudson entwickelt hat. Kawaguchi verließ das Unternehmen, nachdem Oracle es Ende Januar 2010 übernahm. Er behielt aber die Leitung bei Hudson und arbeitete nach eigenen Angaben auf freiberuflicher Basis weiter bei Oracle. Oracle hielt nach wie vor die Namensrechte an Hudson. Aus diesem Grund hat man das Projekt schließlich in Jenkins umbenannt. Die Namensgebung erfolgte laut der Entwickler aufgrund der äquivalenten Assoziation der beiden Wörter mit dem Beruf des Butlers.</p>



<p>Oracle trieb die Entwicklung von Hudson weiterhin voran. Deshalb spricht man heute von einem Fork (einer „Abspaltung“) in der Softwareentwicklung. Im Jahr 2016 wurde die Entwicklung von Hudson zugunsten von Jenkins eingestellt und der Eclipse Foundation gespendet. Die Entwicklung wird jetzt als <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Projekt unter der Leitung der <a href="https://cd.foundation" target="_blank" rel="noreferrer noopener">CD Foundation</a>, einer Organisation innerhalb der <a href="https://www.linuxfoundation.org" target="_blank" rel="noreferrer noopener">Linux Foundation</a>, verwaltet.</p>



<h3 class="wp-block-heading">Wofür Pipelines?</h3>



<p>Im Grunde genommen automatisieren Pipelines Tests und Berichte zu isolierten Änderungen in einer größeren Codebasis in Echtzeit und erleichtern die Integration unterschiedlicher Codezweige in einen Hauptzweig. Man erkennt dadurch schnell Fehler in einer Codebasis, erstellt die Software, automatisiert das Testen der Builds, bereitet die Codebasis für die Bereitstellung (Auslieferung) vor und stellt schließlich Code in Containern und auf <a href="https://ceosbay.com/2022/11/10/erklaerung-virtuelle-maschine/">virtuellen Maschinen</a> sowie Bare-Metal- und <a href="https://ceosbay.com/2022/11/30/erklaerung-cloud-computing/">Cloud</a>-Servern bereit. Es gibt auch kommerzielle Versionen von Jenkins, auf die ich in diesem Beitrag aber nicht weiter eingehe.</p>



<h3 class="wp-block-heading">Continious Integration / Kontinuierliche Integration</h3>



<p>Kontinuierliche Integration hat sich seit der Erfindung weiterentwickelt. Ursprünglich war es die Norm, dass Teams einen Build pro Tag veröffentlichten. Nun ist es die Regel, dass jedes Teammitglied täglich oder häufiger Aktualisierungen einreicht, die man als Commit bezeichnet (Siehe <a href="https://ceosbay.com/2022/11/18/erklaerung-git/">Git</a> / <a href="https://ceosbay.com/2022/11/19/erklaerung-github/">GitHub</a>). Dies erfolgt bei jeder wesentlichen Änderung eines Builds. Bei der richtigen Anwendung bietet Continuous Integration verschiedene Vorteile, wie zum Beispiel ständige Rückmeldungen zum Status der Software. Da man durch CI, Mängel frühzeitig in der Entwicklung erkennt, sind Fehler in der Regel kleiner, weniger komplex und leichter zu beheben.</p>



<h3 class="wp-block-heading">Jenkins und CI/CD</h3>



<p>Im Laufe der Zeit wurden Jenkins <a href="https://ceosbay.com/2023/04/14/erklaerung-ci-cd/" target="_blank" rel="noreferrer noopener">Continuous Delivery und Deployment</a> hinzugefügt. <a href="https://ceosbay.com/2023/04/14/erklaerung-ci-cd/" target="_blank" rel="noreferrer noopener">Continuous Delivery</a> bedeutet, dass das Erstellen und Packen von Code für die spätere Bereitstellung in Test-, Produktions-Staging- und Produktionsumgebungen automatisiert wird. <a href="https://ceosbay.com/2023/04/14/erklaerung-ci-cd/" target="_blank" rel="noreferrer noopener">Continuous Deployment</a> automatisiert den letzten Schritt der Bereitstellung des Codes an seinem endgültigen Ziel.</p>



<p>In beiden Fällen reduziert die Automatisierung die Anzahl der auftretenden Fehler, da die richtigen Schritte und Best Practices in Jenkins kodiert sind. Jenkins beschreibt einen gewünschten Zustand und der Automatisierungsserver stellt sicher, dass dieser Zustand erreicht wird. Darüber hinaus macht diese Automatisierung die Bereitstellung schneller, da Vorgänge nicht mehr an personelle Beschränkungen gebunden sind. Schließlich reduziert es die Belastung des Entwicklungs- und Betriebsteams, indem es die Notwendigkeit von manuellen Rollouts mitten in der Nacht und am Wochenende beseitigt.</p>



<h3 class="wp-block-heading">Jenkins und Microservices</h3>



<p>Jenkins bewährt sich besonders in Microservices-Architekturen. Da es eines der Ziele von Microservices ist, Anwendungen und Dienste häufig zu aktualisieren, sollte man dafür sorgen, dass die Bandbreite die Releases nicht verzögert. Mehr und kleinere Dienste mit schnelleren Update-Intervallen lassen sich nur durch Automatisierung gut umsetzen – und dafür ist es wohl die richtige Wahl.</p>



<h3 class="wp-block-heading">Jenkins X</h3>



<p>Das Jenkins X-Projekt wurde 2018 mit dem Ziel gestartet, eine moderne, <a href="https://ceosbay.com/2022/11/30/erklaerung-cloud-computing/">Cloud</a>-native Version von Jenkins zu erschaffen. Das Projekt steht ebenfalls unter der Leitung der <a href="https://cd.foundation" target="_blank" rel="noreferrer noopener">CD Foundation</a>. Die Architektur, Technologie und Pipeline-Sprache unterscheiden sich grundsätzlich von Jenkins. Jenkins X ist für Kubernetes konzipiert und verwendet es in einer eigenen Implementierung. Andere <a href="https://ceosbay.com/2022/11/30/erklaerung-cloud-computing/">Cloud</a>-native Technologien, die Jenkins X verwendet, sind Helm und Tekton, auf die ich in gesonderten Beiträgen eingehen werde.</p>



<h3 class="wp-block-heading">Wie funktioniert Jenkins?</h3>



<p>Jenkins läuft auf einer Vielzahl von Betriebssystemen bzw. Plattformen. Darunter gibt es Windows, MacOS und Unix-Varianten. Am besten jedoch läuft es auf <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a>. Es erfordert mindestens eine Java 8 <a href="https://ceosbay.com/2022/11/10/erklaerung-virtuelle-maschine/">VM</a> oder höher und kann auf Oracle Java Runtime Environment oder Open Java Development Kit ausgeführt werden. Normalerweise läuft es als Java-Servlet innerhalb eines Jetty-Anwendungsservers. Es kann aber auch auf anderen Java-Anwendungsservern wie Apache Tomcat ausgeführt werden. Auch kann es in einem <a href="https://ceosbay.com/2022/10/28/laufzeitumgebung-fuer-softwareanwendungen-docker/">Docker</a>-Container ausgeführt werden. Im <a href="https://ceosbay.com/2022/10/28/laufzeitumgebung-fuer-softwareanwendungen-docker/">Docker</a> Hub-Online-Repository sind aus diesem Grund schreibgeschützte Jenkins-Images verfügbar.</p>



<p>Um Jenkins zu auszuführen, werden Pipelines erstellt. Eine Pipeline ist eine Reihe von Schritten, die der Jenkins-Server ausführt. Diese Schritte sind in einem Klartext-Jenkins-File gespeichert. Das Jenkins-File verwendet eine geschweifte Klammersyntax, die einer JSON gleicht. Schritte in der Pipeline werden als Befehle mit Parametern deklariert und in geschweiften Klammern gekapselt. Der Jenkins-Server liest dann die Jenkins-Datei und führt die Befehle aus, wobei der Code die Pipeline vom festgeschriebenen Quellcode zur Produktionslaufzeit weiterleitet. Ein Jenkins-File kann über eine grafische Benutzeroberfläche oder durch Code erstellt werden.</p>



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



<p>Für Jenkins sind eine Reihe von Plugins verfügbar, damit es mit anderen Tools zusammenarbeiten kann. Mit Plugins lässt sich auch der Funktionsumfang der Software erweitern. Fertige bzw. bewährte Plugins können aus dem Online-Repository für Jenkins-PlugIns heruntergeladen und über die Jenkins-Webbenutzeroberfläche oder -CLI (Kommandozeile, Command Line Interface) geladen werden. Man kann aber auch eigene Plugins entwickeln.</p>



<p>Plugins helfen bei der Integration anderer Entwicklertools in die Jenkins-Umgebung, fügen der Web-UI neue Elemente hinzu. Dies dient im Allgemeinen der erleichterten Verwaltung und Benutzung. Ein wichtiges Einsatzgebiet von Plugins ist das Bereitstellen von Integrationspunkten für CI/CD-Quellen und -Ziele. Dazu gehören Software-Versionskontrollsysteme (SVCs) wie <a href="https://ceosbay.com/2022/11/18/erklaerung-git/">Git</a> und Atlassian BitBucket, Container-Laufzeitsysteme – insbesondere <a href="https://ceosbay.com/2022/10/28/laufzeitumgebung-fuer-softwareanwendungen-docker/">Docker</a>, sowie Hypervisoren wie VMware vSphere, Public-<a href="https://ceosbay.com/2022/11/30/erklaerung-cloud-computing/">Cloud</a>-Instanzen wie Google <a href="https://ceosbay.com/2022/11/30/erklaerung-cloud-computing/">Cloud</a> Platform und AWS und schließlich Private-<a href="https://ceosbay.com/2022/11/30/erklaerung-cloud-computing/">Cloud</a>-Systeme wie OpenStack. Es gibt auch Plugins, die eine Kommunikation mit Betriebssystemen über FTP, CIFS und SSH unterstützen.</p>



<p>Plugins verwenden ihren eigenen Satz von Java-Annotationen und Designmustern, die definieren, wie sie instanziiert werden. Die Plugin-Entwicklung nutzt außerdem die Maven-Bereitstellung für Jenkins.</p>



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



<p>Bei der Sicherheit geht es vor allem darum den Server und die Benutzer zu schützen. Die Serversicherheit wird mehr oder weniger auf dieselbe Art und Weise erreicht, wie auf regulären Servern. Der Zugriff auf den Standort, beispielsweise eine <a href="https://ceosbay.com/2022/11/10/erklaerung-virtuelle-maschine/">VM</a> oder einen Bare-Metal-Server, ist so konfiguriert, dass möglichst wenige Prozesse mit dem Server kommunizieren dürfen. Dies wird durch typische Serverbetriebssysteme und Netzwerksicherheitsfunktionen erreicht.</p>



<p>Darüber hinaus ist der Zugriff auf den Server über die Jenkins-Benutzeroberfläche mit den regulären Mechanismen, wie Multi-Faktor-Authentifizierung oder der Beschränkung der Anzahl von legitimierten Benutzern, geschützt.</p>



<p>Jenkins enthält außerdem Sicherheitsfunktionen für die interne Nutzerdatenbank. Man unterscheidet zwei Sicherheitsbereiche. Zum einen den Sicherheitsbereich und den Autorisierungsbereich. Im Sicherheitsbereich regeln Administratoren, wer Zugriff hat, und im Autorisierungsbereich bestimmen die Nutzer selbst, was man mit dem Zugriff anstellen kann.</p>



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



<p>Ein großer Vorteil von Jenkins sind die Unmengen an verfügbaren Plugins. Diese tragen zu einer enormen Flexibilität bei. Auch die umfangreichen Skript- und deklarativen Sprachen, mit denen man stark benutzerdefinierte Pipelines erstellen kann, stellen einen großen Mehrwert dar. Da es weitestgehend neutral ist, passt es gut in die meisten Umgebungen, einschließlich in komplexe Hybrid- und Multi-<a href="https://ceosbay.com/2022/11/30/erklaerung-cloud-computing/">Cloud</a>-Systeme.</p>



<p>Da Jenkins schon etwas länger als vergleichbare Lösungen in diesem Bereich verwendet wird, gibt es umfangreiche Dokumentationen und zahlreiche Community-Ressourcen, an denen man sich bedienen kann. Diese Ressourcen erleichtern die Installation, Verwaltung und Fehlerbehebung ungemein.</p>



<p>Da die gesamte Lösung auf Java basiert, steht es auf einer soliden Basis, die man mit gängigen Designmustern und Frameworks erweitern kann. Auch wenn sich die Installation relativ einfach gestaltet, kann es relativ schwierig sein, komplexe Pipelines zu entwickeln, zu debuggen und zu warten.</p>



<p>Das <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-System ist außerdem eine Single-Server-Architektur. Dies kann jedoch die Ressourcen auf einen einzigen Computer, eine <a href="https://ceosbay.com/2022/11/10/erklaerung-virtuelle-maschine/">virtuelle Maschine</a> oder einen Container einschränken. Cluster werden nicht unterstützt. Diese Tatsache kann die Leistung enorm einschränkten. Es kann auch dazu führen, dass es zum Server-Sprawl kommt und man den Überblick über all die einzelnen Jenkins-Server verliert.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/12/18/erklaerung-jenkins/">Jenkins &#8211; Automatisierte Arbeitsabläufe beim Testing</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2022/12/18/erklaerung-jenkins/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">999</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>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>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> 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>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>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>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>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>Ist das Terminal geöffnet, geht es folgendermaßen weiter:</p>



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



<p>brew update aktualisiert die Repository</p>



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



<p>Hiermit lässt sich Node.js® installieren</p>



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



<p>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>Und hiermit, ob und in welcher Version npm installiert ist.</p>



<p>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>Virtuelle Maschinen &#8211; Flexibilität und Effizienz durch nahtlose Systemintegration und isolierte Umgebungen</title>
		<link>https://ceosbay.com/2022/11/10/erklaerung-virtuelle-maschine/</link>
					<comments>https://ceosbay.com/2022/11/10/erklaerung-virtuelle-maschine/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Thu, 10 Nov 2022 15:07:49 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Betriebssystem]]></category>
		<category><![CDATA[Client]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Computer System]]></category>
		<category><![CDATA[Container]]></category>
		<category><![CDATA[CPU]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[EMC]]></category>
		<category><![CDATA[Emulator]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Hypervisor]]></category>
		<category><![CDATA[Informationstechnologie]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[IT-System]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Multi-Boot]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Netzwerktechnik]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Parallels]]></category>
		<category><![CDATA[Penetration]]></category>
		<category><![CDATA[ProxMox]]></category>
		<category><![CDATA[Prozessor]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[Remote]]></category>
		<category><![CDATA[Risiko]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Virtualisierung]]></category>
		<category><![CDATA[Virtuelle Maschinen]]></category>
		<category><![CDATA[VMs]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=411</guid>

					<description><![CDATA[<p>Eine Virtuelle Maschine bzw. Virtuelle Maschinen (VM) ist ein (OS = Operating System) oder eine Anwendungsumgebung, die auf einem bestehenden Betriebssystem auf der Software-Ebene installiert ist und eine dedizierte Hardware ausführt. Nicht zu verwechseln mit &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/10/erklaerung-virtuelle-maschine/">Virtuelle Maschinen &#8211; Flexibilität und Effizienz durch nahtlose Systemintegration und isolierte Umgebungen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Eine Virtuelle Maschine bzw. Virtuelle Maschinen (VM) ist ein (OS = Operating System) oder eine Anwendungsumgebung, die auf einem bestehenden Betriebssystem auf der Software-Ebene installiert ist und eine dedizierte Hardware ausführt. </p>



<h3 class="wp-block-heading">Nicht zu verwechseln mit einem Emulator</h3>



<p>Als Emulator wird in der Computertechnik ein System bezeichnet, das ein anderes Computer System in bestimmten Teilaspekten nachbildet. Dabei handelt es sich um keine Virtuelle Maschinen 😉</p>



<h3 class="wp-block-heading">Auch nicht zu verwechseln mit einem Simulator</h3>



<p>Ein Simulator wird dazu genutzt um eine Simulation auszuführen. Beispielsweise für die Nachbildung von realen Szenarien zum Zwecke der Ausbildung von Piloten im Flugsimulator. Auch von Ärzten und Pflegepersonal in einem Patientensimulator kommt ein Simulator zum Einsatz. Kriegs- bzw. Gefechtssimulationen bei Einsatzkräften der Polizei oder dem Militär, sind heutzutage auch schon normal. Die Simulation zur Analyse von Systemen, deren Verhalten für die theoretische, formelmäßige Behandlung zu komplex sind, finden ebenfalls Einsatz. Auch wenn diese Art von Simulation sich grundlegend von den vorher genannten unterscheidet. Und dann gibt es natürlich die Simulation in Spielen (Aber diesen Dingen bei späteren Beiträgen mehr). </p>



<h3 class="wp-block-heading">Der Hypervisor</h3>



<p>Man kann sich die Sache mit den Virtuellen Maschinen im Endeffekt so vorstellen wie einen oder mehrere Computer in einem Computer zu betreiben. Spezialisierte Software, die man als Hypervisor bezeichnet, emulieren die CPU- (Central Processing Unit = Prozessor), den Speicher-, die Festplatten-, die Sound-, Netzwerk- und andere Hardwareressourcen des Computers oder Servers vollständig und ermöglicht es virtuellen Maschinen, die Ressourcen gemeinsam zu nutzen oder aber vollkommen zu isolieren. </p>



<p>Der Hypervisor kann mehrere virtuelle Hardwareplattformen emulieren. Diese können voneinander isoliert sein, so dass virtuelle Maschinen zum Beispiel Unix-, <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/" target="_blank" rel="noreferrer noopener">Linux</a>&#8211; und Windows-Betriebssysteme auf demselben zugrundeliegenden physischen Computer ausführen können. Mit der Virtualisierung kann man beispielsweise auch die Kostensenkung der IT-Infrastruktur erreichen. </p>



<p>Virtuelle Maschinen nutzen die Hardware effizienter, wodurch sich die benötigten Hardwarekomponenten, die damit verbundenen Wartungs- und Instandhaltungskosten, sowie der Energiebedarf sänken lassen. Sie verringern auch den Aufwand der Administration, da sich alles an einem Ort befindet. Auch nutzt sich virtuelle Hardware innerhalb der Virtuellen Maschinen nicht ab und mechanische Fehler sind ausgeschlossen. </p>



<p>Admins (Administratoren = Benutzer mit erweiterten Rechten in IT-Systemen) können die Vorteile virtueller Umgebungen nutzen, um Images (In der Computertechnik ist ein Image ein Systemabbild bzw. eine serielle Kopie des gesamten Zustands eines Computersystems, die in einer nichtflüchtigen Form wie einer Datei gespeichert ist), Backups (Sicherheitskopien), das Einrichten und die Bereitstellung neuer Computersysteme und grundlegende Systemverwaltungsaufgaben zu vereinfachen. </p>



<p>Virtuelle Maschinen erfordern keine spezielle Hardware und sind in der Regel bzw. je nach Anwendungsbereich und den Anwendungen, die ausgeführt werden sollen, nicht sehr ressourcenhungrig. Wobei dies stark von der Menge der ausgeführten Virtuellen Maschinen und der jeweiligen Konfigurationen abhängt. Zu den Vorteilen gehört unter Anderem auch die Flexibilität beim Verschieben der Instanzen zwischen diversen Servern oder Computersystemen.</p>



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



<p>Alles in allem sind Virtuelle Maschinen etwas Feines. Zumal jemand, der mehrere Betriebssysteme einer IT-Infrastruktur administrieren, orchestrieren bzw. verwalten muss, die Vorzüge diverser Betriebssysteme auf einem dedizierten System nutzen kann. Nichtsdestotrotz besteht das Risiko, falls systemrelevante Anwendungen plattformübergreifend auf einem dedizierten Server bzw. Computer ausgeführt werden, bei einer Überlastung oder einem Hardwarefehler alle Systeme die darauf abgebildet sind, in Mitleidenschaft zieht. Folglich macht es Sinn, auch Virtuelle Maschinen auf der Hardware-Ebene redundant zu betreiben.</p>



<h3 class="wp-block-heading">Wozu benötigt man Virtuelle Maschinen?</h3>



<p>Virtuelle Maschinen sind vielseitig einsetzbar. Eines der wichtigsten Aspekte ist, wie bereits erwähnt, die synchrone Nutzung unterschiedlicher Betriebssysteme. Diese Art der Nutzung trifft man häufig beim Testen von Software- bzw. Web-Anwendungen an. So ist es beispielsweise möglich, die Tests auf verschieden Systemen mit verschiedenster Hardware-Ausstattung auszuführen und die Resultate bzw. Laufzeitergebnisse auf einem primären System zu evaluieren und zu verwalten. Dies macht auch dann Sinn, wenn es sich um sicherheitsrelevante Anwendungen handelt, die beispielsweise in einer isolierten Umgebung ausgeführt werden sollen/müssen oder wenn man Penetrationstests (Penetrationstest, kurz Pentest(ing), ist der fachsprachliche Ausdruck für einen umfassenden Sicherheitstest einzelner Rechner oder Netzwerke jeglicher Größe) in diversen Netzwerkumgebungen und verschiedenen Betriebssystemen ausführen möchte.</p>



<h3 class="wp-block-heading">Virtuelle Maschinen und Multi-Boot-Systeme</h3>



<p>Als die Virtualisierung noch nicht existierte, musste man ein Computer-System mit mehreren Betriebssystemen immer wieder neu booten (Neustarten), um auf die verschiedenen Betriebssysteme zuzugreifen. Jedes dieser Betriebssysteme konnte zwar sowohl abhängig als auch unabhängig vom Dateisystem agieren, doch sie konnten immer nur einzeln zu einem bestimmten Zeitpunkt verwendet werden. Auch heute macht man dies nach wie vor so. Beispielsweise wenn man Software nutzen will, die ausschließlich auf einem spezifischen Betriebssystem wie MacOS, Windows oder <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/" target="_blank" rel="noreferrer noopener">Linux</a> funktionsfähig ist, die Hardware-Ressourcen relativ begrenzt sind und die vollständige Kapazität des Systems für das spezifische Betriebssystem oder die Anwendungen benötigt werden. Nachteile sind hierbei, meiner Erfahrung nach, besonders auf Apple Geräten, die fehlenden oder fehlerhaften Treiber bzw. das geschlossene Ökosystem des Herstellers.</p>



<h3 class="wp-block-heading">Virtuelle Maschinen und Cloud Computing</h3>



<p>Mit dem Aufkommen der Cloud lassen sich die virtuellen Maschinen auch in der Cloud ausführen bzw. umziehen/migrieren. Dieses Thema werde ich aber in einem anderen Beitrag genauer bearbeiten, da ich mich derzeit auch in diesem Umfeld bewege.</p>



<h3 class="wp-block-heading">Virtuelle Maschinen und Container</h3>



<p>Container funktionieren nach einem ähnlichen Prinzip wie Virtuelle Maschinen &#8211; Bis auf die Hardware versteht sich. Doch dies habe ich bereits in dem <a href="https://ceosbay.com/2022/10/28/laufzeitumgebung-fuer-softwareanwendungen-docker/">Blog-Beitrag </a> über <a href="https://ceosbay.com/2022/10/28/laufzeitumgebung-fuer-softwareanwendungen-docker/">Docker</a> beschrieben. Hier ist auch der Beitrag über <a href="https://ceosbay.com/2022/12/24/erklaerung-kubernetes/" target="_blank" rel="noreferrer noopener">Kubernetes</a> zu empfehlen.</p>



<h3 class="wp-block-heading">Welche Virtuellen Maschinen gibt es?</h3>



<p>Zu den Hauptanbietern gehören wohl VMware, was heute als EMC unter dem Dach von Dell existiert, Oracle, Microsoft und Parallels. Ansonsten sind da noch Open-Source-VM-Lösungen wie Red Hat Virtualization oder ProxMox, die ich zusammen mit Azure auch noch in späteren Beiträgen thematisieren möchte. Nicht zu vergessen Virtual Box von Oracle, was ebenfalls als „Open Source“ zu haben ist.</p>



<p></p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/10/erklaerung-virtuelle-maschine/">Virtuelle Maschinen &#8211; Flexibilität und Effizienz durch nahtlose Systemintegration und isolierte Umgebungen</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2022/11/10/erklaerung-virtuelle-maschine/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">411</post-id>	</item>
		<item>
		<title>Homebrew &#8211; Paketmanager für MacOS (oder Linux)</title>
		<link>https://ceosbay.com/2022/10/25/homebrew-der-fehlende-paketmanager-fuer-macos-lassen-wir-fluegel-wachsen/</link>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Tue, 25 Oct 2022 21:40:00 +0000</pubDate>
				<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[brew]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[Homebrew]]></category>
		<category><![CDATA[Install]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Package]]></category>
		<category><![CDATA[Package Manager]]></category>
		<category><![CDATA[Paketmanager]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Update]]></category>
		<category><![CDATA[Upgrde]]></category>
		<category><![CDATA[Virtual Machine]]></category>
		<category><![CDATA[Virtuelle Maschinen]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=26</guid>

					<description><![CDATA[<p>Nachdem ich immer wieder einige für mich &#8222;neue&#8220; Dinge lerne, darf Homebrew auf meinem System nicht fehlen. Falls man mit macOS unterwegs ist, sollte man die Installation durchaus in Erwägung ziehen. Homebrew ist eine freie &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/10/25/homebrew-der-fehlende-paketmanager-fuer-macos-lassen-wir-fluegel-wachsen/">Homebrew &#8211; Paketmanager für MacOS (oder Linux)</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Nachdem ich immer wieder einige für mich &#8222;neue&#8220; Dinge lerne, darf <a href="https://brew.sh/index_de.html" target="_blank" rel="noreferrer noopener">Homebrew</a> auf meinem System nicht fehlen. Falls man mit macOS unterwegs ist, sollte man die Installation durchaus in Erwägung ziehen. Homebrew ist eine freie / quelloffene / <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/" target="_blank" rel="noreferrer noopener">Open Source</a> Paketverwaltung, die Installationen von Software auf den Betriebssystemen macOS und <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/" target="_blank" rel="noreferrer noopener">Linux</a> vereinfacht. Nur um es noch erwähnt zu haben &#8211; Paketmanager sind Teil der Basisausstattung einer jeden <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/" target="_blank" rel="noreferrer noopener">Linux</a>-Distribution. Aus diesem Grund ist es schon gewollt bzw. provoziert, wenn dieser mal in einer Distribution fehlt.</p>



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



<p>Im Grunde genommen, ist es schnell installiert. Einfach den folgenden Code in das Terminal (Das Terminal ist ein CLI aka Command-Line Interpreter bzw. Command-Line Processor welches ein Command-Line Interface nutzt, um Befehle von einem Benutzer in Form von Textzeilen zu empfangen) von macOS kopieren und los geht&#8217;s mit einem kurzen Druck auf die Enter Taste. </p>



<pre class="wp-block-code"><code>/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"</code></pre>



<p>Dazu muss man noch sagen, dass es immer noch Systemvoraussetzungen gibt. Homebrew benötigt eine 64-bit Intel CPU (Central Processing Unit aka Prozessor) oder eine Apple Silicon CPU, mindestens macOS Mojave (10.14) und die installierten Xcode Command Line Tools (CLT) die wie folgt installiert werden können:</p>



<pre class="wp-block-code"><code>xcode-select —install</code></pre>



<p>Das Skript erklärt was es tun wird und wartet in der Regel auf Bestätigungen und/oder Befehle, bevor es etwas macht. Mehr Informationen gibt es natürlich auf der Website von Homebrew. Noch genauer, <a rel="noreferrer noopener" href="https://docs.brew.sh/Installation" target="_blank">hier</a>.</p>



<p>Wozu man es braucht? Ganz einfach, MacOS ist ein Unix-Betriebssystem &#8211; Nur ohne einen Paketmanager ist es so etwas wie ein Greifvogel, dem man die Flügel gestutzt hat. Sicherlich gibt es die Möglichkeit, VM&#8217;s (Virtuelle Maschinen zu installieren) oder andere Betriebssysteme nativ über Bootcamp zu installieren &#8222;In späteren Beiträgen gerne mehr&#8220;, doch wer hat schon Lust, für die einfachsten Anwendungen und Funktionen eine virtuelle Maschine zu installieren geschweige denn hochzufahren.</p>



<p>Im Grunde genommen ist Homebrew ein selbstgemachter Paketmanager für macOS. <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/" target="_blank" rel="noreferrer noopener">Linux</a> User kennen Paketmanager, aber auf macOS fehlt dies leider &#8222;nativ&#8220;. Wer sich jetzt noch nicht über bestimmte fehlende Anwendungen wie z.B. wget auf seinem Mac gewundert hat, hat wahrscheinlich auch keinen Bedarf für einen Paketmanager wie Homebrew. Allen andere möchte ich hier einmal zeigen was geht und vor allem wie es geht.</p>



<p>Wenn man keine Lust mehr auf Homebrew hat und es wieder von seinem System entfernen möchte, macht man dies, wie bereits bei der Installation, mit einem Script:</p>



<pre class="wp-block-code"><code>/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"</code></pre>



<p>Homebrew installiert über das Skript selbst unter dem bevorzugten Präfix (/usr/local für macOS Intel, /opt/homebrew für Apple Silicon). Homebrew benötigt dann kein Sudo mehr. Man kann es auch ausführen, wenn in /usr/local bereits Inhalte installiert sind. Homebrew installiert keine Dateien außerhalb seines Pfades und man kann den Ort einer Homebrew-Installation frei wählen. So kann man leicht prüfen, ob die Deinstallation alle Daten rückstandslos entfernt hat.</p>



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



<p>Als iOS Entwickler hat man wahrscheinlich bereits Xcode installiert. Falls nicht, gehören die Xcode CLI Tools auch noch zu den Systemvoraussetzungen auf der Software bzw. Tool Ebene. Diese lassen sich automatisch bei der Installation von Xcode über den Apple App Store installieren oder aber man gibt einfach den folgenden Befehl im Terminal ein:</p>



<pre class="wp-block-code"><code>xcode-select —install</code></pre>



<h3 class="wp-block-heading">Pakete und Befehle</h3>



<p>Nach der Installation von Homebrew können weitere Pakete installiert werden. Tatsächlich ist dies nun genauso simpel wie unter <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/" target="_blank" rel="noreferrer noopener">Linux</a>.</p>



<p>Mit einem kurzen Befehl lassen sich alle bereits installierten Pakete anzeigen:</p>



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



<p>Sollte diese Liste, aus welchem Grund auch immer, zu lang werden, kann man sich die Ausgabe auch mit dem nachfolgenden Befehl in eine Datei umleiten:</p>



<pre class="wp-block-code"><code>brew list &gt; homebrewpackages.txt</code></pre>



<p>Und wenn man mal nicht weiß, wofür das ein oder andere Paket eigentlich dient, kann man mit einem weiteren Befehl mehr Informationen über das spezifische Paket erhalten.</p>



<pre class="wp-block-code"><code>brew info &lt;paketname&gt;</code></pre>



<p>Mit dem nächsten Kommando lässt sich der genaue Standort des Pakets ermitteln:</p>



<pre class="wp-block-code"><code>brew --prefix &lt;paketname&gt;</code></pre>



<p>Standardmäßig sind alle Pakete in allen Versionen von macOS im selben Verzeichnis `/usr/local/Cellar/` installiert. Zusätzlich werden im Verzeichnis `/usr/local/opt/` noch symbolische Links erzeugt. Das folgende Kommando zeigt die Inhalte an:</p>



<pre class="wp-block-code"><code>ls -l /usr/local/opt/</code></pre>



<p>Homebrew und unsere installierten Pakete werden aktualisiert mit</p>



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



<p>Was die Pakete betrifft, kann es vor einem Update/Upgrade auch interessant sein zu ermitteln, welche Pakete überhaupt ein Update benötigen. Dies überprüfen wir mit dem folgenden Kommando:</p>



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



<p>Ein einzelnes individuelles Paket lässt sich mit dem folgenden Befehl aktualisieren:</p>



<pre class="wp-block-code"><code>brew upgrade &lt;paketname&gt;</code></pre>



<p>Und mit</p>



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



<p>lassen sich alle aktuallisieren.</p>



<p>Selbstverständlich lassen sich auch alle verfügbaren Pakete anzeigen. Dazu am besten den folgenden Befehl verwenden:</p>



<pre class="wp-block-code"><code>brew search &lt;search_string&gt;</code></pre>



<p>Wenn man beispielsweise auf der Suche nach Paketen für Azure ist, lässt sich dies auch mit einem Befehl umsetzen:</p>



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



<p>In der Ausgabe lassen sich auf diesem Weg alle Pakete, die für Microsoft Azure (Im Grunde genommen alle Pakete, die den Terminus „azure“ im Namen innehalten) auffinden. Pakete mit einem grünen Häkchen lassen darauf schließen, dass diese bereits installiert sind.</p>



<p>Über Homebrew lässt sich auch ganz hervorragend PowerShell Core auf dem Mac installieren, um Windows Systeme mit Powershell verwalten zu können.</p>



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



<p>Sicherlich will man auch hin und wieder das ein oder andere Paket loswerden. Dazu lässt sich dann der nachfolgende Befehl nutzen:</p>



<pre class="wp-block-code"><code>brew uninstall &lt;paketname&gt;</code></pre>



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



<p>Diese Informationen ermöglichen einen kleinen Einblick in Hombrew. Selbstverständlich kann man noch vieles mehr damit anstellen und mehr darüber erfahren. Hierzu einfach in der <a href="https://docs.brew.sh/Manpage" target="_blank" rel="noreferrer noopener">Dokumentation</a> von Hombrew selbst vorbeischauen.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/10/25/homebrew-der-fehlende-paketmanager-fuer-macos-lassen-wir-fluegel-wachsen/">Homebrew &#8211; Paketmanager für MacOS (oder Linux)</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">26</post-id>	</item>
	</channel>
</rss>
