Puppet 木偶-完全删除ini_设置
我正在使用puppet 4.5.3和ini_设置模块版本1.4.2。我需要能够删除ini文件中的节。例如:Puppet 木偶-完全删除ini_设置,puppet,manifest,ini,Puppet,Manifest,Ini,我正在使用puppet 4.5.3和ini_设置模块版本1.4.2。我需要能够删除ini文件中的节。例如: [header] ip = '1.1.1.1' hostname = 'myserver' port = 80 我可以使用sure=>缺席参数删除ini文件的每个部分,但是我找不到一种方法来删除节头,或者最好在一个命令中删除整个部分 我剩下的是 [header] 有人知道如何做到这一点吗?不幸的是,在同一个文件中还有其他章节需要保留,因此我不能简单地删除该文件 谢谢,使用Augeas类
[header]
ip = '1.1.1.1'
hostname = 'myserver'
port = 80
我可以使用sure=>缺席
参数删除ini文件的每个部分,但是我找不到一种方法来删除节头,或者最好在一个命令中删除整个部分
我剩下的是
[header]
有人知道如何做到这一点吗?不幸的是,在同一个文件中还有其他章节需要保留,因此我不能简单地删除该文件
谢谢,使用Augeas类型:
augeas { 'remove_ini_header':
incl => '/etc/example.ini',
lens => 'IniFile.lns_loose',
changes => 'rm section[. = "header"]',
}
为了稍微分解一下,首先我使用内置的INI文件.lns_loose
镜头(即INI文件的“通用”松散解析)和augtool
查看树的当前状态:
$ augtool -t "IniFile.lns_loose incl /etc/example.ini"
augtool> print /files/etc/example.ini
/files/etc/example.ini
/files/etc/example.ini/section = "header"
/files/etc/example.ini/section/ip = "'1.1.1.1'"
/files/etc/example.ini/section/hostname = "'myserver'"
/files/etc/example.ini/section/port = "80"
整个节位于树的一部分,因此为该节调用rm
将删除整个子树
要匹配标题部分,需要搜索名为
部分
的节点,其中值(右侧)为标题
。命令的[.=“header”]
部分用于筛选具有值header
的节点。如果使用augeas删除文件的大部分,包括头,您可能会运气更好:。这看起来对你有吸引力吗?这是我在屈服于奥格斯的疯狂之前的最后一次成功尝试:(我也不是特别喜欢奥格斯,但这可能是你在这里的最佳选择。