Installation de Linux-VServer sur Debian GNU/Linux 7.0 (Wheezy)

Comme vous le savez sans doute si vous n’êtes pas tombé sur cet article par hasard, avec cette dernière version de Debian, Linux-VServer devient obsolète. Cela signifie qu’il va bientôt falloir migrer vers une autre solution de virtualisation (KVM, Linux Container ou Xen). Cependant, vous avez peut-être besoin de poursuivre avec Linux-VServer quelque temps sans pour autant vous priver de la dernière version stable de Debian.
Si vous êtes conscients que le projet Debian arrête le suivi en sécurité de Linux-VServer et qu’il n’y aura plus de support de ce composant, suivez le guide. Sinon, je vous invite à passer à LXC.

Notes :

  • Je pars du principe que vous avez déjà installé Debian Wheezy
  • Si une partie d’une ligne de commande est surlignée comme ceci, cela signifie qu’elle peut ou doit être adaptée avec vos paramètres ou préférences
  • Ce guide est conçu pour que dans la plupart des cas, vous puissiez vous contenter de faire des copier / coller

Dans le fichier /etc/apt/sources.list, on commente la ligne relative au cd-rom :

sed -i "s/^\(deb cdrom.*\)/#\1$/g" /etc/apt/sources.list

On met à jour le système :

apt-get update
apt-get upgrade

On installe les outils de base et ceux qui seront nécessaires à la compilation :

apt-get install \
wget \
build-essential \
kernel-package \
initramfs-tools \
module-init-tools \
libncurses5-dev \
e2fslibs-dev \
dietlibc-dev \
pkg-config \
vlan \
libnss3 \
libnss3-dev \
debootstrap

On récupère la dernière version du patch Linux-VServer depuis le site http://vserver.13thfloor.at/Experimental/ :

wget -P /usr/src http://vserver.13thfloor.at/Experimental/patch-3.9.5-vs2.3.6.5.diff

On récupère le kernel correspondant depuis le site https://www.kernel.org/pub/linux/kernel/ ou https://www.kernel.org/ :

wget -P /usr/src https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.9.5.tar.gz

On se place dans /etc/src et on décompresse le kernel :

cd /usr/src
tar xvfz linux-3.9.5.tar.gz

On créé le lien symbolique /usr/src/linux qui pointe vers les sources du noyau :

ln -s linux-3.9.5 linux

On récupère la configuration du noyau actuellement en service puis on la copie dans celle du nouveau noyau :

cp /boot/config-3.2.0-4-686-pae /usr/src/linux/.config

Il est également possible de récupérer cette configuration dans le système de fichier procfs, si l’optionKernel .config support du noyau était activée pour le noyau en service :

zcat /proc/config.gz > /usr/src/linux/.config

ou encore dans le répertoire kernel du noyau actuellement en service :

cp /usr/src/linux-3.9.5/.config /usr/src/linux/

On se place dans /usr/src/linux et on applique le patch :

cd /usr/src/linux
patch -p1 < ../patch-3.9.5-vs2.3.6.5.diff

On lance menuconfig :

make menuconfig

et on active les options suivantes :

  • « Enable loadable module support »
  • « Linux VServer »
    • « Automatically Assign Loopback IP »
    • « Enable COW Immutable Link Breaking »
    • « Enable Proc Security »
    • « VServer Warnings »
    • « VServer DevPTS Warnings »

Pensez à enregistrer vos modifications avant de quitter menuconfig : < Save >

On efface tous les fichiers créés dans le répertoire des sources du noyau par la cible build :

make-kpkg clean

On lance la compilation du kernel (l’argument « 4 » de l’option « --jobs » est à adapter en fonction du nombre de threads que peut exécuter votre machine simultanément) :

make-kpkg --initrd --append-to-version vserver --revision 1 kernel-image --jobs 4

Si la compilation s’est bien déroulée, un paquet .deb a été créé dans /usr/src.
On installe le nouveau kernel :

dpkg -i /usr/src/linux-image-3.9.5-vs2.3.6.5vserver_1_amd64.deb

Si vous êtes sur une machine distante à laquelle vous n’avez pas d’accès physique, je vous recommande très fortement de prendre la précaution détaillée dans mon article précédent avant de redémarrer la machine : https://blog.blaisethirard.com/grub-precaution-a-prendre-apres-la-compilation-d-un-nouveau-kernel-sur-un-serveur-distant/

On redémarre la machine :

reboot

Une fois la machine redémarrée, on vérifie que le noyau utilisé est bien celui que nous venons d’installer :

uname -r

Maintenant que nous sommes sur le noyau patché, il ne nous reste plus qu’à installer util-vserver. Pour cela, on télécharge la dernière version à cette adresse : http://people.linux-vserver.org/~dhozac/t/uv-testing :

wget -P /usr/src http://people.linux-vserver.org/~dhozac/t/uv-testing/util-vserver-0.30.216-pre3038.tar.bz2

On se place dans /etc/src et on décompresse l’archive :

cd /usr/src
tar jxvf util-vserver-0.30.216-pre3038.tar.bz2

On se place dans /etc/src/util-vserver-0.30.216-pre3038/ et on lance le script de configuration :

cd util-vserver-0.30.216-pre3038/
./configure --prefix=/usr --enable-release --mandir=/usr/share/man --infodir=/usr/share/info --sysconfdir=/etc --enable-dietlibc --localstatedir=/var --with-vrootdir=/home/srv

On compile util-vserver :

make
make install
make install-distribution

Le script vshelper est utilisé pour arrêter et redémarrer correctement les serveurs virtuels. Nous allons donc indiquer au noyau où il se trouve :

echo /usr/lib/util-vserver/vshelper >| /proc/sys/kernel/vshelper
echo kernel.vshelper = /usr/lib/util-vserver/vshelper >> /etc/sysctl.conf

On démarre util-vserver :

service util-vserver start

Pour finir, on configure le démarrage automatique des services :

update-rc.d vprocunhide defaults
update-rc.d util-vserver defaults
update-rc.d vservers-default defaults

Linux-VServer est à présent installé et fonctionnel sur votre Debian Wheezy !

Vous aimez ?
[Total : 1    Moyenne : 5/5]
Summary
Installation de Linux-VServer sur Debian GNU/Linux 7.0 (Wheezy)
Article Name
Installation de Linux-VServer sur Debian GNU/Linux 7.0 (Wheezy)
Author

1 réflexion sur « Installation de Linux-VServer sur Debian GNU/Linux 7.0 (Wheezy) »

  1. souhaitant adopté Wheezy 7.4 pour délaisser Squeeze Debian ,qui me satisfait totalement mais ne pouvant supprimer un compte “guest” qui me bloque dans toutes mes actions, je choisis de réinstaller ex nihilo Ubuntu version nouvelle après les mesures de sécurité préalables que je n’avais pas effectuées à l’origine de mon désagrément, ainsi qu’un nettoyage complet de mon système.
    Qu’en pensez-vous?
    Avant une éventuelle réponse de votre part ,par je vous précise que mon compte mail est juste authentifié et que je n’ai pas de connexion sécurisée SSH-2 et OpenGnuPG.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.