puppet - 在 Windows 10 中使用 puppet 复制 zip 文件并解压缩
问题描述
我正在尝试在 Windows 中使用 puppet 复制一个文件。
代码如下: -
file { 'D:\mycopy\folder\filename':
ensure => present,
mode => '0660',
source => "d:\temp\test.zip",
}
它给了我以下错误
不能使用不透明的 url 文件:\d: est\test.zip
我也想在复制后解压缩。谢谢。
解决方案
Puppet 将反斜杠 (\) 和正斜杠 (/) 识别为 Windows 文件名中的路径分隔符。尽管 Windows shell 需要前者,但后者在 Puppet 清单中使用更安全。
在这种情况下,\t
双引号路径字符串中的两次出现将被解释为表示制表符的转义序列。在这种情况下,您可以通过加倍反斜杠、切换到单引号字符串或切换到正斜杠来解决该问题。作为风格问题,我会切换到单引号(因为字符串内容中没有变量插值或单引号)并切换到正斜杠:
但是,关于不透明 URL 的实际诊断是另一个问题的线索:Puppet 接受 URL 作为File
'source
参数的值,并且它将您的绝对文件名解释为具有方案 'd' 的 URL。要解决此问题,您应该通过file:
URL 表示源:
source => 'file://d:/temp/test.zip'
推荐阅读
- excel - 防止在子迭代时多次单击命令按钮
- database-design - BCNF关系设计中如何表示变长序列?
- sql - 为什么在此查询中我的总和列加倍?
- java - 添加重新打包目标会导致“创建名称为 'entityManagerFactory' 的 bean 时出错”
- laravel - Laravel Passport invalid_grant 用于密码 grant_type
- combobox - Excel:如果 ComboBox 1 为空,则将组合框 3-8 .visible 设置为 false
- jakarta-ee - 当针对 Arquillian 自由管理运行测试时,OpenLiberty 启动冻结
- c - C设计模式执行一系列动作而不阻塞?
- optimization - 如何使用 Flux 在 Julia 中优化循环网络?
- postgresql - 如何确定 Postgres 中每秒的写入事务数