È possibile installare una versione più recente di cloud-init su Lucid?

4

Uso i dati utente EC2 per configurare determinati servizi prima che vengano lanciati su istanze di nuova attivazione. Ho utilizzato #cloud-boothook come inizio dei dati utente e ha funzionato come un incantesimo su versioni precise e recenti. Tuttavia, l'ultimo pacchetto cloud-init su Lucid (0.5.10) non lo supporta. L'utilizzo di #!/bin/bash all'inizio non funziona poiché viene eseguito troppo tardi nel processo di avvio (dopo l'avvio dei servizi).

C'è un modo per installare cloud-init da zero o tramite un pacchetto di backport? O fondamentalmente un altro modo di utilizzare i dati utente in questo modo?

Qualsiasi aiuto è più che apprezzato.

    
posta ddario 06.12.2013 - 16:53

1 risposta

1

Penso che dovresti chiedere ad Amazon di aggiornare la tua istanza, invece di eseguire il backporting di qualcosa che potrebbe avere problemi imprevisti. Detto questo puoi costruire da fonti se hai i pacchetti corretti. Purtroppo, la seguente guida non ti aiuterà dal momento che python 2.7, un pacchetto che cloud-init dipende da, non è disponibile in Lucido e compila da fonti e installandolo, interromperà il tuo sistema . È consigliabile aggiornare l'installazione del tuo server . La guida seguente funzionerebbe se non fosse per la dipendenza python2.7:

Prima di iniziare:

Ricorda che questa guida non funzionerà. Questa è la procedura su come creare cloud-init dai sorgenti. Abbiamo bisogno di un paio di dipendenze di build condivise su tutti i pacchetti:

sudo apt-get install dpkg-dev build-essentials cdbs debhelper po-debconf pyflakes pylint python-nose

Continua.

Genera problemi di dipendenza:

Tutti i pacchetti tranne uno che cloud-init dipende dalla build è incluso nei repository. Fortunatamente non c'è un inferno di dipendenza dietro, dal momento che solo Python deve essere costruito:

mkdir ~/build && cd ~/build
wget http://archive.ubuntu.com/ubuntu/pool/main/m/mocker/mocker_1.0-0ubuntu3.dsc http://archive.ubuntu.com/ubuntu/pool/main/m/mocker/mocker_1.0.orig.tar.gz http://archive.ubuntu.com/ubuntu/pool/main/m/mocker/mocker_1.0-0ubuntu3.debian.tar.gz
dpkg-source -x mocker_1.0-0ubuntu3.dsc
cd mocker*
dpkg-buildpackage -us -uc -nc

Ora hai un buon debfile nella directory genitore. Puoi installarlo solo chiamando:

sudo dpkg -i ../python-mocker_1.0-*.deb

Avanti

Creazione di cloud-init

Questo è facile:

cd ~/build
wget http://archive.ubuntu.com/ubuntu/pool/main/c/cloud-init/cloud-init_0.6.3-0ubuntu1.dsc http://archive.ubuntu.com/ubuntu/pool/main/c/cloud-init/cloud-init_0.6.3.orig.tar.gz http://archive.ubuntu.com/ubuntu/pool/main/c/cloud-init/cloud-init_0.6.3-0ubuntu1.debian.tar.gz
dpkg-source -x cloud-init_0.6.3-0ubuntu1.dsc
cd cloud-init*
dpkg-buildpackage -us -uc -nc

Ancora una volta, abbiamo ottenuto un bel file deb nella directory superiore:

sudo dpkg -i ../cloud-init*

Fatto ... o così vorrei dire.

    
risposta data Braiam 09.12.2013 - 14:31

Leggi altre domande sui tag