代码之家  ›  专栏  ›  技术社区  ›  AfDev

尝试创建两个目录的符号链接时出现厨师链接错误

  •  3
  • AfDev  · 技术社区  · 10 年前

    我似乎无法让厨师在两个目录之间创建符号链接。我想在两个不同的目录之间创建一个符号链接。( /var/log/nginx /data/logs/nginx ).

    directory node[:nginx][:log_dir] do
      owner 'root'
      mode 00777
      action :create
     end
    
    directory node[:nginx][:integration][:log_dir] do
      owner 'root'
      mode 00777
      action :create
    end
    
    link node[:nginx][:integration][:log_dir] do
      to node[:nginx][:log_dir]
    end
    

    我收到以下错误

    Errno::EISDIR
    Is a directory - var/log/nginx
    
    link("var/log/nginx") do
      provider Chef::Provider::Link
      action :create
      retries 0
      retry_delay 2
      guard_interpreter :default
      to "/data/logs/nginx/"
      link_type :symbolic
      target_file "var/log/nginx"
      cookbook_name :nginx_integration
      recipe_name "default"
    end
    
    1 回复  |  直到 10 年前
        1
  •  5
  •   StephenKing    10 年前

    您不能创建 node[:nginx][:integration][:log_dir] 作为目录,因为这样它就不能是符号链接。

    只需删除声明 directory[#{node[:nginx][:integration][:log_dir]}] .