抑制木偶状态 chown
Squelch puppet state chown
我希望使用 puppet 来管理我的 rc 文件(即在工作和家庭之间共享配置文件)。我将 rc 文件保存在 subversion 存储库中。有些机器,我有 sudo 权限,有些我没有。并且 none 台机器在同一网络上。
我有一个简单的人偶文件:
class bashResources ( $home, $svn ) {
file { "$home/.bash" :
ensure => 'directory',
}
file { "$home/.bash/bashrc.d" :
ensure => 'directory',
}
file { "$home/.bash/bashrc.d/bashrc" :
ensure => present,
target => "$home/$svn/rc/bashrc",
}
}
node 'ubuntuwgu290' {
class { 'bashResources':
home => '/home/dshaw',
svn => 'mysvn',
}
}
我有一个简单的配置文件,用于消除一些错误:
[main]
report=false
当我 运行 puppet 时,我收到一个关于无法执行 chown 的恼人错误:
dshaw@ubuntuwgu290:~/mysvn/rc$ puppet apply rc.pp --config ./puppet.conf
Notice: Compiled catalog for ubuntuwgu290.maplesoft.com in environment production in 0.12 seconds
Error: Failed to apply catalog: Operation not permitted @ rb_file_chown - /home/dshaw/.puppet/var/state/state.yaml20170316-894-rzkggd
Error: Could not save last run local report: Operation not permitted @ rb_file_chown - /home/dshaw/.puppet/var/state/last_run_summary.yaml20170316-894-l9embs
我试图通过将 reports=none
添加到我的配置文件来消除错误,但它没有效果。
如何消除这些错误?或者,有没有更轻便的 rc 文件管理工具?
谢谢,
德里克
该错误与 Puppet 试图在 /home/dshaw/.puppet
中管理其自己的元数据有关,与在 Puppet 的目录中注册进行管理的任何文件无关。这通常不是问题,即使您 运行 Puppet 作为普通用户也是如此。事实上,支持这种事情是每个用户 Puppet 元数据存在的原因之一。
Puppet 尝试 chown
的文件并不属于您(否则 Puppet 不会尝试 chown
它们),但它们 应该 属于你,其中 "you" 表示 puppet 进程的 (e)UID 和 (e)GID。您也许可以通过删除 Puppet 的状态目录并让它在下一个 运行 重建它来解决问题。或者,您可以执行或安排手动操作 chown
,例如 Puppet 正在尝试执行的操作。
另一方面,目前还不清楚这种情况最初是如何发生的,我能想象到的一些机制会使这些建议无效。
我希望使用 puppet 来管理我的 rc 文件(即在工作和家庭之间共享配置文件)。我将 rc 文件保存在 subversion 存储库中。有些机器,我有 sudo 权限,有些我没有。并且 none 台机器在同一网络上。
我有一个简单的人偶文件:
class bashResources ( $home, $svn ) {
file { "$home/.bash" :
ensure => 'directory',
}
file { "$home/.bash/bashrc.d" :
ensure => 'directory',
}
file { "$home/.bash/bashrc.d/bashrc" :
ensure => present,
target => "$home/$svn/rc/bashrc",
}
}
node 'ubuntuwgu290' {
class { 'bashResources':
home => '/home/dshaw',
svn => 'mysvn',
}
}
我有一个简单的配置文件,用于消除一些错误:
[main]
report=false
当我 运行 puppet 时,我收到一个关于无法执行 chown 的恼人错误:
dshaw@ubuntuwgu290:~/mysvn/rc$ puppet apply rc.pp --config ./puppet.conf
Notice: Compiled catalog for ubuntuwgu290.maplesoft.com in environment production in 0.12 seconds
Error: Failed to apply catalog: Operation not permitted @ rb_file_chown - /home/dshaw/.puppet/var/state/state.yaml20170316-894-rzkggd
Error: Could not save last run local report: Operation not permitted @ rb_file_chown - /home/dshaw/.puppet/var/state/last_run_summary.yaml20170316-894-l9embs
我试图通过将 reports=none
添加到我的配置文件来消除错误,但它没有效果。
如何消除这些错误?或者,有没有更轻便的 rc 文件管理工具?
谢谢, 德里克
该错误与 Puppet 试图在 /home/dshaw/.puppet
中管理其自己的元数据有关,与在 Puppet 的目录中注册进行管理的任何文件无关。这通常不是问题,即使您 运行 Puppet 作为普通用户也是如此。事实上,支持这种事情是每个用户 Puppet 元数据存在的原因之一。
Puppet 尝试 chown
的文件并不属于您(否则 Puppet 不会尝试 chown
它们),但它们 应该 属于你,其中 "you" 表示 puppet 进程的 (e)UID 和 (e)GID。您也许可以通过删除 Puppet 的状态目录并让它在下一个 运行 重建它来解决问题。或者,您可以执行或安排手动操作 chown
,例如 Puppet 正在尝试执行的操作。
另一方面,目前还不清楚这种情况最初是如何发生的,我能想象到的一些机制会使这些建议无效。