Як оновити всі пакети Chocolatey, крім одного?


28

cup all -yвикористовується для оновлення всіх пакетів Chocolatey під час завантаження. Наразі існує проблема в останній версії VirtualBox, і я хочу уникати того, щоб цей пакет оновлювався під час завантаження, тоді як інші пакети потребують оновлення.

Спроба вирішити питання

Я перевірив довідкову функцію команди:

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.

Але, здається, немає функції виключити певний пакет.

Як оновити всі пакунки під час завантаження, крім одного?

Відповіді:


33

У вас є два варіанти: закріпити пакунок заздалегідь або виключити предмети протягом choco upgrade.

Прикріпити пакети для придушення оновлень

Ви можете закріпити будь-яку програму, яку не потрібно оновлювати.

Введіть choco pin -hдля отримання детальної інформації. Якщо ця команда нічого не дає, оновіть Chocolatey принаймні до 0.9.9.x.

Pin Command

Прикріпіть пакет, щоб придушити оновлення.

Це особливо корисно при запуску choco upgradeдля всіх пакетів, оскільки вони автоматично пропускають ці пакети. Інша альтернатива - це choco upgrade --except="pkg1,pk2".

Використання

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

Приклади

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

ПРИМІТКА : --reasonопція доступна ТОЛЬКО у Chocolatey for Business (C4B).

Виключіть пакети під час оновлення

Іноді ви просто хочете виключити елементи, які зазвичай включаєте в оновлення. Ви не хочете, щоб штифти були призначені для проживання довше, ніж одна команда. Саме тут Excludeопція надходить до вашої команди оновлення.

Станом на Chocolatey v0.9.10, під час виклику оновлення ви можете передавати необов'язково --exceptяк перемикач для оновлення. Прикладом може бути choco upgrade all --except="'conemu'".


Чому choco pin? Чи cup allзастаріла?
030

9
Чому всі чашки будуть застарілими? Pin - команда, яка говорить "залишайтеся на цій версії для цього пакета".
ferventcoder

ПРИМІТКА. Щоб додати причину до шпильки, ви повинні мати Chocolatey for Business (C4B).
ferventcoder

2

Відповідно до офіційної документації :

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

У Windows це перешкоджатиме оновленню пакету, навіть якщо ви не використовуєте, окрім! Папка пакунків переміщена до C:\ProgramData\chocolatey\lib-bad. Якщо ви хочете знову оновити, перенесіть його доC:\ProgramData\chocolatey\lib
Аліреза Фаттахі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.