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.
- Il est multitâche, donc plusieurs programmes peuvent s'exécuter en même temps.
- Il est multi-utilisateur, plusieurs utilisateurs peuvent utiliser la même machine en même temps (sans licence supplémentaire !).
- Il est multi-plateforme, puisqu'il tourne sur de nombreux processeurs et pas seulement Intel.
- Il est multi-processeur, puisqu'il gère le SMP pour Intel et Sparc, et bientôt d'autres plate-formes. De plus Linux est utilisé dans des systèmes qui partagent leurs applications entre les processeurs, comme le Beowulf (voir http://cesdis.gsfc.nasa.gov/linux-web/beowulf/beowulf.html) et le Fujitsu AP1000+ à base de Sparc.
- Il gère le mode protégé des Intel 386.
- Il partage intelligemment la mémoire entre les processus, empêchant un programme de planter toute la machine.
- Il charge les exécutables à la demande et ne lit sur le disque que les parties d'un programme réellement utilisées.
- Il partage des pages mémoire entre les applications. Plusieurs d'entre elles peuvent utiliser la même mémoire. Quand l'une d'elle souhaite écrire sur cette zone de mémoire, la page correspondante (4 ko) est copiée ailleurs. Cela augmente la vitesse et nécessite moins de mémoire.
- La mise en mémoire virtuelle se fait aussi par pages. Le swap est pris sur une partition ou un fichier spécifique, et on peut en rajouter à volonté, jusqu'à un total de 16 zones de 128 Mo chacune, ce qui fait 2 Go au maximum. Et cette limite se change en modifiant simplement quelques lignes des sources de Linux.
- Il partage la mémoire entre cache et application, ce qui fait que toute la mémoire libre peut être utilisée comme un cache qui se réduit automatiquement lorsqu'on lance des programmes plus gros.
- Il utilise des bibliothèques statiques ou partagées.
- Il génère des core dumps, ce qui permet d'utiliser des debugger sur un programme non seulement quand il tourne, mais aussi après sa mort.
- Il est presqu'entièrement compatible POSIX, SystemV et BSD, pour les sources.
- Grâce à l'émulation iBCS2, ses binaires sont assez compatibles avec SCO, SVR et SVR4.
- Toutes les sources sont disponibles, que ce soit celles du kernel, des pilotes, des outils de développement et tous les programmes. De plus, il est entièrement distribuable. De nombreux programmes commerciaux pour Linux sont distribués sans les sources, mais tout ce qui a été libre le reste et le restera.
- Linux dispose d'une gestion des tâches POSIX.
- Il dispose de pseudo-terminaux (ptys)
- Il émule un coprocesseur 387, donc les programmes n'en ont pas besoin. Tous les ordinateurs sous Linux semblent disposer d'un coprocesseur mathématique. Bien sûr, si le processeur est doté d'une FPU, elle sera utilisée au lieu de l'émulation, ce qui permet de compiler un kernel sans émulation, pour gagner un peu de mémoire.
- Il gère des consoles virtuelles, donc plusieurs logins sont possibles depuis la même console, et l'on peut passer de l'une à l'autre en utilisant un raccourci clavier. Elles sont allouées dynamiquement, jusqu'à un total de 64.
- Il gère la plupart des systèmes de fichiers courants, dont minix, Xenix, et tous les systèmes de fichier SysV. Il dispose d'un système de fichier évolué, qui permet d'avoir des partitions de 4 To, et des noms de 255 caractères de long.
- Il accède de façon transparente aux partitions MS-DOS ou OS/2 FAT en utilisant des systèmes de fichiers particuliers. Il n'y a pas besoin de commandes spéciales pour utiliser la partition MS-DOS, elle apparaît comme n'importe quelle partition Unix (avec quelques limitations pour les permissions, les noms de fichiers, etc). Les partitions compressées de MS-DOS 6 fonctionnent grâce à un patch, dmsdosfs. La VFAT de Windows NT et de Windows 95 sont gérées dans Linux 2.0. Un système spécifique, appelé umsdos, permet d'installer Linux sur une partition MS-DOS.
- Il gère les partitions HPFS-2 pour OS/2 en lecture seule.
- Il gère les partitions HFS (Macintosh) via un module chargeable.
- Il supporte le système de fichier standard des CD-ROMS.
- Il supporte le TCP/IP, et toutes les applications (ftp, telnet, NFS...)
- Serveur AppleTalk.
- Client et serveur Netware.
- Client et serveur Lan Manager (SMB).
- Il gère de nombreux protocoles de réseau : TCP, IPv4, IPv6, AX.25, X.25, IPX, DDP (AppleTalk), NetBEUI, Netrom, et d'autres. Les noyaux stables ne gèrent actuellement que TCP, IPv4, IPX, DDP et AX.25.
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 :;
- Windows 95 l'utilise pour communiquer avec les serveurs PPP, ce qui permet de naviguer sur Internet.
- Samba est gratuit, et il est plus convivial que Novell.
- Avec Samba, les serveurs Unix connectés à un réseau local peuvent communiquer avec les clients dans un protocole natif. Il est plus simple de s'occuper d'un seul protocole que de modifier les clients pour les rendre compatibles alors qu'ils ne le sont pas au départ.
- Utiliser SMB sur TCP/IP est normalisé dans les RFC 1001 et 1002. SMB a donc une longueur d'avance en ce qui concerne l'intégration à Internet.
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-sysLe 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 :
- Windows NT 4.0 Service Pack 3.
- 2 Processeurs Pentium 150.
- 256 Mo de RAM.
- Carte SCSI Adaptec 2940.
- Tous les disques contenant des données en SCSI.
- Démarrage sur un disque IDE.
- Carte Ethernet : clone NE 2000
- Linux RedHat 4.2.
- Processeur Pentium 200.
- 64 Mo de RAM.
- Carte SCSI DPT DPT SmartCache IV
- RAID Station 3 (Raid 5).
- Boot sur un disque IDE.
- Carte Ethernet : clone NE 2000
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
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.
/tmp/upgradelogPour 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%) totalVoici 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 klogd6.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 :
- disque(s) dur(s): nombre et taille; s'il y en a plus d'un, quel est leur ordre.
- memoire: quantité de RAM.
- CD-ROM: quel type ; IDE, SCSI, ou autre, auquel cas il est bon connaître et le modèle.
- adaptateur SCSI: marque et modèle.
- carte réseau: marque et modèle.
- souris: type (serie - connectée à quel port, PS/2, ou bus), protocole (Logitech, Microsoft, MouseMan, etc.) et nombre de boutons.
- Si la machine doit être raccordée à un réseau, s'assurer de son adresse IP, de son nom, de son nom de domaine, de l'IP de la passerelle, des IP des serveurs de noms (DNS). Au besoin, demandez à votre administrateur.
- Si vous désirez installer X Xindows, vous aurez besoin:
- carte vidéo: marque et modèle du processeur vidéo, quantité de RAM.
- moniteur: marque et modèle, capacités de balayage horizontal et vertical.
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 = 0777Mon 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\programsInstallation 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 JVWRL'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'utilisermkefs2
. 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
etmt /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, tapercrontab -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 tapantcrontab -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.plChaque 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 checkmountsCeci 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
- Liens dynamiques vers Applixware et d'autres applications
- Documents composés et courrier électronique
- Portrait, paysage et marges pour l'impression
- Défaire et refaire multiples
- Hypertexte avec sortie au format HTML
- Editeur de formulaires
- Dictionnaires internationaux, thesauri et vérificateurs d'orthographe
- Texte conditionnel, références croisées; chercher-remplacer
- Equations et calculs intégrés
- Multiples polices de caractère, enrichissements et tailles
- Interface graphique intégrée
- Tableaux et cadres, bords et ombres
- Multimedia : audio et video
Tableur - Applix Spreadsheets
- Liens dynamiques vers Applixware et d'autres applications
- Calculation-based attributes
- Feuilles de calcul et graphiques 3D
- Integration de fonctions externes
- Functions financières, mathématiques, statistiques et de texte
- Recherche de but
- Vues multiple nommées
- Liens dynamiques inter-feuilles
- Graphiques dynamiques
- Styles de graphiques modifiables
- Aperçu avant impression
- Bordures et ombrages
- Déplacement des cellules par glisser-déplacer
- Tableau de projection
- Références absolues et relatives aux cellules
- Fonctions d'accès aux bases de données
- Accès à la ligne de commande et aux librairies partagées
- Optimisation des recalculs
Présentation - Applix Presentation Graphics
- Outils de dessin, motifs de remplissage et palette de couleurs variés
- Plusieurs vues verticales et horizontales
- Formes, pinceaux et motifs modifiables
- Taille du point et couleurs illimitées
- Fonctions de rotation et d'agrandissement/réduction
- Ombrage
- Retour à la ligne automatique pour le texte
- Numérisation d'images
- Edition à l'échelle du pixel
- Animation et superposition de feuillets
Courrier électronique - Applix Mail
- Donne accès au courrier électronique depuis tous les logiciels Applixware
- Répertoires d'adresses privés et publiques, listes de distribution et alias
- Tri, classement et recherche des messages
- Conversion automatique des documents selon les préférences du destinataire
- Conforme au standard MIME, utilise sendmail
- Répertoires partagés
Editeur HTML - Applix HTML Author
- Disponibilité d'une grande variété de balises HTML
- Plus de 25 styles standards pour les titres, le texte et les listes
- Conversion automatique des styles d'Applix Words en styles HTML
- Conversion automatique des fichiers d'Applix Graphics et Applix Presents au format GIF, y compris les graphiques contenant des liens
- Conversion automatique des tableaux
- Couleurs du fond, du texte et des liens
- Listes automatiques
- Tous les attributs sont accessibles par des boites de dialogue et des menus
- Inclusion et édition aisée d'images au format GIF
Langage d'extension et macros - The Extension Language Facility (ELF) and Macros
- Langage de programmation interprété robuste
- Interface pour les socket TCP/IP et les RPCs (Procédures d'Accès à Distance)
- Compilateur/Interpréteur et Debugger interactifs
- Opérateurs pour chaines, booléens et nombres
- Plus de 2500 macros déjà prêtes
- Barres de menus, boites de dialogue et raccourcis claviers configurables pour tous les logiciels Applixware
- Enregistrement des séquences de touche et des clics de souris
- Liens dynamiques avec d'autres applications, lancement de programmes externes depuis tous les logiciels d'Applixware
- Icones configurable pour automatiser certaines tâches
- Zoom
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
- Annexe A - Guide d'installation de RedHat 5.0
- Annexe B - Samba
- Annexe C - Manuel de DOSEMU
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.