Chocolatey Note

本文最后更新于:9 个月前

第1章 简介

巧克力软件|巧克力 - Windows 的包装经理 (chocolatey.org)

巧克力软件文档|巧克力 - 窗口软件管理 (chocolatey.org)

Chocolatey 是一种软件管理解决方案,不同于您在 Windows 上体验过的任何其他解决方案。Chocolatey 带来了真正的包装管理概念,让您能够对事物进行版本化、管理依赖性和安装顺序、更好的库存管理以及其他功能。

Chocolatey 是一种软件管理解决方案,不同于您在 Windows 上体验过的任何其他解决方案。它侧重于简单性、安全性和无限可扩展性。您在 PowerShell 中为任何软件(而不仅仅是安装人员)编写一次软件部署,然后您可以在 Windows 的任何地方部署该软件,并提供任何解决方案来管理系统(配置管理、端点管理等),并随着时间的推移跟踪和管理该软件的更新。在”云”中或在带有巧克力的Docker 容器中管理软件。

第 2 章 chocolatey 软件安装

1 chocolatey cli 命令行工具

  • 使用 cmd.exe 执行安装脚本

    @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
  • 使用 PowerShell.exe 执行安装脚本

    Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
  • 升级 chocolatey

    choco upgrade chocolatey
  • 卸载

    如果您决定不喜欢巧克力,只需删除文件夹(以及它创建的环境变量),即可卸载它。由于它实际上并没有安装在程序和功能中,因此您不必担心它会弄乱您的注册表(但是,对于使用 Chocolatey 或手动安装的应用程序来说,情况就不一样了)。
    大部分巧克力都包含在或任何评估。您可以简单地删除该文件夹。C:\ProgramData\chocolatey$env:ChocolateyInstall

    📝

    您可以首先备后子文件夹,以防您发现删除巧克力的不良结果。请记住,并不是每个巧克力包都是安装包,这些子折中可能包含一些未安装的应用程序可能会丢失。备份将允许您测试这一方面。

2 chocolatey GUI 图形化工具

choco install chocolateygui --install-directory 'D:\Program Files\chocolateygui' -y # 最完整的指定目录安装
choco install chocolateygui --dir 'D:\Program Files\chocolateygui' -y	# 简写的命令
choco install chocolateygui -y	# 采用默认安装路径
choco upgrade chocolateygui -y  # 升级 chocolateygui
注修改安装目录需要付费
可以通过修改 win 默认安装路径,来避免安装在 C:\Program Files
建议改为 D:\Program Files

第 3 章 CLI 命令

1 list - 软件列表

  • 用法

    choco find <filter> [<options/switches>]
    choco list <filter> [<options/switches>]
    clist <filter> [<options/switches>]
  • 例子

    choco list --local-only
    choco list -li
    choco list -lai
    choco list --page=0 --page-size=25
    choco search git
    choco search git --source="'https://somewhere/out/there'"
    choco search bob -s "'https://somewhere/protected'" -u user -p pass

2 install - 安装

  • 用法

    choco install <pkg|packages.config> [<pkg2> <pkgN>] [<options/switches>]
    cinst <pkg|packages.config> [<pkg2> <pkgN>] [<options/switches>]
  • 例子

    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 are package parameters, passed to the package
    # Install args are installer arguments, appended to the silentArgs 
    #  in the package for the installer itself
    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

3 upgrade - 升级

  • 用法

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

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

4 uninstall - 卸载

  • 用法

    choco uninstall <pkg|all> [pkg2 pkgN] [options/switches]
    cuninst <pkg|all> [pkg2 pkgN] [options/switches]
  • 例子

    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

5 download - 下载

  • 用法

    choco download <pkg> [<options/switches>] [install_script_variable=value]
    
    Install script variables are values that are discovered in the 
     chocolateyInstall.ps1 (or a script it calls). When you find values
     there maybe don't get found and replaced or they use a default 
     value and you want to provide a value for them to use instead, you
     can find them and then provide the value you want to pass instead.
     For example, in the Firefox package, it uses a default value of 
     'en-US' for `$locale`. If you want to change that, you can add 
     `locale` and a value, which will replace `$locale` in the script,
     e.g. `choco download firefox --internalize locale=en-GB`.
  • 例子

    choco download sysinternals
    
    #### [Chocolatey for Business](https://chocolatey.org/compare) / Chocolatey for MSP
    choco download notepadplusplus --internalize
    choco download notepadplusplus.install --internalize --resources-location \\server\share
    choco download notepadplusplus.install --internalize --resources-location http://somewhere/internal --append-useoriginallocation
    choco download KB3033929 --internalize -internalize-all-urls --append-useoriginallocation
    choco download firefox --internalize locale=es-AR