Come posso aggiornare tutti i pacchetti Chocolatey tranne uno?


28

cup all -yviene utilizzato per aggiornare tutti i pacchetti Chocolatey all'avvio. Al momento c'è un problema nell'ultima versione di VirtualBox e voglio evitare che questo pacchetto venga aggiornato all'avvio mentre gli altri pacchetti devono essere aggiornati.

Tentativo di risolvere il problema

Ho verificato la funzione di aiuto del comando:

C:\>cup all -h
Chocolatey v0.9.9.8
Upgrade Command

Upgrades a package or a list of packages. Some may prefer to use `cup`
 as a shortcut for `choco upgrade`.

Usage

    choco upgrade <pkg|all> [<pkg2> <pkgN>] [<options/switches>]
    cup <pkg|all> [<pkg2> <pkgN>] [<options/switches>]

NOTE: `all` is a special package keyword that will allow you to upgrade
 all currently installed packages.

Examples

    choco upgrade chocolatey
    choco upgrade notepadplusplus googlechrome atom 7zip
    choco upgrade notepadplusplus googlechrome atom 7zip -dvfy
    choco upgrade git --params="/GitAndUnixToolsOnPath /NoAutoCrlf" -y
    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

Options and Switches

NOTE: Options and switches apply to all items passed, so if you are
 installing multiple packages, and you use `--version=1.0.0`, it is
 going to look for and try to install version 1.0.0 of every package
 passed. So please split out multiple package calls when wanting to
 pass specific options.


 -?, --help, -h
     Prints out the help menu.

 -d, --debug
     Debug - Run in Debug Mode.

 -v, --verbose
     Verbose - See verbose messaging.

     --acceptlicense, --accept-license
     AcceptLicense - Accept license dialogs automatically.

 -y, --yes, --confirm
     Confirm all prompts - Chooses affirmative answer instead of prompting.
       Implies --accept-license

 -f, --force
     Force - force the behavior

     --noop, --whatif, --what-if
     NoOp - Don't actually do anything.

 -r, --limitoutput, --limit-output
     LimitOutput - Limit the output to essential information

     --execution-timeout=VALUE
     CommandExecutionTimeoutSeconds - Override the default execution timeout
       in the configuration of 2700 seconds.

 -c, --cache, --cachelocation, --cache-location=VALUE
     CacheLocation - Location for download cache, defaults to %TEMP% or value
       in chocolatey.config file.

     --allowunofficial, --allow-unofficial, --allowunofficialbuild, --allow-unofficial-build
     AllowUnofficialBuild - When not using the official build you must set
       this flag for choco to continue.

 -s, --source=VALUE
     Source - The source to find the package(s) to install. Special sources
       include: ruby, webpi, cygwin, windowsfeatures, and python. Defaults to
       default feeds.

     --version=VALUE
     Version - A specific version to install. Defaults to unspecified.

     --pre, --prerelease
     Prerelease - Include Prereleases? Defaults to false.

     --x86, --forcex86
     ForceX86 - Force x86 (32bit) installation on 64 bit systems. Defaults to
       false.

     --ia, --installargs, --installarguments, --install-arguments=VALUE
     InstallArguments - Install Arguments to pass to the native installer in
       the package. Defaults to unspecified.

 -o, --override, --overrideargs, --overridearguments, --override-arguments
     OverrideArguments - Should install arguments be used exclusively without
       appending to current package passed arguments? Defaults to false.

     --notsilent, --not-silent
     NotSilent - Do not install this silently. Defaults to false.

     --params, --parameters, --pkgparameters, --packageparameters, --package-parameters=VALUE
     PackageParameters - Parameters to pass to the package. Defaults to
       unspecified.

 -m, --sxs, --sidebyside, --side-by-side, --allowmultiple, --allow-multiple, --allowmultipleversions, --allow-multiple-versions
     AllowMultipleVersions - Should multiple versions of a package be
       installed? Defaults to false.

 -i, --ignoredependencies, --ignore-dependencies
     IgnoreDependencies - Ignore dependencies when upgrading package(s).
       Defaults to false.

 -n, --skippowershell, --skip-powershell
     Skip Powershell - Do not run chocolateyInstall.ps1. Defaults to false.

     --failonunfound, --fail-on-unfound
     Fail On Unfound Packages - If a package is not found in feeds specified,
       fail instead of warn.

     --failonnotinstalled, --fail-on-not-installed
     Fail On Non-installed Packages - If a package is not already intalled,
       fail instead of installing.

 -u, --user=VALUE
     User - used with authenticated feeds. Defaults to empty.

 -p, --password=VALUE
     Password - the user's password to the source. Defaults to empty.

Ma non sembra avere una funzione per escludere un certo pacchetto.

Come posso aggiornare tutti i pacchetti all'avvio, tranne uno?

Risposte:


33

Sono disponibili due opzioni: aggiungere un pacchetto in anticipo o escludere gli articoli durante choco upgrade.

Pacchetti di pin per sopprimere gli aggiornamenti

Puoi aggiungere qualsiasi programma che non desideri aggiornare.

Digita choco pin -hper maggiori dettagli. Se quel comando non ti dà nulla, aggiorna Chocolatey ad almeno 0.9.9.x.

Comando Pin

Appunta un pacchetto per eliminare gli aggiornamenti.

Ciò è particolarmente utile quando si esegue choco upgradeper tutti i pacchetti, poiché salterà automaticamente quei pacchetti. Un'altra alternativa è choco upgrade --except="pkg1,pk2".

uso

choco pin [list]|add|remove [<options/switches>]

Esempi

choco pin
choco pin list
choco pin add -n=git
choco pin add -n=git --version 1.2.3
C4B: choco pin add -n=git --version 1.2.3 --reason "'others may need to review'"
choco pin remove --name git

NOTA : --reasonopzione disponibile SOLO in Chocolatey for Business (C4B).

Escludere i pacchetti durante l'aggiornamento

A volte vuoi semplicemente escludere oggetti che normalmente includeresti negli aggiornamenti. Non vuoi pin in quanto quelli dovrebbero vivere più a lungo di una singola esecuzione di comando. Ecco dove l' Excludeopzione arriva al tuo comando di aggiornamento.

A partire da Chocolatey v0.9.10, quando si chiama upgrade, è possibile passare l'opzione opzionale --exceptcome switch per l'aggiornamento. Un esempio sarebbe choco upgrade all --except="'conemu'".


Perché choco pin? È cup alldeprecato?
030

9
Perché cup sarebbe deprecato? Pin è un comando che dice "rimani su questa versione per questo pacchetto".
ferventcoder

NOTA: per aggiungere un motivo a un pin, è necessario disporre di Chocolatey for Business (C4B).
ferventcoder il

2

Secondo la documentazione ufficiale :

choco upgrade all --except="'skype,conemu'"

Su Windows questo impedirà più l'aggiornamento del pacchetto, anche se non lo usi tranne! La cartella del pacchetto viene spostata in C:\ProgramData\chocolatey\lib-bad. Se vuoi aggiornare di nuovo, spostalo suC:\ProgramData\chocolatey\lib
Alireza Fattahi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.