draupnir帮助返回首页

包管理

choco 源安装指导

Windows 侧用 Chocolatey。每个 tier 是一个 NuGet v2 feed,该层发布的所有 Windows 包都在里面 —— 加一个源就能装到该层全部包;同一个令牌在你有权访问的所有层通用。加好源之后就是标准的 choco install / choco upgrade,能自动发现新版本。

| 层 | 源地址 | 是否需要令牌 | |----|--------|--------------| | public | https://<host>/public/nuget/ | 否,公开 | | share | https://<host>/share/nuget/t/<令牌>/ | 是 | | private | https://<host>/private/nuget/t/<令牌>/ | 是 |

和 apt/pacman 一样,令牌是 URL 的一段;不同的是它跟在 nuget 之后(/<tier>/nuget/t/<令牌>/)。feed 返回的每个包的下载地址会原样带上这段前缀,所以 choco 后续取包走的还是同一个已鉴权入口,不需要再配任何凭据。结尾的 / 要保留。

完整性校验

本站的 feed 不做 NuGet 包签名,但会为每个包提供服务端现算的 SHA512(feed 里的 PackageHash),choco 下载后会自行比对,校验不过直接失败。也就是说传输被篡改装不上,但"谁打的包"这件事靠的是 HTTPS + 令牌鉴权,而不是包签名 —— 这点和已签名的 apt/pacman 仓库不同。

前置条件

客户端只需装好 Chocolatey 本体(https://chocolatey.org/install),不需要任何额外插件;服务端也没有独立的 NuGet/IIS 服务,feed 由本站直接生成。

下面按层给出可直接复制的命令:登录后 <令牌><host> 已自动填好,把 <包名> 换成要装的包即可。需要多层的包时,对每一层各加一个源(名字已按层区分)。

public 层(公开,无需令牌)

# 以管理员身份运行 PowerShell,每台机器一次
choco source add -n="draupnir-public" -s="https://mirrors.huntergrey.cn/public/nuget/"

share 层

# 以管理员身份运行 PowerShell,每台机器一次
choco source add -n="draupnir-share" -s="https://mirrors.huntergrey.cn/share/nuget/t/<令牌>/"

private 层

# 以管理员身份运行 PowerShell,每台机器一次
choco source add -n="draupnir-private" -s="https://mirrors.huntergrey.cn/private/nuget/t/<令牌>/"

安装、升级与卸载

choco install <包名> -y
choco upgrade <包名> -y
choco uninstall <包名> -y

加了多个源时,用 -s draupnir-<层> 指定从哪层装,例如 choco install <包名> -s draupnir-share -y

看看某层有什么

choco search <关键词> -s draupnir-<层>
choco search -s draupnir-<层>          # 留空则列出该层全部包

<令牌> 登录后自动填入,或在账户页获取。