<!doctype linuxdoc system>

<article>

<title>Salle informatique du SCUIO - Solution
<author>Jerome Alet, <tt/alet@unice.fr/
<date>v1.2, 17 Mars 1999

<abstract>
Suite au précédent document exposant les problèmes rencontrés dans la salle informatique du SCUIO de la Faculté de Médecine de Nice,
ce document décrit la solution adoptée. Cette solution est en phase de généralisation sur tous les ordinateurs de la salle en question car elle donne entière satisfaction sur le poste d'essais.
</abstract>

<toc>

<sect>à propos de ce document...
<p>
Ce document a été écrit en SGML avec le DTD LinuxDoc, il est disponible sur <htmlurl url="solution.sgml" name="http://www.linux-france.com/prj/edu/libreservice/solution.sgml">

<p>
Vous pouvez consulter la dernière version à jour de ce document sur <htmlurl url="solution.html" name="http://www.linux-france.com/prj/edu/libreservice/solution.html">

<p>
Pour toute question ou remarque veuillez contacter directement l'auteur par email à l'adresse <htmlurl url="mailto:alet@unice.fr" name="alet@unice.fr">

<p>
Les opinions exposées dans ce document n'engagent que leur auteur et en rien son employeur.

<sect>Rappels
<p>
Dans le précédent <htmlurl url="probleme.html" name="document">
nous avons décrit la procédure consistant à réaliser un master du disque dur d'une machine après une complète réinstallation.

<p>
En cas de problème il suffit alors de remonter le master en question pour écraser la partition Windows en la remplacant par des
données neuves.

<p>
Cette solution a été retenue car elle ne remet pas en cause les habitudes des utilisateurs, et elle ne coûte rien. Néanmoins il doit être clair
à tous que techniquement cette solution est mauvaise. En effet elle ne résoud aucun des problèmes posés, elle se contente de simplifier la
vie de l'administrateur des ordinateurs en question.

<sect>Description
<p>
Nous allons brièvement décrire les étapes de mise en place de la solution sur un ordinateur:

<itemize>
<item>Départitionnement du disque dur
<item>Repartitionnement en deux partitions égales P1 et P2
<item>Formatage de P1 en FAT32
<item>Installation de Windows 95 sur P1
<item>Installation de Microsoft Office Pro (P1)
<item>Installation de Netscape Communicator (P1)
<item>Installation de Linux sur P2
<item>Création d'un script Unix de sauvegarde de P1 sur P2
<item>Création d'un script Unix de restauration de P1 depuis P2
<item>Création d'un utilisateur Unix pour sauvegarder
<item>Création d'un utilisateur Unix pour restaurer
<item>Démarrage sous Linux
<item>Réalisation de la première sauvegarde
<item>Redémarrage sous Windows
<item>La machine est prête à être utilisée
</itemize>

<p>
Nous allons maintenant voir dans le détail de quoi sont faites ces différentes étapes.

<sect1>Repartitionnement et Formatage
<p>
Avant de procéder à la création d'un master, il faut impérativement disposer d'une machine
installée de la manière la plus propre possible, sans aucun logiciel non indispensable. En effet
il n'y aurait aucun intéret à conserver un master d'une machine à moitié hors service à ause de la biodégradabilité
de Windows 95.

<p>
Pour cette raison, il est bon de commencer par partitionner et reformater le disque dur, puis de faire une réinstallation
complète pour avoir un ordinateur pratiquement dans l'état qu'il avait au sortir du carton.

<p>
Comme nous l'avons vu dans le document exposant les problèmes, la meilleure solution à base de master consiste
à stocker celui-ci localement sur l'ordinateur. Linux nous servant à générer le master, il nous faut donc avoir assez de place pour installer Linux indépendamment de Windows.
Linux nous permet d'avoir un contrôle totale sur la partition Windows, ce que ne nous permettrait pas un logiciel sous Windows.
Nous devons donc avoir deux partitions, la première pour Windows et les logiciels bureautique, et l'autre pour Linux et le master.

<p>
Compte tenu de la taille des disques, il faudra faire attention à bien choisir le type de partition FAT32 car ce système de fichiers
perd moins de place sur le disque que sa version précédente.

<p>
Nous connaissons à peu près la taille occupée par Windows+Office+Communicator, mais nous ne savons pas quelle pourrait devenir
cette taille dans le cas d'ajout de logiciels sur les postes, aussi pour ne pas prendre de risque nous aurons soins de
créer deux partitions de tailles identiques. La place que prend Linux sur la seconde partition sera compensée par le fait que nous
stockerons le master sous forme compressée.

<sect1>Installation des logiciels Windows
<p>
Nous n'installons que les logiciels désirés, c'est à dire:

<itemize>
<item>Windows 95
<item>Microsoft Office Pro 97
<item>Netscape Communicator 4.5
</itemize>

<p>
Nous nous rendons compte que la place nécessaire est de 342 Méga-Octets, pas très loin de nos estimations.

<p>
Lors de l'installation de Windows, nous prenons bien soin de configurer correctement le système, notamment
ses paramètres réseau, ainsi que la résolution de l'écran que nous fixons en 800x600x65536 couleurs.

<p>
Enfin nous exécutons une fois chacun des logiciels afin que les futurs utilisateurs ne soient pas génés par
des messages intempestifs.

<sect1>Installation de Linux
<p>
Nous devons installer une version minimale du système, avec la contrainte d'avoir un support pour le système de fichiers
FAT32. Nous avons donc besoin d'un noyau 2.0.36. Il nous faut aussi les commandes <em>tar</em> et <em>gzip</em>, ainsi
qu'un shell quelconque, ici <em>bash</em>. Bien que particulièrement volumineuse même en configuration minimale, la distribution RedHat
5.2 propose d'emblée la bonne version du noyau, ce qui nous évite d'avoir à faire une mise à jour. C'est donc cette
distribution que nous installons. Vu la place encore disponible nous décidons de faire une installation intégrant X Window et legestionnaire de fenêtres Window Maker, ceci nous permettra de faire des démonstrations de l'utilisabilité de Linux par les étudiants.

<p>
A l'aide de LILO, nous définissons le boot par défaut comme étant celui sous Windows. Le boot sous Linux étant accessible par
la saisie du mot clef "linux" au prompt de LILO.

<sect2>Création des scripts
<p>
Nous créons deux scripts Unix, l'un destiné à générer le master sous la forme d'un fichier tar gzippé en archivant tous les
fichiers présents sur la partition Windows, l'autre destiné à effacer la partition Windows et à extraire tous les fichiers du master
afin de restaurer une partition Windows propre. Ces scripts prendrons également en charge la sauvegarde et la restauration des secteurs de partition et de boot,
afin qu'un éventuel virus ne puisse les écraser définitivement.

<p>
Voici le script de sauvegarde:
<tscreen><verb>
#! /bin/sh
echo -n Sauvegarde en cours...
/bin/dd if=/dev/hda of=/sauvegarde/parttable.bin bs=512 count=1
/bin/dd if=/dev/hda1 of=/sauvegarde/bootsector.bin bs=512 count=1
cd /
/bin/tar -zcf /sauvegarde/sauvegarde.tar.gz C
echo Sauvegarde Terminee.
/sbin/shutdown -r now
</verb></tscreen>

<p>
Et voici le script de restauration:
<tscreen><verb>
#! /bin/sh
echo -n Restauration en cours...
cd /
/bin/rm -fr /C/*
/bin/tar -zxf /sauvegarde/sauvegarde.tar.gz
/bin/dd if=/sauvegarde/parttable.bin of=/dev/hda bs=512 count=1
/bin/dd if=/sauvegarde/bootsector.bin of=/dev/hda1 bs=512 count=1
echo Restauration Terminee.
/sbin/shutdown -r now
</verb></tscreen>

<p>
Pour votre information, le fichier tar+gzip contenant la sauvegarde complète des logiciels installés sous windows fait 182 MégaOctets.

<sect2>Création des utilisateurs
<p>
Nous allons créer deux utilisateurs Unix, l'un ayant le droit de faire la sauvegarde et l'autre ayant celui de faire la restauration.
Ainsi nous pourrons confier le soin de faire l'un ou l'autre à différentes personnes, selon leur niveau de compétence.
Les utilisateurs devront disposer des droits adéquats d'accès aux disques et aux fichiers de sauvegarde, ainsi que du droit
de lancer la commande shutdown afin de redémarrer automatiquement le poste.

<p>
Pour simplifier au maximum la tâche du personnel amené à faire les manipulations, nous définissons ces scripts en tant que shell pour
les utilisateurs créés, et nous ajoutons une commande de redémarrage à la fin de chacun de ces deux scripts (voir plus haut).

<p>
Ainsi, pour générer un master, il suffit de démarrer sous Linux et de se connecter en utilisateur <em>"sauve"</em> avec le mot de passe
adéquat. Lorsque la génération est terminée la machine redémarre sous Windows. Pour restaurer une partition Windows propre, il suffit
de démarrer sous Linux et de se connecter en utilisateur <em>"restaure"</em>, là encore avec le bon mot de passe. Lorsque la restauration
est finie, la machine redémarre automatiquement sous Windows.

<p>Une fois les utilisateurs créés, il nous suffit de générer un premier master en se connectant en utilisateur <em>"sauve</em>
et attendre que la machine redémarre, elle démarre alors sous Windows et est prête à être livrée à ces hordes d'étudiants
irrespectueux du matériel...

<sect>Mode d'emploi
<p>
Nous allons voir ici comment générer un master, et comment restaurer une partition windows propre depuis le master en question.

<sect1>Génération du Master
<p>
La génération du master n'est normalement à faire qu'une seule fois, sauf en cas d'ajout de logiciels que l'on voudrait intégrer
au master.

<descrip>
<tag>Démarrage de l'ordinateur</tag>
Nous devons redémarrer l'ordinateur sous Linux, pour ce faire il suffit d'allumer l'ordinateur. Après quelques instants, un
écran s'affiche avec le prompt:

<tscreen><verb>
LILO boot:
</verb></tscreen>

s'affiche. Il suffit alors de taper:

<tscreen><verb>
linux
</verb></tscreen>

et de valider par la touche Entrée. Si vous ne tapez rien dans les 5 secondes alors l'ordinateur démarre automatiquement
sous Windows, ce qui est la valeur par défaut nécessaire pour ne pas dérouter les utilisateurs.

<tag>Lancement de la sauvegarde</tag>
Après le démarrage de Linux, un message comme celui-ci:

<tscreen><verb>
Login:
</verb></tscreen>

s'affiche pour vous inviter à vous connecter. Veuillez alors taper <tt><bf>sauve</bf></tt> et valider par Entrée.
Il s'affiche alors le message:

<tscreen><verb>
Password:
</verb></tscreen>

pour vous demander de taper le mot de passe. Saisissez alors le mot de passe de l'utilisateur <em>sauve</em> et validez
par Entrée.
La sauvegarde commence...

<tag>Redémarrage sous Windows</tag>
Lorsque la génération du master est terminée, l'ordinateur redémarre automatiquement sous Windows.
Vous pouvez donc laisser la machine sans surveillance pendant les 20 minutes que dure l'opération.

Bien entendu il ne faut pas interrompre le traitement en cours de route...

</descrip>

<sect1>Restauration de la partition Windows
<p>
On peut faire cette manipulation aussi souvent qu'on le souhaite, une bonne idée serait de le faire une fois par mois, par exemple.

<descrip>
<tag>Démarrage de l'ordinateur</tag>
Nous devons redémarrer l'ordinateur sous Linux, pour ce faire il suffit d'allumer l'ordinateur. Après quelques instants, un
écran s'affiche avec le prompt:

<tscreen><verb>
LILO boot:
</verb></tscreen>

s'affiche. Il suffit alors de taper:

<tscreen><verb>
linux
</verb></tscreen>

et de valider par la touche Entrée. Si vous ne tapez rien dans les 5 secondes alors l'ordinateur démarre automatiquement
sous Windows.

<tag>Lancement de la restauration</tag>
Après le démarrage de Linux, un message comme celui-ci:

<tscreen><verb>
Login:
</verb></tscreen>

s'affiche pour vous inviter à vous connecter. Veuillez alors taper <tt><bf>restaure</bf></tt> et valider par Entrée.
Il s'affiche alors le message:

<tscreen><verb>
Password:
</verb></tscreen>

pour vous demander de taper le mot de passe. Saisissez alors le mot de passe de l'utilisateur <em>restaure</em> et validez
par Entrée.
La restauration commence...

<tag>Redémarrage sous Windows</tag>
Lorsque la restauration de la sauvegarde est terminée, l'ordinateur redémarre automatiquement sous Windows.
Vous pouvez donc laisser la machine sans surveillance pendant les 10 minutes que dure l'opération.

Bien entendu il ne faut pas interrompre le traitement en cours de route...

</descrip>

<sect1>Ajout de logiciels
<p>
Bien entendu il peut être intéressant d'installer de nouveaux logiciels sur l'ordinateur. Pour que cela se fasse dans de bonnes conditions il
est <bf>impératif</bf> de respecter la procédure suivante pour partir sur des bases saines:

<itemize>
<item>Restauration de la sauvegarde (voir précédemment)
<item>Installation des nouveaux logiciels
<item>Regénération du master (voir précédemment)
</itemize>

Tout ceci afin de s'assurer que les logiciels ont bien éte ajoutés sur une machine configurée de manière optimale.

<sect1>Conclusion
<p>
Cette solution est très loin d'être parfaite sur le plan de la sécurité, mais elle offre l'avantage de conserver les habitudes des étudiants et des autres utilisateurs de la salle.

<p>
L'installation de Linux a été menée à terme, avec installation d'une suite bureautique StarOffice 5.0.33 en français, Netscape Communicator 4.5, démarrage sous xdm (login graphique), et création d'un compte utilisateur local disposant d'un minimum de droits pour travailler. Les étudiants qui le désirent pourront donc s'essayer à Linux en ayant les mêmes facilités que sous Windows, et il y a déjà un peu de demande. Ni Gnome ni KDE n'ont été installés afin de dépouiller l'environnement au maximum, de plus le lancement de xterm a été désactivé depuis les menus, ce qui gènera au moins les apprentis sorciers. Le compte utilisateur a pour l'instant un droit d'écriture dans son répertoire, sans quota, et le temps nous permettra de juger de l'opportunité d'accroite ou de restreindre les sécurités sur les postes, voir de créer un compte personnel par étudiant avec montage des répertoires depuis un serveur.
</article>

