2014-09-29 8 views
20

Zunächst entschuldige ich mich für eine solche dumme Frage. Aber der Grund, warum ich frage, ist, weil es mir schwer fällt, eine Antwort zu finden. Ich habe versucht, Chefs Dokumente zu suchen, aber ich habe keine klare Erklärung gefunden.Was macht `Chef :: Config [: file_cache_path]` genau?

Also was genau bietet Chef::Config[:file_cache_path]? Ich habe gelesen, dass es besser ist, dies zu verwenden, anstatt einen Dateipfad zu kodieren. Aber was bewertet es?

In diesem speziellen Schnipsel

newrelic_agent = Chef::Config[:file_cache_path] + '/rewrelic_nginx_agent.tar.gz' 


remote_file newrelic_agent do 
    source 'http://nginx.com/download/newrelic/newrelic_nginx_agent.tar.gz' 
    mode "0744" 
end 

Vielen Dank im Voraus.

Antwort

20

Der spezifische Wert variiert je nach Plattform und Installationsmethode, aber dieser Konfigurationswert wird standardmäßig auf einen Wert gesetzt, an dem temporäre Dateien ausgegeben werden können. Im Allgemeinen wird es so etwas wie /var/chef/cache sein. Dies wird für das Zwischenspeichern von Kochbüchern und Dateien in ihnen verwendet, aber wie Sie bemerkt haben, können Sie es auch aus Ihrem eigenen Code für die gleiche Art von Sache verwenden.

+2

Andere Gründe,/tmp nicht zu verwenden, wäre, dass einige Betriebssysteme dies auf eine Ramdisk für Geschwindigkeit setzen, und einige mounten es noexec für die Sicherheit. – coderanger

+1

Danke. Ich konnte hier nur eine gute Erklärung finden (http://docs.getchef.com/config_rb_client.html). – switchflip

+1

@StephenKing Als jemand, der in den letzten zwei Jahren eine Menge Koch gelernt hat, kann ich den Kerl nicht beschuldigen. Es gibt mehrere Versionen der Dokumente auf der Website von opscode allein, und es ist nicht wirklich klar, welche Version aktuell ist. Um das Ganze abzurunden, ist es nicht einfach, die richtige Seite zu finden, um eine gegebene Frage zu beantworten. Mir ist klar, dass du zumindest teilweise Witze gemacht hast, aber ich würde sagen, ich hätte nicht gewusst, wo in der Dokumentation, um es zu finden. –