• Chocolatey 心得


    Chocolatey官网

    Chocolatey是一款Windows平台的包管理工具,类似于centos的yum或ubuntu的apt。通过Chocolatey,可以实现软件,尤其是各式开源软件的一键安装与一键升级。

    Chocolatey的文档写的非常好,这点即使在众多新兴软件中也不多见,强烈建议直接看官方文档:https://chocolatey.org/docs

    安装Chocolatey

    官网教程为https://chocolatey.org/install,在有管理员权限的powershell下执行以下安装脚本即可:

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

    查找包

    可用 search/find/list 指令查找包,支持模糊查询。如果想看有哪些包,可以直接去官网看:https://chocolatey.org/packages

    注意,现在的官网文档不再列出find指令,之后可能会被废弃。具体指令为:

    choco search <filter> [<options/switches>]
    choco list <filter> [<options/switches>]
    clist <filter> [<options/switches>]
    • 列出本地的包 clist -l-l--lo--localonly--lolcal-only的简写
    • 列出本地的包与电脑安装过的软件 choco list -li 或 choco list -l -i
      • -i需要配合-l使用,用于列出不归Chocolatey管理的程序
     
    clist 是 `choco -list` 的简写。
    clist -l
    clist potplayer

    outdated 列出可升级的包

    在大于0.9.9.6的版本中,可通过指令choco outdated列出待升级的包

    upgrade 升级

    update 指令已/即将被弃用,现在升级只用upgrade

    choco upgrade all -y

    choco upgrade 指令可简写为 cup,如cup all -y

    pin 固定

    用于固定软件,使得在执行升级全部包时自动跳过;通过维护一张固定列表实现该效果

    用法:

    • 添加至固定列表:choco pin add -n=git,其中-n-name的简写
    • 从固定列表移除:choco pin remove -n=git
    • 列出固定列表:choco pin list

    install 安装

    choco install 可简写为 cinst,语法为:

    choco install <pkg|packages.config> [<pkg2> <pkgN>] [<options/switches>]
    cinst <pkg|packages.config> [<pkg2> <pkgN>] [<options/switches>]
    • 添加参数以跳过包校验:--ignore-checksums
    • 可一次性下载多个包,如:choco install a b c ... -y

    如用代理安装vscode并自动确认:

    choco install vscode -y --proxy=127.0.0.1:10809

    uninstall 卸载

    choco uninstall,可简写为 choco cuinst

    功能扩展

    Chocolatey 定时自动升级所有软件

    choco install choco-upgrade-all-at

    有一个非官方的包(choco-upgrade-all-at)提供了该功能,介绍地址:https://chocolatey.org/packages/choco-upgrade-all-at

    该包添加了两个计划任务,一个定时执行choco upgrade all -y来升级所有包,一个定时结束升级指令。如果不需要升级,请用pin指令固定版本。

    • 若不设置任何参数,默认每天的2点开始升级,4点结束升级
    •  choco install choco-upgrade-all-at --params "'/TIME:23:00'"  设置每天晚上11点开始升级,凌晨4点结束升级
    •  choco install choco-upgrade-all-at --params "'/DAILY:yes /TIME:04:00 /ABORTTIME:08:00'"  设置凌晨4点到8点升级
    •  choco install choco-upgrade-all-at --params "'/WEEKLY:yes /DAY:SUN /TIME:01:00'"  设置每周周1的1点到4点升级

    Chocolatey 开机自动升级所有包

    上一节的简化版(同一个人在维护),同样是通过定时任务实现,效果是开机后自动升级所有包。https://chocolatey.org/packages/choco-upgrade-all-at-startup

    指令:choco install choco-upgrade-all-at-startup

     

    feature 配置

    • 查看配置项choco feature list,有非常详细的说明
    • 启用/禁用配置项choco enable/disable -n={feature},其中-n 为-name 的简写

    默认不启用的常用配置项:

    • 启用全局的自动确认:allowGlobalConfirmation
    • 启用病毒检查:virusCheck
    • 检测到需要重启时,不执行安装、升级、卸载指令:exitOnRebootDetected
    • 执行升级时,继续使用安装时所使用的参数(这样升级全部包时会比较方便,目前仅测试,在新版本正式上线后将默认启用):useRememberedArgumentsForUpgrades
    • 去掉输出内容的颜色:logWithoutColor

    付费功能

    Pro Edition (Individual) 要700+,可用1-8台电脑

    状态同步

    所有付费版本都支持功能。当从外部移除或升级Chocolatey管理的软件时,Chocolatey会更新其状态(移除包记录或提示升级)。

    sync 自动同步

    仅支持商业版!Chocolatey商业版可以检测电脑安装的软件,将不归Chocolatey管理的软件纳入管理。官方文档地址:https://chocolatey.org/docs/features-synchronize#sync-command

    指令很简单:choco sync

     

    尚未实现的功能

    不创建桌面图标

    很遗憾,目前Chocolatey不支持该功能,可见 github issue https://github.com/chocolatey/choco/issues/4

  • 相关阅读:
    Atitit 编程语言编程方法的进化演进 sp  COP ,AOP ,SOP
    Atitit 2016年attilax事业成就表
    Atitit 知识管理的重要方法 数据来源,聚合,分类,备份,发布 搜索
    Atitit webservice发现机制 WS-Discovery标准的规范attilax总结
    Atitit 多元化战略 适合我们发展 的核心业务attilax总结
    Atitit HTTP 认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结
    Atitit. 提升存储过程与编程语言的可读性解决方案v3 qc25.docx
    Atitit zxing二维码qr码识别解析
    Atitit Data Matrix dm码的原理与特点
    Atitit 常用二维码对比(QR、PDF417、DM、汉信码 Aztec code maxicode
  • 原文地址:https://www.cnblogs.com/dragonboom/p/12129662.html
Copyright © 2020-2023  润新知