我想使用Chef在Linux中共享文件夹。 到目前为止,我有这样的:
#share the path using NFS File.open("/etc/exports", 'a') do |file| file.puts FS_BASE_PATH+" *(rw)" end
哪一个工作,一次。 随后的供应重复此行。
我是否继续这个path,检查文件内容以查看它是否已经包含Ruby中的行? 或者,有没有一个命令来configurationNFS共享,而不必直接编辑出口文件,这是我的代名? 在Windows中,我会使用NET SHARE。
Linux和NFS的风格是:Ubuntu 12.04,nfs-kernel-server
通常建议厨师管理整个文件。 在这种情况下,我会使用“nfs”cookbook中的导出共享属性(或任何其他名称),然后使用“模板”资源来管理文件的内容。 在食谱的属性文件中是这样的,或者通过角色来应用:
default['nfs']['exports'] = ["/srv/export 10.0.0.0/8(ro,sync,no_root_squash)"]
配方中的模板:
template "/etc/exports" do source "exports.erb" mode 00644 end
然后模板本身:
<%- node['nfs']['exports'].each do |line| %> <%= line %> <%- end %>
当然,还有一本非常不错的NFS烹饪书,由厨师社区站点(nfs cookbook)上的优秀烹饪书籍作者出版。 这是非常完整的,包括测试。