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 nichtcinst pakete.config
// Installation mehrerer Pakete, welche zuvor in einer xml-Datei festgelegt werdencinstm paketName
// Installiert das Programm, falls noch nicht vorhandencuninst paketName
// Deinstallation eines bestimmten Programmscver paketName
// Vergleicht installierte Programmversion mit Bibliothekclist (paketName)
// Listet alle verfügbaren Programme in der Bibliothek /mit Namenszusatz ist es der Suchbefehlchocolatey help
// Hilfebefehl; Kurzbeschreibung bzw. Erklärungclist featureName -source windowsfeatures
// Suchfunktion innerhalb Featurescinst 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
http://chocolatey.org/ (offizielle Webseite)
https://github.com/chocolatey/chocolatey/wiki (Dokumentation zu Chocolatey)
- ASP.NET 1
- Active Directory 41
- Administration Tools 1
- Allgemein 60
- Backup 4
- ChatBots 5
- Configuration Manager 3
- DNS 1
- Data Protection Manager 1
- Deployment 24
- Endpoint Protection 1
- Exchange Server 62
- Gruppenrichtlinien 4
- Hyper-V 18
- Intune 1
- Konferenz 1
- Künstliche Intelligenz 7
- Linux 3
- Microsoft Office 11
- Microsoft Teams 1
- Office 365 11
- Office Web App Server 1
- Powershell 21
- Remote Desktop Server 1
- Remote Server 1
- SQL Server 8
- Sharepoint Server 12
- Sicherheit 1
- System Center 10
- Training 1
- Verschlüsselung 2
- Virtual Machine Manager 1
- Visual Studio 1
- WSUS 7
- Windows 10 12
- Windows 8 9
- Windows Azure 4
- Windows Client 1
- Windows Server 24
- Windows Server 2012 7
- Windows Server 2012R2 15
- Windows Server 2016 7
- Windows Server 2019 2
- Windows Server 2022 1
- Zertifikate 4