Làm cách nào để cập nhật tất cả các gói Chocolatey trừ một gói?


28

cup all -yđược sử dụng để cập nhật tất cả các gói Chocolatey khi khởi động. Hiện tại, có một vấn đề trong phiên bản VirtualBox mới nhất và tôi muốn tránh rằng gói này được cập nhật khi khởi động trong khi các gói khác cần được cập nhật.

Cố gắng giải quyết vấn đề

Tôi đã kiểm tra chức năng trợ giúp của lệnh:

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.

Nhưng nó dường như không có chức năng để loại trừ một gói nhất định.

Làm cách nào để cập nhật tất cả các gói khi khởi động, ngoại trừ một gói?

Câu trả lời:


33

Bạn có hai tùy chọn: ghim gói trước hoặc loại trừ các mục trong thời gian choco upgrade.

Gói pin để nâng cấp

Bạn có thể ghim bất kỳ chương trình nào bạn không muốn cập nhật.

Nhập choco pin -hđể biết thêm chi tiết. Nếu lệnh đó không cung cấp cho bạn bất cứ điều gì, vui lòng nâng cấp Chocolatey lên ít nhất 0.9.9.x.

Lệnh Pin

Ghim một gói để ngăn chặn nâng cấp.

Điều này đặc biệt hữu ích khi chạy choco upgradecho tất cả các gói, vì nó sẽ tự động bỏ qua các gói đó. Một cách khác là choco upgrade --except="pkg1,pk2".

Sử dụng

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

Ví dụ

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

LƯU Ý : --reasontùy chọn CHỈ có sẵn trong Chocolatey for Business (C4B).

Không bao gồm các gói trong khi nâng cấp

Đôi khi bạn chỉ muốn loại trừ các mục bạn thường đưa vào nâng cấp. Bạn không muốn ghim vì chúng có nghĩa là sống lâu hơn một lệnh chạy. Đó là nơi Excludetùy chọn đi vào lệnh nâng cấp của bạn.

Kể từ Chocolatey v0.9.10, khi gọi nâng cấp, bạn có thể chuyển tùy chọn --exceptlàm công tắc để nâng cấp. Một ví dụ sẽ là choco upgrade all --except="'conemu'".


Tại sao choco pin? Có cup allbị phản đối không?
030

9
Tại sao cốc tất cả sẽ bị phản đối? Pin là một lệnh có nội dung "ở lại phiên bản này cho gói này."
ferventcoder

LƯU Ý: Để thêm lý do cho mã pin, bạn phải có Chocolatey cho doanh nghiệp (C4B).
ferventcoder

2

Theo tài liệu chính thức :

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

Trên cửa sổ, điều này sẽ ngăn gói nâng cấp thêm nữa, ngay cả khi bạn không sử dụng ngoại trừ! Thư mục gói được chuyển đến C:\ProgramData\chocolatey\lib-bad. Nếu bạn muốn nâng cấp lại, hãy chuyển nó đếnC:\ProgramData\chocolatey\lib
Alireza Fattahi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.