Softwaremanagement mit Chocolatey

Diesmal geht es um eine sogenannte „Freemium“ Softwaremanagement Lösung. Feemium setzt sich auch den beiden englischen Wörtern „Free“ und „Premium“ zusammen und bedeutet, die Software kann Kostenfrei genutzt werden, bestimmte Funktionen kosten aber Extra. Bei Handy-Apps bedeutet das auch direkt Werbebanner und nervige Videowerbung, das ist hier aber nicht der Fall. In diesem Artikel geht es ausschließlich um die Kostenfreie Variante.

Softwaremanagement mit Chocolatey - 367ee4e591ee40bd9a3ca26b8be26f42 - 2

Ziel ist auch hier wieder kleineren und Mittleren Organisationen etwas an die Handzugeben, was mit wenig Geld der IT zu einem besseren Betrieb verhilft.

Die Grundlagen von Chocolatey

Chocolatey setzt auf der Microsoft PowerShell 2.0 (Empfohlen ist 3.0 oder höher), der PowerShell Erweiterung NuGet und dem .Net Framework 4.0 (Empfohlen ist .Net 4.5) auf. Es dient als ein Rahmen um verschiedene Installationstechnologien zu Bündeln und einfach zu erweitern. Dabei ist es egal ob die Software als MSI-Paket, EXE Installer, Quellcode Paket oder PowerShell Skript vorliegt. Chocolatey ist von der Benutzung ähnlich wie Linux Software / Package Manager, wie zum Beispiel apt-get oder yum. Das bedeutet, der Client lädt sich die Software aus einem Repository das gepflegt wird. Dabei werden Unternehmensinterne Repositorien, wie auch öffentliche Repositorien unterstützt.

Community Repositories

Es gibt zum Beispiel auch ein Softwareverzeichnis, das von der Community gepflegt wird. Natürlich muss man der Gemeinschaft dann auch vertrauen, dass die Software nicht noch „Extras“ wie Viren, Trojaner oder Backdoors enthält. Allerdings werden alle Pakete beim Veröffentlichen durch diverse Virenscanner überprüft. Auch gehen die meisten Pakete hin, und laden aus Lizenzrechtlichen Gründen (Redistribution Rights) die Software direkt von der Hersteller Seite. Hier zum Beispiel ein Teil des Installations-Skriptes für den Adobe Acrobat:

Softwaremanagement mit Chocolatey - 20210502 Softwaremanagement mit Chocolatey 01 - 3

Dies sorgt aber unter Umständen für erhöhte Datenmengen, wenn man ein 300MB Download Paket am 100 Systeme verteilt und keinen entsprechenden Proxyserver hat. Auch dauert die Installation durch den Download länger, als würde die Installation von einem lokalen Server erfolgen. Eine Möglichkeit hierfür wäre das Erstellen eigener Repositorien mit angepassten Paketen, die nötigen Rechte vorausgesetzt.

Hier ein paar Beispiele für Software Pakete die von der Community bereitgestellt werden:

  • Adobe Acrobat Reader DC
  • Google Chrome
  • Mozilla Firefox
  • Einzelne Microsoft Serviceing Updates  
  • 7-Zip
  • Notepad++
  • Microsoft Visual C++ Runtimes
  • Microsoft .Net 4.8
  • Visual Studio
  • TeamViewer
  • Microsoft Office 365 Business

Auch sind die Community Repositorien nicht für Intensive Nutzung gedacht. Chocolatey empfiehlt dafür entweder ein Proxy Repository oder eine Kommerzielle Lizenz. Auch werden IP-Adressen unter Umständen blockiert, wenn die Nutzung zu Intensiv ist. Auch hilft einem ein Proxy Repository nicht mit dem Problem der Downloads von den Herstellerseiten, sondern nur bei dem Chocolatey Paket, was ja meistens nur ein Download- und Installationswrapper ist.

Installation von Chocolatey

Die Installation ist sehr einfach, in einer PowerShell mit administrativen Rechten wird der folgende Befehl ausgeführt:

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'))

Installation und Verwaltung von Software

Die Installation von Software ist einfach. In der PowerShell den Befehl „choco install“ gefolgt von dem Paketnamen eingeben. Zum Beispiel „choco install adobereader“:

Softwaremanagement mit Chocolatey - 20210502 Softwaremanagement mit Chocolatey 02 - 4

Wie man gut an diesem Beispiel sehen kann, werden auch Abhängigkeiten direkt mit aufgelöst und Voraussetzungen installiert. Auch gibt Chocolatey entsprechende Rückmeldung, wenn ein Neustart erforderlich ist.

Wer eine bestimmte Version eines Paketes haben möchte, kann dies mit dem Parameter „–version=“ gefolgt von der Version mit angeben.

Prüfen der installierten Pakete

Die lokal installierten Pakete können mit dem Befehl „choco list –local-only“ abgefragt werden.

Softwaremanagement mit Chocolatey - 20210502 Softwaremanagement mit Chocolatey 03 - 5

Aktualisieren von Chocolatey Paketen

Das Aktualisieren einzelner Pakete ist relativ simple, einfach den Befehl „choco upgrade adobereader“.

Softwaremanagement mit Chocolatey - 20210502 Softwaremanagement mit Chocolatey 04 - 6

Da man nicht immer alle Software im Blick hat, könnte man auch einfach alle Installierten Pakete aktualisieren. Dies ist einfach mit dem Befehl „choco upgrade all -y“ zu erledigen, da erfolgen auch keine Nachfragen mehr.

Softwaremanagement mit Chocolatey - 20210502 Softwaremanagement mit Chocolatey 05 - 7

Wer bequem sein möchte, der richtet sich dafür eine Geplante Aufgabe ein.

Mein Fazit

Wenn man nichts anderes hat, kann Chocolatey eine gute Lösung für kleinere Unternehmen und Einrichtungen sein. Man muss sich dabei bewusst sein, dass man die Kontrolle über die Pakete an die Community abgibt (Wenn es nix kosten darf) und das ein Restrisiko bleibt. Bei bestimmten Szenarien halte ich die Community Repositorien aber für Unpraktikabel, zum Beispiel bei größeren Client Zahlen, geringen Bandbreiten oder wenn es um Pre-Provisioning geht.

Schreibe einen Kommentar