Vserver-utils : créer une machine virtuelle à base de Debian et autres distributions

Cet article ne traite pas d'une machine virtuelle destinée à être utilisée avec un logiciel de virtualisation comme Virtual Box ! Nous parlons ici de la technologie Linux-VServer, qui permet de faire tourner de multiples environnements d'exploitation sur un unique noyau. Pour plus d'informations, lisez cet article.

Pré-requis

Il faut avoir configuré et installer une distribution proposant les Vserver-utils, en suivant par exemple la première partie de cet article.

Installation de paquets supplémentaires

apk add perl debootstrap

Création de la machine virtuelle


vserver $NOM_MACHINE build 

    --context $CONTEXTE  
    --interface $IFACE:$IP/$MASK  
    --hostname $NOM_HÔTE --rootdir /$DOSSIER -m debootstrap --  
    -d $RELEASE -m  [ http://$MIRROIR_DISTRIBUTION/$NOM_DISTRIBUTION ](http://$MIRROIR_DISTRIBUTION/$NOM_DISTRIBUTION)  --  
    --verbose --arch=i386 
Quelques explications

$NOM_MACHINE : le nom de la machine virtuelle auquel on fera référence lorsqu'on utilisera les commandes vserver ( start, stop, status, etc. ) $CONTEXTE : le contexte d'exécution ( 1002 par défaut) $IFACE : interface réseau de la machine virtuelle ( ethX, dummyX, etc.) $IP/$MASK : l'adresse IP de la machine virtuelle ( locale ou étendue ) $NOM_HÔTE : nom de la machine virtuelle $DOSSIER : dossier où placer les fichiers de la machine $RELEASE : version de la distribution choisie ( voir le contenu du dossier /usr/lib/util-vserver/distributions/ pour connaitre les distributions disponibles. $MIRROIR_DISTRIBUTION : adresse d'un miroir pour télécharger les paquets de la distribution $NOM_DISTRIBUTION : nom de la distribution (debian, gentoo,suse...). Il se peut que vous obteniez un message d'erreur en fonction de votre version de wget. Le script d'installation en mode 'debootstrap' contient en effet un argument -nv qui correspond à l'option -q dans certaines versions de wget. Il s'agit d'un argument pour rendre wget muet ( respectivement 'no-verbose' et 'quiet' ).

Si vous rencontrez un problème, essayer d'éditer le fichier /usr/lib/util-vserver/vserver-build.debootstrap en remplaçant à la ligne 71 :

$_WGET -nv -O "$dst" "$tmp" par : $_WGET -q -O "$dst" "$tmp"