Chocolaty Installatie: Een Stapsgewijze Gids

Als je moeite hebt met het beheren en onderhouden van software in je omgeving, staat je iets leuks te wachten. In dit artikel leer je hoe je Chocolatey kunt installeren en grip kunt krijgen op je softwarepakketten!

In dit artikel leer je hands-on hoe je Chocolatey installeert, software beheert en een basisintroductie krijgt in wat dit product zo bijzonder maakt.

Gerelateerd: Hoe je je eerste Chocolatey-pakket maakt

Vereisten

Deze tutorial wordt een stapsgewijze handleiding. Als je van plan bent om mee te doen, zorg er dan voor dat je aan de volgende vereisten voldoet.

  • Windows 10 – De tutorial zal Windows 10 1903 gebruiken.
  • Windows PowerShell 5.1 (optioneel) – Hoewel dit technisch gezien niet vereist is door Chocolatey, is dit wat alle voorbeelden in dit artikel zullen gebruiken.

Voor een volledige uiteenzetting van alle technische vereisten, bekijk de Chocolatey Requirements-pagina.

Chocolatey installeren

Als je begint met Chocolatey, is je eerste taak het downloaden en installeren van de Chocolatey-client. Technisch gezien heeft Chocolatey ook een servercomponent, maar voor dit artikel focus je op het gebruik van de client om software te downloaden, installeren en bij te werken.

Je kunt Chocolatey op veel verschillende manieren installeren. In dit artikel leer je de meest gebruikelijke manier, namelijk via PowerShell.

Voor een gedetailleerde uiteenzetting van het installeren van de Chocolatey-client op verschillende manieren, bekijk de installatiehandleiding van Chocolatey.

Om Chocolatey te installeren, biedt het bedrijf een handig PowerShell-script aan dat u op uw systeem kunt uitvoeren. Voordat u het installatiescript uitvoert, moet u het eerst inspecteren voordat u het downloadt. U kunt het script hier vinden.

Gerelateerd: Hoe PowerShell uitvoeren als beheerder

Met de PowerShell-console open als beheerder, download en voer het script uit in één commando.

Het onderstaande codefragment:

  • Zorgt ervoor dat PowerShell het SSL certificaat op de chocolatey.org-server kan doorlopen
  • Downloadt het script van https://chocolatey.org/install.ps1
  • Voert het script uit zodra het is gedownload
  • Voegt de map %ALLUSERSPROFILE%\chocolatey\bin toe aan de PATH-omgevingsvariabele
[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

U kunt een foutmelding tegenkomen die meldt dat een uitvoeringsbeleid niet wordt toegestaan. Als dat het geval is, staat uw huidige uitvoeringsbeleid mogelijk geen scriptuitvoering toe. Om dit te verhelpen, zorg ervoor dat u uw uitvoeringsbeleid versoepelt door het in te stellen op Onbeperkt of RemoteSigned.

Verifiëren van installatie

Zodra het PowerShell-script is voltooid en u terugkeert naar de PowerShell-console, bevestigt u dat u de Chocolatey-client genaamd choco.exe kunt uitvoeren.

Wanneer u choco uitvoert, zou u de geïnstalleerde versie en enige basisinformatie over de werking moeten zien, zoals hieronder weergegeven.

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

Hulp krijgen

Een van de beste dingen aan de Chocolatey CLI-client is het hulpsysteem. Het ingebouwde hulpsysteem documenteert uitstekend alle functionaliteiten van Chocolatey.

Om toegang te krijgen tot het hulpsysteem, voegt u de optie -? toe aan het choco-commando, zoals hieronder weergegeven.

U kunt zien dat de Chocolatey-client verschillende commando’s heeft waarmee u verschillende functies kunt uitvoeren om software te beheren.

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.

Als u ooit vastzit bij het proberen uit te zoeken hoe u een specifieke actie kunt uitvoeren, raadpleeg dan het hulpsysteem!

Pakketten vinden

Zodra u de Chocolatey-client geïnstalleerd en actief hebt, is het tijd om te zien welke soorten pakketten beschikbaar zijn om te installeren. De client heeft drie commando’s waarmee u dat kunt doen, genaamd list, search en find. Deze commando’s zoeken in een Chocolatey-opslagplaats naar beschikbare pakketten of ze tonen de pakketten op uw computer.

Hieronder vindt u de uitleg en voorbeelden die te vinden zijn in het hulpsysteem.

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 voorbeeld hieronder ziet u een voorbeeld van het opsommen van alle pakketten (list) die zijn geïnstalleerd op een lokale computer (-lo).

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.

Inspecteren van Chocolatey-pakketten voordat u ze downloadt

Voordat je een pakket downloadt, moet je altijd begrijpen wat dat pakket eigenlijk doet. Gelukkig heb je het info commando. Dit commando vindt details van pakketten die zich bevinden op een Chocolatey repository.

Met choco info kun je pakketattributen vinden zoals pakket auteur, downloadtelling, checksum, bron, en meer.

Bekijk hieronder je opties om choco info uit te voeren.

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>]

Bijvoorbeeld, laten we zeggen dat je Google Chrome wilt installeren en je hebt een beschikbaar pakket gezien genaamd googlechrome. Voer choco info googlechrome uit en let op wat voor soort informatie je kunt vinden.

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.

Installatie van pakketten

Genoeg informatie krijgen over pakketten. Het is tijd om daadwerkelijk wat software te installeren! Om dit te doen, gebruik choco instal.

Het choco install commando is machtig en essentieel. Als er één commando is dat je moet onthouden en een expert in moet worden, is het deze.

Het choco install commando installeert een pakket of een lijst met pakketten die je opgeeft zodra je weet wat je nodig hebt.

Voer choco install --help uit om te zien wat je opties zijn.

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'"
     # Parameters zijn pakketparameters, doorgegeven aan het pakket
     # Installatie-argumenten zijn installatie-argumenten, toegevoegd aan de stille argumenten
     # in het pakket voor de installateur zelf
 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

Houd Chocolatey-pakketten bijgewerkt

Zodra een pakket is geïnstalleerd, wil je het ongetwijfeld up-to-date houden. Dit is een krachtige functie van Chocolatey.

Zodra je wat pakketten hebt geïnstalleerd, zul je al snel merken dat Chocolatey niet automatisch pakketten bijwerkt op de achtergrond. De Chocolatey-client draait niet als een service.

Om geïnstalleerde Chocolatey-pakketten bij te werken, moet je choco handmatig aanroepen telkens wanneer je moet upgraden. Voer hiervoor het choco upgrade commando uit samen met het pakket dat je wilt upgraden.

Het upgrade commando zal het pakket installeren als het pakket niet bestaat op het systeem.

Hieronder vind je de details en voorbeelden die je in het help systeem kunt vinden.

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

Je kunt alle pakketten upgraden naar de nieuwste versie door choco upgrade all uit te voeren.

Lokale, Verouderde Pakketten Vinden

Wat als je wilt controleren of er een nieuwe versie van je pakket is voordat je blindelings choco upgrade uitvoert? Je kunt het outdated commando gebruiken. Het outdated commando scant door je geïnstalleerde pakketten en doorzoekt je aangewezen pakketrepository voor mogelijke pakketupdates.

Bekijk hieronder wat er mogelijk is met choco outdated --help.

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

Bijvoorbeeld, als je alle lokaal geïnstalleerde pakketten wilt vinden die verouderd zijn, kun je dat doen met choco outdated.

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.

Updates van Pakketten Onderdrukken

Het is zeker aan te raden om software up-to-date te houden, maar wat als je pakketten hebt waarvoor je dat expliciet moet voorkomen? Waarom zou je dat willen?

Een reden om updates tegen te gaan, kan zijn om redundante updates te vermijden. Bijvoorbeeld, misschien wilde je alleen de initiële installatie van een pakket automatiseren. Je wilt niet de volledige levenscyclus van de software van dat pakket onderhouden.

Misschien moet je enkele uitzonderingen maken bij het dwingen van Chocolatey om alle pakketten bij te werken. In dat geval kun je pakketten vastzetten.

Wanneer je verschillende Chocolatey-commando’s uitvoert, zie je een vastgezette attribuut. Bijvoorbeeld, bij het uitvoeren van het verouderd commando, zie je dat attribuut duidelijk zoals hieronder getoond.

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

Hieronder vind je de uitsplitsing en voorbeelden die in het help-systeem zijn gevonden

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

Chocolatey-pakketten deïnstalleren

Tenslotte, misschien heb je besloten dat je geen software meer nodig hebt. In plaats van handmatig naar het Configuratiescherm te gaan, de software te zoeken en het op die manier te verwijderen, gebruik je het choco uninstall commando om er snel vanaf te komen.

Het choco uninstall commando verwijdert één of veel softwarepakketten in één keer.

Let op hoe je het choco uninstall commando gebruikt via de help-inhoud hieronder.

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

Veilig spelen voor het aanbrengen van wijzigingen (choco whatif)

Het automatiseren van softwarebeheer kan een destructieve taak zijn als het niet goed wordt uitgevoerd. In plaats van veel wijzigingen tegelijk aan te brengen, zou het slimmer zijn om eerst een test uit te voeren om te zien wat zou zijn gebeurd. Gelukkig heeft de Chocolatey-client een paar parameters om precies dat te doen.

De WhatIf Switch

Elk choco commando heeft een switch genaamd --whatif met aliassen van --noop en --what-if. Als deze switches worden gebruikt met een choco commando, zal Chocolatey de actie niet daadwerkelijk uitvoeren maar je informeren over wat er zou zijn gebeurd.

Je kunt hieronder een voorbeeld zien waarin wordt geprobeerd alle pakketten op het lokale systeem te deïnstalleren, maar met behulp van de whatif switch om daadwerkelijk niets te doen.

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.

Acties Bevestigen

Wanneer je choco install uitvoert om een pakket te installeren, wordt je meestal gevraagd om te bevestigen of je wilt dat het installatieproces doorgaat. Choco vereist ook bevestiging voor extra pakketten die worden opgeroepen als een afhankelijkheid voor je initiële pakket.

Je kunt hieronder een voorbeeld zien van hoe Chocolatey eerst vraagt om Firefox te installeren voordat de actie daadwerkelijk wordt uitgevoerd.

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

Het bevestigingsproces is een veiligheidsmaatregel, maar het kan je vertragen. Als je wilt dat het proces ononderbroken doorgaat, voeg dan een switch van -y, --yes of --confirm aan het einde van je commando toe.

Het gebruik van de -y switch werkt goed bij het uitvoeren van commando’s zonder toezicht, zoals in een geplande taak.

Volgende Stappen

Nu je weet hoe je Chocolatey moet installeren en gebruiken op een hoog niveau, waar ga je nu heen? Probeer nu een veelvoorkomend stuk software te vinden dat je vaak moet installeren en upgraden.

Probeer een script te maken om dat stuk software te beheren met Chocolatey om je eerste stappen te zetten en meer te leren over deze handige Windows-pakketbeheerder!

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