Nic*_*kin 6 packages chocolatey
我想下载一堆巧克力包,然后将它们安装在另一台 PC 上(互联网连接不好,所以我不能以通常的方式安装它们)。
是的,我可以一个一个下载安装程序,然后连续安装它们。但是有很多包(大约 20 个),我真的非常喜欢 UNIX 的做事方式。
那么,有没有办法用巧克力来做这样的把戏?
UPD:可能有一种方法可以通过使用自定义Packages.config来实现这一点,我在其中明确更改了source。但是,它需要一个 URL 而不是本地路径。运行一个一次性使用的服务器对于这项任务来说太过分了。
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="chocolateytestpackage" version="0.1" source="somelocation" />
</packages>
Run Code Online (Sandbox Code Playgroud)
我使用 Homebrew 的经验告诉我,如果 Chocolatey 存储下载的软件包,我可以手动从一台 PC 上的存储路径中取出它们,然后放到另一台 PC 上的路径中。将进一步研究它。
首先让我们解决一个误解。
来源可以是以下格式之一:
有关更多信息,请参阅https://github.com/chocolatey/choco/wiki/How-To-Host-Feed#local-folder--unc-share-cifs。
我们已经根据/sf/answers/1301732141/上的内容更新了这个问题
我们称这个过程为内化。您可以手动执行此操作或查看 Chocolatey for Business 来执行此操作。
通常,社区包存储库上的包维护者没有实际软件二进制文件的分发权限,因此包需要指令来下载这些资源并对其进行操作。在内部使用 Chocolatey 时,这不是限制。
虽然有一些方法可以设置原始 nupkg(带有版本,而不是包目录中的版本 - 使用Chocolatey 社区包存储库上包页面左侧的下载)并将下载的二进制文件预设到缓存文件夹中,它是并不总是确定它会起作用。您还可以覆盖缓存位置,以便文件夹不在 TEMP 中。请参阅choco config
,choco config -h
并choco config set cacheLocation c:\some\location
执行此操作。
注意:缓存将仅支持相同的架构,因为您无法从 x64 机器获取结果并期望缓存也下载 32 位安装程序。
对于离线需要的包,您可以管理自己的包,并且可以将软件直接嵌入到包中。当您想要离线管理软件时,这是需要的,因为社区存储库上的大多数内容都受版权法和分发权的约束(为什么他们不简单地嵌入它们代表的软件)。
创建和使用您自己的包是非常安全的,但它确实会占用时间。如果您是为自己做这件事,那么它可能会覆盖您作为消费者使用 Chocolatey 和社区存储库所节省的任何时间。
对于组织,我们开发了 Package Builder,它可以在 5-10 秒内创建完整的软件部署(包)。它还可以在 60 秒内从现有安装的软件(程序和功能)中创建包!阅读有关包生成器的更多信息。
您在这里可以做的最好的事情是一个称为内部化的过程,您可以在其中下载并解压缩包,下载所有资源并将它们嵌入到包中(或将它们放在本地某个地方),编辑脚本以使用这些嵌入/本地资源并重新编译包。
这使您可以利用现有的包逻辑而不会出现互联网问题。
有关更多详细信息,请参阅手动内部化包和包内部化器 - 自动内部化包。
大多数使用 Chocolatey 的组织都在做一些创建包和内部化包的组合,因为在生产场景中使用时,他们需要对这些包的绝对信任和控制。
归档时间: |
|
查看次数: |
7930 次 |
最近记录: |