En lisant cet article, vous allez suivre les étapes qui m'ont permis, grâce à plusieurs projets open source, d'installer 2 machines dont une virtuelle dans une machine physique.
Le but principal de cette installation est de faire fonctionner simultanément un environnement graphique Windows et un environnement graphique Linux avec leur applications de travail classique (bureautique, internet). Et sous certaines conditions, elle peut même permettre le fonctionnement simultané de 3 ordinateurs (un pseudo Linux, un vrai Linux et un vrai Windows).
Quels peuvent être les intérêts d'une telle configuration ?
Ils sont multiples :
Il y en a sûrement d'autres que vous trouverez vous même. Et tout cela sans passer par des couches logicielles commerciales (type émulateur d'OS) et ralentissant les traitements. Comme tous les outils utilisés dans ce guide sont de type open source, on peut aussi s'attendre à des économies en investissement logiciels.
Il s'agit d'une installation coopérative et non pas multiboot. Vous n'aurez besoin de démarrer la machine qu'une seule fois pour faire fonctionner les deux systèmes d'exploitation simultanément.
Note : cet article est une version écourtée d'un article que je n'ai pas encore publié, comprenant plus de détails, des captures d'écran et des astuces, comme installer un cdrom, redimensionner une partition colinux, ou installer des applications connues comme firefox, open office avec les dictionnaires français.
Une fois le matériel préparé, l'installation de Cygwin est très simple. Cette étape est un cliquodrome (une opération pousse bouton si vous préférez...).
1) Se rendre à l'adresse racine du projet Cygwin :http://www.cygwin.com/
2) Localiser, dans la page principale, le lien vers le fichier setup.exe pour le télécharger.
3) Enregistrer le fichier setup.exe dans le dossier qui lui a été réservé.
4) Une fois téléchargé, lancer l'exécution du programme setup.exe.
5) Ce programme d'auto installation va vous permettre de vous connecter sur plusieurs serveurs du projet Cygwin. Choisissez en un, de préférence, le plus proche de chez vous.
6) Lorsque la fenêtre de choix des librairies apparaît,appliquez la maxime "Tout". Prenez et installer tout. Le téléchargement de cette partie est probablement le plus long. Mais une fois que vous aurez tout téléchargez, vous n'aurez pas besoin de le refaire.L'installateur de Cygwin (setup.exe) peut s'exécuter depuis un répertoire pré chargé autant de fois que vous aurez besoin. Il se peut que l'installateur demande des librairies qui ne soient pas sur le serveur où vous vous êtes connecté.Relancez l'installateur en vous connectant à d'autres serveurs du projet pour télécharger les librairies manquantes.
7) Une fois le téléchargement complet du projet terminé,l'installateur poursuit par l'installation du projet Cygwin.
8) il vous propose finalement de créer deux raccourcis.Choisissez au moins celui sur le bureau.
A partir de maintenant, vous disposez d'un environnement en ligne de commande qui ressemble fortement à Unix. Si vous cliquer sur l'icône Cygwin déposé sur le bureau par l'installateur, vous allez voir une fenêtre de type écran de console s'ouvrir sur le bureau. Vous êtes en ligne avec un interpréteur de commandes disposant d'un langage de commande très puissant, le bash (Bourne Again SHell). Vous disposez également de plusieurs autres interpréteurs de commandes avec des langages encore plus riches (tcsh) ou respectant certaines normes (l'équivalent de sh est ash pour Cygwin)
Mais vous disposer également :
Vous pouvez d'ores et déjà programmer en FORTRAN, Pascal,ADA, C, Objective C, Objective Caml, C++, ruby, Prolog, lisp, Perl, Python et Java.
Et plein d'autres outils encore.
URL : http://www.colinux.org
Maintenant que cygwin est installé, passons à la seconde étape. L'installation d'un vrai noyau Linux qui va fonctionner en simultanée avec le noyau Windows.
Le système colinux n'est pas un émulateur, mais un portage du noyau linux lui permettant de fonctionner coopérativement avec un autre système d'exploitation sur une même machine. Les performances du noyau Linux sont beaucoup plus rapides par rapport à l'émulation cygwin. Pour ceux que cela intéresse, colinux permet au noyau Linux de fonctionner en mode ring 0 sur les processeurs de la gamme x86.
Il faut d'abord installer le programme principal :Cooperative linux ou colinux pour les intimes.
Pour cette installation, j'ai utilisé la version 0.6.2, qui n'est pas la dernière (0.6.3) car elle bloquait. N'ayant pas voulu chercher pourquoi, j'ai utilisé une version opérationnelle pour ma configuration.
L'installation de colinux nécessite le téléchargement de plusieurs fichiers :
1) Le programme colinux 0.6.2 lui-même : http://prdownloads.sourceforge.net/colinux/coLinux-0.6.2.exe?download
2) La librairie WinPcap : http://winpcap.mirror.ethereal.com/install/bin/WinPcap_3_1_beta4.exe
3) Le rootfilesystem : http://armadillo.atmark-techno.com/download/colinux/root_fs.lzh
4) Le home filesystem : http://armadillo.atmark-techno.com/download/colinux/home_fs_2G.lzh
5) Le fichier d'échange (swap): http://armadillo.atmark-techno.com/download/colinux/swap_device_512M.lzh
Une fois ces opérations terminées :
1) Installer colinux à l'aide de son installateur(e:\colinux, pour cette installation). Lors de l'installation ne cochez pas« télécharger WinPcap », ni « télécharger "the Debian image to download" », puisque vous venez de le faire.
2) Décompresser les trois fichiers systèmes dans le répertoire d'installation de colinux (e:\colinux, pour cette installation)
La configuration de colinux se passe en deux étapes :
1) configuration du réseau
2) Configuration du système colinux
Par défaut, le système colinux utilise un fichier de configuration xml : default.colinux.xml.
Le choix du mode réseau utilisé par colinux détermine également comment rédiger ce fichier.
Il existe deux méthodes pour faire fonctionner colinux avec Windows
1) La méthode par interface réseau virtuelle (TAP driver)
Pour utiliser cette méthode, il faut avoir choisi d'installer le TAP driver lors de l'installation de colinux. Une fois installé vous pouvez vérifiez la présence du pilote, en consultant les « connexions réseau »(Démarrez->connexions réseau->Afficher toutes les connexions)
Il faut ensuite créer un pont de connexion entre votre connexion locale et l'adaptateur colinux.
- Si vous avez une connexion Ethernet (par câble).Choisissez de faire le pont entre « connexion locale » etl'adaptateur colinux.
- Si vous avez une connexion Wifi (par ondes radios).Choisissez de faire le pont entre « connexion sans fil » etl'adaptateur colinux. (Mon cas pour cette installation)
Enfin il faudra ajouter la ligne suivante dans le fichierxml :
<networkindex="0" type="tap" />
2) La méthode par interface réseau Windows (bridging)
Cette méthode nécessite l'installation de la librairie WinPcap.
Il suffit ensuite de modifier la ligne de connexion réseaudu fichier xml par :
<network index="0" type="bridged"name="Connexion réseau sans fil"/>
« Connexion réseau sans fil » étant le nom complet de votre connexion locale. Remplacez par « connexion locale », si vous utiliser une connexion par câble (par le nom que vous voyez dans votre fenêtre de connexion réseau. Je l'ai renommé « connexion locale »parce que c'était plus court.
Il faut éditer ce fichier avec votre éditeur favori et modifier quelques lignes pour prendre en compte les fichiers du filesystem.
Voici la version finale pour cette configuration :
<?xmlversion="1.0" encoding="UTF-8"?> <colinux> <block_device index="0"path="\DosDevices\e:\coLinux\root_fs" enabled="true" /> <block_device index="1"path="\DosDevices\e:\coLinux\swap_device" enabled="true"/> <block_device index="2"path="\DosDevices\e:\coLinux\home_fs" enabled="true" /> <bootparams>root=/dev/cobd0</bootparams> <image path="vmlinux" /> <memory size="128" /> <network index="0"type="tap" /> </colinux>
Il suffit de créer, dans le répertoire de colinux, un fichier de commandes par lots (batch, appelez le go.bat) avec la commande suivante :
colinux-daemon.exe -c default.colinux.xml -t nt
Enregistrez ce fichier et double cliquez dessus. Une console va s'ouvrir et lancer linux. A l'invite (login), tapez le nom de l'unique utilisateur, pour l'instant, le fameux maître des lieux, le tant redouté« root ». Le fichier initial root_fs contient une configuration quine comporte pas de mot de passe pour le super utilisateur. Il suffira donc de taper :
root [entrée]
Pour vous identifier.
Pour quitter colinux, il faut taper l'une des commandes suivantes :
halt
poweroff
reboot -n
shutdown -rnow
Le langage shell de linux c'est comme la langue française,il existe une multitude de synonymes pour dire la même chose. A chacun son goût et sa couleur. Attention ces commandes ne peuvent être exécutées que par le super utilisateur (root).
Premier réflexe, sécuriser le compte du super utilisateur.Taper la commande suivante :
passwd
Si le compte possédait déjà un mot de passe, la commande vous invitera à taper l'ancien mot de passe. Ensuite, il vous sera demander de taper deux fois le nouveau mot de passe suivi de [entrée]
Second réflexe, ne pas utiliser le compte du super utilisateur sauf pour les modifications importantes (type installation logiciels) nécessitant des droits non accordés aux utilisateurs normaux. Par conséquent, il faut créer un compte utilisateur appartenant à un groupe non privilégié. Par défaut, lors de la création d'un utilisateur, celui-ci est considéré comme normal (sans droits privilégiés) si aucune option n'est spécifiée et un groupe du même nom sera créé. Tapez la commande suivante.
adduser votre_pseudo
Il vous sera demandé de taper deux fois son mot de passe et quelques infos (pour la base whois).
La console colinux est par défaut configurée en QWERTY. Pour plus d'aisance, la reconfiguration se fait avec la commande suivante :
dpkg-reconfigure console-data
Il suffit ensuite de suivre les instructions :
Selectkeymap from arch list -> azerty -> French -> With Euro (latin 15)
Il faut éditer trois fichiers :
/etc/network/interfaces
/etc/hosts
/etc/resolv.conf
Pour le fichier /etc/network/interfaces :
# Configuration de la boucle auto lo eth0 iface loinet loopback #Configuration de l'interface eth0 iface eth0inet static address192.168.0.40 gateway 192.168.0.1 netmask 255.255.255.0
A savoir :
L'adresse IP 192.168.0.40 est celle que j'ai choisie pour colinux
L'adresse IP 192.168.0.1 est celle de ma passerelle internet(le routeur)
Pour le fichier /etc/hosts :
127.0.0.1 localhost 192.168.0.40 colinux
La seule ligne à modifier est la seconde (si elle n'existe pas). Il s'agit encore de l'adresse IP de colinux.
Pour le fichier /etc/resolv.conf :
search nameserver 192.168.0.1
Ici, j'ai laissé la configuration se charger de trouver les serveurs DNS depuis la passerelle internet (le routeur).
Pour finaliser l'installation, il faut redémarrer colinux:
reboot -n
La fenêtre de la console colinux va se fermer. Il suffira de double cliquer à nouveau sur le fichier de démarrage (go.bat), pour relancer colinux.
Pour tester votre connexion internet, vous pouvez lancer quelques ping sur vos sites préférés:
ping www.monsite.com
Si la commande répond correctement, alors le réseau est correctement configuré.
L'installation de kde va se faire par internet sous colinux,avec la commande apt-get:
apt-getupdate
apt-getinstall kdebase kdepim
apt-getinstall kde-i18n-fr
Répondez oui à toutes les questions que vous posera la commande.
Une fois les paquets installés, il faut créer un script de lancement pour le serveur X (serveur d'affichage) de Cygwin, auquel kde se connectera pour s'afficher:
cygserver&
exportSERVER=cygwin
exportDISPLAY=<adresse IP de votre machine windows> :0.0
xwin -clipboard-rootless -noreset &
xhost +
L'adresse IP de votre machine Windows, se trouve dans le pont de connexion, il s'agit d'une adresse locale et non celle attribuée par votre fournisseur d'accès. Elle commence généralement par 192.168.0.x. Pour la trouver, deux solutions :
1) lancer la commande ipconfig depuis une console cmd ou une console cygwin
2) Démarrage->Connexions->Afficher toutes les connexions->Pont réseau->Statut->Prise en charge.
Enregistrez ce script, appelons xgo, dans un répertoire de cygwin, par exemple, /home/votre_pseudo/
Rendez le exécutable, en tapant la commande suivante depuis la console cygwin :
chmod u+x xgo
Et lancer le, toujours depuis cygwin :
./xgo ou xgo
Si tout va bien, une icône X apparaît dans la barre des tâches. Le serveur X est en attente de clients et de requêtes.
Il faut a présent créer un second script, sous linux celui-là pour connecter le serveur X et lancer kde. Appelons le kde:
export DISPLAY=<adresse IP de votre machinewindows> :0.0 startkde &
Faites les même opérations d'enregistrement, de modifications des droits (chmod), puis lancer le depuis linux :
kde ou ./kde selon votre configuration
Toujours dans le répertoire /home/<Votre pseudo> de cygwin, créer un fichier xend contenant les commandes suivantes :
kill -9'pidof cygserver' 'pidof xwin'
Puis rendez le exécutable
chmod u+x xend
Ce script doit être lancé en fin de session pour terminer les composants cygwin.
Notes:
a) Toutes ces opérations sont réalisées sous colinux.
b) Cette installation de samba n'est pas sécurisée pour en faciliter la procédure.
Dans l'état de l'installation, l'intégration est minimale mais déjà existante, grâce à l'option -clipboard du serveur xwin. Elle permet l'utilisation du presse-papier pour échanger des informations entre les deux systèmes. Cependant, si besoin est d'échanger de gros fichier, le presse-papier sera hors jeu. D'où l'installation et la configuration du serveur samba, pour permettre l'échange de gros volume de données.
1) Télécharger et installer samba
apt-get install samba
# éventuellement
apt-get install smbfs
2) Editer le fichier de configuration de samba
# Version débutants
nano /etc/samba/smb.conf
# Version confirmés
vi /etc/samba/smb.conf
3) Trouver la ligne suivante dans le fichier :
; security = user
Enlever le point virgule pour la décommenter et la changer par
security = share
Cela dit à samba de partager vos fichiers sans avoir besoin de s'identifier. C'est ici que réside une faille de sécurité. Mais il s'agit d'une installation personnelle.
4) Trouver la ligne suivante dans le fichier
invalid users = root
La commenter en plaçant un point virgule devant :
; invalid users = root
5) Création d'un partage
A la fin du fichier de configuration vous allez trouver les répertoires partageables. Ici, je donne un exemple pour partager le répertoire/usr/src. Il faut rajouter ces lignes :
[usr_src]
path =/usr/src
public = yes
writable = yes
browsable = yes
create mode = 0777
directory mode = 0777
guest ok = yes
6) Sauvegardez votre fichier et quitter l'éditeur
7) Rendez le répertoire partageable lisible et inscriptible
chmod 777 /usr
chmod 777 /usr/src
8) En allant dans la session Windows, faites affichez les« favoris réseau », puis demander de « voir les ordinateurs du groupe de travail ». Vous verrez apparaître l'ordinateur colinux. En cliquant dessus vous entrerez dans le répertoire /usr/src. Vous pouvez désormais faire glisser des fichiers vers ou depuis ce répertoire ; samba se chargera de la transformation du fichier NTFS en ext3 ou inversement.
Le gros avantage de cette installation, c'est bien sûr que les deux noyaux fonctionnent simultanément. Un simple clic permet de passer d'un système à l'autre. Plus besoin de multiboot...
Il existe aussi les Services For Unix ou sfu 3.5. Mais ce paquetage propriétaire de Microsoft n'est plus maintenu. Il ne fonctionne pas avec XP/SP2. Maximum XP/SP1. Il est très difficile à désinstaller en cas de crash (problème de fichiers difficilement effaçables même après désinstallation et plusieurs redémarrages). Et n'avait qu'une politique : faciliter la migration de Unix vers Windows (et non l'inverse). Il s'agit plus d'une curiosité que d'une utilité.
Vous trouverez beaucoup d'information sur colinux dans le wiki :http://colinux.wikia.com/wiki/Main_Page