web-dev-qa-db-fra.com

Est-il possible d'installer une version plus récente de cloud-init sur Lucid?

J'utilise les données utilisateur EC2 pour configurer certains services avant qu'ils ne soient lancés sur des instances nouvellement démarrées. J'utilise _#cloud-boothook_ comme début des données utilisateur, et cela a fonctionné comme un charme pour les versions précises et plus récentes. Toutefois, le dernier package _cloud-init_ sur Lucid (0.5.10) ne le prend pas en charge. L'utilisation de _#!/bin/bash_ au début ne fonctionne pas car elle est exécutée trop tard dans le processus de démarrage (après le démarrage des services).

Existe-t-il un moyen d'installer _cloud-init_ à partir de zéro ou via un package de port arrière? Ou fondamentalement tout autre moyen d'utiliser les données utilisateur de cette manière?

Toute aide est plus qu'appréciée.

4
ddario

Je pense que vous devriez demander à Amazon de mettre à niveau votre instance, au lieu de porter en arrière-plan quelque chose qui pourrait avoir des problèmes inattendus. Cela dit, vous pouvez construire à partir de sources si vous avez les bons packages. Malheureusement, le guide suivant ne vous aiderait pas car python 2.7, un paquetage qui cloud-init = dépend de, n’est pas disponible dans lucid et sa compilation à partir de sources et son installation endommageront votre système . Il est conseillé de mettre à niveau votre installation de serveur . Le guide ci-dessous ne fonctionnerait pas pour la dépendance python2.7:


Avant de commencer:

Rappelez-vous que ce guide ne fonctionnera pas. Voici la procédure à suivre pour créer cloud-init à partir de sources. Nous avons besoin de quelques dépendances de construction partagées avec tous les packages:

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

Continuez.

Construire des problèmes de dépendance:

Tous les paquets sauf ceux que cloud-init dépend de la construction sont inclus dans les référentiels. Heureusement, il n'y a pas de dépendance derrière cela, car il suffit de construire python:

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

Vous avez maintenant un fichier debfile Nice dans le répertoire parent. Vous pouvez l'installer en appelant simplement:

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

Prochain

Construire cloud-init

C'est 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

De nouveau, nous avons un fichier Nice deb dans le répertoire parent:

Sudo dpkg -i ../cloud-init*

Fait ... ou alors je voudrais dire.

1
Braiam