hilaire.fernandes@iname.com, Jérôme Mathevet, speedsterh@yahoo.comPrésentation du matériel disponible dans le laboratoire, des choix logiciels initiaux et des conséquences sur l'environnement de travail des élèves.
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.
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 :
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.
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.
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 !
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.
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.
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.
J'ai distingué trois solutions :
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
D'autres sont à évaluer.
Une fois une station de travail type installée, reste à définir l'architecture du réseau. Cette architecture a suivi les contraintes suivantes :
/home quelque soit la station de travail utilisée.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.
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 )
C'est la Mandrake 5.3. Les services disponibles sont :
squidyp.passwd pour permettre à des clients de changer les mots de passeypserver, pour permettre l'accès à la base de données centralisée des :
nfsd, serveur NFSsmbd, pas très utile sur le serveurhttpd, serveur web Apache
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.
/dev/hdb1, de 100 Mo est réservée pour le cache./etc/fstab la ligne :
/dev/hdb1 /var/spool/squid ext2 defaults 1 2
/etc/squid.conf est celui d'origine sans modification.
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
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.
L'installation se résume à installer le rpm nfs-server-2.2beta37-1.i386.rpm.
Ajouter la ligne :
/home *.tes(rw)
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.
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.
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 :
NFS. Le cédérom Mandrake est copié sur le serveur Moustico dans le répertoire /home/mandrake pour accélérer l'installation. Notamment lorsque plusieurs stations sont installées en même temps.On distingue :
ne pas utiliser l'option --network, lors de l'installation Linux demandera alors la saisie des paramètres. L'inconvénient est que Linux fait une requête BOOTP pour obtenir son IP, ce qui a pour effet d'immobiliser l'installation quelques secondes.
l'option device ethernet ne --opts "io=0x240 irq=9" ne semble pas fonctionner. Il faut alors configurer à la main la carte réseau.
les commandes de kickstart ne sont pas très souples s'il existe déjà des partitions que l'on ne veut pas perdre. Avant d'utiliser le mode d'installation kickstart, il est nécessaire de créer une partition Linux à la main, pour cela commencer une procédure d'installation classique avec le cédérom, au moment de créer les partitions marquer ou créer une partition Linux. kickstart utilisera cette dernière comme base de travail pour :
clearpart --linux.part swap -size 128 pour créer une partition de swap de 128 Mo.part / --size 500 -grow pour créer une partition racine, l'option --grow indique de prendre l'espace restant de la partition Linux, avec un minimum de 500 Mo. --grow n'a un sens qu'utilisée une seule fois.zerombr no indique de ne pas remettre à zéro la table de partition du disque dur!lilo --location partition installe lilo sur la partition racine de Linux. Lors de la phase de post installation une copie du boot de la partition racine est transférée sur fichier. Ce fichier sert au lanceur d'OS de Win NT à booter Linux.keytable=fr et keytable)fr-latin1 ne fonctionne pas. Le choix du clavier doit se faire à la main.
Remarque avec kickstart de la version RedHat 6.0 :
xconfig ..., les installation nécessaires sont faites lors de la post-installation.mouse ....XF86Config pour cet environnement et de le copier sur le client lors de la phase de post installation.
Cette phase se déroule sans incidents et automatiquement. Elle commence après la ligne %paquages.
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
/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 :
/mnt.
/home pointe sur le répertoire /home de Moustico, montage en NFS :
/home/6eme, /home/4eme, /home/5eme, /home/4eme, /home/3eme et /home/2de sont des dossiers de groupe les classes, voir section
Les groupes.
Le mode de chaque groupe est drwxrwsr-x. Le mode s permet de donner le nom de groupe du dossier à un fichier crée dans le dossier. Par exemple, la commande chmod g+s 4eme affecte ce mode au dossier 4eme.
Il faut aussi veillez à ce que le umask des utilisateurs soit 002, c'est le choix par défaut de la Red Hat ; sinon la commande umask 002 peut être placée dans le fichier /etc/profile de chaque poste client. Le umask détermine avec quels attributs est crée un nouveau fichier. Ici ce sera avec la valeur d'attribut 666-002, c'est à dire 664 ou -rw-rw-r--. C'est nécessaire si l'on veut que les autres membres du même groupe aient un accès en écriture/lecture sur les fichiers du dossier.
/home/http contient une copie du site web de l'école./home/install contient les scripts d'installation et de mise à jour./home/distribution contient une copie de la distribution courante des clients./Mickey/eft pointe sur \\mickey\eft-, resource SMB de Mickey.
Ils sont configurés automatiquement grâce à la phase post installation du fichier ks.cfg.
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 :
/etc/yp.conf ............./etc/nsswitch ---> à vérifier/etc/sysconfig/network, la ligne :
NIS=moustico
Remarque : ce service est dorénavant configuré par kickstart.
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)
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!
É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
À 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
Donc dans le fichier /etc/rc.d/rc.local des stations de travail on ajoute la ligne :
/usr/sbin/timed
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.
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:
epsonplus sur mickey: Qualité maxi 720x720epson sur mickey: Qualité normal 360x360laser sur grot: par défaut (lp est un alias)snowwhite sur snowwhite: pour imprimer des documents de travail/recherche
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.
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.
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 ?
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.
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 :
.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 5emeA 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
Des explications complémentaires sur certaines applications sont ici fournies.
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 :
vncserver, le logiciel demande un mot de passe. À ce stade aucun serveur ne fonctionne.~/.vnc/xstartup remplacer twm & par l'environnement de votre choix. gnome-session & est une possibilité.vncserver -geometry lxh où l et h correspondent aux dimensions de l'affichage.vncviewer hôte:#d où hôte est le nom ou l'IP du serveur et #d le numero d'affichage.Sur les postes élèves :
vncviewer hôte:#d -shared -viewonly. L'option -shared permet à plusieurs stations de se connecter au même serveur.L'option -viewonlyinterdit l'utilisation de la souris et du clavier sur le serveur. À varier selon l'usage.
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 :