Chocolatey: Paketmanager (vgl. apt-get) für Windows

Häufig wünschen sich Linuxfans, welche aus irgendeinem Grund auch Windows benutzen, auch unter den Microsoft Betriebssystemen einen Paketmanager wie APT-GET. Doch auch für ganz "normale" Nutzer können sich mit diesem Programm das Leben erleichtern. Hiermit lassen sich Programme zentral mit verhältnismäßig wenig Aufwand verwalten. Chocolatey schafft Abhilfe speziell für Windows Betriebssysteme. Einmal über die Windows Konsole installiert, lassen sich inzwischen schon über 1000 Programme mit jeweils einer Kommandozeile installieren, updaten und deinstallieren.

Voraussetzungen

  • Windows XP/Vista/7/2003/2008 (Habe es auch unter Windows 8 erfolgreich getestet)

  • .NET Framework 4.0

  • PowerShell 2.0

  • Internetanbindung

Installation/Deinstallation

Die Installation von Chocolatey funktioniert über die Kommandozeile. Man muss nur folgende Zeilen kopieren und per Rechtsklick in die cmd einfügen:

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%chocolateybin

Nun sollten sämtliche Befehle, welche Chocolatey bietet, in der Konsole verfügbar sein. Weiter unten werde ich auf diese noch näher eingehen.

Möchte man Chocolatey wieder entfernen, muss man nur den Ordner im Installationsverzeichnis löschen, da es keine Einträge in der Registry oder in anderen Ordnern vornimmt. Die Programme, welche man mit Chocolatey installiert hat, kann man weiter verwenden. Will man diese auch deinstallieren, sollte man das vor der Chocolatey-Deinstallation machen oder manuell über die Windows Oberfläche ausführen.

Grundfunktionen/GUI

Chocolatey ist ein Paketmanager für Windows Betriebssysteme, welcher auf der Basis des open source Paketmanager für .NET Framework NuGet aufbaut. Ist es einmal über die Kommandozeile installiert (wie oben beschrieben), lassen sich innerhalb der Kommandozeile Programme installieren, updaten und auch wieder deinstallieren.

Zusätzlich zur Kommandozeilensteuerung bietet Chocolatey auf Wunsch auch eine grafische Benutzeroberfläche an (ChocolateyGUI), welche mit dem Installationsbefehl („cinst“) und dem Namen über die Kommandozeile installierbar ist. Eine Grundidee bei der Entwicklung dieses Programms war jedoch die vielen Mausklicks durch ein paar Eingaben in die Tastatur bzw. nur eine Zeile Text zu ersetzen. Dies spart durch die automatische Installation viel Zeit und Aufwand. Auch die Installation mehrerer Pakete ist mit diesem Befehl möglich, hierfür muss jedoch zuerst eine XML-Datei erstellt werden. Eine Erläuterung findet man hier in der Dokumentation des Installationsbefehls. Um Herauszufinden, ob sich das gesuchte Programm auch in der Bibliothek von Chocolatey befindet, kann man mit dem Suchbefehl („clist“) und dem Namen oder einem Teil des Namens danach suchen. Weiterhin lassen sich die Programme genauso einfach mit dem Deinstallations-Befehl („cuninst“) wieder vom System entfernen. Dies geschieht genau wie die Installation mit dem Befehl und dem Namen des Programms. Als letzte sehr hilfreiche Funktion bringt Chocolatey eine Updatefunktion („cup“) mit, welche entweder mit dem Namen des Programms oder mit dem Zusatz „all“ benutzt werden kann. Hierbei sucht Chocolatey dann in der Bibliothek nach Paketupdates des einen ausgewählten Programms oder eben für alle Programme, welche durch den Paketmanager installiert wurden. Ansonsten wird der Paketmanager durch die Installation mancher Programme wie z.B. Ruby oder auch Python um weitere Befehle erweitert, worauf ich nun aber nicht näher eingehe werde. Schließlich möchte ich noch die Möglichkeit WindowsFeatures über Chocolatey zu installieren erläutern. Hierbei installiert der Paketmanager über das „Deployment Image Servicing and Management tool“ die zu Verfügung stehenden Erweiterungen. Dies funktioniert über den Windows Feature Befehl („cwindowsfeatures“). Auch der Auflistungsbefehl beziehungsweise der Suchbefehl funktioniert hiermit („clist –source windowsfeatures“). Um ein Feature zu installiern, muss man also auch nur den Befehl und den Namen des Features angeben.

Befehlsübersicht

  • cinst paketName
    // Installation eines bestimmten Programms, egal ob bereits existent oder nicht

  • cinst pakete.config
    // Installation mehrerer Pakete, welche zuvor in einer xml-Datei festgelegt werden

  • cinstm paketName
    // Installiert das Programm, falls noch nicht vorhanden

  • cuninst paketName
    // Deinstallation eines bestimmten Programms

  • cver paketName
    // Vergleicht installierte Programmversion mit Bibliothek

  • clist (paketName)
    // Listet alle verfügbaren Programme in der Bibliothek /mit Namenszusatz ist es der Suchbefehl

  • chocolatey help
    // Hilfebefehl; Kurzbeschreibung bzw. Erklärung

  • clist featureName -source windowsfeatures
    // Suchfunktion innerhalb Features

  • cinst featureName –source windowsfeatures
    // Installation eines bestimmten Features

Probleme/Einschränkungen

Deinstallation von Programmen

Sobald Programme durch Chocolatey ein Update erhalten haben, muss man die verschiedenen Versionen einzeln deinstallieren, da bei der Deinstallation nur die aktuellste Programmversion gelöscht wird.

Installation von mehreren Programmen

Die Installation von mehreren Programmen gleichzeitig gibt es von offizieller Seite die Möglichkeit eine XML-Config Datei zu nutzen. Man kann aber genauso gut eine batch Datei erstellen, welche man dann aufruft, was weniger Schreibarbeit erfordert als eine XML-Datei. Weiterhin gibt es auch die Möglichkeit sich unter www.myget.org seine eigene Paketliste zu erstellen, weitere Infos hierzu finden sie in diesem Blogpost.

Weitere Informationen