Chocolatey-Installation: Ein schrittweiser Leitfaden

Wenn Sie Schwierigkeiten haben, Software in Ihrer Umgebung zu verwalten und zu warten, haben Sie Glück. In diesem Artikel erfahren Sie, wie Sie Chocolatey installieren und Ihre Softwarepakete im Griff behalten!

In diesem Artikel lernen Sie hands-on, wie Sie Chocolatey installieren, Software verwalten und eine grundlegende Einführung in die Funktionsweise dieses Produkts erhalten.

Verwandt: So erstellen Sie Ihr erstes Chocolatey-Paket

Voraussetzungen

Dieses Tutorial wird Schritt für Schritt durchgeführt. Wenn Sie mitmachen möchten, stellen Sie bitte sicher, dass Sie die folgenden Voraussetzungen erfüllen.

  • Windows 10 – Das Tutorial verwendet Windows 10 1903.
  • Windows PowerShell 5.1 (optional) – Obwohl dies technisch gesehen nicht von Chocolatey erforderlich ist, werden in diesem Artikel alle Beispiele damit ausgeführt.

Für eine vollständige Übersicht aller technischen Anforderungen besuchen Sie bitte die Seite mit den Chocolatey-Anforderungen.

Installation von Chocolatey

Wenn Sie mit Chocolatey beginnen möchten, besteht Ihre erste Aufgabe darin, den Chocolatey-Client herunterzuladen und zu installieren. Technisch gesehen hat Chocolatey auch eine Serverkomponente, aber in diesem Artikel konzentrieren Sie sich darauf, den Client zum Herunterladen, Installieren und Aktualisieren von Software zu verwenden.

Sie können Chocolatey auf verschiedene Arten installieren. In diesem Artikel lernen Sie die häufigste Methode kennen, nämlich die Verwendung von PowerShell.

Für eine detaillierte Aufschlüsselung zur Installation des Chocolatey-Clients auf verschiedene Arten, schauen Sie sich den Chocolatey Installationsleitfaden an.

Um Chocolatey zu installieren, stellt das Unternehmen ein praktisches PowerShell-Skript bereit, das auf Ihrem System ausgeführt werden kann. Bevor Sie das Installations-Skript ausführen, sollten Sie es zuerst überprüfen. Das Skript finden Sie hier.

Verwandt: Wie man PowerShell als Administrator ausführt

Mit der PowerShell-Konsole als Administrator geöffnet, können Sie das Skript mit einem einzigen Befehl herunterladen und ausführen.

Der folgende Code-Schnipsel:

  • Stellt sicher, dass PowerShell das SSL Zertifikat auf dem chocolatey.org Server durchsuchen kann
  • Lädt das Skript von https://chocolatey.org/install.ps1 herunter
  • Führt das heruntergeladene Skript aus
  • Fügt den Ordner %ALLUSERSPROFILE%\chocolatey\bin zur PATH-Umgebungsvariable hinzu
[System.Net.ServicePointManager]::SecurityProtocol = 3072
Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))"
SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
Downloading and install Chocolatey

Sie könnten auf einen Fehler stoßen, der auf eine Ausführungsrichtlinie hinweist. Wenn dies der Fall ist, erlaubt Ihre derzeitige Ausführungsrichtlinie möglicherweise keine Skriptausführung. Um dies zu beheben, stellen Sie sicher, dass Sie Ihre Ausführungsrichtlinie entspannen und sie auf Unrestricted oder RemoteSigned setzen.

Überprüfung der Installation

Sobald das PowerShell-Skript abgeschlossen ist und Sie zur PowerShell-Konsole zurückkehren, bestätigen Sie, dass Sie den Chocolatey-Client namens choco.exe ausführen können.

Wenn Sie choco ausführen, sollten Sie die installierte Version und einige grundlegende Hilfsinformationen wie unten gezeigt sehen.

PS51> choco
Chocolatey v0.10.15
Please run 'choco -?' or 'choco <command> -?' for help menu.~~

Hilfe erhalten

Eine der besten Eigenschaften des Chocolatey CLI-Clients ist sein Hilfesystem. Das integrierte Hilfesystem dokumentiert alle Funktionen von Chocolatey sehr gut.

Um auf das Hilfesystem zuzugreifen, geben Sie den Schalter -? an den choco-Befehl wie unten gezeigt an.

Sie können sehen, dass der Chocolatey-Client verschiedene Befehle hat, mit denen Sie verschiedene Funktionen zur Verwaltung von Software ausführen können.

PS51> choco -?
This is a listing of all of the different things you can pass to choco.
 
Commands
 
 * list - lists remote or local packages
 * find - searches remote or local packages (alias for search)
 * search - searches remote or local packages (alias for list)
 * info - retrieves package information. Shorthand for choco search pkgname --exact --verbose
 * install - installs packages from various sources
 * pin - suppress upgrades for a package
 * outdated - retrieves packages that are outdated. Similar to upgrade all --noop
 * upgrade - upgrades packages from various sources
 * uninstall - uninstalls a package
 * pack - packages up a nuspec to a compiled nupkg
 * push - pushes a compiled nupkg
 * new - generates files necessary for a chocolatey package from a template
 * sources - view and configure default sources (alias for source)
 * source - view and configure default sources
 * config - Retrieve and configure config file settings
 * feature - view and configure choco features
 * features - view and configure choco features (alias for feature)
 * setapikey - retrieves, saves or deletes an apikey for a particular source (alias for apikey)
 * apikey - retrieves, saves or deletes an apikey for a particular source
 * unpackself - have chocolatey set itself up
 * version - [DEPRECATED] will be removed in v1 - use `choco outdated` or `cup <pkg|all> -whatif` instead
 * update - [DEPRECATED] RESERVED for future use (you are looking for upgrade, these are not the droids you are looking for)
 
 
Please run chocolatey with `choco command -help` for specific help on
 each command.

Wenn Sie jemals feststecken und nicht wissen, wie Sie eine bestimmte Aktion ausführen können, werfen Sie einen Blick auf das Hilfesystem!

Pakete finden

Sobald Sie den Chocolatey-Client installiert und ausgeführt haben, ist es an der Zeit zu sehen, welche Art von Paketen zur Installation verfügbar sind. Der Client hat drei Befehle, mit denen Sie genau das tun können, nämlich list, search und find. Diese Befehle durchsuchen ein Chocolatey-Repository nach verfügbaren Paketen oder listen Pakete auf Ihrem Computer auf.

Unten finden Sie die Aufschlüsselung und Beispiele, die im Hilfesystem gefunden wurden.

PS51> choco list --help

List/Search Command
 
Chocolatey will perform a search for a package local or remote.
 
* choco list - lists remote or local packages
* choco search - searches remote or local packages (alias for list)
* choco find - searches remote or local packages (alias for search)
 
Usage:
 
choco search <filter> [<options/switches>]
choco list <filter> [<options/switches>]
clist <filter> [<options/switches>]
 
Popular Switch --localonly or -lo
Usage of -lo:
 
choco <search,list,find> --localonly

Als Beispiel ist unten eine Auflistung aller Pakete (list), die auf einem lokalen Computer (-lo) installiert sind.

PS51> choco list -lo
Chocolatey v0.10.15
chocolatey 0.10.15
chocolatey-core.extension 1.3.3
GoogleChrome 77.0.3865.90
3 packages installed.

Überprüfen von Chocolatey-Paketen vor dem Herunterladen

Bevor Sie ein Paket herunterladen, sollten Sie immer verstehen, was dieses Paket tatsächlich macht. Glücklicherweise haben Sie den info Befehl. Dieser Befehl findet Details zu Paketen, die sich in einem Chocolatey-Repository befinden.

Mit choco info können Sie Paketattribute wie Paketautor, Downloadanzahl, Prüfsumme, Quelle und mehr finden.

Werfen Sie einen Blick auf Ihre Optionen, um choco info auszuführen, unten.

PS51> choco info --help

Info Command
 
Chocolatey will perform a search for a package local or remote and provide
detailed information about that package. This is a synonym for
`choco search <pkgname> --exact --detailed`.
 
* choco info pkgname - retrieves package information.
* Shorthand for choco search pkgname --exact --verbose
* Shorthand for choco search pkgname --exact --detailed
 
 
Usage:
 
choco info [<options/switches>]

Zum Beispiel, sagen wir, Sie müssen Google Chrome installieren und Sie haben ein verfügbares Paket namens googlechrome bemerkt. Führen Sie choco info googlechrome aus und beachten Sie, welche Art von Informationen Sie finden können.

PS51> choco info googlechrome
Chocolatey v0.10.15
GoogleChrome 77.0.3865.90 [Approved] Downloads cached for licensed users
Title: Google Chrome | Published: 9/18/2019
Package approved as a trusted package on Sep 18 2019 20:15:10.
Package testing status: Passing on Sep 18 2019 18:45:17.
Number of Downloads: 19851699 | Downloads for this version: 262131
Package url
Chocolatey Package Source: <https://github.com/chocolatey-community/chocolatey-coreteampackages/tree/master/automatic/googlechrome>
Package Checksum: 'v7bDDUTo21k31xqUW+1amzaEWjeOqsEgS3txYNRgRaO3Q7ZnkzYz4S69AxTFn4r0HUB5Wi7NHXZBag/OaJTPKA==' (SHA512)
Tags: google chrome web internet browser admin
Software Site: <https://www.google.com/chrome/browser/>
Software License: <https://www.google.it/intl/en/chrome/browser/privacy/eula_text.html>
Description: Chrome is a fast, simple, and secure web browser, built for the modern web.

Installation von Paketen

Genug Informationen über Pakete bekommen. Es ist Zeit, tatsächlich einige Software zu installieren! Verwenden Sie dazu choco install.

Der Befehl choco install ist mächtig und unerlässlich. Wenn es einen Befehl gibt, den Sie sich merken und zu einem Profi werden sollten, dann ist es dieser.

Der Befehl choco install installiert ein Paket oder eine Liste von Paketen, die Sie bereitstellen, sobald Sie wissen, was Sie benötigen.

Führen Sie choco install --help aus, um zu sehen, welche Optionen Ihnen zur Verfügung stehen.

PS51> choco install --help
 Install Command
 Installs a package or a list of packages
 Usage:
 choco install  [ ] []
     cinst  [ ] []
 Examples:
 choco install sysinternals
 choco install notepadplusplus googlechrome atom 7zip
 choco install notepadplusplus --force --force-dependencies
 choco install notepadplusplus googlechrome atom 7zip -dvfy
 choco install git -y --params="'/GitAndUnixToolsOnPath /NoAutoCrlf'"
 choco install git -y --params="'/GitAndUnixToolsOnPath /NoAutoCrlf'" --install-arguments="'/DIR=C:\git'"
     # Params sind Paketparameter, die an das Paket übergeben werden
     # Installationsargumente werden an die silentArgs angehängt
     #  im Paket für den Installer selbst
 choco install nodejs.install --version 0.10.35
 choco install git -s "'https://somewhere/out/there'"
 choco install git -s "'https://somewhere/protected'" -u user -p pass

Chocolatey-Pakete aktuell halten

Sobald ein Paket installiert ist, möchten Sie es zweifellos aktuell halten. Dies ist eine leistungsstarke Funktion von Chocolatey.

Wenn Sie einige Pakete installiert haben, werden Sie schnell feststellen, dass Chocolatey die Pakete nicht automatisch im Hintergrund aktualisiert. Der Chocolatey-Client läuft nicht als Dienst.

Um installierte Chocolatey-Pakete zu aktualisieren, müssen Sie jedes Mal, wenn Sie ein Upgrade durchführen möchten, manuell „choco“ aufrufen. Führen Sie dazu den Befehl „choco upgrade“ zusammen mit dem Paket aus, das Sie aktualisieren möchten.

Der Befehl „upgrade“ installiert das Paket, falls es nicht auf dem System vorhanden ist.

Im Folgenden finden Sie die Aufschlüsselung und Beispiele aus dem Hilfesystem.

PS51> choco upgrade --help
 Upgrade Command
 Upgrades a package or a list of packages. Some may prefer to use cup
  as a shortcut for choco upgrade. If you do not have a package
 installed, upgrade will install it.
 Usage:
 choco upgrade  [ ] []
 cup  [ ] []
 Examples:
 choco upgrade chocolatey
 choco upgrade notepadplusplus googlechrome atom 7zip
 choco upgrade notepadplusplus googlechrome atom 7zip -dvfy
 choco upgrade git -y --params="'/GitAndUnixToolsOnPath /NoAutoCrlf'"
 choco upgrade git -y --params="'/GitAndUnixToolsOnPath /NoAutoCrlf'" --install-args="'/DIR=C:\git'"
 Params are package parameters, passed to the package
 Install args are installer arguments, appended to the silentArgs
 in the package for the installer itself
 choco upgrade nodejs.install --version 0.10.35
 choco upgrade git -s "'https://somewhere/out/there'"
 choco upgrade git -s "'https://somewhere/protected'" -u user -p pass
 choco upgrade all
 choco upgrade all --except="'skype,conemu'"

Sie können alle Pakete auf die neueste Version aktualisieren, indem Sie „choco upgrade all“ ausführen.

Lokale, veraltete Pakete finden

Was ist, wenn Sie überprüfen möchten, ob es eine neue Version Ihres Pakets gibt, bevor Sie blind „choco upgrade“ ausführen? Sie können den Befehl „outdated“ verwenden. Der Befehl „outdated“ durchsucht Ihre installierten Pakete und überprüft Ihr angegebenes Paketrepository auf potenzielle Paketaktualisierungen.

Schauen Sie sich an, was mit „choco outdated –help“ möglich ist, unten.

PS51> choco outdated --help

Outdated Command
 
Returns a list of outdated packages.
 
* outdated - retrieves packages that are outdated. Similar to upgrade all --noop
 
Usage:
 
choco outdated [<options/switches>]
 
Examples:
 
choco outdated
choco outdated -s <https://somewhere/out/there>
choco outdated -s "'<https://somewhere/protected>'" -u user -p pass

Zum Beispiel können Sie mit „choco outdated“ alle lokal installierten Pakete finden, die veraltet sind.

PS51> choco outdated
Chocolatey v0.10.15
Outdated Packages
Output is package name | current version | available version | pinned?
 
 
Chocolatey has determined 0 package(s) are outdated.

Aktualisierung der Pakete unterdrücken

Es wird definitiv empfohlen, die Software auf dem neuesten Stand zu halten, aber was ist, wenn Sie Pakete haben, bei denen Sie dies explizit verhindern müssen? Warum möchten Sie das tun?

Ein Grund, Updates zu unterdrücken, wäre die Vermeidung von Aktualisierungswiederholungen. Möglicherweise möchten Sie beispielsweise nur die anfängliche Installation eines Pakets automatisieren. Sie möchten nicht den gesamten Lebenszyklus der Software des Pakets aufrechterhalten.

Vielleicht müssen Sie einige Ausnahmen machen, wenn Sie Chocolatey dazu zwingen, alle Pakete zu aktualisieren. In diesem Fall können Sie Pakete festpinnen.

Wenn Sie verschiedene Chocolatey-Befehle ausführen, sehen Sie ein festgepinntes Attribut. Wenn Sie beispielsweise den Befehl veraltet ausführen, können Sie dieses Attribut deutlich sehen, wie unten gezeigt.

PS51> choco outdated
Chocolatey v0.10.15
Outdated Packages
Output is package name | current version | available version | pinned?

Im Folgenden finden Sie eine Aufschlüsselung und Beispiele, die im Hilfesystem gefunden wurden.

PS51> choco pin --help

Pin Command
 
Pin a package to suppress upgrades.
 
This is especially helpful when running `choco upgrade` for all
 packages, as it will automatically skip those packages. Another
 alternative is `choco upgrade --except="pkg1,pk2"`.
 
Usage
 
	choco pin [list]|add|remove [<options/switches>]
 
Examples
 
	choco pin
	choco pin list
	choco pin add -n=git
	choco pin add -n=git --version 1.2.3
	choco pin remove --name git
* pin - suppress upgrades for a package

Deinstallation von Chocolatey-Paketen

Schließlich haben Sie möglicherweise festgestellt, dass Sie die installierte Software nicht mehr benötigen. Anstatt manuell in die Systemsteuerung zu gehen, die Software zu suchen und sie auf diese Weise zu entfernen, verwenden Sie den Befehl choco uninstall, um schnell damit fertig zu werden.

Der Befehl choco uninstall entfernt ein oder mehrere Softwarepakete auf einmal.

Beachten Sie, wie Sie den Befehl choco uninstall über den Hilfetext unten verwenden können.

PS51> choco uninstall --help

Uninstall Command
 
Uninstalls a package or a list of packages.
 
Usage:
 
choco uninstall <pkg | all> [pkg2 pkgN] [options/switches]
cuninst <pkg | all> [pkg2 pkgN] [options/switches]
 
NOTE: `all` is a special package keyword that will allow you to
uninstall all packages.
 
Examples:
 
choco uninstall git
choco uninstall notepadplusplus googlechrome atom 7zip
choco uninstall notepadplusplus googlechrome atom 7zip -dv
choco uninstall ruby --version 1.8.7.37402
choco uninstall nodejs.install --all-versions

Sicherheitsvorkehrungen vor Änderungen treffen (choco what-if)

Die Automatisierung des Software-Managements kann eine zerstörerische Aufgabe sein, wenn sie nicht ordnungsgemäß durchgeführt wird. Anstatt viele Änderungen auf einmal vorzunehmen, wäre es klüger, zuerst einen Testlauf durchzuführen, um zu sehen, was passiert wäre. Glücklicherweise hat der Chocolatey-Client einige Parameter, um genau das zu tun.

Der Schalter „WhatIf“

Jeder choco-Befehl hat einen Schalter namens „–whatif“ mit den Aliasen „–noop“ und „–what-if“. Wenn diese Schalter zusammen mit einem choco-Befehl verwendet werden, führt Chocolatey die Aktion nicht tatsächlich durch, sondern informiert Sie darüber, was passiert wäre.

Im folgenden Beispiel wird versucht, alle Pakete auf dem lokalen System zu deinstallieren, es wird jedoch der „whatif“-Schalter verwendet, um tatsächlich nichts zu tun.

PS51> choco uninstall all -whatif

Chocolatey v0.10.15
_ Chocolatey:ChocolateyUninstallCommand - Noop Mode _
Would have uninstalled chocolatey v0.10.15.
Would have uninstalled GoogleChrome v77.0.3865.90.
Would have uninstalled chocolatey-core.extension v1.3.3.

Bestätigung von Aktionen

Wenn Sie „choco install“ ausführen, um ein Paket zu installieren, werden Sie in der Regel aufgefordert, zu bestätigen, ob der Installationsprozess fortgesetzt werden soll. Choco erfordert auch eine Bestätigung für zusätzliche Pakete, die als Abhängigkeit für Ihr erstes Paket aufgerufen werden.

Im folgenden Beispiel sehen Sie, wie Chocolatey zuerst nachfragt, ob Firefox installiert werden soll, bevor die Aktion tatsächlich durchgeführt wird.

PS51> choco install firefox
Chocolatey v0.10.15
Installing the following packages:
firefox
By installing you accept licenses for the packages.
Progress: Downloading Firefox 69.0.1... 100%
 
Firefox v69.0.1 [Approved]
firefox package files install completed. Performing other installation steps.
The package Firefox wants to run 'chocolateyInstall.ps1'.
Note: If you don't run this script, the installation will fail.
Note: To confirm automatically next time, use '-y' or consider:
choco feature enable -n allowGlobalConfirmation
Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint):

Der Bestätigungsprozess ist eine Sicherheitsmaßnahme, kann Sie jedoch verlangsamen. Wenn Sie möchten, dass der Prozess ununterbrochen fortgesetzt wird, fügen Sie am Ende Ihres Befehls den Schalter „-y, –yes“ oder „–confirm“ hinzu.

Die Verwendung des „-y“-Schalters funktioniert gut, wenn Befehle unbeaufsichtigt ausgeführt werden, z.B. in einer geplanten Aufgabe.

Nächste Schritte

Jetzt, da Sie wissen, wie Sie Chocolatey installieren und auf hohem Niveau verwenden können, wohin gehen Sie von hier aus? Versuchen Sie nun, eine gängige Software zu finden, die Sie normalerweise immer wieder installieren und aktualisieren müssen.

Versuchen Sie, ein Skript zu erstellen, um diese Software mit Chocolatey zu verwalten, um sich einzuarbeiten und mehr über diesen praktischen Windows-Paketmanager zu erfahren!

Source:
https://adamtheautomator.com/install-chocolatey/