The Opscode "apt" cookbook la ricetta predefinita verrà eseguita apt-get update
per garantire che la cache del pacchetto venga aggiornata. Ti consigliamo di inserirlo in anticipo nell'elenco di esecuzione del tuo nodo, in modo che in seguito i pacchetti possano essere installati con le versioni corrette.
Generalmente non consigliamo agli utenti di utilizzare "apt-get upgrade
" in una ricetta, per un paio di motivi.
apt-get
può aggiornare un pacchetto che ha la configurazione in conflitto o altri problemi che non possono essere risolti senza eseguire nuovamente il comando, o l'esecuzione di altri comandi apt/dpkg manualmente.
- Gli aggiornamenti automatici di tutti i pacchetti sul sistema possono avere effetti collaterali indesiderati sul sistema in esecuzione (i casi limite sono molti e probabilmente spinosi, quindi non posso coprirli tutti).
Invece, utilizzare l'azione di "aggiornamento" per i pacchetti che devono sempre essere aggiornati alla versione più recente.
package "nginx" do
action :upgrade
end
Se stai riutilizzando un libro di cucina che definisce il libro di cucina, è possibile scrivere una ricetta che modifica l'azione della risorsa esistente, in questo modo:
resources("package[nginx]").action(:upgrade)
Il metodo #resources
in una ricetta cercare nella Raccolta risorse la risorsa specificata (pacchetto nginx). Quindi l'invio del metodo #action
con l'argomento :upgrade
indicherà a Chef che l'azione deve essere eseguita per l'aggiornamento.
ModificaAggiornamento: Fare attenzione quando si sceglie pacchetti che sarebbe stato aggiornato automaticamente in questo modo. Una modifica a monte in un pacchetto può causare effetti dannosi sul sistema. Questo è particolarmente vero se un tale pacchetto fa un riavvio dei servizi che gestisce durante gli script di post-installazione. Conoscere la propria infrastruttura e, in caso di dubbio, eseguire il proprio repository di pacchetti con i pacchetti critici necessari per lo stack di applicazioni.
Questo https://github.com/patdeegan/chef-unattended-upgrades può aiutare? – favoretti
Penso di sì, ma mi interessa se c'è qualche soluzione più leggera. –