Installation de GNU/Linux dans le laboratoire d'informatique du Taipei European Schools Campus

Hilaire Fernandes, hilaire.fernandes@iname.com, Jérôme Mathevet, speedsterh@yahoo.com

v 1.0 , 29 Juin 1999


Ce document présente l'installation du système GNU/Linux dans le laboratoire d'informatique commun du campus Européen. Les procédures d'installations au niveau du serveur et des clients sont présentées ainsi que les raisons d'être d'un tel choix. Le but de ce document est d'assurer la pérennité et le suivi du travail initial d'installation du système GNU/Linux dans ce laboratoire.

1. Introduction

Présentation du matériel disponible dans le laboratoire, des choix logiciels initiaux et des conséquences sur l'environnement de travail des élèves.

1.1 Situation matérielle au 23 avril 1999

En tout 28 postes, deux caméras quickcam, 3 imprimantes et un scanner :

Cher lecteur notez que Moustico est la station la moins puissante du laboratoire tout en ayant le plus grand nombre de tâche à son actif.

1.2 La situation de départ

Lors de la mise au point du laboratoire, en automne - hiver 1997, il fut décidé :

Lors de ma prise de fonction au poste de professeur d'informatique en classe de 2de, 3ème et 4ème en 1998, je me suis vite aperçu que l'environnement de travail induit par l'utilisation de Win NT en serveur et Win95 en client était un vrai casse tête pour les élèves : pour parvenir à son dossier personnel un élève devait passer par quatre fenêtres intermédiaires (Voisinage réseau, serveur, parcours de l'arborescence dans le serveur). Inutile de préciser que d'une séance à la suivante les élèves oubliaient où se situaient leurs répertoires personnels et/ou sauvegardaient directement leurs travaux sur la station de travail. J'ai tenté de simplifier la situation en créant dynamiquement des lecteurs réseaux lors de la connection d'un utilisateur, cependant la facilité des logons scripts de Win NT semble boguée avec des clients Win 95 (Linux+Samba comme serveur de services SMB ne présente pas cette déficience).

D'autres carences existent, elles sont du même type et montrent à quel point les produits Microsoft sont du bricolage lorsqu'on les utilise en environnement multi utilisateurs et multi machines. On peut distinguer comme carences :

  1. L'absence de quota dans le système de fichier NTFS des serveurs NT. C'est pourtant un dispositif crucial en environnement multi utilisateurs. Il permet de limiter à une certaine quantité l'espace disque dur du serveur utilisable par les utilisateurs. En son absence il est très très facile de rendre inconfortable l'utilisation du réseau aux utilisateurs.
  2. Les faibles possibilités de personnalisation de l'environnement de travail des élèves. En effet d'une machine à l'autre ou d'une session de travail à l'autre, l'élève ne retrouve pas son environnement de travail. La conséquence de cela : tous les utilisateurs ont un même environnement de travail impersonnel ou pire ils ont un environnement qui résulte des différents bricolages sur les machines par les élèves précédents.
  3. Encore plus grave, les applications ne peuvent pas être personnalisées, sauf parfois par quelques bricolages. Mais en général, les applications Windows n'ont pas de notion d'utilisateur. Ne pas pouvoir sauver de signets lors de recherches sur l'Internet peut être gênant (hum, il existe un bricolage pouvant aider à cela quand même, ce n'est qu'un bricolage cependant).

Toutes ces carences n'empêche pas de travailler, cependant elle donne aux yeux des élèves l'image d'un environnement stupide où c'est l'utilisateur qui doit s'adapter à la machine et non l'inverse comme il se doit. C'est à partir de ces états de fait que la solution GNU/Linux en tant que station de travail a été envisagée.

2. Évaluation d'une solution GNU/Linux

Afin de s'assurer de la viabilité d'un tel choix en environnement scolaire, j'ai entrepris en hiver 1999 d'installer un environnement type GNU/LINUX sur une station du laboratoire. En même temps j'ai imprimé l'accord cadre MENRT-AFUL pour mon cher directeur. Autant vous avouer que l'expérimentation dans le laboratoire s'est suivi de suspicions, accusations et tentative de déstabilisation en tout genre de la part du directeur Britannique et de son responsable informatique, en général fondées sur le manque de communication. Les Allemands, eux, se sont montrés parfaitement désintéressés par le projet.

2.1 Zut, GNU/Linux ne démarre même pas

Le premier problème rencontré était plutôt de taille : GNU/Linux ne démarrait même pas sur les clients. Une fois le noyau chargé, la machine s'initialisait, PAF! Exit la procédure d'installation. Vite un tour sur www.dejanews.com où sont archivés les messages du forum comp.os.linux.hardware dédié aux problèmes de matériels sur GNU/Linux. Là, je trouve divers suggestions : changer les options du Bios (l'ultra dma et l'économiseur d'énergie sont cités), essayer un autre noyau de Linux, utiliser un autre lanceur d'OS que lilo ou même flasher un nouveau Bios. Ouha! Cette dernière possibilité sera la dernière testée! Flasher un nouveau Bios dans une machine du laboratoire du campus, Glup! Bien sur il a fallut que je passe au flashage, aucune des autres solutions n'a fonctionné. J'ai tout essayé avec le Bios : pas de cache, pas d'ultra dma, pas d'économiseur. En plus de ça le menu des cartes mères est tout en Chinois, les seuls mots latinisés sont MHz, volt, etc. Heureusement mon épouse Sumei m'a aidé à trouver les définitions des jumpers. J'ai donc vérifié les bonnes positions des jumpers, le collègue allemand rigole en me voyant le nez dans les entrailles d'une machine du laboratoire, le collègue britannique ne dit rien.

Un vendredi après-midi je me décide. Je VEUX flasher un nouveau Bios! Euh... comment on fait ça. Le menu tout en Chinois... oublions le! Ah il y avait des disquettes avec les cartes mères, c'est même écrit flash quelque chose. Je regarde le contenu sur l'ordinateur qui s'est fait inspecter les broches : il y a juste un petit programme, il manque juste un nouveau Bios. Un coup d'oeil sur le menu de la carte mère : c'est écrit NISSAN sur la couverture, vite un tour au garage du coin ;-) (...) et me revoilà avec une version plus récente du Bios (Après être passé au garage une recherche sur Internet m'a permis de trouver le vrai constructeur, un Taïwanais, qui m'a promptement envoyé par mél un nouveau Bios prêt à flasher). Et là, Oh miracle! GNU/Linux peut s'installer. On est déjà mardi et le collègue britannique m'accuse d'avoir foutu en l'air la machine où j'ai flashé le nouveau Bios et je dois ASAP remettre l'autre Bios, pas de bol on ne parle pas de la même machine. Dommage !

2.2 Installation d'une station type

Les deux stations de travail type étaient toutes deux sous RedHat. La première utilise la distribution GPL Mandrake 5.3 + KDE 1.1. La deuxième configuration se base sur la version GPL RedHat 6.0 + Gnome 1.0.

Mandrake 5.3 + KDE 1.1

Quelle distribution choisir ? Mon expérience se limite à la Red Hat, ce sera donc celle-ci. Cela tombe bien, Mandrake vient de sortir la 5.3 (festen) avec KDE 1.1, Wine et plein de gâteries. En plus on peut télé-charger un gros fichier de 500 Mo prêt à être gravé sur cédérom. Après plusieurs essais de télé-chargement par ISDN, je doit renoncer. Finalement, sur le site Mandrake je trouve l'adresse d'un graveur sur Taïwan.

RedHat 6.0 + Gnome 1.0

Cette station type fût installée 5 mois après la précédente. Je ne suis pas sûr des avantages de Linux 2.2, le NFS serait plus rapide mais je n'ai pas fait de test. D'autant plus que le serveur NFS utilise toujours Linux 2.0.xx.

Voici quelques différences significatives entre KDE 1.1 et Gnome 1.0 que j'ai remarquées :

Remarque 1 : KDE et Gnome ne fonctionnait pas sur le même noyau.

Remarque 2 : Cependant, les mêmes différences apparaissent sur ma station de travail personnelle sous un noyau 2.2 de Linux.

Le choix des applications

L'environnement graphique

J'ai distingué trois solutions :

  1. KDE, l'environnement est très complet mais encombrant en mémoire
  2. Window Maker, c'est très économique en mémoire, mais il manque au moins un gestionnaire/explorateur de fichier du calibre de KFM
  3. Gnome 1.0, cet environnement est plus léger que KDE avec une célérité accrue. Cependant, l'installation par l'Internet semble assez pénible et il faut télé-charger beaucoup trop de fichiers. Il est préférable de l'installer depuis un cédérom.

Le choix s'est porté vers KDE pour des raisons de stabilité puis vers Gnome 1.0 qui est stable et plus léger. À noter que X-Window se bloque parfois : la seule alternative est alors le reset. Est-ce XFree, KDE ou un matériel défaillant ? La question reste en suspend avec l'installation de la RedHat 6.0

Les applications non disciplinaires

Les applications disciplinaires

D'autres sont à évaluer.

3. Installation générale du système GNU/Linux

Une fois une station de travail type installée, reste à définir l'architecture du réseau. Cette architecture a suivi les contraintes suivantes :

  1. l'utilisateur retrouve son répertoire personnel dans /home quelque soit la station de travail utilisée.
  2. il utilise le même mot de passe quelque soit la station où il se connecte. Il peut aussi changer son mot de passe sans que des problèmes de synchronisation de mot de passe apparaissent entre les stations de travail.
  3. il peut accéder aux ressources partagées disponible sur Mickey et Minnie. Ces deux stations sont des serveurs NT dans lesquels sont disponibles, entre autres, des applications pour les stations GNU/Linux. (Word Perfect par exemple).
Pour le premier point, on monte un service NFS sur Moustico qui exporte son répertoire /home, les clients GNU/Linux montent alors ce répertoire dans leur propre répertoire /home, un utilisateur connecté sur n'importe quelle station a ainsi à sa disposition le répertoire /home de Moustico, ceci de façon transparente (Quel progrès par rapport au couple WinNT serveur/workstation !).

Pour le second point, on utilise le logiciel NIS sur Moustico et les clients. Lorsqu'un utilisateur s'identifie sur une station, cette dernière fait une requête du type nom utilisateur/mot de passe au serveur NIS sur Moustico pour vérifier l'identité. En effet les mots de passe ne sont plus stockés sur les clients mais uniquement sur Moustico. NIS offre d'autres services comme une gestion centralisée des fichiers /etc/groups et /etc/hosts, les logiciels nécessaires pour changer de mot de passe depuis un client.

En ce qui concerne le dernier point, tout les clients utilisent le logiciels smbfs, de plus Samba est installé pour permettre l'accès aux imprimantes connectées à des stations NT.

3.1 Installation du serveur

Le problème numéro un était de trouver une nouvelle machine, de plus cette machine ne serait pas d'un grand intérêt, dans un premier temps, pour les collègues Allemand et Britannique. Encore un problème diplomatique à résoudre. Finalement j'ai eu l'idée de proposer l'installation d'un proxy pour cacher l'accès Internet du laboratoire. Ce service peut être fourni par squid sous GNU/Linux. Ainsi sur cette même machine j'ai donc pu installer les services NFS et NIS nécessaires aux stations de travail GNU/Linux. Les collègues Britannique et Allemand ont été tout à fait d'accord avec cette solution, le collègue Britannique a même gentiment proposé un Pentium 133 Mhz, 32 Mo, 1.2 Go qu'il n'utilisait pas. La travail a donc commencé rapidement après l'accord.

À cette machine j'ai ajouté un vieux disque dur de 0.5 Go (avec quelques secteurs défectueux). Sur ce disque dur est installé GNU/Linux ( / ), une partition de swap de 64 Mo, une partition de 100 Mo pour le proxy ( /var/spool/squid ). Le deuxième disque dur est entièrement réserve au répertoires personnels ( /home )

Distribution

C'est la Mandrake 5.3. Les services disponibles sont :

  1. squid
  2. yp.passwd pour permettre à des clients de changer les mots de passe
  3. ypserver, pour permettre l'accès à la base de données centralisée des :
    1. noms d'utilisateurs et mots de passe
    2. noms de groupes
    3. noms des hôtes du réseau *.tes
  4. nfsd, serveur NFS
  5. smbd, pas très utile sur le serveur
  6. httpd, serveur web Apache

Squid

Squid est un proxy, c'est un service qui mémorise les pages Internet qui ont été visitées. Il peut ainsi mémorisé des fichiers images, du texte ou même du son. Ces fichiers sont stockés un certain temps, puis effacés ou remplacés par des fichiers visités plus récemment. L'avantage sur les caches personnels : le cache proxy est commun à tous les utilisateurs. Si un professeur décide de travailler avec un site avec ses élèves, il n'aura qu'a visiter le site en question quelques heures auparavant, l'accès sera ensuite immédiat pour ses élèves.

NIS

Les fichiers /etc/nsswitch.conf, /etc/yp.conf et /etc/ypserv.conf sont ceux fournis par le serveur NIS.

En revanche, dans le fichier /var/yp/Makefile modifier la ligne où apparaît al: .... en


all: passwd group hosts 

Seuls ces trois services seront utilisés par NIS. Pour construire la base de données NIS taper make dans le répertoire /var/yp/. À chaque ajout d'un utilisateur, utiliser cette commande.

NFS

L'installation se résume à installer le rpm nfs-server-2.2beta37-1.i386.rpm.

Le fichier exports

Ajouter la ligne :


/home *.tes(rw)

le dossier /home de Moustico sera exportable en écriture et lecture sur le réseau tes

Les problèmes rencontrés

Lors du montage du système de fichier d'un client utilise l'option noac, cela supprime l'utilisation des caches qui provoquaient des erreurs d'écritures.

3.2 Installation des stations de travail

Le but du jeu est d'en faire le moins possible d'un point de vue humain tout en ayant une configuration optimale des clients. Pour ce faire, il existe un utilitaire intéressant : kickstart.

La magie de kickstart

Il est possible d'installer une distribution Red Hat GNU/Linux de façon automatisée grâce au mode kickstart. Il est nécessaire de définir un fichier d'installation ks.cfg. Pour cela on lance l'utilitaire mkkickstart sur la station type GNU/Linux, mkkickstart produit alors le fichier d'installation de la station. Ce fichier est découpé en trois sections :

Ces trois parties sont reprises en détail dans les sections suivantes.

Les paramètres d'installation et problèmes

On distingue :

Présélection des paquets

Cette phase se déroule sans incidents et automatiquement. Elle commence après la ligne %paquages.

Script de post installation

Elle commence après la ligne %post :


mount -t nfs 192.168.0.242:/home/install /mnt/floppy
cd /mnt/floppy
./install-script
umount /mnt/floppy

Le répertoire /home/install du seveur Moustico d'IP 192.168.0.242, contient un script bash qui finit de configurer les clients :
# On est dans /mnt/floopy monte sur moustico:/home/install
# / est sur le client

echo '192.168.0.242             moustico.tes    moustico' >> /etc/hosts
cp -f resolv.conf /etc/resolv.conf

#NIS, c'est installe par le kickstart
#echo 'NISDOMAIN="astico"' >> /etc/sysconfig/network
#cp -f yp.conf /etc/yp.conf
#cp -f nsswitch.conf /etc/nsswitch.conf 
#cp S35ypbind /etc/rc.d/rc5.d/

#Les nouveaux binaires pour changer de mots de passe NIS depuis un client
mv /usr/bin/passwd /usr/bin/passwd-old
ln -s /usr/bin/yppasswd /usr/bin/passwd

mv /usr/bin/chfn /usr/bin/chfn-old
ln -s /usr/bin/ypchfn /usr/bin/chfn

mv /usr/bin/chsh /usr/bin/chsh-old
ln -s /usr/bin/ypchsh /usr/bin/chsh

echo '192.168.0.242:/home /home nfs  defaults 1 1' >> /etc/fstab
echo '/ moustico(rw, no_root_squash)' >> /etc/exports

cp -f smb.conf /etc/smb.conf

#page man avec lettres accentuees  francais
cp -f man.config /etc/man.config

#X-windows
mount -t nfs 192.168.0.242:/home/distribution /mnt/cdrom
rpm -U /mnt/cdrom/RedHat/RPMS/XFree86-SVGA-3.3.3.1-49.i386.rpm
umount /mnt/cdrom
cp -f XF86Config /etc/X11/
cp -f inittab /etc/inittab


#Imprimante
cp -rf lpd /var/spool
cp -f printcap /etc/printcap

#Installation de fontes supplementaires
tar xfz font.tar.gz -C /usr/X11R6/lib/X11

#Chemin pour les ressources NT
mkdir /mickey

echo "/usr/bin/smbmount //mickey/eft ecolefr -U ecolefr -c 'mount /mickey'" >> /etc/rc.d/rc.local

# pour accelerer l'acces disque dur
echo '/sbin/hdparm -c 3 -d 1 /dev/hda' >> /etc/rc.d/rc.local

# stopper redemarrer Autofs, il semble mal demarrer
echo '/etc/rc.d/init.d/autofs stop' >> /etc/rc.d/rc.local
echo '/etc/rc.d/init.d/autofs start' >> /etc/rc.d/rc.local

# demon timed pour synchroniser l'heure sur le reseau, les sations ne sont jamais maitres
echo '/usr/sbin/timed' >> /etc/rc.d/rc.local

# service ruser et rwall
echo '/user/sbin/rpc.ruserd' >> /etc/rc.d/rc.local
echo '/user/sbin/rpc.rwalld' >> /etc/rc.d/rc.local 

#Get the boot sector et on le copie sur la partition de boot
dd if=/dev/hda7 of=/root/bootsect.lnx bs=512 count=1
umount /mnt/cdrom

#Attention, j'ai eu des pb avec le fs msdos
mount -t vfat /dev/hda1 /mnt/cdrom/ 
cp -f /root/bootsect.lnx /mnt/cdrom/

#l'entree existe deja
#echo 'c:\bootsect.lnx="Linux X-Window"' >> /mnt/cdrom/boot.ini
umount /mnt/cdrom


#local francais
echo 'LC_CTYPE=ISO-8859-1' >> /etc/profile
echo 'LC_ALL=fr_FR' >> /etc/profile
echo 'LANG=fr' >> /etc/profile 
echo 'LESSCHARSET=latin1' >> /etc/profile
echo 'export PATH LC_CTYPE LC_ALL LANG LESSCHARSET' >> /etc/profile
echo 'alias ll="ls --color=auto -l -a -N"' >> /etc/profile
echo 'alias ls="ls --color=auto"' >> /etc/profile


#Les zip suivant contiennent les logiciels avec l'arborescence  
#Installe dictionnaire francais
unzip -o dicofr.zip -d /

#Installe VNC
unzip -o vnc.zip -d /

#Installe Lyx, linke en static avec xform
unzip -o lyx.zip -d /

#Configuration de l'automantage
unzip -o autofs.zip -d /

#Configuration du son, ne marche pas
echo 'alias sound sb' >> /etc/conf.modules
echo 'alias midi opl3' >> /etc/conf.modules
echo 'options opl3 io=0x388' >> /etc/conf.modules
echo 'options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330' >> /etc/conf.modules 
cp -f soundcard /etc/sysconfig/

#on enleve les services inutiles
rm -f /etc/rc.d/rc5.d/*pcmcia
rm -f /etc/rc.d/rc5.d/*apmd

#On change le fond pour Gdm, logo Europeen
cp -f gdm/tesco.png /usr/share/pixmaps/tesco.png
cp -f gdm/Default /etc/X11/gdm/Init/Default

echo 'C'est fini :-)'

Remarque :

Architecture du système de fichier d'un client

Pour le reste c'est classique.

Les services installés

Ils sont configurés automatiquement grâce à la phase post installation du fichier ks.cfg.

YPBIND

C'est la partie cliente du système NIS, c'est ce démon qui fait les requêtes au serveur Moustico.

Les services utilisés sont :

Les fichiers à configurer sont :

Remarque : ce service est dorénavant configuré par kickstart.

NFSD

Tous les clients sont serveurs NFS. Cela permet de faire des installations/mises à jours de façon centralisée par script depuis Moustico (Quelle souplesse comparé au duo Win NT serveur/station de travail). Par exemple, la configuration des pilotes d'imprimantes sur les clients est très rapide : on configure un client puis à l'aide de Moustico on duplique les fichiers nécessaires sur tout les clients par un petit script bash. Sur ce point , Jérôme en dira plus dans la section dédiée.

Seul le fichier /etc/exports est à configurer, on y ajoute la ligne :


/ moustico.tes(rw,no_root_squash)

Seul Moustico peut monter les clients. Bien sur on peut monter toute l'arborescence des clients. L'option no_root_squash permet à root sur Moustico d'avoir tout les droits sur un système de fichier d'un client, plutôt nécessaire pour faire des mises à jour!

SMBD

Étant donné qu'il y a plein d'espace disque dur disponible sur les serveurs NT Minnie et Mickey il serait bête de s'en priver. De plus les anciens dossiers personnels sont sur Mickey. Ainsi dans les répertoires /Mikcey/élèves, /Mickey/professeurs et /Minnie sont montées les ressources partagées de Mickey et Minnie. Pour cela, ajouter dans le fichier /etc/rc.d/rc.local


/usr/bin/smbmount //mickey/eft ecolefr -U ecolefr -c 'mount /mickey'

Remarque : la syntaxe a changée avec la version de Samba de la distribution Mandrake 5.3

TIMED

À l'aide du deamon timed, il est possible d'avoir une heure réseau moyenne. C'est à dire tous les postes sont sensiblement à la même heure. timed fonctionne dans un mode client - serveur. Lors du démarrage du deamon timed, il se charge de synchroniser la date de la station avec celle d'un serveur de temps. Toute station dont le deamon timed est lancé sous la forme :


timed -M

a la possibilité de devenir un serveur de temps. Sinon la station reste un client.

Donc dans le fichier /etc/rc.d/rc.local des stations de travail on ajoute la ligne :


/usr/sbin/timed

Sur le serveur Moustico, on ajoute :
/usr/sbin/timed -M

De la sorte, seul Moustico peut être un serveur de temps. D'un point de vue intervention humaine, on maintient l'heure et la date uniquement sur Moustico.

Les imprimantes

Bien que n'ayant aucune expérience dans ce domaine, j'ai pu faire l'installation de services d'impression dans le labo d'info en peu de temps (Hilaire aura écopé de quelques problèmes préliminaires comme l'accès à une imprimante rattachée à un serveur NT - Oh joie !). Il faut bien comprendre la philosophie d'Unix qui a une sorte de règle tacite de rangement de telle ou telle chose (l'arborescence /etc, /home, /mnt, /dev, ...). Au début, c'est assez ardu, mais petit à petit, on comprend que c'est plutôt une bonne façon de faire. Pour en revenir à l'impression, le plus simple, c'est d'installer les paquetages de GhostScript (surtout si on n'a pas d'imprimante PostScript) et le paquetage Samba.

GhostScript est un interpréteur PostScript, qui permet de 'rasteriser' (c'est à dire de convertir en pixels, que l'imprimante va pouvoir imprimer directement) la description PostScript que tous les programmes Unix ou du moins la plupart, génèrent.

Samba permet la communication en réseau entre deux machines pour des services d'impression ou de serveur de fichiers. Le plus étonnant est que deux Unix - serveur et client - peuvent utiliser ce protocole issu de MicroSoft sans broncher.

Chronologiquement, je me suis d'abord occupé de réussir une impression sur snowwhite, le serveur d'impression de la Stylus 300. Il suffit avec le superbe printtool de RedHat Software de mettre disponible une nouvelle imprimante, de dire qu'elle est connectée sur le port parallèle numéro 1 (/dev/lp1), que c'est une stylus colour, en mode 360x360. Auparavant, il a fallu remplir quelques champs comme le répertoire où lpd ira chercher les jobs. J'ai tué puis relancé le démon d'impression (lpd), et c'était fini. Pas mal pour un premier essai. Maintenant, pour rendre disponible la stylus 300 aux autres postes, il fallait éditer le fichier smb.conf. Tout était très bien expliqué. Par rapport au fichier par défaut, j'ai juste enlevé les commentaires pour que Samba utilise les imprimantes définies dans /etc/printcap, puis le champ [printers].

Pour les clients, c'était à peine plus dur. Au lieu de spécifier une imprimante locale, il faut spécifier une imprimante SMB snowwhite, avec un certain mot de passe (pour éviter les abus, car le compte spécial utilisé a les droits de root). Et voilà. Le fait d'avoir des clients et un serveur d'impression oblige à avoir des fichiers /etc/printcap différents, alors attention de ne pas les écraser par mégarde (ce que j'ai fait en utilisant le script update_clients sur Moustico) ! Il est prudent de garder un double de chacun des fichiers /etc/printcap, par exemple /etc/printcap.old.

La liste des noms d'imprimante est:

Avec l'impression Unix par lpr, les utilisateurs peuvent en théorie annuler leur job d'impression, mais je doute que cette capacité sera un jour utilisée par les élèves.

les fontes et le serveur de fontes

Vouloir faire de la PAO avec les élèves, c'est bien, encore faut-il qu'ils aient un minimum de ressources à disposition. Par exemple, des clip-arts et des fontes. Pour les fontes, il est possible d'utiliser soit un serveur de fontes séparé du serveur X, ou d'avoir un serveur X incluant le serveur de fontes. Le serveur de fontes le plus évolué semble pour l'instant xfsft, c'est celui que nous adopterons. Il existe des serveurs X et de fontes pour la plupart des chipsets graphiques, et surtout pour le S3V (qui équippe les postes). J'ai pour l'instant choisi d'utiliser le serveur qui groupe tout (serveur X + serveur de fontes), même si le numéro de version du serveur X est moindre que celui des distributions Linux récentes. Il y a des patches pour se mettre à jour, mais s'il faut changer, je changerai.

Dorénavant, sous Gnome, le serveur de fontes xfsft est installé par défaut. On peut donc utiliser n'importe quel serveur X.

xfsft est un serveur de fontes permettant d'utiliser des fontes Type1, comme la plupart des serveurs X, mais aussi les fontes TrueType ! En utilisant les capacités extraordinaires de souplesse de Linux, il serait même possible d'utiliser prochaînement les fontes TrueType qu'utilisent ... les écoles Anglaises et Allemandes directement sur leurs partitions NTFS ! xfsft permet également de servir les fontes à distance, on pourrait mettre une assez grosse collection de fontes sur Moustico et les clients auraient les fontes à la demande (ce qui n'est pas forcément compatible avec le réseau en 10Mb/s). Il serait également possible de changer les chemins de fontes (sur le disque local) en un chemin réseau (/home de Moutico, monté par NFS). Cela pourrait être intéressant pour implémenter des fontes-tests avant de les ventiler sur les clients.

Pour les fontes Type1, on trouve quelques liens sur http://www.gimp.org renvoyant à des tarballs (les *.tar.gz). Elles sont freeware ou shareware. La seule chose à faire est de les extraire dans le bon répertoire (/usr/X11/lib/X11R6/fonts). Ensuite, il faut éditer le début du fichier XF86Config où le serveur X apprend les chemins vers les fontes, lancer le programme type1inst dans chacun des répertoires de fontes pour créer un indispensable fonts.scale puis lancer mkfontsdir pour à partir de ça créer le non moins indispensable fonts.dir. Il faudra certainement retoucher ce fichier fonts.dir, car les familles de fontes ne sont pas toujours reconnues (mettre la chaine vide pour la 'foundry' dans ce cas-là, au lieu de unknown). Pour les fontes TrueType, le programme qui crée ces fichiers fonts.* s'appelle mkttfdir. Vu que j'ai fait la manip une fois, il est en princip inutile d'y revenir, mais sait-on jamais ...

Dernière chose, j'ai enlevé les fontes bitmap 75dpi, pour que le système utilise de préférence les fontes de meilleure résolution. Problème: Si on revient à un serveur X classique, il ne trouvera pas la fonte 'fixed', et X ne se lancera pas. A ce moment-là, revenez au fichier XF86Config et décommentez la partie définissant le chemin vers les fontes 75dpi.

4. Configuration centralisées des clients depuis le serveur GNU/Linux

C'est la grande force des systèmes Unix par rapport à d'autres comme Win NT. Toute modification d'un client se fait par NFS. Pour ce faire tous les clients sont égalements des serveurs NFS et le fichiers /etc/exports contient la ligne :


/ moustico(rw, no_root_squash)

Uniquement Moustico peut monter le système de fichier des clients.

Ensuite pour faire une mise à jour de rpm ou installer des nouveaux scripts sur l'ensemble des clients on procède avec un petit shell script comme celui ci :


#
# Script a executer pour faire des mises a jour ponctuelles
# Chaque client est monte tour a tour via NFS, puis une operation
# est appliquee (en general, une ou des copies).
# Attention, danger !
#

for i in dangermouse snowwhite hunchback batman donald pluto \
         esmerelda tweetypie jerry goldilocks poohbear \
         goofy cinderella popeye shredder tom bananaman penelope
do
  echo updating $i ...
  mount -o rsize=4096,wsize=4096,noac -t nfs $i:/ /mnt/client

  #On enleve les RPMs inutiles
  rpm -e  --nodeps --root /mnt/client xmailbox-2.5-5
  rpm -e --nodeps  --root /mnt/client maxwell-0.5-3
  rpm -e --nodeps --root /mnt/client abs-0.5-1

  #On installe des RPMs 
  rpm -U --root /mnt/client --nodeps --force /home/mandrake/RedHat/RPMS/sendmail-8.8.7-20.i386.rpm

  #Mise a jour de script
  echo '/sbin/hdparm -c 3 -d 1 /dev/hda' >> /mnt/client/etc/rc.d/rc.local
  cp -f /etc/man.config /mnt/client/etc/man.config
  
  #Mise a jour des drivers d'imprimantes
  rm -r /mnt/client/var/spool/lpd
  cp -fr /home/install/lpd /mnt/client/var/spool/

  #Mise a jour du XF86Config, utile si on a oublie d'enclancher l'economiseur d'ecran
  cp /home/install/XF86Config /mnt/client/etc/X11/XF86Config
 
  umount /mnt/client
done

Simple, efficace et redoutable. Comment font-ils avec NT ?

5. Installation de compte utilisateur

5.1 Les groupes

Les groupes professeur, eleve, sixieme, cinquieme, quatrieme, troisieme et seconde sont disponibles.

Remarque : ne pas utiliser de nom de groupe commançant par un chiffre (4eme) cela provoque des confusions, usermod -G 4eme toto affectera à toto le GID 4.

5.2 Le script

Il existe un utilisateur type, modele, il sert de référence lors de la création d'un nouveau utilisateur, les modèles sont :

Le premier point est traité en prenant la configuration du quota d'un compte modele. Les trois derniers points sont traités en copiant les fichiers/dossiers .kderc, .kde, Desktop, .netscape de modele dans /etc/skel. Ce dernier répertoire contient les fichiers que la commande adduser copie dans le nouveau répertoire utilisateur.

Pour créer plusieurs utilisateurs, le script installuser reçoit comme argument le nom d'un fichier contenant les noms, prénoms et groupes des utilisateurs séparés d'un ou plusieurs espaces et/ou de tabulations, par exemple

Dupont       Andre        4eme
Moulin       Jean         5eme
A partir de ce fichier, installuser crée deux nouveaux utilisateur de login DupontA et MoulinJ respectivement dans les groupes eleve, 4eme et eleve, 5eme. Le mot de passe par défaut est le même pour les tous utilisateurs, il est spécifié sous forme chiffré avec l'option -p de la commande adduser. Voici le script :
#!/bin/sh
echo Installe les comptes utilisateurs du fichier $1
awk '{
        username=$1substr($2,0,1)
        group=$3
        print username, group
        system("/usr/sbin/adduser -c EleveEFT -G eleves,"group" "username)
        system("/usr/sbin/usermod -p O5oUbILW54xL2 "username)
        system("/usr/sbin/edquota -p modele " username)
}' $1

6. Utilisation quelques applications

Des explications complémentaires sur certaines applications sont ici fournies.

6.1 Utilisation de VNC

On suppose l'application parfaitement installée. Pour cela lire le fichier d'aide fourni avec le logiciel.

Sur le poste de l'enseignant qui veut faire une démonstration :

Sur les postes élèves :

7. Bibliographie

Ce document ne décrit que les grandes étapes d'installation. Pour des renseignements plus récis, se reporter aux how to.

Quelques pointeurs vers des applications utilsées ici :