zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    RESTFUL API 安全设计指南
    智能设备逆向工程之外部Flash读取与分析篇
    物联网安全拔“牙”实战——低功耗蓝牙(BLE)初探
    linux&win7双系统安装
    智能设备只依托加速度感应计算距离是否可行?
    解决T400T500W500等安装win10驱动后黑屏问题
    TCP连接的状态与关闭方式及其对Server与Client的影响
    轻松解决Linux安装Eclipse方法
    京东实习面试
    北森云面试
  • 原文地址:https://www.cnblogs.com/dragonboom/p/12129662.html
Copyright © 2011-2022 走看看