Salut,
On Thu, Apr 21, 2011 at 05:42:33PM +0200, Thomas Samson wrote:
Il est possible d'alleger pas mal le chroot en le générant avec debootstrap --variant=minbase (et meme ajouter --include= pour la liste des packages a installer). Le systeme généré sera quand meme un systeme debian suffisament complet et pourra etre mis a jour avec apt-get.
C'est ce qui est utilisé notamment par lxc-create pour le template 'debian'. Et c'est un bon moyen d'avoir une mini-debian sans lutter avec ldd.
(et s'il faut vraiment un mini-chroot, alors un outil comme makejail est nettement plus pratique que l'analyse manuelle pour trouver les dépendances)
J'insiste bien sur LXC, ça te permet de créer un chroot++. Les processus contenus dans le LXC (il s'agit d'ailleurs d'une technologie de "container") sont isolés du reste du système, ce qui : - augmente la sécurité (même le root sur le LXC ne peut toucher aux processus "extérieurs" au LXC) ; - permet de mettre en place de la limitation de resources (via des cgroups) ; - facilite l'administration puisque tu as une Debian à part entière dans ton LXC et que les processus ne se bind qu'aux IP disponibles dans le LXC (donc pas de configuration applicative).
Personnellement, j'ai mis en place cette solution pour un client au moyen d'OpenSVC [1], je lui ai migré toute sa plateforme de dev dans un LXC. Plusieurs intérêts : - l'arrêt et le démarrage du serveurs (et par transitivité, des services) est très simple (une commande) ; - le LXC tout entier (donc non seulement les data, mais aussi les metadatas) peut-être synchronisé périodiquement sur un autre serveur afin d'assurer un backup et de la redondance en cas de crash.
Petit bémol, j'ai dû un petit peu ruser pour arrêter le LXC proprement avec OpenSVC, car celui-ci gère normallement des services (applications) et non des serveurs virtuels donc une fois qu'il considère que les applications sont arrêtées, il coupe le LXC un peu brutalement :). Je peux vous la communiquer au besoin.
[1] http://www.opensvc.com/ Howto LXC @OVH : http://www.opensvc.com/init/default/doc_cookbook_lxcovh