Hallo da draußen,
inzwischen ist es schon wieder ziemlich lange her, dass ich ein paar Blog-Einträge verfasst habe. In der letzten Zeit habe/hatte ich so viele Projekte, die ich parallel betreuen muss(te), dass einfach gar keine Zeit mehr blieb, um mal wieder etwas zu posten.
Aktuell wird es glücklicherweise bedeutend ruhiger um mein Langzeit-Projekt “Cutworks“. Obwohl es viele neue Ideen gibt, hat mein Kunde die Weiterentwicklung aktuell gestoppt, auch weil unser langjähriger Zulieferer angekündigt hat, möglicherweise demnächst abzuspringen, musste mein Kunde die Reißleine ziehen und Schadensbegrenzung vornehmen. Naja, so habe ich wieder etwas mehr Zeit für andere und auch neue Projekte.
Auch wenn ich einige “Nebenprojekte” habe, reichen diese längst nicht aus, um über die Runden zu kommen. Daher startet morgen ein neues Projekt, mit dem ich erst einmal bis Ende des Jahres zu tun haben werde – ich freue mich drauf.
Leider ist mein “Standard”-Notebook – ein Lenovo E490 inzwischen etwas schwach auf der Brust, so habe ich mir einen relativ günstigen Rechner (für 372 €) zusammengebaut, Windows 11 installiert und möchte das nun für das neue Projekt nutzen.
Adrian, mein Büro-Nachbar, hatte mir vor einiger Zeit mal was von einem Package-Manager für Windows erzählt, mit dem man quasi wie unter Linux, analog zu apt oder pacman Software einfach aus einem zentralen Repository installieren kann, ohne laufend die Exe-Dateien herunterzuladen und manuell zu installieren. Grundsätzlich bietet zwar der MS-Store auch solche Features, aber aus Erfahrung ist dieser m.E. ziemlicher Schrott – ich hatte schon etliche Male das Problem, dass der einfach aufhörte zu funktionieren und nichts mehr herunterladen konnte. Die Behebung war dieser Probleme war dann immer ein totaler Krampf – daher bin ich wirklich kein Fan vom MS-Store. Inzwischen bietet die Powershell zwar noch auch einige Möglichkeiten – aber mir war das immer viel zu kompliziert – zu kryptisch und hat an bestimmten Stellen auch nie so wirklich funktioniert.
Zusammen mit dem neuen Rechner wollte ich also so einen Package-Manager nun mal ausprobieren. Der Package-Manager heißt: chocolatey und kann recht einfach über die Powershell installiert werden.
Grundsätzlich gibt es eine Enterprise / Pro-Version und eine Open-Source/Community-Edition i.d.R. reicht die “Open-Source”-Variante aus.
Installation
Die Installation erfolgt einmalig über die Powershell (als Administrator), die Software-Pakete, die Chocolatey bietet, können dann aber später auch über die “normale” Kommandozeile (allerdings mit Administrator-Rechten) installiert werden.
Öffnet als erstes die Powershell als Administrator. Sucht dazu über Suche oder über die Such-Funktion im Windows-Start-Menü nach Powershell. Klickt dann bei dem Eintrag auf die rechte Maustaste und wählt “Als Administrator ausführen
“
Nach Bestätigung, dass ihr Administrator seit, sollte die entsprechende Powershell geöffnet werden. Führt dann folgenden Befehl aus:
Get-ExecutionPolicy
Bei einer relativ neuen Installation von Windows sollte dies “Restricted” liefern. Ist das der Fall, setzt die ExecutionPolicy auf “AllSigned”mit folgendem Befehl:
Set-ExecutionPolicy AllSigned
Wenn ihr dann noch einmal den ersten Befehl (Get-ExecutionPolicy) ausführt, sollte dann “AllSigned” zurückgeliefert werden. Alternativ könnt ihr die ExecutionPolicy auf ByPass stellen, aber rein aus sichertechnischen Gründen würde ich davon eher abraten.
Nach Aktivierung der Execution-Policy kann nun direkt Chocolatey mit folgendem Befehl installiert werden:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
Sieht recht kompliziert aus, im Endeffekt deaktiviert der Befehl für diese eine Ausführung die ExecutionPolicy und lädt das Powershell-Installationsscript herunter und führt es entsprechend aus.
Nachdem das Script erfolgreich gelaufen ist, sollte choco installiert sein. Da die Umgebungsvariablen geändert wurden, kann es sein, dass (wenn ihr in der gleichen Powershell arbeiten möchtet) ihr die Umgebungsvariablen aktualisieren müsst. Dazu führt einfach den Befehl:
RefreshEnv
aus. Alternativ könnt ihr einfach auch eine neue Kommandozeile oder eine neue Powershell-Sitzung (jeweils als Administrator) starten.
Probiert nun aus, ob ihr folgenden Befehl ausführen könnt:
choco -v
Dies sollte dann die Versionsnummer der chocolatey-Installation anzeigen. Wenn das geklappt hat – super, dann könnt ihr mit choco entsprechend Apps installieren.
Details zur Installation findet ihr auf englischer Sprache auch direkt auf der chocolatey-Seite.
Kurze Befehlsübersicht
Nun noch eine kurze Übersicht der meist-genutzten Chocolatey-Befehle. Grundsätzlich solltet ihr chocolatey immer in einer Eingabeaufforderung oder einer Powershell “Als Administrator” ausführen. Solltet ihr choco in einer “normalen” Kommandozeile ausführen, warnt choco Euch dann aber auch noch einmal.
Nun aber zu der Liste der meist-genutzten Befehle.
Mit:
choco search Programmname
könnt ihr in den choco-Repositories nach entsprechenden Programmen suchen. Choco zeit euch dann eine Liste von möglichen Kandidaten an, die den Suchbegriff enthalten.
Mit
choco install Programmname
könnt ihr das entsprechende Programm installieren.
Ansonsten könnt ihr Euch mit:
choco list --local
die über chocolatey installierten Programme auf eurem Rechner auflisten lassen.
Mit:
choco outdated
könnt ihr prüfen lassen, ob bzw. welche Pakete veraltet sind, diese können, sofern welche vorhanden sind, mit folgendem Befehl aktualisiert werden:
choco upgrade Programmname
Leider scheint es keinen Befehl zu geben, um ALLE outdated-Programme aktualisieren zu lassen. Dementsprechend solltet ihr euch die Liste anzeigen lassen und dann für jeden Eintrag den entsprechenden Befehl ausführen.
Solltet ihr ein Programm deinstallieren wollen, bietet chocolatey hier auch Möglichkeiten. Führt einfach:
choco uninstall Programmname
aus.
Über diese Grundbefehle hinaus, bietet chocolatey aber noch bedeutend mehr – theoretisch könntet ihr auch eure eigenen Programme in chocolatey-Pakete umwandeln und in das Repository hochladen, verschiedene Optionen aktivieren, u.v.m. Das würde hier komplett den Rahmen sprengen und ist i.d.R. eher für Pro / Enterprise-Nutzer relevant.
Ich find das chocolatey-Konzept ziemlich gut, so konnte ich mir etliche Tools, die ich sowie brauche, wie git, python, gradle, maven, dbeaver, 7zip, Notepad++ einfach so über die Kommandozeile installieren lassen. Genial.
Vielleicht habt ihr Lust, das auch mal auszuprobieren.
Viel Spaß damit.