<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://lea-linux.org/docs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nantes+geek</id>
	<title>Lea Linux - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://lea-linux.org/docs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nantes+geek"/>
	<link rel="alternate" type="text/html" href="https://lea-linux.org/documentations/Sp%C3%A9cial:Contributions/Nantes_geek"/>
	<updated>2026-04-20T03:01:09Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Software-soft_emul-xen&amp;diff=15993</id>
		<title>Software-soft emul-xen</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Software-soft_emul-xen&amp;diff=15993"/>
		<updated>2008-08-21T07:13:48Z</updated>

		<summary type="html">&lt;p&gt;Nantes geek : /* Commandes de démarrage et d&amp;#039;arrêt de systèmes virtualisés */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{En construction}}&lt;br /&gt;
= Virtualisation avec Xen =&lt;br /&gt;
&lt;br /&gt;
== Introduction à la virtualisation ==&lt;br /&gt;
La virtualisation de systèmes informatiques consiste à faire fonctionner sur une même machine (physique) plusieurs systèmes d&#039;exploitation en même temps.&lt;br /&gt;
Concrètement, un système d&#039;exploitation, dit « hôte », est installé sur la machine « physique » et émule une ou plusieurs machines « virtuelles » (avec processeur, mémoire, disque dur, carte réseau, BIOS, ...). Chaque machine virtuelle peut accueillir un système d&#039;exploitation dit « virtualisé » (ou « invité »). Le système hôte assure le cloisonnement entre les systèmes virtualisés et le partage des ressources physiques : c&#039;est un « superviseur ».&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cadre type=note&amp;gt;&#039;&#039;&#039;Remarque :&#039;&#039;&#039; le système hôte et les systèmes invités peuvent être tous différents : il peut y avoir un superviseur Linux, un système invité Windows 2003 serveur et un autre système invité Mac OS X.&amp;lt;/cadre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les systèmes virtualisés sont manipulables à souhait par le superviseur : démarrage, arrêt, gel, sauvegarde de contexte ... De plus, comme le disque dur d&#039;un système virtualisé est généralement émulé par un fichier, il est facile de dupliquer un système virtualisé ou de le faire migrer d&#039;un hôte à un autre.&lt;br /&gt;
La virtualisation permet donc d&#039;utiliser de manière optimale les ressources d&#039;une machine : on peut ajouter des machines virtuelles si la machine physique est sous-exploitée (économie d&#039;argent par mutualisation des ressources) ou en supprimer si elle est saturée (gestion de la montée en charge).&lt;br /&gt;
Enfin la virtualisation permet une répartition des services sur plusieurs machines virtuelles et par là même une meilleure sécurité : si un système est compromis, les autres peuvent continuer à fonctionner normalement.&lt;br /&gt;
&lt;br /&gt;
Les logiciels de virtualisation sont nombreux (Qemu, Bochs, VmWare, ...). La plupart d&#039;entre eux émulent des machines virtuelles complètes : les systèmes invités n&#039;ont pas conscience de fonctionner sur du matériel virtuel. Par contre, l&#039;émulation de la machine virtuelle induit une surcharge qui grève les performances des systèmes virtualisés.&lt;br /&gt;
&lt;br /&gt;
Le principe de fonctionnement de Xen est différent : c&#039;est un « paravirtualiseur » de machines virtuelles, c&#039;est à dire que les systèmes invités ont « conscience » de sa présence (ils doivent d&#039;ailleurs être modifiés pour fonctionner avec Xen). L&#039;avantage de cette solution est que Xen n&#039;a pas besoin d&#039;émuler de machines virtuelles, d&#039;où des performances remarquables. Par contre les systèmes propriétaires comme Windows ne peuvent être modifiés sans l&#039;accord de leur éditeur. Ce problème est résolu avec l&#039;avènement de processeurs intégrant le support matériel de la virtualisation (« Pacifia » pour AMD, « Virtualization Technology » pour Intel, ce qui permet de virtualiser des systèmes avec Xen sans avoir à les modifier.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cadre type=note&amp;gt;&#039;&#039;&#039;Remarque :&#039;&#039;&#039; bien qu&#039;étant un logiciel libre, Xen bénéficie du soutien de partenaires industriels, acteurs majeurs de l&#039;informatique.&amp;lt;/cadre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Préparation de l&#039;environnement de travail ==&lt;br /&gt;
Les instructions de cette documentation supposent que la mise en place de Xen s&#039;effectue depuis une distribution &#039;&#039;&#039;Linux Slackware&#039;&#039;&#039;, mais sont transposables à n&#039;importe quelle distribution avec quelques adaptations. Pour information, les dernières versions testées des logiciels utilisés pour la mise en place de la solution de virtualisation sont : Slackware-10.2, xen-2.0.7, bridge-utils-1.0.6, tightvnc-1.2.9, twisted-2.1.0, twistedweb-0.5.0, et zopeinterface-2.0.1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le système servant à construire la solution de virtualisation doit disposer des outils de développement suivants :&amp;lt;br/&amp;gt;&#039;&#039;&#039; binutils, gcc, glibc kernel-headers, make, python, x11-devel&#039;&#039;&#039;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Peut-être faudra t-il ajouter ces autres outils de développement :&amp;lt;br/&amp;gt;&#039;&#039;&#039;autoconf, automake, bin86, bison, flex, gcc-g++, gettext-tools, libtool, m4, perl, pkgconfig&#039;&#039;&#039;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Il faudra également installer le gestionnaire d&#039;amorce &#039;&#039;&#039;GRUB&#039;&#039;&#039; (LiLo ne permet pas de démarrer Xen).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Récupérer les paquetages Slackware suivants et les placer dans le répertoire /root/ressources-xen (par exemple) :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
aaa_base-10.2.0-noarch-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
aaa_elflibs-10.2.0-i486-3.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
bash-3.0-i486-3.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
bin-10.2-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
bzip2-1.0.3-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
coreutils-5.2.1-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
curl-7.12.2-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
cxxlibs-5.0.7-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
dcron-2.3.3-i486-5.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
devs-2.3.1-noarch-22.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
e2fsprogs-1.38-i486-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
elvis-2.2_0-i486-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
etc-5.1-noarch-10.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
findutils-4.1.7-i386-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
fluxbox-0.9.13-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
gawk-3.1.5-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
gettext-0.14.3-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
glibc-solibs-2.3.5-i486-5.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
glibc-zoneinfo-2.3.5-noarch-5.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
grep-2.5-i386-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
groff-1.19.1-i486-3.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
gzip-1.3.3-i386-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
hotplug-2004_09_23-noarch-5.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
infozip-5.52-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
iproute2-2.6.11_050330-i486-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
iptables-1.3.3-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
kbd-1.12-i486-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
less-382-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
libidn-0.5.17-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
man-1.5p-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
mkinitrd-1.0.1-i486-3.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
module-init-tools-3.1-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
mozilla-firefox-1.0.6-i686-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
openssl-solibs-0.9.7g-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
pciutils-2.1.11-i486-6.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
perl-5.8.7-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
pkgtools-10.2.0-i486-5.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
procps-3.2.5-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
python-2.4.1-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
sed-4.0.9-i486-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
shadow-4.0.3-i486-11.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
sysklogd-1.4.1-i486-9.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
sysvinit-2.84-i486-56.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
tar-1.15.1-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
tcpip-0.17-i486-35.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
traceroute-1.4a12-i386-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
udev-064-i486-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
usbutils-0.11-i486-3.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
utempter-1.1.3-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
util-linux-2.12p-i486-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
x11-6.8.2-i486-3.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
x11-fonts-misc-6.8.2-noarch-3.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Récupérer les sources des programmes suivants (ils ne font pas partie des paquetages de la distribution) :&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;zopeinterface:	http://www.zope.org/Products/ZopeInterface&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;twisted et twistedweb:	http://twistedmatrix.com/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;tightvnc:	http://www.tightvnc.com/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;bridge-utils:	http://bridge.sourceforge.net/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Construire des paquetages pour ces programmes, puis ranger les paquetages dans /root/ressources-xen :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
export  VERSION=`ls bridge-utils* | sed s/.tar.gz//`&amp;lt;br/&amp;gt;&lt;br /&gt;
tar -zxvf $VERSION.tar.gz; cd $VERSION&amp;lt;br/&amp;gt;&lt;br /&gt;
./configure --prefix=/usr; make; make install DESTDIR=`pwd`/pack&amp;lt;br/&amp;gt;&lt;br /&gt;
cd pack; makepkg -l y -c y ../../$VERSION-i486-perso; cd ../..; rm -rf $VERSION&lt;br /&gt;
&lt;br /&gt;
export  VERSION=`ls tightvnc* | sed s/_unixsrc.tar.gz//`&amp;lt;br/&amp;gt;&lt;br /&gt;
tar -zxvf $VERSION\_unixsrc.tar.gz; cd vnc_unixsrc&amp;lt;br/&amp;gt;&lt;br /&gt;
PATH=$PATH:/usr/X11/bin; xmkmf; make World&amp;lt;br/&amp;gt;&lt;br /&gt;
cd Xvnc; ./configure --prefix=/usr; make; cd ..&amp;lt;br/&amp;gt;&lt;br /&gt;
mkdir -p pack/usr/{bin,man/man1}&amp;lt;br/&amp;gt;&lt;br /&gt;
./vncinstall `pwd`/pack/usr/bin `pwd`/pack/usr/man&amp;lt;br/&amp;gt;&lt;br /&gt;
cd pack; makepkg -l y -c y ../../$VERSION-i486-perso.tgz; cd ../..; rm -rf vnc_unixsrc&lt;br /&gt;
&lt;br /&gt;
export  VERSION=`ls Twisted-* | sed s/.tar.bz2//`&amp;lt;br/&amp;gt;&lt;br /&gt;
tar -jxvf $VERSION.tar.bz2; cd $VERSION; mkdir pack&amp;lt;br/&amp;gt;&lt;br /&gt;
python setup.py build; python setup.py install --root `pwd`/pack&amp;lt;br/&amp;gt;&lt;br /&gt;
cd pack; makepkg -l y -c y ../../$VERSION-i486-perso.tgz; cd ../..; rm -rf $VERSION&lt;br /&gt;
&lt;br /&gt;
export  VERSION=`ls TwistedWeb* | sed s/.tar.bz2//`&amp;lt;br/&amp;gt;&lt;br /&gt;
tar -jxvf $VERSION.tar.bz2; cd $VERSION; mkdir pack&amp;lt;br/&amp;gt;&lt;br /&gt;
python setup.py build; python setup.py install --root `pwd`/pack&amp;lt;br/&amp;gt;&lt;br /&gt;
cd pack; makepkg -l y -c y ../../$VERSION-i486-perso.tgz; cd ../..; rm -rf $VERSION&lt;br /&gt;
&lt;br /&gt;
export  VERSION=`ls ZopeInterface* | sed s/.tgz//`&amp;lt;br/&amp;gt;&lt;br /&gt;
tar -zxvf $VERSION.tgz; cd $VERSION; mkdir pack&amp;lt;br/&amp;gt;&lt;br /&gt;
python setup.py build; python setup.py install --root `pwd`/pack&amp;lt;br/&amp;gt;&lt;br /&gt;
cd pack; makepkg -l y -c y ../../$VERSION-i486-perso.tgz; cd ../..; rm -rf $VERSION&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation de l&#039;hôte Xen ==&lt;br /&gt;
1. Formater la partition système en « ext3 » puis la monter (il faut une partition libre de 1 Go pour installer l&#039;hôte Xen et un système virtualisé) :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mke2fs  -j  partition_système_hôte	#exemple:  mke2fs  -j  /dev/hda7&amp;lt;br/&amp;gt;&lt;br /&gt;
mount  partition_système_hôte  point_de_montage_système_hôte	#exemple: mount  /dev/hda7  /mnt/partitions/hda7&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Installer dans la partition système de l&#039;hôte (option « -root » de « installpkg ») les paquetages qui lui sont nécessaires :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
cd  /root/ressources-xen/&amp;lt;br/&amp;gt;&lt;br /&gt;
for  p  in  *.tgz; do  installpkg  -root  point_de_montage_système_hôte  $p; done&amp;lt;br/&amp;gt;&lt;br /&gt;
ldconfig  -r   point_de_montage_système_hôte&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Créer le fichier « /etc/fstab » du système hôte (« vi   /point_de_montage_système_hôte/etc/fstab ») :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
partition_système  /  ext3  defaults  1  1	#/dev/hda7 pour l&#039;exemple&amp;lt;br/&amp;gt;&lt;br /&gt;
none  /proc  proc  defaults  0  0&amp;lt;br/&amp;gt;&lt;br /&gt;
none  /sys  sysfs  defaults  0  0&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Télécharger la distribution compilée de Xen: http://www.xensource.com/xen/downloads/&lt;br /&gt;
&lt;br /&gt;
5. Pour installer le noyau et les outils Xen, il faut extraire les fichiers de l&#039;archive « xen-x.y.z-install-x86_32.tgz » dans le répertoire « /tmp » du système hôte, puis « basculer » (« chroot ») vers ce système pour exécuter le script d&#039;installation. Attention, le programme d&#039;installation prévoit d&#039;installer les scripts de démarrage de Xen dans le répertoire « /etc/init.d » alors que Slackware utilise le répertoire « /etc/rc.d ». De même, Xen installe les « modules python » dans le répertoire « /usr/lib/python » alors que Slackware utilise « /usr/lib/python2.4 ». Des liens symboliques résolvent le « problème »:&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
pushd /point_de_montage_système_hôte/tmp; tar -zxvf /root/xen-*.tgz; popd&lt;br /&gt;
&lt;br /&gt;
chroot  point_de_montage_partition_système_hôte&amp;lt;br/&amp;gt;&lt;br /&gt;
cd  /etc;  ln  -s  rc.d  init.d&amp;lt;br/&amp;gt;&lt;br /&gt;
cd  /usr/lib;  ln  -s  python2.4  python&amp;lt;br/&amp;gt;&lt;br /&gt;
cd  /tmp/xen-x.y-install;  ./install.sh&amp;lt;br/&amp;gt;&lt;br /&gt;
cd  /etc/rc.d;  mv  xend  rc.xend	#pour s&#039;adapter aux conventions&amp;lt;br/&amp;gt;&lt;br /&gt;
rm  -f  /etc/init.d	#de la distribution Linux Slackware&amp;lt;br/&amp;gt;&lt;br /&gt;
exit&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. Le système hôte est prêt. Il faut maintenant installer « Grub » si ce n&#039;est pas déjà fait, puis le configurer en ajoutant les lignes suivantes au fichier « menu.lst » de « Grub » pour amorcer le système hôte :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
title  Xen  2.0  /  XenLinux  2.6&amp;lt;br/&amp;gt;&lt;br /&gt;
root (hd0,6)	#pour un hôte installé sur /dev/?da7&amp;lt;br/&amp;gt;&lt;br /&gt;
kernel  /boot/xen-2.0.gz  dom0_mem=98304	#96 Mo de RAM alloués à l&#039;hôte&amp;lt;br/&amp;gt;&lt;br /&gt;
module  /boot/vmlinuz-2.6-xen0  root=/dev/hda7  ro&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation d&#039;un système virtualisé ==&lt;br /&gt;
1. Créer un fichier (« /tmp/invite.img ») pour émuler le disque dur du système virtualisé dans la partition système de l&#039;hôte, le formater, le monter puis y recopier les fichiers du système hôte :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
dd  if=/dev/zero  of=/point_de_montage_système_hôte/tmp/invite.img   bs=1024k  count=500&amp;lt;br/&amp;gt;&lt;br /&gt;
mke2fs  -j  /point_de_montage_système_hôte/tmp/invite.img&amp;lt;br/&amp;gt;&lt;br /&gt;
mount  -o  loop  /point_de_montage_système_hôte/tmp/invite.img  /mnt/tmp&amp;lt;br/&amp;gt;&lt;br /&gt;
cp  -dpR  /point_de_montage_système_hôte/*  /mnt/tmp/&amp;lt;br/&amp;gt;&lt;br /&gt;
umount   /mnt/tmp #l&#039;installation du système virtualisé est terminée&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Éditer le fichier de configuration (« point_de_montage_système_hôte/tmp/invite.cfg » par exemple) pour permettre à Xen de démarrer ce système virtualisé. Exemple :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
kernel = &amp;quot;/boot/vmlinuz-2.6-xenU&amp;quot;	#noyau pour un système virtualisé&amp;lt;br/&amp;gt;&lt;br /&gt;
memory = 96 #Mo	#mémoire allouée au système virtualisé&amp;lt;br/&amp;gt;&lt;br /&gt;
name = &amp;quot;invite&amp;quot;	#nom donné au système virtualisé&amp;lt;br/&amp;gt;&lt;br /&gt;
disk = [ &#039;file:/tmp/invite.img,hda7,w&#039; ]	#le système virtualisé verra le fichier /tmp/invite.img de l&#039;hôte comme /dev/hda7 (à adapter)&amp;lt;br/&amp;gt;&lt;br /&gt;
root = &amp;quot;/dev/hda7 ro&amp;quot;	#partition racine du système virtualisé (à adapter)&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Remarque : si la partition système de l&#039;hôte est « /dev/hda7 », alors le système virtualisé qui est un « clone » du système hôte à la même partition système. Il est possible de lui en définir une autre, à condition d&#039;adapter son fichier « /etc/fstab », et de modifier le fichier de configuration précédent en conséquence.&lt;br /&gt;
&lt;br /&gt;
== Mise en oeuvre de la virtualisation ==&lt;br /&gt;
===Commandes de démarrage et d&#039;arrêt de systèmes virtualisés===&lt;br /&gt;
1. Démarrer le système hôte puis démarrer le service Xen :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/rc.d/rc.xend start&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
2. Démarrer le système virtualisé avec la commande :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
 xm   create   fichier_de_configuration   -c  # ( exemple : « xm   create   /tmp/invite.cfg   -c » )&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Attention : le système virtualisé s&#039;approprie cette console ...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cadre type=note&amp;gt; Remarque : Pour sortir de la console : ctrl + altGr+] &amp;lt;/cadre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Sur une console de l&#039;hôte, afficher la liste des systèmes actifs : &lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
xm   list&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
4. Pour arrêter le système virtualisé (depuis une console de l&#039;hôte) :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
xm   shutdown   nom_système_virtualisé  # (« invite » par exemple).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuration du réseau entre l&#039;hôte et le système virtualisé===&lt;br /&gt;
Rappel : lorsqu&#039;aucun masque de réseau n&#039;a été spécifié, la commande « ifconfig » attribue un masque « naturel » à l&#039;interface (8 bits pour une adresse de classe A, 16 bits pour une adresse de classe B, ...).&lt;br /&gt;
&lt;br /&gt;
Pour que l&#039;hôte puisse communiquer avec le système virtualisé, il faut attribuer une adresse IP à l&#039;interface « xen-br0 » de l&#039;hôte et à l&#039;interface « eth0 » du système virtualisé(ces deux adresses doivent être dans le même réseau). &lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&lt;br /&gt;
Sur une console de l&#039;hôte : &lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ifconfig   xen-br0   192.168.1.254&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur la console du système virtualisé :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ifconfig   eth0   192.168.1.1&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tester la communication entre l&#039;hôte et le système virtualisé avec la commande « ping ». &lt;br /&gt;
&lt;br /&gt;
De puis l&#039;hôte : &lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ping   192.168.1.1 # (« CTRL + C » pour arrêter).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Configuration du réseau entre le système virtualisé et d&#039;autres machines(1ère méthode)===&lt;br /&gt;
L&#039;objectif suivant consiste à permettre au système virtualisé de communiquer avec une machine physique différente de l&#039;hôte. Il faut pour cela :&lt;br /&gt;
&lt;br /&gt;
1.configurer le réseau entre l&#039;hôte et le système virtualisé (si ce n&#039;est pas déjà fait),&lt;br /&gt;
&lt;br /&gt;
2.attribuer des adresses IP aux interfaces physiques des machines (dans le même réseau que celle de la machine virtuelle : « xen-br0 » est un pont, pas un routeur) :&lt;br /&gt;
&lt;br /&gt;
pour l&#039;hôte : &lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ifconfig   eth0   192.168.1.101&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pour une « autre machine physique » :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ifconfig   eth0   192.168.1.102&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3.tester la communication depuis une autre machine physique vers l&#039;hôte puis vers le système virtualisé (« ping »).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Configuration du réseau entre le système virtualisé et d&#039;autres machines(2ème méthode)===&lt;br /&gt;
Une autre solution pour accéder à un système virtualisé depuis une autre machine physique est d&#039;avoir un hôte transparent, c&#039;est à dire sans adresse IP :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1.L&#039;hôte ne doit avoir ni adresses IP, ni routes. &lt;br /&gt;
&lt;br /&gt;
Pour supprimer l&#039;adresse IP affectée à l&#039;interface « xen-br0 » : &lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ifconfig   xen-br0   0.0.0.0 &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Vérifier ensuite que l&#039;interface « eth0 » est en mode promiscuité. Si besoin :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ifconfig   eth0   promisc   up&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2.Sur le système virtualisé, attribuer les adresses IP ainsi que les routes comme pour un système fonctionnant sur une machine physique.&lt;br /&gt;
&lt;br /&gt;
3.Tester la communication depuis une autre machine physique vers le système virtualisé. Remarque : l&#039;hôte n&#039;est plus joignable.&lt;br /&gt;
&lt;br /&gt;
4.Pour que l&#039;hôte puisse communiquer avec le système virtualisé (utilisation de VNC par exemple), il faut attribuer une adresse IP à l&#039;interface « xen-br0 ».&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Prise de contrôle d&#039;un système virtualisé par VNC===&lt;br /&gt;
1.configurer le réseau entre l&#039;hôte et le système virtualisé (si ce n&#039;est pas déjà fait),&lt;br /&gt;
&lt;br /&gt;
2.démarrer l&#039;interface graphique sur l&#039;hôte : &lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
startx &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3.sur le système virtualisé, démarrer le serveur VNC : &lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
vncserver &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4.sur l&#039;hôte, enregistrer le mot de passe défini sur le système virtualisé :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
vncpasswd&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5.sur l&#039;hôte, prendre le contrôle du système virtualisé par VNC :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
vncviewer -geometry 800x600 -passwd /root/.vnc/passwd 192.168.1.1:1&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Améliorer l&#039;interface===&lt;br /&gt;
Le gestionnaire de fenêtres utilisé par défaut par l&#039;interface graphique et par VNC est « TWM ». Il sera avantageusement remplacé par « Fluxbox » qui, tout en n&#039;utilisant qu&#039;un minimum de ressources, est beaucoup plus convivial.&lt;br /&gt;
&lt;br /&gt;
Sur l&#039;hôte, modifier le lien qui définit le gestionnaire de fenêtres à utiliser puis redémarrer l&#039;interface graphique:&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
« cd   /etc/X11/xinit;   ln   -sf   xinitrc.fluxbox   xinitrc »&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur le système virtualisé : éditer le fichier « /root/.vnc/xstartup » et remplacer « twm » par « fluxbox », puis redémarrer le serveur VNC :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
vncserver   -kill   :1;   vncserver&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur l&#039;hôte, pour prendre le contrôle d&#039;un système virtualisé sans avoir à saisir de commande, il suffit d&#039;ajouter une entrée dans le menu de « Fluxbox » :&lt;br /&gt;
&lt;br /&gt;
1. Editer le fichier « /usr/X11R6/share/fluxbox/menu » et ajouter la ligne suivante :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
[exec] (VNC pour 192.168.1.1)&amp;lt;br&amp;gt;&lt;br /&gt;
	{vncviewer -geometry 800x600 -passwd /root/.vnc/passwd 192.168.1.1:1}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
2. Pour appliquer les changements à l&#039;administrateur, saisir la commande :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
cp   /usr/X11R6/share/fluxbox/menu   /root/.fluxbox/&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
3. Redémarrer Fluxbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Paramétrer le démarrage du système virtualisé===&lt;br /&gt;
Pour ne pas avoir à reconfigurer le réseau ou à démarrer manuellement le serveur VNC à chaque démarrage du système virtualisé, effectuer les opérations suivantes (sur le système virtualisé) :&lt;br /&gt;
&lt;br /&gt;
1.éditer son fichier « /etc/rc.d/rc.inet1.conf » pour définir l&#039;adresse IP et le masque,&lt;br /&gt;
&lt;br /&gt;
2.pour démarrer le serveur VNC automatiquement, éditer le fichier « /etc/rc.d/rc.local » du système virtualisé et ajouter :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
 export  PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11/bin&lt;br /&gt;
 declare  -x  USER=&amp;quot;/root&amp;quot;	#le serveur VNC est pour l&#039;administrateur&lt;br /&gt;
 declare  -x  HOME=&amp;quot;/root&amp;quot;&lt;br /&gt;
 vncserver&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Autres commandes utiles de gestion des systèmes virtualisés (depuis l&#039;hôte)===&lt;br /&gt;
Sauvegarder le contexte, suspendre, relancer, et restaurer le contexte d&#039;un système virtualisé (le nom du système virtualisé est celui défini dans le fichier de configuration ou affiché par la commande « xm   list ») :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
 xm  save  nom_système_virtualisé  fichier_sauvegarde_du_contexte&lt;br /&gt;
 xm  pause  nom_système_virtualisé&lt;br /&gt;
 xm  unpause  nom_système_virtualisé&lt;br /&gt;
 xm  restore  fichier_sauvegarde_du_contexte&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Migrer un système virtualisé vers un autre hôte sans interruption de service :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
xm  migrate  --live  nom_système_virtualisé  hôte_destination&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
(« hôte_destination » peut être une adresse IP ou un nom de machine)&lt;br /&gt;
&lt;br /&gt;
Modifier la quantité de mémoire allouée à un système virtualisé :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
xm  mem-set  nom_système_virtualisé  quantité_à_allouer_en_Mo&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenir l&#039;aide en ligne : &lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
xm   help&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour partager le temps processeur entre les différents systèmes virtualisés, rechercher de la documentation sur « xm atropos » et « xm bvt ».&lt;br /&gt;
&lt;br /&gt;
{{Copy|novembre 2005|[[Utilisateur:Frankendres|Frankendres]]|CC-BY-SA}}&lt;/div&gt;</summary>
		<author><name>Nantes geek</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Software-soft_emul-xen&amp;diff=15992</id>
		<title>Software-soft emul-xen</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Software-soft_emul-xen&amp;diff=15992"/>
		<updated>2008-08-21T07:11:59Z</updated>

		<summary type="html">&lt;p&gt;Nantes geek : /* Commandes de démarrage et d&amp;#039;arrêt de systèmes virtualisés */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{En construction}}&lt;br /&gt;
= Virtualisation avec Xen =&lt;br /&gt;
&lt;br /&gt;
== Introduction à la virtualisation ==&lt;br /&gt;
La virtualisation de systèmes informatiques consiste à faire fonctionner sur une même machine (physique) plusieurs systèmes d&#039;exploitation en même temps.&lt;br /&gt;
Concrètement, un système d&#039;exploitation, dit « hôte », est installé sur la machine « physique » et émule une ou plusieurs machines « virtuelles » (avec processeur, mémoire, disque dur, carte réseau, BIOS, ...). Chaque machine virtuelle peut accueillir un système d&#039;exploitation dit « virtualisé » (ou « invité »). Le système hôte assure le cloisonnement entre les systèmes virtualisés et le partage des ressources physiques : c&#039;est un « superviseur ».&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cadre type=note&amp;gt;&#039;&#039;&#039;Remarque :&#039;&#039;&#039; le système hôte et les systèmes invités peuvent être tous différents : il peut y avoir un superviseur Linux, un système invité Windows 2003 serveur et un autre système invité Mac OS X.&amp;lt;/cadre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les systèmes virtualisés sont manipulables à souhait par le superviseur : démarrage, arrêt, gel, sauvegarde de contexte ... De plus, comme le disque dur d&#039;un système virtualisé est généralement émulé par un fichier, il est facile de dupliquer un système virtualisé ou de le faire migrer d&#039;un hôte à un autre.&lt;br /&gt;
La virtualisation permet donc d&#039;utiliser de manière optimale les ressources d&#039;une machine : on peut ajouter des machines virtuelles si la machine physique est sous-exploitée (économie d&#039;argent par mutualisation des ressources) ou en supprimer si elle est saturée (gestion de la montée en charge).&lt;br /&gt;
Enfin la virtualisation permet une répartition des services sur plusieurs machines virtuelles et par là même une meilleure sécurité : si un système est compromis, les autres peuvent continuer à fonctionner normalement.&lt;br /&gt;
&lt;br /&gt;
Les logiciels de virtualisation sont nombreux (Qemu, Bochs, VmWare, ...). La plupart d&#039;entre eux émulent des machines virtuelles complètes : les systèmes invités n&#039;ont pas conscience de fonctionner sur du matériel virtuel. Par contre, l&#039;émulation de la machine virtuelle induit une surcharge qui grève les performances des systèmes virtualisés.&lt;br /&gt;
&lt;br /&gt;
Le principe de fonctionnement de Xen est différent : c&#039;est un « paravirtualiseur » de machines virtuelles, c&#039;est à dire que les systèmes invités ont « conscience » de sa présence (ils doivent d&#039;ailleurs être modifiés pour fonctionner avec Xen). L&#039;avantage de cette solution est que Xen n&#039;a pas besoin d&#039;émuler de machines virtuelles, d&#039;où des performances remarquables. Par contre les systèmes propriétaires comme Windows ne peuvent être modifiés sans l&#039;accord de leur éditeur. Ce problème est résolu avec l&#039;avènement de processeurs intégrant le support matériel de la virtualisation (« Pacifia » pour AMD, « Virtualization Technology » pour Intel, ce qui permet de virtualiser des systèmes avec Xen sans avoir à les modifier.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cadre type=note&amp;gt;&#039;&#039;&#039;Remarque :&#039;&#039;&#039; bien qu&#039;étant un logiciel libre, Xen bénéficie du soutien de partenaires industriels, acteurs majeurs de l&#039;informatique.&amp;lt;/cadre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Préparation de l&#039;environnement de travail ==&lt;br /&gt;
Les instructions de cette documentation supposent que la mise en place de Xen s&#039;effectue depuis une distribution &#039;&#039;&#039;Linux Slackware&#039;&#039;&#039;, mais sont transposables à n&#039;importe quelle distribution avec quelques adaptations. Pour information, les dernières versions testées des logiciels utilisés pour la mise en place de la solution de virtualisation sont : Slackware-10.2, xen-2.0.7, bridge-utils-1.0.6, tightvnc-1.2.9, twisted-2.1.0, twistedweb-0.5.0, et zopeinterface-2.0.1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le système servant à construire la solution de virtualisation doit disposer des outils de développement suivants :&amp;lt;br/&amp;gt;&#039;&#039;&#039; binutils, gcc, glibc kernel-headers, make, python, x11-devel&#039;&#039;&#039;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Peut-être faudra t-il ajouter ces autres outils de développement :&amp;lt;br/&amp;gt;&#039;&#039;&#039;autoconf, automake, bin86, bison, flex, gcc-g++, gettext-tools, libtool, m4, perl, pkgconfig&#039;&#039;&#039;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Il faudra également installer le gestionnaire d&#039;amorce &#039;&#039;&#039;GRUB&#039;&#039;&#039; (LiLo ne permet pas de démarrer Xen).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Récupérer les paquetages Slackware suivants et les placer dans le répertoire /root/ressources-xen (par exemple) :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
aaa_base-10.2.0-noarch-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
aaa_elflibs-10.2.0-i486-3.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
bash-3.0-i486-3.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
bin-10.2-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
bzip2-1.0.3-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
coreutils-5.2.1-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
curl-7.12.2-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
cxxlibs-5.0.7-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
dcron-2.3.3-i486-5.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
devs-2.3.1-noarch-22.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
e2fsprogs-1.38-i486-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
elvis-2.2_0-i486-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
etc-5.1-noarch-10.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
findutils-4.1.7-i386-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
fluxbox-0.9.13-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
gawk-3.1.5-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
gettext-0.14.3-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
glibc-solibs-2.3.5-i486-5.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
glibc-zoneinfo-2.3.5-noarch-5.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
grep-2.5-i386-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
groff-1.19.1-i486-3.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
gzip-1.3.3-i386-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
hotplug-2004_09_23-noarch-5.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
infozip-5.52-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
iproute2-2.6.11_050330-i486-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
iptables-1.3.3-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
kbd-1.12-i486-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
less-382-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
libidn-0.5.17-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
man-1.5p-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
mkinitrd-1.0.1-i486-3.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
module-init-tools-3.1-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
mozilla-firefox-1.0.6-i686-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
openssl-solibs-0.9.7g-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
pciutils-2.1.11-i486-6.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
perl-5.8.7-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
pkgtools-10.2.0-i486-5.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
procps-3.2.5-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
python-2.4.1-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
sed-4.0.9-i486-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
shadow-4.0.3-i486-11.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
sysklogd-1.4.1-i486-9.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
sysvinit-2.84-i486-56.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
tar-1.15.1-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
tcpip-0.17-i486-35.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
traceroute-1.4a12-i386-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
udev-064-i486-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
usbutils-0.11-i486-3.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
utempter-1.1.3-i486-1.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
util-linux-2.12p-i486-2.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
x11-6.8.2-i486-3.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
x11-fonts-misc-6.8.2-noarch-3.tgz&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Récupérer les sources des programmes suivants (ils ne font pas partie des paquetages de la distribution) :&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;zopeinterface:	http://www.zope.org/Products/ZopeInterface&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;twisted et twistedweb:	http://twistedmatrix.com/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;tightvnc:	http://www.tightvnc.com/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;bridge-utils:	http://bridge.sourceforge.net/&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Construire des paquetages pour ces programmes, puis ranger les paquetages dans /root/ressources-xen :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
export  VERSION=`ls bridge-utils* | sed s/.tar.gz//`&amp;lt;br/&amp;gt;&lt;br /&gt;
tar -zxvf $VERSION.tar.gz; cd $VERSION&amp;lt;br/&amp;gt;&lt;br /&gt;
./configure --prefix=/usr; make; make install DESTDIR=`pwd`/pack&amp;lt;br/&amp;gt;&lt;br /&gt;
cd pack; makepkg -l y -c y ../../$VERSION-i486-perso; cd ../..; rm -rf $VERSION&lt;br /&gt;
&lt;br /&gt;
export  VERSION=`ls tightvnc* | sed s/_unixsrc.tar.gz//`&amp;lt;br/&amp;gt;&lt;br /&gt;
tar -zxvf $VERSION\_unixsrc.tar.gz; cd vnc_unixsrc&amp;lt;br/&amp;gt;&lt;br /&gt;
PATH=$PATH:/usr/X11/bin; xmkmf; make World&amp;lt;br/&amp;gt;&lt;br /&gt;
cd Xvnc; ./configure --prefix=/usr; make; cd ..&amp;lt;br/&amp;gt;&lt;br /&gt;
mkdir -p pack/usr/{bin,man/man1}&amp;lt;br/&amp;gt;&lt;br /&gt;
./vncinstall `pwd`/pack/usr/bin `pwd`/pack/usr/man&amp;lt;br/&amp;gt;&lt;br /&gt;
cd pack; makepkg -l y -c y ../../$VERSION-i486-perso.tgz; cd ../..; rm -rf vnc_unixsrc&lt;br /&gt;
&lt;br /&gt;
export  VERSION=`ls Twisted-* | sed s/.tar.bz2//`&amp;lt;br/&amp;gt;&lt;br /&gt;
tar -jxvf $VERSION.tar.bz2; cd $VERSION; mkdir pack&amp;lt;br/&amp;gt;&lt;br /&gt;
python setup.py build; python setup.py install --root `pwd`/pack&amp;lt;br/&amp;gt;&lt;br /&gt;
cd pack; makepkg -l y -c y ../../$VERSION-i486-perso.tgz; cd ../..; rm -rf $VERSION&lt;br /&gt;
&lt;br /&gt;
export  VERSION=`ls TwistedWeb* | sed s/.tar.bz2//`&amp;lt;br/&amp;gt;&lt;br /&gt;
tar -jxvf $VERSION.tar.bz2; cd $VERSION; mkdir pack&amp;lt;br/&amp;gt;&lt;br /&gt;
python setup.py build; python setup.py install --root `pwd`/pack&amp;lt;br/&amp;gt;&lt;br /&gt;
cd pack; makepkg -l y -c y ../../$VERSION-i486-perso.tgz; cd ../..; rm -rf $VERSION&lt;br /&gt;
&lt;br /&gt;
export  VERSION=`ls ZopeInterface* | sed s/.tgz//`&amp;lt;br/&amp;gt;&lt;br /&gt;
tar -zxvf $VERSION.tgz; cd $VERSION; mkdir pack&amp;lt;br/&amp;gt;&lt;br /&gt;
python setup.py build; python setup.py install --root `pwd`/pack&amp;lt;br/&amp;gt;&lt;br /&gt;
cd pack; makepkg -l y -c y ../../$VERSION-i486-perso.tgz; cd ../..; rm -rf $VERSION&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation de l&#039;hôte Xen ==&lt;br /&gt;
1. Formater la partition système en « ext3 » puis la monter (il faut une partition libre de 1 Go pour installer l&#039;hôte Xen et un système virtualisé) :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
mke2fs  -j  partition_système_hôte	#exemple:  mke2fs  -j  /dev/hda7&amp;lt;br/&amp;gt;&lt;br /&gt;
mount  partition_système_hôte  point_de_montage_système_hôte	#exemple: mount  /dev/hda7  /mnt/partitions/hda7&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Installer dans la partition système de l&#039;hôte (option « -root » de « installpkg ») les paquetages qui lui sont nécessaires :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
cd  /root/ressources-xen/&amp;lt;br/&amp;gt;&lt;br /&gt;
for  p  in  *.tgz; do  installpkg  -root  point_de_montage_système_hôte  $p; done&amp;lt;br/&amp;gt;&lt;br /&gt;
ldconfig  -r   point_de_montage_système_hôte&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Créer le fichier « /etc/fstab » du système hôte (« vi   /point_de_montage_système_hôte/etc/fstab ») :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
partition_système  /  ext3  defaults  1  1	#/dev/hda7 pour l&#039;exemple&amp;lt;br/&amp;gt;&lt;br /&gt;
none  /proc  proc  defaults  0  0&amp;lt;br/&amp;gt;&lt;br /&gt;
none  /sys  sysfs  defaults  0  0&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Télécharger la distribution compilée de Xen: http://www.xensource.com/xen/downloads/&lt;br /&gt;
&lt;br /&gt;
5. Pour installer le noyau et les outils Xen, il faut extraire les fichiers de l&#039;archive « xen-x.y.z-install-x86_32.tgz » dans le répertoire « /tmp » du système hôte, puis « basculer » (« chroot ») vers ce système pour exécuter le script d&#039;installation. Attention, le programme d&#039;installation prévoit d&#039;installer les scripts de démarrage de Xen dans le répertoire « /etc/init.d » alors que Slackware utilise le répertoire « /etc/rc.d ». De même, Xen installe les « modules python » dans le répertoire « /usr/lib/python » alors que Slackware utilise « /usr/lib/python2.4 ». Des liens symboliques résolvent le « problème »:&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
pushd /point_de_montage_système_hôte/tmp; tar -zxvf /root/xen-*.tgz; popd&lt;br /&gt;
&lt;br /&gt;
chroot  point_de_montage_partition_système_hôte&amp;lt;br/&amp;gt;&lt;br /&gt;
cd  /etc;  ln  -s  rc.d  init.d&amp;lt;br/&amp;gt;&lt;br /&gt;
cd  /usr/lib;  ln  -s  python2.4  python&amp;lt;br/&amp;gt;&lt;br /&gt;
cd  /tmp/xen-x.y-install;  ./install.sh&amp;lt;br/&amp;gt;&lt;br /&gt;
cd  /etc/rc.d;  mv  xend  rc.xend	#pour s&#039;adapter aux conventions&amp;lt;br/&amp;gt;&lt;br /&gt;
rm  -f  /etc/init.d	#de la distribution Linux Slackware&amp;lt;br/&amp;gt;&lt;br /&gt;
exit&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. Le système hôte est prêt. Il faut maintenant installer « Grub » si ce n&#039;est pas déjà fait, puis le configurer en ajoutant les lignes suivantes au fichier « menu.lst » de « Grub » pour amorcer le système hôte :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
title  Xen  2.0  /  XenLinux  2.6&amp;lt;br/&amp;gt;&lt;br /&gt;
root (hd0,6)	#pour un hôte installé sur /dev/?da7&amp;lt;br/&amp;gt;&lt;br /&gt;
kernel  /boot/xen-2.0.gz  dom0_mem=98304	#96 Mo de RAM alloués à l&#039;hôte&amp;lt;br/&amp;gt;&lt;br /&gt;
module  /boot/vmlinuz-2.6-xen0  root=/dev/hda7  ro&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation d&#039;un système virtualisé ==&lt;br /&gt;
1. Créer un fichier (« /tmp/invite.img ») pour émuler le disque dur du système virtualisé dans la partition système de l&#039;hôte, le formater, le monter puis y recopier les fichiers du système hôte :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
dd  if=/dev/zero  of=/point_de_montage_système_hôte/tmp/invite.img   bs=1024k  count=500&amp;lt;br/&amp;gt;&lt;br /&gt;
mke2fs  -j  /point_de_montage_système_hôte/tmp/invite.img&amp;lt;br/&amp;gt;&lt;br /&gt;
mount  -o  loop  /point_de_montage_système_hôte/tmp/invite.img  /mnt/tmp&amp;lt;br/&amp;gt;&lt;br /&gt;
cp  -dpR  /point_de_montage_système_hôte/*  /mnt/tmp/&amp;lt;br/&amp;gt;&lt;br /&gt;
umount   /mnt/tmp #l&#039;installation du système virtualisé est terminée&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Éditer le fichier de configuration (« point_de_montage_système_hôte/tmp/invite.cfg » par exemple) pour permettre à Xen de démarrer ce système virtualisé. Exemple :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
kernel = &amp;quot;/boot/vmlinuz-2.6-xenU&amp;quot;	#noyau pour un système virtualisé&amp;lt;br/&amp;gt;&lt;br /&gt;
memory = 96 #Mo	#mémoire allouée au système virtualisé&amp;lt;br/&amp;gt;&lt;br /&gt;
name = &amp;quot;invite&amp;quot;	#nom donné au système virtualisé&amp;lt;br/&amp;gt;&lt;br /&gt;
disk = [ &#039;file:/tmp/invite.img,hda7,w&#039; ]	#le système virtualisé verra le fichier /tmp/invite.img de l&#039;hôte comme /dev/hda7 (à adapter)&amp;lt;br/&amp;gt;&lt;br /&gt;
root = &amp;quot;/dev/hda7 ro&amp;quot;	#partition racine du système virtualisé (à adapter)&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Remarque : si la partition système de l&#039;hôte est « /dev/hda7 », alors le système virtualisé qui est un « clone » du système hôte à la même partition système. Il est possible de lui en définir une autre, à condition d&#039;adapter son fichier « /etc/fstab », et de modifier le fichier de configuration précédent en conséquence.&lt;br /&gt;
&lt;br /&gt;
== Mise en oeuvre de la virtualisation ==&lt;br /&gt;
===Commandes de démarrage et d&#039;arrêt de systèmes virtualisés===&lt;br /&gt;
1. Démarrer le système hôte puis démarrer le service Xen :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
/etc/rc.d/rc.xend start&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
2. Démarrer le système virtualisé avec la commande :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
 xm   create   fichier_de_configuration   -c  # ( exemple : « xm   create   /tmp/invite.cfg   -c » )&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Attention : le système virtualisé s&#039;approprie cette console ...&lt;br /&gt;
&lt;br /&gt;
Pour sortir de la console : ctrl + altGr+]&lt;br /&gt;
&lt;br /&gt;
3. Sur une console de l&#039;hôte, afficher la liste des systèmes actifs : &lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
xm   list&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
4. Pour arrêter le système virtualisé (depuis une console de l&#039;hôte) :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
xm   shutdown   nom_système_virtualisé  # (« invite » par exemple).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuration du réseau entre l&#039;hôte et le système virtualisé===&lt;br /&gt;
Rappel : lorsqu&#039;aucun masque de réseau n&#039;a été spécifié, la commande « ifconfig » attribue un masque « naturel » à l&#039;interface (8 bits pour une adresse de classe A, 16 bits pour une adresse de classe B, ...).&lt;br /&gt;
&lt;br /&gt;
Pour que l&#039;hôte puisse communiquer avec le système virtualisé, il faut attribuer une adresse IP à l&#039;interface « xen-br0 » de l&#039;hôte et à l&#039;interface « eth0 » du système virtualisé(ces deux adresses doivent être dans le même réseau). &lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&lt;br /&gt;
Sur une console de l&#039;hôte : &lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ifconfig   xen-br0   192.168.1.254&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur la console du système virtualisé :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ifconfig   eth0   192.168.1.1&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tester la communication entre l&#039;hôte et le système virtualisé avec la commande « ping ». &lt;br /&gt;
&lt;br /&gt;
De puis l&#039;hôte : &lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ping   192.168.1.1 # (« CTRL + C » pour arrêter).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Configuration du réseau entre le système virtualisé et d&#039;autres machines(1ère méthode)===&lt;br /&gt;
L&#039;objectif suivant consiste à permettre au système virtualisé de communiquer avec une machine physique différente de l&#039;hôte. Il faut pour cela :&lt;br /&gt;
&lt;br /&gt;
1.configurer le réseau entre l&#039;hôte et le système virtualisé (si ce n&#039;est pas déjà fait),&lt;br /&gt;
&lt;br /&gt;
2.attribuer des adresses IP aux interfaces physiques des machines (dans le même réseau que celle de la machine virtuelle : « xen-br0 » est un pont, pas un routeur) :&lt;br /&gt;
&lt;br /&gt;
pour l&#039;hôte : &lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ifconfig   eth0   192.168.1.101&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pour une « autre machine physique » :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ifconfig   eth0   192.168.1.102&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3.tester la communication depuis une autre machine physique vers l&#039;hôte puis vers le système virtualisé (« ping »).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Configuration du réseau entre le système virtualisé et d&#039;autres machines(2ème méthode)===&lt;br /&gt;
Une autre solution pour accéder à un système virtualisé depuis une autre machine physique est d&#039;avoir un hôte transparent, c&#039;est à dire sans adresse IP :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1.L&#039;hôte ne doit avoir ni adresses IP, ni routes. &lt;br /&gt;
&lt;br /&gt;
Pour supprimer l&#039;adresse IP affectée à l&#039;interface « xen-br0 » : &lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ifconfig   xen-br0   0.0.0.0 &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Vérifier ensuite que l&#039;interface « eth0 » est en mode promiscuité. Si besoin :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
ifconfig   eth0   promisc   up&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2.Sur le système virtualisé, attribuer les adresses IP ainsi que les routes comme pour un système fonctionnant sur une machine physique.&lt;br /&gt;
&lt;br /&gt;
3.Tester la communication depuis une autre machine physique vers le système virtualisé. Remarque : l&#039;hôte n&#039;est plus joignable.&lt;br /&gt;
&lt;br /&gt;
4.Pour que l&#039;hôte puisse communiquer avec le système virtualisé (utilisation de VNC par exemple), il faut attribuer une adresse IP à l&#039;interface « xen-br0 ».&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Prise de contrôle d&#039;un système virtualisé par VNC===&lt;br /&gt;
1.configurer le réseau entre l&#039;hôte et le système virtualisé (si ce n&#039;est pas déjà fait),&lt;br /&gt;
&lt;br /&gt;
2.démarrer l&#039;interface graphique sur l&#039;hôte : &lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
startx &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3.sur le système virtualisé, démarrer le serveur VNC : &lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
vncserver &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4.sur l&#039;hôte, enregistrer le mot de passe défini sur le système virtualisé :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
vncpasswd&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5.sur l&#039;hôte, prendre le contrôle du système virtualisé par VNC :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
vncviewer -geometry 800x600 -passwd /root/.vnc/passwd 192.168.1.1:1&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Améliorer l&#039;interface===&lt;br /&gt;
Le gestionnaire de fenêtres utilisé par défaut par l&#039;interface graphique et par VNC est « TWM ». Il sera avantageusement remplacé par « Fluxbox » qui, tout en n&#039;utilisant qu&#039;un minimum de ressources, est beaucoup plus convivial.&lt;br /&gt;
&lt;br /&gt;
Sur l&#039;hôte, modifier le lien qui définit le gestionnaire de fenêtres à utiliser puis redémarrer l&#039;interface graphique:&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
« cd   /etc/X11/xinit;   ln   -sf   xinitrc.fluxbox   xinitrc »&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur le système virtualisé : éditer le fichier « /root/.vnc/xstartup » et remplacer « twm » par « fluxbox », puis redémarrer le serveur VNC :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
vncserver   -kill   :1;   vncserver&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur l&#039;hôte, pour prendre le contrôle d&#039;un système virtualisé sans avoir à saisir de commande, il suffit d&#039;ajouter une entrée dans le menu de « Fluxbox » :&lt;br /&gt;
&lt;br /&gt;
1. Editer le fichier « /usr/X11R6/share/fluxbox/menu » et ajouter la ligne suivante :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
[exec] (VNC pour 192.168.1.1)&amp;lt;br&amp;gt;&lt;br /&gt;
	{vncviewer -geometry 800x600 -passwd /root/.vnc/passwd 192.168.1.1:1}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
2. Pour appliquer les changements à l&#039;administrateur, saisir la commande :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
cp   /usr/X11R6/share/fluxbox/menu   /root/.fluxbox/&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
3. Redémarrer Fluxbox.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Paramétrer le démarrage du système virtualisé===&lt;br /&gt;
Pour ne pas avoir à reconfigurer le réseau ou à démarrer manuellement le serveur VNC à chaque démarrage du système virtualisé, effectuer les opérations suivantes (sur le système virtualisé) :&lt;br /&gt;
&lt;br /&gt;
1.éditer son fichier « /etc/rc.d/rc.inet1.conf » pour définir l&#039;adresse IP et le masque,&lt;br /&gt;
&lt;br /&gt;
2.pour démarrer le serveur VNC automatiquement, éditer le fichier « /etc/rc.d/rc.local » du système virtualisé et ajouter :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
 export  PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11/bin&lt;br /&gt;
 declare  -x  USER=&amp;quot;/root&amp;quot;	#le serveur VNC est pour l&#039;administrateur&lt;br /&gt;
 declare  -x  HOME=&amp;quot;/root&amp;quot;&lt;br /&gt;
 vncserver&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Autres commandes utiles de gestion des systèmes virtualisés (depuis l&#039;hôte)===&lt;br /&gt;
Sauvegarder le contexte, suspendre, relancer, et restaurer le contexte d&#039;un système virtualisé (le nom du système virtualisé est celui défini dans le fichier de configuration ou affiché par la commande « xm   list ») :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
 xm  save  nom_système_virtualisé  fichier_sauvegarde_du_contexte&lt;br /&gt;
 xm  pause  nom_système_virtualisé&lt;br /&gt;
 xm  unpause  nom_système_virtualisé&lt;br /&gt;
 xm  restore  fichier_sauvegarde_du_contexte&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Migrer un système virtualisé vers un autre hôte sans interruption de service :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
xm  migrate  --live  nom_système_virtualisé  hôte_destination&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
(« hôte_destination » peut être une adresse IP ou un nom de machine)&lt;br /&gt;
&lt;br /&gt;
Modifier la quantité de mémoire allouée à un système virtualisé :&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
xm  mem-set  nom_système_virtualisé  quantité_à_allouer_en_Mo&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obtenir l&#039;aide en ligne : &lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
xm   help&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour partager le temps processeur entre les différents systèmes virtualisés, rechercher de la documentation sur « xm atropos » et « xm bvt ».&lt;br /&gt;
&lt;br /&gt;
{{Copy|novembre 2005|[[Utilisateur:Frankendres|Frankendres]]|CC-BY-SA}}&lt;/div&gt;</summary>
		<author><name>Nantes geek</name></author>
	</entry>
</feed>