osob.de Unicorn Logo
Blogpost overview

Paketverwaltung unter Windows mit Chocolatey | 26.03.2020

<p>In der Linux-Welt sind Programme zur Paketverwaltung ein ganz wesentlicher Bestandteil und auch Grund für den Erfolg. Kaum eine Anwendung, die nicht durch eine kurze Anweisung in der Shell oder das Auswahlmenü im entsprechenden Menü installiert ist.</p> <p>Welchem der zahlreichen Anwendungen zur Softwareverwaltung der Vorzug gegeben wird, hängt natürlich vom genutzten System und den persönlichen Vorlieben ab. Eine ausführliche Beschreibung gibt es bei Wikipedia. Hier werden auch noch einmal die <a href="https://de.wikipedia.org/wiki/Paketverwaltung" title="Vor- und Nachteile von Paketmanagern bei Wikipedia">Vor- und Nachteile von Paketmanagern</a> aufgelistet.</p> <p>In der Welt von Windows spielt Software zur Paketverwaltung nur eine kleine Rolle. In internen Netzwerken, in denen es auf einen gleichen Softwarestand ankommt, werden entsprechende Pakete meist über die Gruppenrichtlinien verteilt und installiert. Alternativ kann auch Virtualisierung hier genutzt werden, um Wildwuchs in der Softwarelandschaft des Betriebes zu begrenzen. Eine Paketverwaltung im linux'schen Sinne gibt es kaum. Gerade hier würde jedoch ein internes Repository, aus welchem sich die Nutzer entsprechend der Bedarfe mit Software bedienen, seine Stärken ausspielen. Es wird nur installiert, was auch benötigt wird.</p> <p>Dass Softwareverwaltung mit einem Paketmanager für Windows-Betriebssysteme jedoch möglich ist, zeigt das Beispiel von Chocolatey. Dieser, von Roby Reynolds seit 2011 entwickelte und mit einer <a href="https://chocolatey.org/kickstarter" title="Kickstarter-Kampagne von Chocolatey">Kickstarter-Kampagne</a> finanzierte Paketmanager, ermöglicht es dem Nutzer über die Shell mit einem Befehl Software zu installieren. Nach der Installation steht neben dieser Möglichkeit in PowerShell und Eingabeaufforderung auch ein optionales Interface/GUI bereit, um sich um Download, Installation, Aktualisierung und natürlich auch Deinstallation zu kümmern.

You like what you find here? A donation helps to keep this project running.

</p> <p>Umgesetzt wurde Chocolatey auf der Basis von NuGet, einer Open-Source-Paketverwaltung, die unter .NET eine entsprechende Bereitstellung von Paketen bzw. deren Metadaten ermöglicht und aus dem Hause von Microsoft kommt. Eventuell könnte NuGet Nutzern von Visual Studio oder SharpDevelop bekannt sein. Was schon dank NuGet möglich war, nämlich das Beziehen von einzelnen Paketen zur Softwareentwicklung, wurde in Chocolatey weiterentwickelt.</p> <h2>Windows-Paketverwaltung installieren</h2> <h2><img src="https://www.meagainsttheweb.de/bl-content/uploads/pages/76850a8c0b4f0d4321dcdf5fecad7539/chocolateycmdsetup.jpg" alt="Das Setup in der CMD von Chocolatey" style="float: right;" width="256"></h2> <p>Das Setup von Chocolatey könnte kaum einfacher sein. Wie es sich für eine Paketverwaltung gehört, funktioniert alles in der Shell. So auch die Installation. Die offizielle Website stellt diverse Möglichkeiten zur Verfügung. Die für mich schnellste und einfachste Installation kann über die Eingabeaufforderung (CMD) durchgeführt werden. Notwendig ist lediglich die Ausführung der CMD mit administrativen Rechten. Danach genügt der Befehl <code>Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))</code> und schon kann über chocolatey -v die erfolgreiche Installation verifiziert werden.</p> <h2>Software installieren</h2> <p><img src="https://www.meagainsttheweb.de/bl-content/uploads/pages/autosave-76850a8c0b4f0d4321dcdf5fecad7539/chocolatey_anwendung_installieren.jpg" alt="Notepad++ mit Chocolatey installieren" style="float: right;" width="300">Ich schreibe hier über eine Paketverwaltung. Deren wesentliche Aufgabe ist es, Software zu installieren. Und nach der erfolgreichen Installation ist dies keine große Herausforderung. Nach dem Öffnen einer Shell reicht der Befehl choco install und schon wird die Anwendung heruntergeladen und installiert. Im Rahmen der Installation der ersten Anwendung wird neben der gewünschten Software auch das Paket chocolatey-core heruntergeladen. Dies stellt einige Helferfunktionen bereit, die Chocolatey erst richtig funktionsfähig machen.</p> <p><img src="https://www.meagainsttheweb.de/bl-content/uploads/pages/autosave-76850a8c0b4f0d4321dcdf5fecad7539/notepad_choco.jpg" alt="Notepad++ nach der Installation mit Chocolatey im Startmenü" style="float: left;" width="256">Software, die über Chocolatey installiert wird, steht wie gewohnt über das Startmenü oder die Shell zur Verfügung. D.h. die Anwendung verhält sich analog zur klassisch installierten Variante.</p> <h2>Paketverwaltung bei Chocolatey</h2> <p>Wie auch bei fast allen anderen Anwendungen zur Paketverwaltung - egal welches Betriebssystem genutzt wird - lebt Chocolatey von freiwilligen Maintainern der Pakete. Aktuell werden ca. 40 Prozent der Anwendungen durch das Team von Chocolatey selber gepflegt bzw. eingestellt. Das Repository bietet etwas über 700 Anwendungen an.</p> <h3>Anwendungen aktualisieren</h3> <p>Zur Verwaltung von Anwendungen gehört natürlich auch das Installieren von Aktualisierungen. Auch dies kann problemlos über die Shell realisiert werden. Und während einzelne Pakete mit einem gezielten Befehl geprüft und ggf. aktualisiert werden können, bietet Chocolatey auch die Möglichkeit alle Anwendungen zu überprüfen. Dazu reicht der Befehl <code>choco upgrade all -y</code> aus und schon werden alle über Chocolatey installierten Anwendungen aktualisiert.</p> <h3>Grafisches Oberfläche eines Windows-Paketmanagers</h3> <p><img src="https://www.meagainsttheweb.de/bl-content/uploads/pages/autosave-76850a8c0b4f0d4321dcdf5fecad7539/chocolatey_gui.jpg" alt="Chocolatey Benutzeroberfläche" style="display: block; margin-left: auto; margin-right: auto;" width="512">Um Pakete Windows-Nutzer-komfortabel verwalten zu können, muss die graphische Oberfläche zunächst mit Hilfe von <code>choco install chocolateygui</code> nachinstalliert werden. Danach steht die Anwendung im Startmenü zur Verfügung und kann genutzt werden.</p> <p>Auch wenn ich für die Beispiele hier die CMD nutzte, steht auch in der PowerShell die Paketverwaltung zur Verfügung.</p> <h2>Was noch?</h2> <p>Wie eigene Software hinzugefügt werden kann, wird <a href="https://chocolatey.org/docs/create-packages">ausführlich in der Dokumentation</a> beschrieben. Dabei ist nach der erstmaligen Konfiguration des Pakets nur wenig Arbeit notwendig.</p> <p>Auch der Betrieb eines eigenen Repositorys ist möglich und wird ebenfalls in der <a href="https://chocolatey.org/docs/how-to-host-feed">Dokumentation beschrieben</a>.</p>