GAZETTE N°29: Remplacer NT par Linux

Remplacer NT par Linux

Copyright (c) 98 Quinn P. Coldiron - Paru dans le n°29 de la Linux Gazette.

Adaptation française : Marc Simon.


Précédent Suivant Table des Matières

6.1 Introduction

Les OS pour serveurs ont des fonctionnalités qui permettent à la plupart des entreprises de répartir efficacement le travail. Chacun de ces OS a ses spécificités, ses forces et ses faiblesses. On considère habituellement que Novell Netware est le meilleur serveur de fichiers et d'impression, Unix le plus adapté pour les bases de données et le partage d'applications, et récemment, Windows NT s'est montré approprié pour les petits réseaux comme serveur polyvalent. La concurrence est devenue rude, chacun essayant de s'implanter dans le domaine des autres. Microsoft a étendu son NT aux serveurs de taille moyenne, autrefois sous Novell, et vise le marché du serveur haut-de-gamme, dominé par les Unix constructeurs, tels que Sun, Hewlett-Packard et Silicon Graphics.

Lorsque j'ai commencé ma carrière aux Presses de l'Université du Nebraska, j'ai hérité d'un vieux serveur Novell Netware 3.11 sur un Pentium 90 poussif avec des disques durs donnant des signes de fatigue. Comme je voulais aussi changer d'activité, le remplacer fut mon premier projet. J'ai évidemment pensé au serveur Windows NT 4.0 qui venait de sortir, et dont les publicités, dans la presse et à la télévision, m'assuraient que ce serait la solution à mon problème. Le système d'exploitation devait être plus simple d'utilisation que le serveur Novell qu'il remplaçait, et pouvait facilement supporter les 55 utilisateurs. Résultat : quatorze mois plus tard, nous utilisons un serveur sous Linux.

Linux est une implémentation entièrement libre de la norme POSIX, avec des extensions SysV et BSD (il ressemble à Unix, mais n'en utilise aucune ligne de code), disponible sous forme de source ou de binaire. Son copyright appartient à Linus Torvalds (torvalds@transmeta.com) et à d'autres contributeurs. Le logiciel est librement redistribuable en application de la licence GPL de GNU, que l'on peut trouver dans les sources de Linux et à http://prep.ai.mit.edu/pub/gnu/COPYING

Linux n'est pas un logiciel du domaine public, et ce n'est pas non plus un partagiciel. C'est un logiciel libre, dont on peut donner ou vendre des copies librement, à condition de le distribuer avec les sources. Si vous livrez une version modifiée, vous devez livrer aussi les sources de ces modifications. Reportez-vous à la GPL pour plus de détail. Linux est un logiciel libre pour le moment, et il le restera : il serait illégal d'en faire un logiciel propriétaire, grâce à la GPL.

Linux fonctionne sur des 386, des 486 et des Pentium équipés de bus ISA, EISA, PCI et VLB. Le bus MCA d'IBM n'est pas très bien géré dans les versions 2.0.x et antérieures, mais cela a été amélioré dans les versions 2.1.x. Si vous êtes intéressé, voyez http://glycerine.itsmm.uni.edu/mca.

Un portage pour différentes machines à base de processeur Motorola est en cours, il fonctionne actuellement assez bien sur des Amiga, des Atari et des VME. Il faut un 68020 avec MMU, un 68030, un 68040 ou un 68060, avec FPU. X et le support réseau fontionnent. Voir news:comp.os.linux.m68k pour plus de détails.

Linux tourne bien sur les machines à base de processeur Alpha, de Digital, en particulier sur les machines Jansen, NoName, Cabriolet et Universal Desktop Box (aussi appelée Multia). Voir http://www.azstarnet.com/~axplinux/FAQ.html pour plus d'info.

Linux tourne aussi sur les Sparc de Sun : la plupart des sun4c et des sun4m, et le portage pour les sun4 et sun4u est en cours. A l'heure où j'écris cet article, la distribution Red Hat est la seule disponible pour les Sparc. Voir http://www.redhat.com/support/docs/rhl-sparc/.

Linux est activement développé sur PowerPC, en particulier les machines PowerMac (NuBus et PCI), Motorola, IBM et Be. Reportez-vous à http://www.cs.nmt.edu/~linuxppc/ et http://www.linuxppc.org/.

Des portages moins avancés sont en cours vers d'autres machines comme ARM ou MIPS. Ne vous attendez pas à des miracles, mais si vous êtes capable de participer au projet, et que cela vous intéresse, vous trouverez d'autres développeurs pour collaborer.

Linux n'est plus en période de beta-test, puisqu'une version officielle stable a vu le jour le 14 mars 1994. Il y a toujours des bugs, de nouveaux s'introduiront encore et seront corrigés avec le temps. Comme Linux suit un modèle de développement ouvert, toutes les nouvelles versions, stables ou non, sont mises à disposition du public. Pour que tout le monde puisse s'y retrouver, un système simple de numérotation a été mis en place : les versions dont le numéro est du type 1.x.y avec x pair sont des versions stables, et d'une version à l'autre seuls des bugs sont corrigés. Celles ou x est impair sont des versions de développement, considérées comme instables, puisqu'on y ajoute sans cesse de nouvelles fonctionnalités. De temps en temps, quand la version de développement est assez stable, on n'y touche plus, et elle devient le nouveau kernel « pair :». Le développement continue alors sur une nouvelle version impaire du kernel.

Actuellement, la version stable est la 2.0.34, et cela va changer au fur et à mesure que des pilotes sont ajoutés et que des bugs sont corrigés, et le développement se fait sur les versions 2.1.x. Si la version 2 est trop récente pour vous, vous pouvez utiliser la 1.2.13, mais les dernières versions 2.0 se sont révélées très stables. Attention, en passant de la version 1.2.x a la version 2.0.x, vous devrez mettre à jour divers programmes. Autant le faire en passant à la dernière version de votre distribution de Linux. Les modifications apportées au kernel sont notées dans Documentation/Changes.

La plupart des versions de Linux, beta ou pas, sont très stables, et vous pouvez continuer à les utiliser si elles suffisent à votre usage et que vous ne souhaitez pas utiliser le dernier cri en matière de kernel. Un site a utilisé la version 0.97p1, datant de l'été 1992, pendant 136 jours sans erreur. Des gens ont rapporté qu'ils ont utilisé des machines pendant plus de 600 jours d'affilée en utilisant la version 0.99.15s.

Il faut savoir que Linux suit un modèle de développement ouvert, contrairement à la plupart des autres logiciels, qui sont écrits de façon centralisée. Par conséquent, la dernière version est toujours rendue publique, dans les jours ou les semaines qui suivent, et tout le monde peut l'utiliser. Chaque fois qu'une nouvelle fonctionnalité est ajoutée, des bugs apparaissent et sont rapidement corrigés, parfois dans les heures qui suivent, par les nombreuses personnes qui participent au développement.

En revanche, dans le modèle centralisé et fermé, une seule personne ou une seule équipe travaille sur le développement du logiciel, et ils ne sortent une version que lorsqu'ils estiment qu'elle fonctionne bien. Il y a donc un intervalle plus long entre les versions, et il faut attendre plus longtemps les corrections de bugs et les nouveaux pilotes de périphériques. La dernière version de tels logiciels est parfois de meilleure qualité, mais la vitesse de développement est bien moindre.

Au 12 juin 1998, la dernière version stable de Linux est la 2.0.34 et la dernière version de développement est la 2.1.104. Je vais commencer cet article en explicant nos interrogations et en disant comment nous avons fait notre choix. Je ne vais pas parler de technique dans la première partie, mais je donnerai des détails sur la mise en place et la configuration de chacun des éléments dans la deuxième partie.

6.2 Description de notre situation.

Lorsque j'ai été nommé administrateur des Presses de l'Université du Nebraska, je ne disposais que d'un vieux serveur Novell Netware 3.1 poussif, qui gérait toutes les applications distribuées pour une cinquantaine d'utilisateurs. Ce n'est pas un grand réseau, et nos besoins ne sortent pas de l'ordinaire, mais la machine devait être remplacée. Novell en était à sa version 4.x, Windows NT 4.0 venait de sortir, et la machine était un P90 dont les disques étaient plus bruyants que le stade de France pendant la coupe du Monde.

Il était temps de chercher un autre matériel, et j'étais confronté aux mêmes problèmes que mes prédécesseurs, ainsi qu'à quelques autres. Il fallait surtout être compatible avec notre système de commande et d'inventaire automatisé, baptisé The Cat's Pajamas. Celui-ci a été développé sur les serveurs Data General, en utilisant leur langage interprété. Il a été porté vers des serveur PC, principalement Novell Netware, lorsqu'une compagnie du nom de Subject Will a porté l'interpréteur. Le système dispose d'une interface utilisateur en mode texte, stocke les données dans un fichier en mode texte doté d'un index, et il est très rapide et stable sur un serveur Novell. Nous avions besoin, en plus, d'un accès distant pour notre entrepôt, d'un accès pour nos cinq Mac, et d'un prix le plus bas possible.

Je n'étais pas tenté de mettre à jour notre licence Netware, parce que je n'avais plus confiance dans la compagnie. Le second choix logique était Windows NT. J'ai appelé Cats, et je leur ai demandé si leur logiciel tournerait sous NT. Ils m'ont répondu qu'il y avait quelques installations qui fonctionnaient, mais que j'aurai besoin d'un nouvel interpréteur DBC, qu'ils ont uploadé pour moi. J'ai donc copié tout le système et la base de données sur le serveur NT et je me suis connecté depuis mon PC sous Windows 95. J'ai dû réécrire le fichier de commandes de Cats car il utilisait des commandes spécifiques à Netware, mais, une fois ceci fait, tout fonctionnait.

Tout allait pour le mieux, et j'ai donc commandé le serveur final. C'était un bi-P150 avec une carte Adaptec 2940 UW intégrée et 256 Mo de RAM. Je pensais que ce serait idéal comme serveur Cats, comme serveur d'impression et comme serveur de fichiers pour 50 utilisateurs, puisque Netware faisait cela avec seulement 64 Mo de RAM. On m'a livré le serveur quelques semaines plus tard, et j'y ai installé NT 4.0 et Cats. Ceci fait, j'ai demandé au service client de lancer quelques applications gourmandes en ressources et, comme les choses semblaient bien se passer, nous l'avons mis en service actif. Dans le même temps, j'installais Linux RedHat 4.1 sur un P100 avec 32 Mo de RAM. J'avais utilisé cet OS dans mon travail précédent, et il m'avait donné toute satisfaction comme serveur Web et comme serveur audio/video. Je voulais donc savoir s'il avait sa place ici, mais je ne savais pas comment.

Après avoir fait passer Cats de Netware à NT, ma vie est devenue un cauchemar. Le système plantait sans raison apparente deux à trois fois par jour. J'étais sans cesse au téléphone avec Microsoft et Cats, mais personne ne pouvait trouver le problème. Microsoft m'a fait installer les Service Packs 1 à 3, et quelques HotFixes, ce qui a amélioré la situation, mais le serveur plantait encore au moins deux fois par semaine, avec le fameux écran bleu. Après plusieurs semaines, et 1 500 dollars de facture du support technique de Microsoft, celui-ci m'a dit que je ferais mieux de trouver un meilleur logiciel que The Cat's Pajamas. Ce n'était pas la solution que je recherchais, puisqu'il est utilisé par un nombre notable d'imprimeries dans le pays, et j'ai du réutiliser Netware jusqu'à ce que je trouve une solution.

J'avais mis à jour ma machine sous RedHat à la version 4.2, mais elle ne faisait pas grand chose. Je l'ai alors équipé de deux disques durs IDE de 1,6 Go, j'ai installé Samba, j'ai copié Cats sur cet ordinateur et j'ai commencé à bidouiller un peu. Je pouvais me connecter d'un ordinateur sous Windows 95 et lancer Cats sans toucher au fichier batch que j'avais écrit pour NT. J'ai demandé aux départements commerciaux de lancer les applications à nouveau, et tout semblait bien fonctionner, mais j'étais circonspect et j'ai continué à tester avec le département réseau en attendant.

Le serveur Netware tenait toujours bon, jusqu'à ce qu'un Jeudi soir à 21 heures, je reçoive un coup de fil du directeur du service client. Il avait lancé le programme de mise à jour d'index pour se préparer à la fermeture qui devait avoir lieu Vendredi, mais le serveur avait planté. J'y ai travaillé jusqu'à minuit et demi, et je l'ai finalement fait fonctionner, mais il a planté à nouveau à 6 heures et demi, puis à 7 heures, donc la situation était grave. Ma seule solution était de remplacer le serveur, et il ne me restait plus que Linux. J'ai donc reinstallé Cats à partir d'une sauvegarde, et j'ai modifié les scripts de connexion pour que les utilisateurs se connectent sur ce serveur. En une heure, nous étions de nouveau prêts à travailler.

Une fois débarassé des tâches matinales de routine, nous faisons normalement une sauvegarde complête de Cats avant de continuer la fermeture, ce qui prend généralement deux heures sur le serveur Netware. La machine sous Linux accomplit cette tâche en 45 minutes, ce qui nous a fait gagner une heure sur notre horaire de fermeture. Ce gain de vitesse s'est produit malgré un matériel moins performant, puisque le serveur sous Linux disposait de 32 Mo de RAM et de disques IDE alors que le serveur Netware avait 64 Mo et des disques SCSI. Le gain de vitesse s'est aussi fait sentir dans le travail quotidien. Je note chaque jour que le système semble être plus rapide et plus fiable.

Nous avons installé un P200 et nous sommes passés à 64 Mo de RAM dans le but de remplacer par notre serveur Linux le serveur de fichier et d'impressions sous NT, qui continue de planter 2 fois par mois sans raison, et ce malgré 1 500 dollars de plus dépensés en support technique Microsoft. Cet unique ordinateur sous linux va remplacer notre serveur Netware 3.1 et notre serveur NT 4.0, tout en nécessitant moins de matériel. Avec les progrès récents accomplis par l'équipe de développement de Samba, et la version 5.0 de RedHat sortie en Décembre 1997, je m'attends à disposer d'un serveur très efficace pour nos clients Windows 95, Windows NT et Macintosh.

6.3 Pourquoi avoir choisi Linux

Les fonctionnalités

Linux dispose de nombreuses fonctionnalités. La plupart de celles-ci ne se trouvent pas sur son concurrent commercial Windows NT, car Unix est en développement constant depuis son invention au début des années 70. Bien que Linux n'existe que depuis le début des années 90, il bénéficie de l'abondance des applications et utilitaires Unix, grâce à son respect de la norme POSIX. Linux est original car il n'utilise pas de code hérité d'implémentation antérieures d'Unix, mais peut toujours utiliser les bibliothèques des distributions BSD et SysV. J'ai l'impression que la grande force de Linux est l'Internet et la masse d'utilisateurs techniciens qui s'occupent du portage vers de nouvelles plate-formes et de l'écriture de nouveaux pilotes. La plupart des corrections de bugs pour l'architecture Intel sont disponibles pour Linux avant de l'être pour les autres OS courants, parce que les utilisateurs sont aussi les développeurs.

La fiabilité

Le serveur sous Linux s'est révélé aussi fiable que tous les autres serveurs que j'ai jamais essayé, et plus fiable que la plupart. Je connais par expérience l'administration de Novell Netware, de Windows NT 3.51 et 4.0 et d'Irix de Silicon Graphics. Je dois dire que Novell a toujours été très stable, mais j'ai toujours eu l'impression qu'il est plus compliqué que nécessaire. Les machines de Silicon Graphics sont incroyablement stables, mais elle peuvent l'être quand on les paye plus de 20 000 dollars pièce.

Mon serveur Linux a été mis en place en Janvier 1997 comme plate-forme de test pour voir s'il pouvait tenir le coup en temps que serveur à temps plein. J'y avais alors installé The Cat's Pajamas, Apache, Streamworks (un serveur audio/video), et Samba. En utilisant celui-ci, j'ai pu connecter le département Informatique au serveur, de sorte que nous pouvions faire tourner Cats et tester le serveur audio/video. Afin de tester, nous rebâtissions quotidiennement le fichier d'index de Cats, tout en envoyant plusieurs videos de 100 Mo et en faisant tourner un serveur de fichiers. La machine sous Linux géra tout cela avec seulement 32 Mo de RAM et un Pentium 100.

De Février à Juillet 1997, nous avons eu trois pannes. Deux furent causées par des coupures d'électricité dans le bâtiment et la troisième fut le fait d'une bêtise de l'administrateur. Cette fiabilité fut un élément clef dans notre choix d'utiliser Linux comme OS dans notre serveur.

L'installation de NT fut simple, et il fut facile de connecter la machine à toutes les imprimantes, mais il s'est avéré instable. Nous avions des plantages tous les jours, même après l'installation des Service Packs 1 et 2. L'installation d'un HotFix pour le SP 2, dans le but de corriger des erreurs dans les services Macintosh, améliora la situation : nous ne plantions plus qu'une fois ou deux par mois. J'ai essayé de faire tourner Cats sur ce système, mais ce fut une catastrophe, puisque nous ne pouvions guère avoir plus de cinq utilisateurs simultanés, et que tout était considérablement ralenti.

L'inter-opérabilité.

Les clients Windows et Macintosh devaient être capable de se connecter au serveur. Tous les OS importants gèrent cela, Linux ne fait pas exception. Pour servir les clients Windows, Linux utilise un logiciel appelé Samba. C'est un serveur pour les *nix qui utilise TCP/IP. Il repose sur Unix, sa structure de fichiers, ses permissions, ses services et ses appels système. Il sert de serveur d'impression et de serveur de fichier pour les clients qui utilisent le protocole réseau SMB (Server Message Block), présent sur MS-DOS et ses dérivés : les clients d'IBM, d'ICL, de Microsoft (Windows for Workgroup, Windows 95, Windows NT), et même un produit Novell.

Parmi les concurrents de Samba, on peut citer Pathworks de DEC, LAN Manager/X de Microsoft, OS/2 Lan Manager, IBM Lan Server, Syntax Server et Windows NT. Windows 95 for Workgroups ou Warp Connect peuvent aussi faire office de petits serveurs, avec des possibilités d'administration limitées.

SMB est devenu très populaire, grâce à ces atouts :;

Vis à vis du Macintosh, Netatalk gère la connexion. C'est une implémentation pour Unix de l'ensemble de protocoles AppleTalk, conçu au départ pour les systèmes BSD. Il peut router les trames AppleTalk, exporter des systèmes de fichier AFS et Unix via AppleShare, rendre accessible des imprimantes Unix et Macintosh via PAP. Plusieurs petits outils d'impression et de débuggage sont fournis.

Compatibilité avec l'existant.

Lorsque nous avons essayé de passer à NT, Cats nous a donné des instructions faciles à suivre. Elles étaient simples, et l'opération s'est faite en peu de temps, mais les performances se révélèrent catastrophiques. Nous avions besoin d'une machine qui puisse être serveur et assurer la stabilité des bases de données de Cats. On m'avait dit que Unix « cache » les accès disques, plus que Windows NT ou Novell Netware, donc j'espérais que Linux serait une bonne base pour Cats, qui nécessite beaucoup d'accès aux fichiers.

Mes espoirs furent concrétisés lorsque nous avons décidé de mettre en place le serveur Linux et de nous passer du serveur Novell. Cats tourna sans problème, et supporta la charge quotidienne normale sans ralentissements ou incidents. Le serveur Netware ralentissait beaucoup, parfois, et retrouvait sa vitesse normale 5 à 10 minutes plus tard. Lorsque cela se produisait, Cats devenait presqu'inutilisable, et quelquefois, les utilisateurs étaient même totalement déconnectés.

Nous devions aussi être capable de gérer un serveur WWW : je devais installer des scripts CGI que nous avions déjà testé en situation réelle, afin de ne rien écrire moi-même. Je voulais aussi avoir un support technique facile d'accès et économique pour mettre en place mon serveur et le réparer en cas de panne. Linux propose Apache, le serveur le plus utilisé au monde. On peut trouver facilement de l'aide sur les lidies, les forums de discussions et les BBS. Voir http://www.netcraft.com/survey/.

La rapidité.

Après l'installation de Windows NT, mes utilisateurs se plaignirent de ralentissement lors des accès aux disques partagés. Ils font correspondre la qualité du réseau à la vitesse d'accès aux disques durs exportés. Ils étaient satisfaits de celle-ci lorsque nous utilisions Netware, mais le passage à NT fut très critiqué. J'ai mesuré empiriquement la vitesse en comparant la durée d'une sauvegarde complète des fichiers de Cats depuis une machine sous NT. L'opération a pris 45 minutes alors que la même opération, effectuée sur un serveur Netware, a pris au moins une heure de plus. Actuellement, je sauvegarde Cats en créant une archive compressée au format tar.gz directement sur le serveur, et cela prend moins de 45 minutes. Voici ce que renvoie la commande df sur le disque où j'ai installé Cats, et qui montre la taille du répertoire, ce qui donne une idée du nombre d'informations sauvegardées en 45 minutes.

Filesystem 1024-blocks Used Available Capacity Mounted on

/dev/hdc1 2417493 1584580 707923 69% /usr/local/samba-sys  

Le faible coût.

Durant les douze mois où nous avons utilisé le serveur sous Windows NT 4.0, j'ai dépensé plus de 3 000 dollars en support technique Microsoft pour résoudre divers problèmes, en particulier les plantages fréquents et les problèmes avec Cats. Pour les premiers, on me répondait toujours &: « installez les derniers Service Packs ou les derniers Hot Fixes et rappelez-nous demain ». Pour les seconds, on me répondait toujours &: « Remplacez Cats par un autre logiciel plus compatible avec Windows. ». J'aurais du noter cet appel téléphonique pour avoir le nom du type au support technique...

Ce n'est pas la seule source de dépenses liées à Windows NT. Le tableau ci-dessous montre des applications typiques et le coût pour chaque plate-forme.


Service                         Microsoft                          Coût

Système d'exploitation          Windows NT Server 4.0           2 950 $
Serveur Web                     IIS                                 0 $
Serveur Mail                    Exchange 5.0 Enterprise         6 400 $
Serveur Telnet                  SLNet (licence 4 utilisateurs)    300 $
Serveur FTP                     Intégré dans IIS                    0 $
Base de données relationnelle   SQL Server 6.5                 10 650 $
Serveur Proxy                   Microsoft Proxy Server            995 $
Logiciel de sauvegarde          Compris                             0 $
Total                                                          20 995 $

Nombre d'utilisateurs           100
Coût par utilisateur            209,95 $



Service                         Linux                              Coût

Système d'exploitation          Linux RedHat 5.0 CD                49 $
Serveur Web                     Apache                              0 $
Serveur Mail                    Sendmail UW IMAP, POP3              0 $
Serveur Telnet                  Compris, licence illimitée          0 $
Serveur FTP                     Compris                             0 $
Base de données relationnelle   Just Logic SQL                    219 $
Serveur Proxy                   Squid Object Cache                  0 $
Logiciel de sauvegarde          BRU, Compris                        0 $
Total                                                             268 $

Nombre d'utilisateurs           100
Coût par utilisateur            2,68 $

NdT: soit, à raison de 6 F par dollar, des coûts totaux de 125 970 F et 1 608 F.

Économie de matériel.

Je ne voulais pas faire construire un Cray pour un réseau de 55 utilisateurs. Dans les imprimeries de la plupart des universités, le budget est plutôt serré, surtout quand on le compare à celui des imprimeries privées ou aux autres départements de l'université. Les contraintes financières m'empêchèrent d'acheter la machine que j'aurais voulu comme serveur sous NT, mais le système n'était pas bas de gamme pour autant.

Voici la fiche technique de ce serveur :

Voici la fiche technique du serveur Linux :

Le RAID n'a pas été acheté spécialement pour le serveur Linux, mais en vue de l'installer sur le serveur, quel qu'il soit, que nous utiliserions au final.

Facilité d'emploi.

Unix est souvent accusé d'être difficile à prendre en main, et de nécessiter beaucoup d'apprentissage. Bien que la plupart des outils soient toujours en mode texte, il existe de plus en plus d'applications graphiques aussi faciles à utiliser que Windows. C'est tout particulièrement vrai dans la distribution RedHat, qui comprend un panneau de configuration graphique qui permet à l'administrateur de modifier des réglages sans éditer les nombreux fichiers textes dans lesquels sont stockées les informations. Les panneaux de configuration dont je me sers le plus sont ceux des imprimantes, des systèmes de fichier, des utilisateurs et des paquetages. Si vous utilisez le gestionnaire de paquetages RedHat pour installer vos nouveaux programmes, ils seront inclus dans la liste du gestionnaire, qui vous permettra à tout moment de voir quelles applications sont installées et de les enlever si vous le souhaitez, aussi facilement que par l'option Uninstall de Windows.

Mise à jour facile.

RedHat fournit un système de mise à jour très accessible dans son kit d'installation. Il est en fait meilleur que celui de Microsoft Windows NT, puisqu'il n'est pas nécessaire d'effacer d'abord la version précédante.

Bien qu'il ne soit pas nécessaire de désinstaller la précédente version de Windows NT avant d'installer la nouvelle (4.0), c'est recommandé. La mise à jour peut donc être très éprouvante, puisqu'il faut recréer tous les comptes des utilisateurs et réinstaller tous les logiciels et tous les scripts.

Quand je suis passé de RedHat 4.1 à 4.2, l'installation s'est faite sans aucun problème. Ce n'était pas une mise à jour majeure, mais RedHat m'a assuré que le passage à la version 5.0 qui devait être bientôt distribuée serait tout aussi facile.

Extrait du manuel de Linux RedHat : 1.5 Mise à jour d'une ancienne version

L'installation de la RedHat 4.2 propose de mettre à jour d'anciennes versions de RedHat (2.0, 2.1, 3.0.3, 4.0, et 4.1) utilisant aussi le système RPM. Cette opération installe le kernel modulaire 2.0.x et les versions à jour des paquetages installés sur votre machine. Elle préserve les fichiers de configuration existants en les sauvegardant avec l'extension .rpmsave (par exemple, sendmail.cf devient sendmail.cf.rpmsave) et produit dans

/tmp/upgradelog
un journal faisant la liste des actions qui ont eu lieu. Avec l'évolution des logiciels, les formats des fichiers de configuration changent, donc il est conseillé de comparer soigneusement les fichiers originaux avec les nouvelles versions avant de les utiliser.

Pour mettre à jour une machine sous Linux RedHat, il suffit d'une disquette de boot (et, éventuellement, d'une deuxième disquette), comme pour effectuer une installation complète. Une fois spécifiés le disque contenant les données à installer et, si nécessaire, la configuration du réseau, l'installation vous demande si vous souhaitez installer ou mettre à jour. En choisissant la deuxième possibilité, on obtient les mêmes résultats qu'en lançant le script de mise à jour dans les versions antérieures de RedHat.

Attention, certains paquetages peuvent reposer sur d'autres, qui ne sont pas forcément installés sur votre machine. La procédure de mise à jour en tient compte, et il vous faudra peut-être installer des paquetages supplémentaires en conséquence.

L'administration à distance.

Une des fonctionnalités les plus intéressantes de Linux et des Unix en général est la possibilité de gérer le serveur à distance. Puisque Linux a un serveur Telnet intégré, vous pouvez utiliser n'importe quel ordinateur, quel que soit son OS, pour vous connecter au serveur et accomplir toute l'administration. Pour faire la même chose avec un serveur sous Windows NT, il faut acheter une application séparée. La plus populaire est PCAnywhere de Symantec. Cela revient vite cher puisqu'il faut acheter un copie du logiciel pour le serveur, et une pour chacun des clients d'où l'on veut contrôler le serveur. Combien en faut-il ? Cela dépend des réseaux, mais je trouve qu'il est plus économique de pouvoir me connecter depuis n'importe quel PC du réseau, ou même de chez moi.

Telnet est seulement en mode texte, ce qui peut gêner beaucoup de gens, mais heureusement, X Window tourne sur Linux. Il peut être utilisé localement, depuis la console, comme Windows NT, mais il peut aussi l'être à distance, depuis n'importe quel ordinateur sur lequel tourne un serveur X. Ces terminaux distants sont soit des ordinateurs sous Linux, ou d'autres Unix, et il existe de nombreux clients X pour Windows, Windows NT et pour les Macinstosh. Utiliser des terminaux X nécessite plus de bande passante, donc je préfère me servir de telnet tout simplement.

Il peut aussi être intéressant d'afficher les résulats de divers outils de contrôle sur une page Web. Notre directeur commercial aime bien savoir quel utilisateur ouvre quel fichier avec Cats. J'ai écrit un petit script en Perl qui lance smbstatus et qui écrit le résultat sur une page Web. Voici un exemple :

Snapshot of users for: Fri Dec 5

11:41:18 CST 1997

This page shows currently logged on users and locked files for the UNPLINUX
server. Right-click this page and select REFRESH or RELOAD to force an
update.


Samba version 1.9.17p1
Service uid gid pid machine
----------------------------------------------
cdrom root root 11697 enterprise (129.93.31.35) Thu Dec 4 16:35:23 1997
quinn root root 11697 enterprise (129.93.31.35) Thu Dec 4 16:35:23 1997
M-DATA cbrumm cbrumm 11435 ds9 (129.93.31.14) Thu Dec 4 16:08:16 1997
programs root root 11697 enterprise (129.93.31.35) Thu Dec 4 16:35:27 1997
L-NE cbrumm cbrumm 11435 ds9 (129.93.31.14) Thu Dec 4 16:08:29 1997
N-DBC cbrumm cbrumm 11435 ds9 (129.93.31.14) Thu Dec 4 16:08:29 1997
O-WORK cbrumm cbrumm 11435 ds9 (129.93.31.14) Thu Dec 4 16:08:29 1997
P-HIST cbrumm cbrumm 11435 ds9 (129.93.31.14) Thu Dec 4 16:08:29 1997

<snip>
Locked files:
Pid DenyMode R/W Name
------------------------------
19818 DENY_NONE RDWR fileauth.txt Fri Dec 5 11:41:14 1997
21212 DENY_NONE RDWR fileauth.txt Fri Dec 5 11:40:28 1997
20590 DENY_NONE RDWR fileauth.txt Fri Dec 5 11:38:56 1997
21384 DENY_NONE RDWR fileauth.txt Fri Dec 5 11:06:15 1997

<snip>

19818 DENY_NONE RDWR filebac2.isi Fri Dec 5 11:02:36 1997
20590 DENY_NONE RDWR filebac2.isi Fri Dec 5 10:14:44 1997
19818 DENY_NONE RDWR fileauth.isi Fri Dec 5 11:41:14 1997
21212 DENY_NONE RDWR fileauth.isi Fri Dec 5 11:40:28 1997

Share mode memory usage (bytes):
92584(90%) free + 7728(7%) used + 2088(2%) overhead = 102400(100%) total

Voici le script qui produit la page ci-dessus.

 
 
#!/usr/bin/perl
# ******************************************************
# * *
# * Author: Quinn P. Coldiron *
# * Date: 12-1-97 *
# * Program: This program shows current users of the *
# * Samba server. *
# * *
# ******************************************************
# Use cgi-lib CGI library for PERL.

  require "/home/httpd/cgi-bin/cgi-lib.pl";
   $date = `date`;
   $users = `./smbstatus`;
  #Get the data from the form.

   &ReadParse;
   print &PrintHeader;
   print "<HTML>\n";
   print "<HEAD>\n";
   print "<TITLE>Logged In Samba Users</TITLE>\n";
   print "</HEAD>\n";
   print "<BODY BGCOLOR= #D4D4D4>\n";
   print "<H1>Snapshot of users for: $date</H1>\n";
   print "This page shows currently logged on users and locked files for
   the UNPLINUX server.<br>\n";
   print "Right-click this page and select REFRESH or RELOAD to force an
   update<br>\n";
   print "
$users
\n"; print "</BODY>\n"; print "</HTML>\n";

Windows NT dispose d'un programme qui montre sous forme graphique l'état du système, mais il vaut mieux ne pas le lancer sur la machine à surveiller, car il utilise lui-même trop de ressources et fausse le résultat. Linux dispose d'un outil similaire, appelé TOP, qui est lui en mode texte, et peut donc être utilisé sur le serveur. On peut même s'y connecter par Telnet et le lancer depuis n'importe où pour obtenir une représentation précise de l'état du serveur. Voici ce qu'affiche TOP :

11:55am up 1 day, 15:02, 3 users, load average: 0.08, 0.04, 0.00
83 processes: 82 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 2.7% user, 4.2% system, 5.9% nice, 93.7% idle
Mem: 63204K av, 62336K used, 868K free, 38384K shrd, 5536K buff
Swap: 114908K av, 368K used, 114540K free 29496K cached

PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND
22390 root 10 0 540 540 400 R 0 2.8 0.8 0:00 top
22388 cats 3 0 848 848 516 S 0 1.5 1.3 0:00 login
22391 cats 10 0 660 660 524 S 0 0.7 1.0 0:00 bash
6058 root 1 0 3568 3568 1396 S 0 0.5 5.6 1:25 tkdesksh
22283 root 0 0 552 552 424 S 0 0.3 0.8 0:00 in.telnetd
22387 root 1 0 552 552 424 S 0 0.3 0.8 0:00 in.telnetd
21212 quinn 0 0 1084 1084 660 S 0 0.1 1.7 0:02 smbd
20921 root 1 0 588 536 356 S 0 0.1 0.8 0:08 SWserver
1 root 0 0 312 312 244 S 0 0.0 0.4 0:02 init
2 root 0 0 0 0 0 SW 0 0.0 0.0 0:01 kflushd
3 root -12 -12 0 0 0 SW< 0 0.0 0.0 0:00 kswapd
19509 root 0 0 1092 1092 652 S 0 0.0 1.7 0:18 smbd
331 root 0 0 812 812 480 S 0 0.0 1.2 0:00 login
21 root 0 0 280 280 216 S 0 0.0 0.4 0:00 kerneld
240 root 0 0 336 316 280 S 0 0.0 0.4 0:00 gpm
128 root 0 0 368 360 276 S 0 0.0 0.5 0:00 syslogd
137 root 0 0 496 488 268 S 0 0.0 0.7 0:00 klogd

6.4 Sous le capot

Installer le serveur

Installation de Linux

L'installation d'un système d'exploitation est souvent la base de l'opinion que l'on se fait de sa qualité. Comme pour les gens, on reste toujours sur sa première impression. Or, installer un serveur Linux avec RedHat est aussi, voire plus facile qu'installer un serveur NT. L'installation n'utilise que deux disquettes qui comportent tout ce qu'il faut pour reconnaître le media sur lequel se trouvent le reste des fichiers (CDROM, site FTP, autres serveurs, etc.), alors que Windows NT demande trois disquettes et ne permet l'installation que depuis le CDROM. J'ai pu constater qu'installer Linux RedHat sur un portable pouvait même être plus simple, car contrairement à NT, les cartes PCMCIA sont détectées dès le début de la procédure. Il est cependant de important de savoir précisement quel est le matériel de votre machine, en particulier :

Il est possible d'installer Linux RedHat pour processeurs Intel selon plusieurs méthodes, qui vous demanderont une ou deux disquettes haute-densité de 3,5 pouces (1,44 Mo).

L'installation depuis le cédérom ou par NFS ne requiert qu'une disquette. L'installation depuis le disque dur, par FTP, depuis un répertoire SMB ou via un périphérique PCMCIA (y compris les cédéroms PCMCIA), nécessite une disquette de démarrage (boot) et une disquette supplémentaire.

CD-ROM

Si vous avez un cédérom d'installation et une disquette de démarrage, vous aurez besoin d'un lecteur de disquettes et d'un lecteur de cédérom reconnu par Linux ou bien d'une version installée et fonctionnelle de DOS pour lancer l'utilitaire d'installation. Si aucune disquette de démarrage n'a été livrée avec votre cédérom, vous devrez utiliser un ordinateur sous Linux ou sous DOS pour créer cette disquette à partir du cédérom.

NFS

Si vous voulez installer Linux depuis un disque exporté en NFS, vous aurez besoin d'une machine capable de lire les systèmes de fichiers ISO-9960 avec l'extension Rock Ridge et d'utiliser NFS. Vérifiez que votre serveur de nom est accessible ou notez l'adresse IP de la machine et le chemin du cédérom que vous lui demandez d'exporter.

FTP

Pour installer par FTP, il vous faut deux disquettes. Vérifiez que votre serveur de noms est configuré ou que vous connaissez l'IP de votre serveur FTP et le chemin du répertoire dans lequel se trouvent les fichiers.

Répertoire SMB

If you wish to install from an SMB shared volume, you will need to mount the Red Hat Linux CD-ROM on a Microsoft Windows NT or Windows 95 server that supports shared volumes. You will need to have name services configured, or know the server's IP address; you will also need the name of the shared volume containing the Red Hat Linux CD-ROM and the account number and password to use to access the volume.

Disque Dur

Pour installer Linux RedHat depuis votre disque dur, vous aurez besoin des mêmes disquettes que pour l'installation par FTP. Il vous suffit de créer à la racine de votre arborescence un répertoire qui contiendra tout ce que vous installerez. Copiez d'abord le répertoire de base, puis copiez les paquetages que vous voulez installer dans un répertoire nommé RPMS. Vous pouvez utiliser de l'espace sur une partition DOS ou sur une partition Linux qui n'est pas nécessaire à la procédure d'installation (une partition sur laquelle ne sont stockées que des données et non des fichiers utiles au système).

Si vous choisissez d'installer Linux depuis le DOS, il est possible que vous ne puissiez pas donner aux paquetages RPM leur nom complet. La procédure d'installation n'impose pas de nom aux fichiers, mais il serait bon que vous sachiez néanmoins qui est quoi.

PCMCIA

Si votre cédérom, votre carte Ethernet ou votre disque dur est connecté à un adaptateur PCMCIA, vous devez vous assurer que ces équipements sont utilisables par Linux et ne pas oublier d'inclure le nécessaire pour les cartes PCMCIA lors de l'installation. Vous aurez besoin des deux disquettes.

Se référer à l'Annexe A pour le guide officiel d'installation de Linux RedHat.

Installation et configuration de Samba

Installer le RPM Samba est le plus facile: il suffit d'obtenir le fichier, puis de taper rpm -i nom_du_rpm. Configurer Samba est aisé et consiste à modifier le fichier texte décrivant les répertoires à partager avec les clients Windows. Le fichier texte de configuration est nommé smb.conf, il se trouve dans le répertoire des fichiers de configuration, /etc, si vous avez installé le RPM et dans /usr/local/samba/lib si vous avez installé l'archive .tar.

L'avantage d'installer Samba à partir du RPM est la facilité. Le désavantage est que les versions en RPM peuvent être moins récentes, mais elles sont souvent plus stables. Personnellement, je vais directement sur le site de Samba pour obtenir la version beta la plus à jour.

L'image de gauche est le Voisinage Réseau de mon poste NT. On y voit tous ce à quoi j'ai accès sur mon serveur Linux.

Si vous installez Samba à partir du RPM, il sera automatiquement lancé au démarrage. Dans le cas contraire, il est nécessaire de le rajouter à /etc/rc.local/. Pour lancer le démon depuis la ligne de commande, il suffit de taper /le_chemin_de_votre_samba/smbd -D et /le_chemin_de_votre_samba/nmbd -D.

De gros efforts ont été entrepris pour que Samba puisse se comporter comme un serveur NT. Il est même possible de faire d'un serveur Samba un Contrôleur Primaire de Domaine NdT: PDC = Primary Domain Controller. Voici les étapes qui m'ont permis de configurer Samba pour qu'il soit le CPD (PDC) de notre réseau:

1. Installer et configurer le serveur.
     a. Créer le fichier smb.conf.
     b. Créer le répertoire netlogon. J'ai mis le mien dans /home.
     c. Redémmarrer Samba.

2. Configurer les postes Windows 95. ***Ne pas rebooter avant l'étape 3 !***
     a. Panneau de Configuration
          1. Cliquer sur Mot de Passe, puis Profils et cocher:
               a. Les utilisateurs peuvent personnaliser leurs préférences.
               b. Inclure les icônes du bureau.
               c. Inclure le menu Démarrer.
          2. Dans panneau de configuration, choisir Réseau.
               a. Onglet Identification, entrer le nom de votre Groupe de Travail.
               b. Onglet Contrôle d'accès, cocher .. au niveau utilisateur.
                  et entrer le nom de votre serveur dans le champ adéquat.
               c. Onglet Configuration
                    1. Choisir Client pour les réseaux Microsoft, cliquer sur Propriétés.
                         a. Cocher Ouvrir la session sur un domaine Windows NT 
                         b. Entrer le nom de votre Groupe de Travail
                         c. Cocher Se connecter et rétablir les connexions
                    2. Choisir "Client réseaux Microsoft" dans "Ouvrir session réseau principale"
     b. Installer l'Editeur de Profils du cédérom Windows 95.
          1. Créer un nouveau profil appelé config.pol qui sera sauvé dans le répertoire
             NETLOGON du serveur Linux. Assurez-vous que vous avez ajouté tous vos utilisateurs
             sur le serveur. Cette étape (b.) n'est à faire qu'une seule fois, pas pour chaque
             poste client.
          2. Dans l'Editeur de Profils, choisir Fichier, Ouvrir la base de registres et choisir
             les options désirées.
          3. Sauvegarder ce profil en tant que config.pol dans le répertoire NETLOGON sur
             le serveur. Positionner ses droits d'accès à 755.

3. Redémmarrer les postes Windows 95 et se connecter.

4. Problèmes éventuels.
     1. Windows95 OSR2 semble n'envoyer les mots de passe qu'en majuscules.
        Vous pouvez changer les mots de passe sur le serveur Linux pour y remédier.
     2. J'ai rencontré des problèmes pour faire de mon serveur Linux le serveur WINS.
        Pour les éviter, on peut:
          a. soit utiliser un autre serveur NT du réseau et configurer les postes le client
             pour qu'ils l'utilisent,
          b. soit ne pas utiliser WINS et énumérer les noms des machines dans le fichier
             c:\windows\Lmhosts.sam de chacun des postes (enregistrer le fichier sous
             Lmhosts et non Lmhosts.sam),
          c. soit ne pas utiliser WINS et maintenir un serveur de noms (DNS).

Mon fichier de configuration Samba (smb.conf) ressemble à ceci:

; *******************************************************************
; *
; * Fichier de configuration de Samba pour serveur UNPLINUX
; * Quinn P. Coldiron
; *
; *******************************************************************
[global]
workgroup = UNP
comment = Unplinux Server
volume = RedHat5
lock directory = /var/lock/samba
locking = yes
strict locking = no
share modes = yes
security = user
os level = 65
domain master = yes
local master = yes
prefered master = yes
domain logons = yes
wins support = yes
;logon script = %m.bat ; par poste de travail %m -> (machine)
;logon script = logon.bat
logon script = %U.bat
preserve case = yes
short case preserve = yes
case sensitive = no
; printing = BSD ou SYSV ou AIX, etc.
printing = bsd
printcap name = /etc/printcap
load printers = yes
print command = /usr/bin/lpr -r -P %p %s
[netlogon]
comment = Samba Network Logon Service
path = /home/netlogon
case sensitive = no
guest ok = yes
locking = no
read only = yes
browseable = yes ; 'no' si vous souhaitez cacher le répertoire netlogon
;admin users = @wheel
create mode = 0755

; ###############################################################################
; # 
; # Imprimantes 
; # 
; ##############################################################################
; N'ayant pas réussi à faire marcher la section générale [printers], je l'ai
; mise en commentaire avant de déclarer les imprimantes une par une.
;[printers]
; comment = All Printers
; path = /var/spool/samba-print
; browseable = yes
; printable = yes
; Set public = yes pour permettre à l'utilisateur 'guest' [NdT: invité] d'imprimer
; public = no
; writable = no
; create mode = 0700

[Technology]
comment = Technology Printer
path = /var/spool/samba-print
print = Technology
browseable = yes
printable = yes
public = yes
writeable = yes
create mode = 0777

[Marketing2]
comment = Technology Printer
path = /var/spool/samba-print
print = Marketing2
browseable = yes
printable = yes
public = yes
writeable = yes
create mode = 0777

[Marketing1]
comment = Technology Printer
path = /var/spool/samba-print
print = Marketing1
browseable = yes
printable = yes
public = yes
writeable = yes
create mode = 0777

[CustServ]
comment = Technology Printer
path = /var/spool/samba-print
print = CustServ
browseable = yes
printable = yes
public = yes
writeable = yes
create mode = 0777

[CanonColor]
comment = Color Laser Printer
path = /var/spool/samba-print
print = CanonColor
browseable = yes
printable = yes
public = yes
writeable = yes
create mode = 0777

; ###############################################################################
; # 
; # Répertoires partagés 
; # 
; ##############################################################################

[homes]
comment = Home Directories
browseable = no
writable = yes
read only = no
preserve case = yes
short preserve case = yes
;create mode = 0777

[userdata]
comment = Toutes les données que vous êtes autorisé à voir.
path = /home
writeable = yes
;Tous les droits pour vos fichiers et ceux de votre groupe, aucun pour le reste.
create mode = 0770

[sys]
comment = Disque système. Quelques utilitaires.
path = /usr/local/samba-sys/
writeable = yes
create mode = 0777

[programs]
comment = Disque programmes. Programmes d'installation.
path = /usr/local/samba-programs
writeable = yes
create mode = 0777

[ulrich]
comment = Spécial Ulrich.
path = /usr/local/samba-programs/ulrich
create mode = 555

[cdrom]
comment = cédérom IDE. Usage temporaire.
path = /mnt/cdrom

[dictionary]
comment = Dictionnaire.
path = /mnt/scd1

[bip]
comment = Livres.
path = /mnt/scd0

[msoffice]
comment = Microsoft Office.
path = /mnt/scd3

[encarta]
comment = Microsoft Encarta
path = /mnt/scd2

[press]
comment = Presse.
path = /home/press
writeable = yes
create mode = 0777

[CATS-VOL]
comment = Répertoire Cats.
path = /usr/local/samba-cats/
writeable = yes
printable = no
guest ok = yes
public = yes
create mask = 0777

[L-NE]
comment = Répertoire Cats II.
path = /usr/local/samba-cats/ne
writeable = yes
printable = no
guest ok = yes
public = yes
create mask = 0777

[M-DATA]
comment = Répertoire Cat III.
path = /usr/local/samba-cats/ne/data
writeable = yes
printable = no
guest ok = yes
public = yes
create mask = 0777

[N-DBC]
comment = Répertoire Cat IV.
path = /usr/local/samba-cats/ne/dbc
writeable = yes
printable = no
guest ok = yes
public = yes
create mask = 0777

[O-WORK]
comment = Répertoire Cat V.
path = /usr/local/samba-cats/ne/work
writeable = yes
printable = no
guest ok = yes
public = yes
create mask = 0777

[P-HIST]
comment = Répertoire Cat VI.
path = /usr/local/samba-cats/ne/hist
writeable = yes
printable = no
guest ok = yes
public = yes
create mask = 0777

Mon fichier logon.bat est le suivant:

REM *******************************************************
REM * 
REM * Université de Nebraska Presse script de connexion réseau. 
REM * 
REM * Modifié le : 16-10-97 
REM * Par: Quinn 
REM * 
REM * Les lettres d'unité sont un vestige du passé 
REM *******************************************************
REM Répertoires utilisateurs
net use e: \\unplinux\homes
REM Unités réseau
net use f: \\intrepid\sys
net use g: \\intrepid\userdata
net use h: \\intrepid\dictionary
net use i: \\intrepid\bip
net use j: \\intrepid\programs
net use s: \\unplinux\ulrich
REM Unités Cats
net use l: \\unplinux\l-ne
net use m: \\unplinux\m-data
net use n: \\unplinux\n-dbc
net use o: \\unplinux\o-work
net use p: \\unplinux\p-hist
REM Temp entry for Robotronics
REM The old system had robo on the T:\ drive but
REM all new installations will run robo from the j:\ drive.
net use t: \\unplinux\programs

Installation et configuration de Netatalk

Netatalk offre les mêmes possibilités d'installation que Samba. Vous pouvez donc choisir le RPM ou l'archive tar, sachant que le RPM est plus aisé à utiliser. Il n'y a pas grand chose à dire concernant cette installation, qui s'est déroulée très simplement. Pour la configuration, il suffit de modifier le fichier AppleVolumes.system et de lancer le démon. Vous trouverez ci-dessous un fichier AppleVolumes.system élémentaire qui fournit aux utilisateurs de Mac l'accès à leurs répertoires, plus quelques petites choses.

#
# Ce fichier est lu avant (après avec l'option -u) le fichier
# AppleVolume de l'utilisateur
# Ajoutez ici les corespondances des extensions et les répertoires.
#
/usr/local/samba-sys Sys (F drive)
/home Userdata (G drive)
/usr/local/samba-programs Programs (J drive)
# traduction par défaut -- la traduction  CR <-> LF est faite pour
# tous les fichiers de type TEXT. La première ligne désactive ce mode
# pour les fichiers de type inconnu, la seconde l'active.
. BINA UNIX
# . TEXT UNIX
# sons
.mod STrk STrk
.mid Midi ttxt
.aiff AIFF SNdm
.wav WAVE SNdm
.au ULAW SNdm
# video
.moov MooV mMPG
.mov MooV mMPG
.mpg MPEG mMPG
.mpeg MPEG mMPG
# texte formatté
.html TEXT MOS!
.rtf TEXT MSWD
.doc WDBN MSWD
# archives compressées
.bin BINA MB2P
.zip ZIP ZIP
.tar TARF TAR!
.gz Gzip Gzip
.Z ZIVM LZIV
.sea ???? SITx
.cpt PACT CPCT
.sit SIT! SIT!
.hqx TEXT SITx
# images
.tiff TIFF JVWR
.tif TIFF JVWR
.bmp BMPp JVWR
.pct PICT ttxt
.pict PICT ttxt
.jpeg JPEG JVWR
.jpg JPEG JVWR
.gif GIFf JVWR

L'autre fichier que vous devrez modifier est papd.conf, qui décrit les imprimantes.

# Les attributs sont:
#
# Nom Type Defaut Description
# pd str ".ppd" Chemin du fichier ppd.
# pr str "lp" Nom de l'imprimante.
# op str "operator" Nom de l'opérateur, for LPD spooling.
#
# Des exemples:
#
# On many systems (notably not Solaris), no papd.conf is required,
# since papd shares the same defaults as lpd.
#
# Un exemples simple:
#
# terminator:\
# :pr=lp:op=wes:\
# :pd=/usr/share/lib/ppd/HPLJ_4M.PPD:
#
# papd.conf peut évidemment décrire plusieurs imprimantes.

Installing The Cats Pajamas

NdT: Non traduit. Voir la version originale (en anglais) dans le numéro 29 de la Linux Gazette.

Installer un RAID

Le RAID que nous avons choisi d'acheter est un kit comprenant un controleur RAID SCSI et un bloc indépendant accueillant les disques, vendu par Distributed Processing Technology.

La carte SCSI est une carte PCI à laquelle a été ajouté un module de mémoire cache. Ce module a quatre emplacements pour mémoires SIMM 32 pattes de 16 Mo chacune au plus, ce qui donne un total de 64 Mo de cache au mieux. Les cartes sont vendues avec 4x4 Mo, nous les utilisons telles-quelles.

Le périphérique de stockage est vendu sans disques. Un premier modèle accepte les disques SCSI étroits et un second les disques larges. Nous utilisons le modèle pour disques étroits, principalement pour pouvoir réutiliser ceux que nous avions déjà. L'installation des disques peut ne pas être évident, car le câble n'est pas détrompé et j'ai commencé pas brancher les disques à l'envers. Heureusement, rien n'a été abîmé et le support technique m'a aidé sans difficultés.

Après avoir installé la carte dans le serveur, il m'a fallut configurer le RAID au bon niveau de RAD. Nous employons le niveau 5. Bien que Linux sache utiliser la carte contrôleur DPT, DPT n'offre pas d'utilitaires Linux permettant de configurer les unités. J'ai donc commencé par brancher un disque IDE de 200 Mo sur le serveur pour utiliser les utilitaires de configuration DOS, qui présentent une agréable interface graphique facile à utiliser. Une fois l'unité configurée, j'ai débranché ce disque, puis rebranché le disque de démarrage Linux.

J'ai un peu triché lors de l'installation des cartes SCSI en relançant le programme de configuration de Linux. J'avais d'autres choses à mettre au point, j'ai donc pensé que ce serait le plus simple. J'aurais pu me contenter d'ajouter le démon à partir du panneau de contrôle ou en tapant insmod eata-dma depuis la ligne de commande, ce qui aurait suffit à charger le module et m'aurait confirmé que le système reconnaissait ma carte SCSI et le RAID. Pendant l'installation, répondre 'Oui' à la question vous demandant si vous aviez une carte SCSI et sélectionnez le driver correspondant à votre carte. Redémmarrez ensuite la machine et vous pourrez voir le RAID s'initialiser avec les paramètres que vous avez défini grâce au DOS, avant que le noyau ne reconnaisse la carte SCSI.

Maintenant, il vous faut créer une partition et formatter le disque. Pour faire une partition, utilisez fdisk et suivez les instructions du menu pour en faire une partition Linux primaire. Formatter le RAID est aussi facile que formatter un disque normal, il suffit d'utiliser mkefs2. Le système voit le RAID comme un unique gros disque. Je voulais utiliser le RAID pour les répertoires des utilisateurs, j'ai donc choisi de le monter sous /home/raid. Pour simplifier la création de nouveaux utilisateurs, j'ai modifié le script Perl /usr/sbin/adduser afin que les répertoires soient sur /home/raid plutôt que sur /home.

Administration quotidienne

Système de sauvegarde

Actuellement, je sauvegarde toutes les données sur un lecteur de cartouche SureStore 6000, sur un serveur NT, via Samba, avec le logiciel Cheyenne Arcserve. Je fais aussi des sauvegardes rapides sur le RAID avec tar, qui est un utilitaire aussi vieux qu'Unix. Je suis en train d'installer un autre DAT 4mm SCSCI HP SureStore 6000 sur le serveur Linux pour faire ses sauvegardes.

Pour faire une sauvegarde tar : tar cvzf archivename.tar.gz /répertoire-à-archiver

Ceci créera un fichier tar nommé archive.tar.gz contenant tous le répertoire indiqué, ainsi que tous ses sous-répertoires. L'option 'z' permet de compresser l'archive pour qu'elle prenne moins de place sur le disque.

Pour voir le contenu de l'archive: tar tvzf archivename.tar.gz.

Sauvegarder sur un disque est suffisant pour ce qui est temporaire, mais il est indispensable de faire une sauvegarde sur bande pour les données critiques. Linux accepte les lecteurs de bandes qui se connectent au contrôleur de disquette et ceux qui se connectent par SCSI. Les lecteurs de bandes sont nommés /dev/st?. Ces périphériques rembobinnent automatiquement la bande après usage. Si vous voulez sauvegarder plusieurs archives sur la même bande, il faut utiliser les périphériques nommés /dev/nft? et /dev/nst?.

Après avoir écrit l'archive sur la bande, vous pourrez utiliser la commande mt pour rembobinner la bande et rechercher les différents fichiers. Cette commande s'utilise avec les périphériques qui ne se rembobinnent pas automatiquement. Voir: mt /dev/nft0 rewind, mt /dev/nft0 retention et mt /dev/nft0 fsf 1, cette dernière saute la première session pour passer à la suivante.

Utiliser tar pour ses archives a des avantages et des inconvénients. Un mauvais point est que ni tar ni gzip ne tolère les erreurs. Utiliser gzip pour compresser les archives permet de gagner beaucoup d'espace disque, mais si un problème survient sur la bande, le fichier tout entier peut-être irrécupérable. En général, si cela se produit, vous pourrez quand même récupérer tous vos fichiers jusqu'à l'erreur en question. Une meilleure solution consiste à employer un véritable logiciel de sauvegarde, comme BRU, qui est distribué avec la RedHat 5.0. Les logiciels de sauvegarde compressent en général chaque fichier séparément. Ainsi, même si l'archive est corrompue, tout son contenu n'est pas perdu.

BRU est accessible par une interface en mode texte et par un interface graphique. Ce logiciel offre la possibilité de programmer les sauvegardes automatiques et dispose d'un language de script, ce qui rend aisé la mise en place d'un système de sauvegarde efficace et sûr. Sa facilité d'emploi est comparable à celle de ArcServe sous Windows NT.

Programmer l'éxecution de commandes

Linux dispose d'un utilitaire très simple d'emploi pour programmer l'éxecution de commandes ou de scripts à des heures et dates précises : cron. Pour modifier la liste des événements, taper crontab -e, qui lancera l'éditeur par défaut (en général vi, mais j'ai remplacé le mien par joe). Quand vous quittez l'éditeur, cron remplace l'ancienne liste des événements par la nouvelle et tout est dit. Vous pouvez voir la liste des événements en tapant crontab -l :

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# Exécution chaque minute
# * * * * * root [ -x /usr/sbin/atrun ] && /usr/sbin/atrun
# Exécution des scripts
# 01 * * * * root run-parts /etc/cron.hourly
# 02 1 * * * root run-parts /etc/cron.daily
# 02 2 * * 0 root run-parts /etc/cron.weekly
# 02 3 1 * * root run-parts /etc/cron.monthly
# Effacer les fichiers de /tmp et /var/tmp n'ayant pas été ouverts depuis 10 jours (240 heures)
# 41 02 * * * root /usr/sbin/tmpwatch 240 /tmp /var/tmp
# Effacer les pages de manuel n'ayant pas été utilisées depuis 10 jours
# 39 02 * * * root /usr/sbin/tmpwatch 240 /var/catman/cat?
#############################################################
# Logs WWW. J'utilise deux utilitaires pour comparer les résultats.
#############################################################
# Lancer le premier
02 1 * * * /usr/bin/log
# Lancer le second
02 1 * * * /usr/local/mkstats/mkstats.pl -c mkstats.config
#############################################################
#############################################################
# Live stream management
#############################################################
# Create xdm file for live stream for Sports Nightly (5:45 pm)
45 17 * * 1,2,3,4,5 livestream-on
# Kill xdm file for live stream for Sports Nightly (8:10 pm)
10 20 * * 1,2,3,4,5 livestream-off
# Create xdm file for live stream for Saturday games (7:00 am)
0 7 * * 6 livestream-on
# Kill xdm file for live stream for Saturday games (10:00 pm)
0 22 * * 6 livestream-off
# Check the 3.0 server to see if it is running and not dead! (every minute)
1-59 * * * * /usr/local/streamworks-3.0/checkSWserver
##############################################################
# Vérifier que les répertoires réseau sont accessibles (tlj à 22h00).
# Les disques doivent etre accessibles pour que la sauvegarde puisse se faire.
0 22 * * 1,2,3,4,5 checkmounts
# copy BIP from Intrepid to exeter (WWW)
0 23 * * 1,2,3,4,5 /usr/local/bin/mvbip
# backup userdata from intrepid
55 23 * * 1,2,3,4,5 bu-userdata
# backup CATS
55 23 * * 1,2,3,4,5 bu-cats
# backup Marketing
0 3 * * 1,2,3,4,5 bu-marketing
# mail orders to quinn
0 8 * * 1,2,3,4,5 /usr/local/bin/mailunporders.pl

Chaque ligne doit suivre un schéma bien défini. Si vous désirez que la commande soit lancée tous les jours à 1h du matin, il faut indiquer 0 minute, 1 heure, puis des astérisques, qui signifient "tous les jours de tous les mois".

Remarquez la ligne:

# Vérifier que les répertoires réseau sont accessibles (tlj à 22h00).
# Les disques doivent etre accessibles pour que la sauvegarde puisse se faire.
0 22 * * 1,2,3,4,5 checkmounts

Ceci lance un script que j'ai écrit, qui vérifie que le disque du serveur NT est disponible avant qu'on y sauvegarde toutes les données. Les disque est monté par la commande smbmount qui permet à une machine Linux de monter des répertoires partagés par Windows. Ce script se contente de vérifier qu'un fichier bien précis est accessible. Ces fichiers "référence" ne sont utilisés que pour cette vérification et sont donc en lecture seule pour éviter qu'ils ne soient accidentellement effacés par des utilisateurs, ce qui compromettrait la sauvegarde. Le voici en détail :

#!/bin/sh
# Cronjob to remount network drives if they are not mounted.
# Author: Quinn P. Coldiron
if [ -z "`ls /mnt/exeter | grep InetPub | grep -v grep`" ]
then
umount /mnt/exeter
/mnt/mountexeter
echo "Exeter remounted `date`"
fi
if [ -z "`ls /mnt/intrepid-f | grep BLINE | grep -v grep`" ]
then
umount /mnt/intrepid-f
/mnt/mountintrepid-f
echo "Intrepid F remounted `date`"
fi
if [ -z "`ls /mnt/intrepid-g | grep QC | grep -v grep`" ]
then
umount /mnt/intrepid-g
/mnt/mountintrepid-g
echo "Intrepid G remounted `date`"
fi
if [ -z "`ls /mnt/intrepid-mrktdept | grep KK | grep -v grep`" ]
then
umount /mnt/mountintrepid-mrkt
/mnt/mountintrepid-mrktdept
echo "Marketing remounted `date`"
fi
echo "Tous les répertoires réseau sont disponibles."

Remplacer le système d'exploitation de votre poste de travail par Linux

A voir:

Je désire depuis longtemps utiliser Linux comme système d'exploitation pour mon poste de travail, mais je n'ai jamais sauté le pas car j'ai besoin d'utiliser MS Word, WordPerfect, MS Excel, MS Access, MS Visual Basic, ainsi que notre messagerie interne (Pegasus). J'ai récemment pu réduire la liste des applications nécessaires qui n'ont pas leur équivalent sous Linux à Access et Visual Basic.

Je me suis rendu compte que Microsoft Office pouvait en grande partie être remplacé par Applixware. Applixware est une suite bureautique pour Linux (fonctionnant sur beaucoup d'autres systèmes Unix) qui peut lire et écrire des fichiers Word et Excel, ce qui me permet de partager mes fichiers normalement. Je ne peux pour le moment pas lire les bases de données Access.

Traitement de texte - Applix Words

Tableur - Applix Spreadsheets

Présentation - Applix Presentation Graphics

Courrier électronique - Applix Mail

Editeur HTML - Applix HTML Author

Langage d'extension et macros - The Extension Language Facility (ELF) and Macros

Changements par rapport aux versions précédentes

Cette nouvelle version présente un éditeur HTML complet pour modifier et mettre à jour aisément votre site web. La conversion des fichiers a été beaucoup améliorée et il est maintenant possible de lire et d'écrire des fichiers au format Word et Wordperfect. Pour ceux qui voudrait à tout prix l'original, Corel propose la version 7.0 de Wordperfect sur Linux.

L'interface graphique pour Linux (et Unix en général) est X Windows. X Windows est divisé en deux sous-systèmes: un serveur et un client que vous pouvez changer indépendamment. Changer le serveur X permet de choisir le plus adapté à votre carte vidéo et votre moniteur. Changer le "window manager" permet de choisir l'apparence et le comportement des fenêtres (NdT: contrairement à ce que laisse supposer le texte, le window manager n'est pas LE client, mais UN client du serveur X ayant comme fonction particulière de gérer "l'emballage" des autres clients). Changer l'apparence et le comportement des fenêtres est impossible sous Windows, la chose qui s'en rapproche le plus est les thèmes disponibles avec MS Plus!.

Une autre possibilité pour épargner de l'argent et redonner vie à votre ancien 486 est d'installer Linux pour en faire des NC (Network Computer). Il est par exemple possible de faire tourner le serveur X sur votre poste de travail, alors que les applications (les clients), tournent sur un serveur plus musclé (NdT: réécrit, la VO est inexacte). Ou encore installer le client Keoke de Insignia Solutions qui tourne sous java pour faire de votre poste de travail sous Linux un client léger exécutant des applications Windows.

A matériel équivalent, Linux est bien plus performant que Windows. Linux peut faire tourner une interface graphique complète sur un 386 avec 4 Mo de RAM si vous acceptez de légers temps de latence. Pour Netscape Navigator, il devient indispensable de disposer d'un 486 avec 8 Mo et 16 Mo pour Communicator. Linux ne demande que très peu d'espace disque. Les clients Caldera réduits à l'indispensable n'utilisent que 68 Mo de disque dur. Si vous ajoutez Netscape, Java et un window manager plus accueillant que Fvwm en plus d'une partition de swap de 32 Mo, vous constatez qu'un disque de 200 Mo est amplement suffisant dans la grande majorité des cas.

6.5 Références


Précédent Suivant Table des Matières

Copyright (c) 98 Quinn P. Coldiron - Paru dans le n°29 de la Linux Gazette.

Adaptation française : Marc Simon.