Chocolatey – ein Packagemanager für Windows

Chocolatey LogoEines der Features, welches Linux von Windows unterscheidet, ist die Tatsache, dass bei ziemlich jeder Linux Distribution ein Packagemanager dabei ist. Egal ob RPM, APT, YUM oder dpkg – alle ermöglichen es mittels kurzem Konsolenbefehl oder grafische Oberfläche mit minimalem Aufwand Anwendungen herunterzuladen, zu installieren, updaten und deinstallieren.

Unter Windows hingegen bleibt einem nur eine Suche bei Google und Konsorten, der händische Download, die händische Installation und die manuelle Updatesuche für jede einzelne Anwendung.

Gestern bin ich jedoch über ein Projekt namens Chocolatey gestolpert, dass eben diese Lücke zu füllen versucht. Und nach ersten Tests muss ich sagen, dass Chocolatey dieser Versuch ganz gut geglückt ist. Darum gibt es nun nachfolgend ein paar Worte zur Installation und zur Benutzung des praktischen Packagemanagers für Windows.

Chocolatey Packagemanager für Windows installieren

Die Installation von Chocolatey geht schnell von dannen. Es muss weder etwas manuell heruntergeladen, noch eine Setup.exe gestartet werden.
Zur Installation genügt es, einen Befehl in die Konsole einzugeben.

How to install Chocolatey 1  How to install Chocolatey 2

Öffnet also die Konsole. (Zum Beispiel über Win+R -> “CMD” -> Enter-Taste) und gebt dann folgenden Befehl in die Konsole (CMD) ein:

C:\> @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('http://bit.ly/psChocInstall'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin

Nun sollte das Setup komplett von alleine laufen. Benötigte Komponenten werden direkt über die Konsole nachgeladen. Wer sich fragt, was für eine “komische” Syntax der Befehl hat, der darf gerne einen kleinen Ausflug in Richtung Powershell machen.

Die erste Anwendung über Chocolatey installieren

Um nun eine Anwendung zu installieren, genügt es cinst (die Kurzschreibweise des Installationsbefehls) zuzüglich des Paketnamens zu schreiben. Am Beispiel des VLC Players wäre das:

cinst vlc

Je nachdem, ob ihr die UAC (Benutzerkontensteuerung) aktiviert habt, kann es je nach Paket noch vorkommen, dass ihr einmal nach den Administrationsrechten gefragt werdet. Ansonsten läuft das Setup komplett von allein. Und das, obwohl ihr nur zwei Wörter in die Konsole geschrieben habt. Das ist doch wirklich mal schneller, als erst zu chip.de zu surfen, den Download zu suchen, den VLC Player zu laden und sich dann durch das Setup zu klicken.

Pakete/Anwendungen für Chocolatey suchen

Nun stellt sich die Frage, woher man weiß, welche Pakete es gibt und wie diese heißen. Hier bietet Chocolatey zwei Möglichkeiten. Entweder man geht direkt auf www.chocolatey.org und gibt dort oben rechts in der Suche den Applikationsnamen ein. (Siehe Screenshot)

Chocolatey Packages Overview

Oder man sucht die Pakete direkt über die Konsole. Mittels des Befehls clist lassen sich alle verfügbaren Pakete auflisten. Schreibt man noch ein Suchwort dahinter, so dient dies als Filter. Um sich nun zum Beispiel alle verfügbaren Browser auflisten zu lassen, wäre folgender Befehl nötig.

clist Browser

Applikationen updaten und deinstallieren

Um Anwendungen zu updaten, gibt es den cup-Befehl. Wird dieser ohne Parameter ausgeführt, so wird nach Updates für Chocolatey selbst gesucht. Alternativ kann ein Packagename oder all angegeben werden. Zum Deinstallieren reicht cuninst in Kombination mit dem Paketnamen.

Chocolatey (selbst) updaten:

cup

Alle installierten Pakete/Anwendungen updaten:

cup all

Ein bestimmtes Paket updaten (am Beispiel des VLC Player):

cup vlc

Ein bestimmtes Paket deinstallieren (am Beispiel des VLC Player):

cuninst vlc

Weitere nützlich Befehle

Ein weiterer nützlicher Befehl ist cver, mittels welchem zum Beispiel die installierte Version eines Paketes mit der aktuell verfügbaren Version verglichen werden kann. Mittels cver ist es jedoch auch möglich alle lokal installieren Pakete aufzulisten.

Version eines bestimmten Pakets mit aktueller Online-Version vergleichen:

cver vlc

Alle (lokal) installierten Pakete auflisten:

cver all -lo

Alle hier im Blogpost gezeigten Befehle sind Kurzversionen. Anstelle von cinst <paketname>, zur Installation, könntet ihr auch chocolatey install <paketname> eingeben. Ich finde die Abkürzungen jedoch praktischer. Eine Übersicht aller von Chocolatey unterstützten Befehle findet ihr in der offiziellen “CommandsReference” auf github.

Grafische Oberfläche für Chocolatey

Chocolatey bietet auch eine grafische Oberfläche (GUI) zur Verwaltung der Pakete. Jedoch konnte ich diese auf meinem System nicht zum Laufen bringen. Ob es an Windows 8 liegt oder ob es ein generelles Problem gibt, kann ich nicht sagen, da ich nur einen Laptop hier zu Hause zum Testen habe. Wer dennoch sein Glück versuch will, kann sich den grafischen Paketmanager mittels nachfolgendem Befehl installieren.

cinst ChocolateyGUI

Über einen Kommentar, ob es bei euch geklappt hat, würde ich mich freuen. Mich selbst stört es jedoch nicht großartig, denn ich bevorzuge sowieso eher die Konsolenvariante. Nichtsdestotrotz habe ich schon überlegt mich die Tage mal an eine eigene Chocolatey GUI Implementierung zu machen.

Das war es auch schon. Solltet ihr noch Fragen haben, schreibt mir einen Kommentar. Was haltet ihr von Chocolatey? Habt ihr vielleicht schon mal einen anderen Paketmanager für Windows installiert gehabt und wenn ja, welchen?

Chocolatey ein Packagemanager für WindowsÜber den Autor: Dieser Artikel, sowie 363 andere Artikel auf code-bude.net, wurden von Raffael geschrieben. – Seit 2011 blogge ich hier über Programmierung, meine Software, schreibe Tutorials und versuche mein Wissen, so gut es geht, mit meinen Lesern zu teilen. Zudem schreibe ich auf derwirtschaftsinformatiker.de über Themen meines Studiums.  //    •  • Facebook  • Twitter


6 Kommentare

  1. Peter Knuthsays:

    Hallo zusammen,
    ich möchte nicht nur Software aus dem Netz herunterladen und installieren, sondern einen Schritt weitergehen und Software über einen Server auf Clients installieren. Das geht, wenn man die Dateien von Chocolatey erstellt und etwas abändert(nuspec und nupkg Datei).
    So ganz bekomme ich das aber nicht hin. Weiß jemand wie das funktioniert?

  2. GrafZahlsays:

    Ich lobe neulich die c’t für ihren Artikel über Chocolatey, weil es für mich die Offenbahrung für das Update der ganzen Download-Tools ist. Und jetzt sehe ich, wie lange der Eintrag hier schon weilt. Ein super Tipp und damals (wie auch heute) weit seiner Zeit voraus. Wer Paketmanager schätzen und lieben gelernt hat, wird Chocolatey sofort installileren.

  3. Hallo Raffi! Schöner Aufsatz! Zu Deiner Frage nach anderen Paketmanagern: Ich habe Ninite und andere getestet, bin aber mit keinem so richtig “warm” geworden. Deswegen habe ich vor ein paar Jahren eine weitere Alternative (mit) zu entwickeln begonnen: Luffi. @Christoph: Portabel und kann auch Portapps updaten! @Raffi: Wäre schön, wenn Du Luffi mal testest und evtl. darüber berichtest!
    lg aus Wien, Ralf

    Links: http://www.luffi.net/Luffi#Alternative

  4. Sowas könnte ich auch für Portable Apps gebrauchen. Kennst du da was?

    Also das Tool sollte Portable laufen und nur Portable Apps in einem bestimmten Verzeichnis aktualisieren. Fände ich praktisch.

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Sie dient nur dem Spamschutz.