Chef não excluindo arquivos no caminho% systemroot% \ system32 usando o recurso de arquivo

2

Estou usando o recurso file do chef para excluir arquivos dentro do %systemroot%\system32 caminho na máquina Windows. Bloco de recursos é como abaixo,

file 'Delete_File' do
  path 'C:\Windows\System32\my.dll'
  action :delete
end

Eu tinha garantido que o serviço do Windows que usa esse dll fosse interrompido antes de chamar o bloco de recurso file .

Mas o arquivo ainda não é excluído no final de chef-client run. Então, estou supondo que algumas configurações de permissão de acesso sejam feitas para que isso funcione.

Qualquer ponteiro será útil.

    
por vareda 16.01.2014 / 02:41

1 resposta

2

Suspeito que você esteja usando uma compilação de 32 bits de chef-client no W2K8R2, que é um sistema operacional de arquitetura x64. Asusming esse é o caso do diretório que seu chef-client process "vê" como %systemroot%\system32 é realmente %systemroot%\syswow64 . Eu acho que sua DLL não está lá para ser apagada.

Este foi discutido em um ticket no Opscode e a solução descrita aqui, fazendo referência à notação %systemroot%\sysnative é provavelmente a melhor coisa que você pode fazer.

    
por 16.01.2014 / 03:10