2012-05-09 2 views
8

Uso Vagrant con Chef per creare una macchina virtuale Ubuntu 12.04. Sto usando i ricettari opscode da qui: https://github.com/opscode/cookbooksVagrant + Chef + apt: è possibile installare una versione specifica di un pacchetto deb su una macchina virtuale Ubuntu?

Voglio utilizzare il ricettario apt di apt per installare i pacchetti. Voglio assicurarmi che installi una versione specifica di un pacchetto, per assicurarmi che l'ambiente di compilazione sia coerente. Ecco un esempio di quello che sto cercando di fare:

package "git" do 
    action :install 
end 

so che se si installa il pacchetto con apt dalla riga di comando, è possibile specificare la versione in questo modo:

apt-get install git=1:1.7.9.5-1 

Ma Non riesco a capire come farlo tramite il ricettario. È possibile?

risposta

13

Penso di aver capito. E 'piuttosto semplice:

package "git" do 
    version "1:1.7.9.5-1" 
    action :install 
end 
+4

Può essere una buona idea mettere il numero di versione in un attributo. In questo modo puoi eseguire un upgrade (o un downgrade!) Senza dover caricare un nuovo libro di cucina. –

+1

Potresti spiegare un po 'di più in profondità? Sono totalmente nuovo nell'usare questo sistema. Grazie! – wch

+1

Si consiglia di dare un'occhiata alla documentazione di Chef [pacchetto risorsa] (http://wiki.opscode.com/display/chef/Resources#Resources-Package) –