On 08 Mar 2001 00:15:07 +0100, Laurent Martelli <[EMAIL PROTECTED]> wrote : > > Est-ce que tu pourrais d�tailler un chouilla la manip ? Tu as relanc� > le prog d'install dans un chroot ? Tu avait deux partitions ?
Allez, j'ai un texte que j'avais commenc� � �cire qui tra�ne dans un coin. Je le livre brut et pour l'instant inachev�. Mais attention ! Je jure qu'il ne s'agit ni d'une provocation ni d'un troll ! Marc --------------------------------------------------------------------------- Il vous est peut-�tre arriv� r�cemment de lire d'un oeil r�veur un article vantant les m�rites d'outils tels que VMWare ou plex86, qui permettent de faire tourner sous votre environnement favori un syst�me �tranger dans une machine virtuelle. Il est vrai que la traditionnelle capture d'�cran montrant r�unis ce qui ne devrait pas �tre sur le m�me �cran a de quoi fasciner. Mais � m�diter sur ces prouesses techniques, on en oublierait presque qu'il est depuis tr�s longtemps possible de se livrer � des amusements de ce genre sous sa distribution Linux pr�f�r�e, pour peu que l'on en ait install� une autre sur une partition inutilis�e de son disque. Avant d'aller plus avant, un avertissement : ce qui va suivre risque de choquer ceux pour qui, parce qu'ils utilisent la distribution X, la distribution Y est diabolique, ceux qui ont du mal � voir que quelque soit la d�clinaison, c'est pour l'essentiel un syst�me GNU/Linux qu'ils utilisent. Avant d'entrer dans les d�tails, r�sumons bri�vement de quoi il s'agit�: le texte que vous lisez a �t� �crit sous la Debian 2.2 (potato), plus pr�cis�ment avec l'�diteur Emacs de cette distribution, utilisant la libc6 2.1.3-16 de la m�me distribution ainsi que sa libX11, mais ... s'affichant sur le serveur X de la Red Hat 7 sous laquelle le PC �tait en train de tourner. Deux distributions, un noyau�: n'y a-t-il pas l� un belle id�e ? Voil� tout juste cinq ans que je travaille sous Linux et je suis jusqu'ici rest� fid�le � mes premi�res amours, ayant successivement install� toutes les Red Hat de la 2.1 � la 7. Mais cela ne m'emp�che pas de regarder ailleurs, et voil� un moment que je lorgne sur la Debian. C'est pour cela que j'ai depuis quelque temps une potato install�e sur une partition d�di�e sur laquelle je boote de temps � autre pour me faire la main et voir si je m'y trouve � mon aise. Il m'est arriv� r�cemment de vouloir juste tester quelque chose en vitesse et d'avoir la flemme de rebooter. Et de me souvenir tout d'un coup que ce fameux appel syst�me qu'on utilise dans certains d�mons pour isoler l'appelant du reste de la machine est incarn� dans l'un des ex�cutables de /usr/sbin. Je parle bien s�r de chroot. Il est assez amusant de, par exemple, taper dans un xterm d'une machine Red Hat (sous root) : # /usr/sbin/chroot /debian dpkg -l et de voir d�filer les noms des paquetages install�s sur la partition Debian. Cela est tellement pratique que l'on finit par y prendre go�t. Mais aujourd'hui, il a fallu que j'aille plus loin ; il fallait aller de l'autre c�t� du miroir. Tout est parti d'un : # /usr/sbin/chroot /debian bash qui me mit face � face avec un prompt debian. Certes, tout n'a pas march� parfaitement du premier coup : il m'a fallu monter /proc et /dev/pts � la main, et remonter la racine en read-write. Mais apr�s cela, c'�tait exactement comme si j'�tais logu� dans ce terminal sur une machine Debian distante. Je me suis m�me amus� � ouvrir une connexion ppp avec pon, et � faire un apt-get update & upgrade pour r�cup�rer les mises � jour de s�curit� et les installer. Le plus amusant, c'est que pendant la mise � jour, le r�seau �tait accessible depuis la Red Hat. Sans r�solution de noms parce que les scripts d'�tablissement de la connexion (ip-up et coll�gues) avaient �t� court-circuit�s, et dnrd n'avait pas �t� lanc�, mais tout le reste marchait. Un seul noyau, vous dis�-je... Inversement, une connexion ouverte depuis la Red Hat est exploitable depuis la Debian. Bon, amusons nous � lancer emacs. En mode console, cela marche bien. Et sous X ? Evidemment [dans ce qui suit, les prompts 'deb $' et 'rh�$' repr�senteront les environnements Debian et Red Hat, respectivement], deb $ export DISPLAY=:0 emacs ne marche pas. Ce n'est en effet pas �tonnant que personne ne r�ponde sur le /tmp/.X11-unix/X0 de la Debian. Qu'� cela ne tienne ! Passons par le r�seau. Un essai : deb $ DISPLAY=localhost:0 emacs est plus encourageant : on r�pond que la permission a �t� refus�e. Ah�? quelqu'un �coute ? Un petit : rh $ xhost + localhost et tout baigne : Emacs-Debian s'affiche dans le serveur X-Red Hat. C'est logique : il suffisait que localhost-RH autorise la connexion X � localhost-Debian... Tout marche impeccablement. Je m'amuse � taper un texte sous LaTeX, puis � le visionner avec xdvi : ce dernier s'affiche �galement sur mon �cran. Encore une fois, tout donne vraiment l'impression que le � terminal Debian � est connect� sur une machine distante. Tout, sauf le fait que si je lance un ps sous Red Hat, je vois les processus Debian et r�ciproquement. Un seul noyau... Bon, je sens que certains s'offusquent. Ne serait-il pas plus correct que les ex�cutables Debian tournent sous un serveur X Debian ? Et bien, qu'il en soit ainsi : deb $ startx -- :1 et nous voil� sous une session graphique Debian sur la vt8 (avec toujours la session Red Hat sous la vt7). L'illusion est maintenant presque parfaite : j'ai vraiment l'impression d'avoir boot� sous Debian. L'argument ":1" sert � ne pas rentrer en conflit avec le serveur X RH qui �coute d�j� sur le port 6000. Bien s�r, la supercherie ne peut durer tr�s longtemps. Un syst�me n'est pas compos� que d'un noyau mais aussi de � d�mons � qui assurent un certain nombre de services. T�t ou tard, un utilisateur chroot� sous Debian va d�couvrir que ce ne sont pas les d�mons Debian qui r�pondent. Voici un premier exemple : il y a un seul d�mon sshd qui �coute sur le port 22, c'est celui qui a �t� lanc� au d�marrage de la Red Hat. Ce qui donne des transcriptions un peu surr�alistes, comme par exemple : [EMAIL PROTECTED]:~$ head -2 /etc/issue Debian GNU/\s 2.2 \n \l [EMAIL PROTECTED]:~$ ssh localhost [EMAIL PROTECTED]'s password: Last login: Sun Nov 26 11:18:10 2000 from socrate 799 $ head -2 /etc/issue Red Hat Linux release 7.0 (Guinness) (oui, cela marche exactement pareil avec ssh 127.0.0.1. D'ailleurs, on remarquera que les deux � machines � on bien le m�me nom, socrate). [fin temporaire de la chose]

