[Top] | [Contents] | [Index] | [ ? ] |
Ce fichier décrit le contenu du CD-ROM GNU MS-DOS Software, édition 1.0.
L'édition de ce document est la 1.0.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Cet ouvrage s'accompagne d'un CD-ROM sur lequel se trouvent des logiciels qui renforceront considérablement la puissance de votre système MS-DOS/MS-Windows (1). Le projet GNU s'est efforcé, au cours de la dernière décennie de mettre au point un système d'exploitation de type Unix appelé GNU. (See section Le manifeste GNU.) Divers composants de ce système ont été produits au fil des années dont la plupart ont été portés sur MS-DOS et MS-Windows. L'objectif de cet ouvrage et du CD-ROM qui l'accompagne est non seulement de proposer aux utilisateurs des logiciels GNU sous MS-DOS et MS-Windows une référence pratique, mais également d'apporter une source de financement à la Free Software Foundation afin que celle-ci puisse continuer à créer de nouveaux logiciels GNU.
Les programmes présents sur ce CD-ROM intéresseront tous les types d'utilisateurs de ressources informatiques, et permettent d'assurer une vaste gamme d'opérations informatisées. Tous ces programmes sont décrits dans la partie intitulée 4. Liste des logiciels sur le CDROM; c'est pourquoi nous nous contenterons ici de donner un aperçu sommaire des fonctions qu'ils assurent.
Si vous êtes utilisateur de ressources informatiques, vous êtes
appelé quotidiennement à éditer des fichiers texte et à
effectuer des opérations sur vos fichiers, les déplacer, les copier,
faire des recherches sur leur contenu. Or le CD-ROM contient des
programmes capables d'assurer ce genre de tâches comme par exemple
Emacs qui est un éditeur de texte extrêmement puissant;
ls
, qui liste les fichiers dans des formats très divers;
mv
qui déplace et renomme les fichiers et les répertoires;
mais aussi awk
et sed
qui assurent toutes sortes
d'opérations de traitement de texte. Si vous connaissez déjà les
systèmes GNU/Linux et Unix, vous ne serez pas dépaysé car vous
pourrez utiliser les mêmes outils et les mêmes commandes que sur ces
systèmes.
Ce CD-ROM contient de nombreux outils destinés aux développeurs
de logiciels. Certains vous permettront de rédiger des programmes en
langage C et C++ en utilisant les ports DJGPP et Cygnus de
GCC, un compilateur C/C++ qui possède également une
bibliothèque C compatible POSIX et des bibliothèques de classes
C++ GNU, dont une version de STL, la Standard Template
Library. Le CD-ROM contient également des utilitaires de
maintenance de programmes tels que make
et le Revision Control
System RCS. Emacs peut piloter des compilateurs et comprend de
nombreuses commandes et logiciels destinés aux développeurs de
logiciels.
Vous pourrez aussi grâce à d'autres programmes effectuer des
tâches très difficiles, voire totalement impossibles sur un
système MS-Windows/MS-DOS standard. Nous vous proposons par exemple un
utilitaire appelé less
qui vous permet de faire défiler vos
fichiers page à page en avant ou en arrière, de voir plusieurs
fichiers à la fois et de lancer d'autres programmes pendant que vous
effectuez ces opérations. Vous pouvez également faire appel à
deux logiciels de composition typographique, TeX et Groff, grâce
auxquels vous pourrez composer vos documents et vos livres, en faire des
visualisations et les imprimer sur toute une gamme d'imprimantes
courantes. Emacs et info
vous permettront de lire la
documentation de vos logiciels. Emacs possède en outre des commandes
de lecture du courrier électronique, etc...
Tous les logiciels présents sur ce CD-ROM sont des logiciels libres. Cela signifie que vous pouvez librement redistribuer les programmes qu'ils contiennent, les modifier, et même les commercialiser, dans la mesure où vous les commercialisez en tant que logiciel libre. L'intégralité du code source se trouve sur le CD-ROM. See section Le manifeste GNU, et GNU General Public License.
La Free Software Foundation est une association à but non lucratif dont le but est la création de logiciels libres. See section Qu'est ce que la FSF ?. En achetant le présent ouvrage, vous contribuerez à soutenir notre action. Si vous avez l'intention de vendre certains des logiciels présents sur ce CD-ROM, nous vous invitons à reverser une partie des bénéfices réalisés à la Free Software Foundation ou à tout autre organisation défendant la diffusion des logiciels libres.
Conventions Remerciements Absence de support technique Pourquoi nous ne proposons pas d'assistance technique individuelle Rapporter une défaillance Veuillez nous signaler les erreurs de programmation rencontrees Comment contacter la Fondation Comment nous contacter Note du traducteur
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Voici les conventions utilisées dans ce manuel (ainsi que dans tous les manuels GNU) :
Le style utilisé pour les références croisées est le suivant :
See section Conventions. |
Si vous visualisez les pages de ce livre avec le système hypertexte
Info (see section Comment utiliser info
) vous pouvez consulter
directement les parties de l'ouvrage qui traitent des sujets de ces
renvois.
Les noms de programmes, de commandes et de fonctions sont rédigés
dans cette police de caractères
. Les commandes entières, les
noms d'options, de fichiers, etc. sont rédigés dans la même police
de caractères mais apparaissent `comme ceci'.
Les variables métasyntaxiques (c'est-à-dire les éléments que vous remplacez par le texte de votre choix en fonction de ce que vous voulez faire) sont représentées par cette police.
Les termes et mots nouveaux faisant l'objet d'une définition sont rédigés comme ceci.
Pour souligner une expression nous utilisons ceci.
MS-DOS et MS-Windows utilisent le caractère antislash `\' pour séparer les noms de répertoires dans les chemin de fichiers. Exemple : `c:\windows\system\vbrun300.dll'.(2) Unix, en revanche, utilise le slash `/' à cette fin, comme dans l'exemple suivant `/usr/local/bin/emacs'.
Les programmes présents sur ce CD-ROM acceptent quant à eux les
deux modes de séparation pour faciliter leur portabilité : ainsi
make
peut exécuter les commandes makefiles écrites pour Unix,
de sorte que vous pouvez écrire des scripts shell compatibles avec DOS
et avec Unix, etc. (Cela a aussi pour effet de grandement faciliter la
vie des utilisateurs des deux types de système.) On voit donc que la
plupart des chemins de fichiers utilisés dans cet ouvrage auraient pu
être rédigés dans l'un des deux modes. Nous avons néanmoins
décidé d'utiliser l'antislash dans la rédaction de cet ouvrage
afin de faciliter la tâche des utilisateurs de MS-DOS.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
La mise en place de ce projet a été une oeuvre de longue haleine dont la réalisation doit énormément à la généreuse contribution apportée par de nombreux et dévoués collaborateurs. Qu'ils en soient remerciés chaleureusement.
L'essentiel du travail qui a permis la présentation de ces programmes sur ce CD-ROM a été réalisé par DJ Delorie, Charles Sandmann, Morten Welinder, Eli Zaretskii ainsi que les autres membres de l'équipe des développeurs de DJGPP qui avaient déjà réalisé le portage de GCC et d'autres packages GNU sur MS-DOS et qui ont créé une bibliothèque C ainsi que les outils de développement qui les accompagnent. La mise à disposition de la plupart des programmes présentés ici aux utilisateurs de MS-DOS/MS-Windows eût été impossible sans leur contribution.
Merci également à Douglas Alan, Peter G. Ford et Joan C. Quigley pour leur investissement en temps et en matériel dans la réalisation des CD-ROM de test.
Merci beaucoup à Danilo Almeida, Holmes Boroughf, David Caswell, Robert J. Chassell, Bradley Dilger, James DuPrie, Nico Garcia, Joseph Harrington, David Krikorian et Ron Weiss qui ont réalisé le test du CD-ROM et la relecture de ce manuel.
Un grand merci pour la traduction française à Tony Bassette, Thierry Bonhomme, Yvette Butel, Frédéric Couchet, Lucile Fiévet, Alain Forcioli, Jean-Pierre Forcioli et Katixa Ribalka.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Le projet GNU et la Free Software Foundation ne fournissent pas de support technique pour les logiciels présents sur ce CD-ROM.
Nous nous sommes efforcés de présenter le plus clairement possible l'installation des logiciels sur votre machine. Dans les manuels (tous présents sur le CD-ROM et quelques-uns ont également été publiés en version papier par la Free Software Foundation) nous avons également tenté de décrire de la manière la plus précise l'utilisation des logiciels. Nous avons préféré aider les utilisateurs de cette manière car nous estimons que c'est la plus efficace. Elle consiste à écrire les choses une fois pour toutes et à les diffuser auprès des utilisateurs. Aussi, nous ne proposons pas d'aider les utilisateurs individuellement car ce serait faire un mauvais usage de notre temps pour aider la communauté.
Conscients de la singularité d'une telle attitude, nous avons décidé de nous en expliquer. Nous ne sommes pas un éditeur commercial de logiciels et nous ne pouvons donc affirmer que le présent ouvrage et son CD-ROM sont édités à l'intention des personnes qui l'achèteront. Notre mission est beaucoup plus étendue et s'adresse à un public plus vaste, au public des utilisateurs présents ou futurs de logiciels libres, le nombre des utilisateurs futurs dépendant dans une large mesure de la manière dont nous saurons améliorer nos logiciels.
Paradoxalement, un "éditeur de logiciels" n'est pas une entreprise dont l'objectif est de créer des logiciels. Son objectif est au contraire de dégager des marges bénéficiaires; et c'est pour cela qu'il cré des logiciels et qu'il les vend. Pour les éditeurs, l'amélioration de la qualité des logiciels n'est qu'un des moyens qui leur permettent de gagner des clients. Le support technique est un autre de ces moyens, si bien qu'elles se livrent à ces deux activités.
En revanche, l'objectif véritable de la Free Software Foundation est bien de créer des logiciels libres. Notre démarche est à l'inverse de celle des éditeurs de logiciels, car nous essayons de gagner de l'argent pour pouvoir créer nos logiciels, et non le contraire. Nous sollicitons des contributions financières pour pouvoir créer de nouveaux logiciels libres, et nous éditons des ouvrages et des CD-ROM pour pouvoir poursuivre cette activité. Nous pensons à cet égard que vous comprendrez que l'achat de ce livre et de ce CD-ROM nous aidera dans cette entreprise.
Dans cette logique, nous dépensons tous les moyens financiers dont nous disposons à l'amélioration générale de nos logiciels et de notre documentation, et non pas à apporter des solutions individuelles aux utilisateurs.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Au lieu de vous proposer notre aide lorsque vous tombez sur une défaillance du programme, nous faisons exactement le contraire : nous souhaitons que vous nous aidiez à les détecter en nous envoyant une fiche décrivant l'erreur, pour que nous puissions la supprimer le plus vite possible.
Puisque nous n'en sommes qu'à la première version de ce CD-ROM, vous trouverez sans doute des erreurs de programmation dans le logiciel d'installation qui auront échappé à nos tests. Toutes les informations concernant ces erreurs de programmation nous intéressent car elles nous permettront de les supprimer dans les versions suivantes. Pour nous faire part de la présence d'une erreur soit dans le CD-ROM, soit dans cet ouvrage, envoyez-nous un courrier électronique à l'adresse suivante : bug-gnu-cdrom@gnu.org.
Tous les programmes présents sur le CD-ROM dépendent d'un responsable de la maintenance qui est précisément chargé de supprimer les erreurs de programmation. Tous les programmes indiquent en principe l'adresse à laquelle vous pouvez envoyer votre rapport d'erreur. Si vous détectez une erreur de programmation dans l'un des programmes du CD-ROM, nous vous demandons de bien vouloir adresser un rapport d'erreur au responsable chargé de la maintenance de ce logiciel.
Le responsable de la maintenance tentera alors de supprimer l'erreur de programmation en question afin qu'elle n'apparaisse pas dans la version suivante. Si l'erreur de programmation que vous avez découverte est une nouvelle erreur, le responsable de la maintenance sera peut-être amené à vous faire tester un patch.
Le manuel de GNU Emacs et du compilateur GNU C possède une section particulière dans laquelle vous apprendrez à rédiger la fiche des erreurs de programmation que le responsable de la maintenance utilisera pour régler le problème. La plupart des indications de ces sections sont valables pour tous les autres programmes. Vous voyez donc que la suppression des erreurs de programmation n'a rien de difficile et nous vous invitons vivement à effectuer cette démarche si la question se pose.
Si vous avez l'impression que la difficulté que vous rencontrez n'est pas due à une erreur de programmation, ou si, une fois votre fiche des erreurs de programmation envoyée, vous souhaitez vous faire aider pour résoudre le problème, vous pouvez poser la question sur les forums Usenet compétents. Et comme la plupart des programmes présentés sur ce CD-ROM ont été compilés à l'aide des outils DJGPP, le meilleur endroit pour poser vos questions est le groupe de news de DJGPP `comp.os.msdos.djgpp'. (Si vous n'avez pas accès aux forums Usenet, vous pouvez envoyer un courrier électronique à l'adresse suivante djgpp@delorie.com.
La FAQ(3) de DJGPP apporte déjà des solutions à un certain nombre de problèmes courants qui se posent lors de l'installation des programmes compilés de DJGPP. See section `Top' in La FAQ DJGPP, pour plus de détails.
Le CD-ROM contient également une version HTML de la FAQ. Le nom du fichier est `\docs\djgppfaq.html'; vous pouvez l'ouvrir dans votre navigateur Internet habituel.
Si vous rencontrez des difficultés lors de l'installation ou de l'utilisation de la version Windows native de GNU Emacs (appelée NTEmacs), le fichier `\ntemacs\README.NT' présent sur le CD-ROM peut vous être utile. L'adresse à laquelle vous pouvez trouver les FAQ de NTEmacs est la suivante : http://www.cs.washington.edu/homes/voelker/ntemacs.html. Il existe aussi une liste de diffusion consacrée à NTEmacs. Vous la trouverez à l'adresse suivante ntemacs-users@cs.washington.edu. Pour plus d'information sur cette liste, envoyez un message à l'adresse suivante ntemacs-users-request@cs.washington.edu en inscrivant le mot `info' dans le corps de votre message. Pour vous abonner à la liste, envoyez un message à la même adresse en inscrivant le mot `subscribe' dans le corps de votre message.
Si vous rencontrez des difficultés lors de l'installation ou de l'utilisation de ports Cygnus des programmes GNU, reportez-vous au fichier `\cygnus-ports\FAQ'.
Si vos difficultés sont telles que vous souhaitez bénéficier d'un support payant, vous trouverez dans le GNU Service Directory une liste de personnes et d'entreprises qui proposent un support technique payant pour les logiciels GNU. Vous trouverez cette liste dans le fichier `SERVICE' situé dans le répertoire racine du CD-ROM. Si en revanche vous souhaitez figurer dans ce Service Directory, vous devez contacter la Fondation.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Free Software Foundation, Inc. 59 Temple Place - Suite #330 Boston, MA 02111-1307 USA |
Vous pouvez également nous joindre par fax ou par Internet :
Fax: +1 (617) 542-2652 e-mail: gnu@gnu.org WWW: http://www.gnu.org |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
La traduction de ce manuel a été effectuée entre novembre 1998 et juin 1999 par des volontaires de l'association APRIL et un traducteur professionnel de Pick Systems.
Nous nous sommes efforcés de produire une traduction aussi fidèle que possible, tout en essayant d'utiliser des termes compréhensibles par le novice. Mais dans certains cas nous avons conservé le vocabulaire original par soucis de cohérence avec le contenu du CD-ROM.
Nous assumons de plus que le lecteur possède un environnement francophone. Nous avons ainsi traduit les messages et les références au système d'exploitation.
Afin de tenir compte des spécificités de la langue française, nous avons dû également modifier le fichier `texinfo.tex' fourni dans la distribution. Ce livre ne se compilera pas (ou mal) sans lui.
Pour nous signaler tout problème dans la traduction ou pour toute autre remarque, veuillez nous contacter à l'adresse mail trad_book@april.org.
Les sources de cet ouvrage ainsi que les sources originales sont disponibles sur le web à l'URL http://www.april.org/Travaux/DosBook/.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Ce CD-ROM contient un ensemble de programmes et d'utilitaires fonctionnant sur MS-DOS et MS-Windows. La plupart de ces utilitaires ont été développés par la Free Software Foundation dans le cadre du système GNU (see section Le manifeste GNU).
Un certain nombre de volontaires (see section Remerciements) ont fait l'effort de porter ces outils de qualité sur les systèmes d'exploitation Microsoft MS-DOS et MS-Windows. Le résultat de ces efforts n'est pas seulement que les programmes de ce CD-ROM fonctionnent sur ces systèmes, mais aussi qu'ils étendent leurs possibilités pour les rendre plus ressemblants à un Unix ou à un système GNU. Par exemple, tous les programmes DJGPP peuvent passer des lignes de commande longues à leurs fils (oubliée, la limitation du DOS à 126 caractères !), ils supportent nativement l'expansion des caractères jokers, et ils exécutent des scripts shell.
La plupart de ces programmes a été compilée avec les outils DGJPP. Bien que DJGPP produise des programmes 32 bits en mode protégé dégagés des ignobles limitations de mémoire de DOS, ce sont des exécutables DOS, et pas des applications natives Windows.
Cependant, ces programmes devraient aussi être utiles sur MS-Windows (aussi bien Windows 3.x(4) que sur Windows 9x/NT(5)), et ceci pour les raisons suivantes:
Cependant, ces programmes ne supportent pas les noms longs sur Windows NT; la méthode d'implémentation utilisée pour Window 9x n'est pas applicable sous Windows NT.
Nous fournissons des portages spécifiques à Windows pour certains logiciels GNU, pour lesquels cela fait une grande différence. Par exemple, ce CD-ROM inclut NTEmacs qui est un GNU Emacs construit pour tourner nativement sur des plates-formes Windows 9x/NT. Ce portage d'Emacs supporte les processus en parallèle au programme. Les autres portages Windows natifs de logiciels GNU sont inclus dans le CD-ROM dans le répertoire `\cygnus-ports'. Ces exécutables spécifiques à Windows supportent les noms de fichier longs sur Windows NT aussi bien que sur Windows 9x.
Malheureusement, les exécutables spécifiques à Windows peuvent nécessiter un compilateur propriétaire pour les compiler à partir de sources; DJGPP ne peut pas compiler des exécutables natifs Windows. Nous espérons que dans le futur le compilateur GNU et les autres outils seront capables de les compiler, mais nous ne pouvons pas promettre que quelqu'un effectuera ce travail.
Qu'y-a-t'il dans ce manuel ? Matériel requis Quel matériel est supporté Systèmes d'exploitation Systèmes d'exploitation supportés par ces programmes. Programmes à essayer Organisation du CD-ROM
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Ce manuel vous donnera suffisamment d'informations pour installer les programmes sur votre disque, lire leurs manuels, et résoudre les problèmes. Il ne documente pas les programmes eux-mêmes en dehors d'un bref résumé. La documentation détaillée est disponible dans les répertoires `\info' et `\man' (la lecture se fait avec les navigateurs Info et les lecteurs de pages man), et dans le répertoire `\docs' (documentation prête à être imprimée, fichiers `README' généraux, fichiers `FAQ', etc...).
Ce chapitre donne une vue d'ensemble du reste du manuel, du système de base requis pour utiliser les logiciels du CD-ROM, une brève introduction à certains de ces programmes, et un plan des répertoires du CD-ROM.
Le chapitre 2 vous explique comment installer les logiciels et résoudre certains problèmes d'installation potentiels.
Le chapitre 3 explique comment lire la documentation pour chacun des programmes (à la fois de manière hypertextuelle et sous forme imprimée)
Le chapitre 4 donne une description sommaire de chacun des packages du CD-ROM. Ces descriptions sont similaires à celles du GNU's Bulletin, publié deux fois par an par la FSF (see section Comment contacter la Fondation)
L'appendice A présente plusieurs articles à propos du projet GNU et de la Free Software Foundation, y compris le manifeste GNU, le papier original de Richard Stallman expliquant pourquoi nous croyons que le logiciel ne devrait pas être soumis à des lois restrictives sur la propriété intellectuelle.
L'appendice B contient les deux licences qui couvrent le logiciel de ce CD-ROM(6). Ces documents sont les bases légales de votre liberté de partager les logiciels GNU; vous pouvez aussi les utiliser pour rendre vos propres logiciels libres.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Pour exécuter les programmes de ce CD-ROM, votre machine a besoin de remplir les conditions de configuration minimale suivantes :
du
("disk usage") sur ce CD-ROM
pour voir combien d'espace disque est nécessaire pour copier un
répertoire particulier.
MSCDEX
et les
drivers de CD-ROM bas-niveau sont chargés dans vos fichiers
`CONFIG.SYS' et `AUTOEXEC.BAT'. (Les machines fonctionnant
sur Windows 9x ou Windows NT chargent généralement les drivers de
CD-ROM automatiquement lorsqu'un lecteur de CD est présent).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Les programmes de ce CD-ROM s'exécuteront sur un système
MS-DOS ou compatible (MS-DOS version 3.0 ou ultérieure). La
plupart des programmes sont des exécutables DOS 32 bits en mode
protégé, et fonctionneront dans tout environnement pouvant
exécuter des programmes DOS et leur fournir des services
DPMI.(7) Les
systèmes d'exploitation ayant un interpréteur DOS seront capables
d'exécuter ces programmes. En dehors de MS-DOS, les
environnements connus pour exécuter ces programmes sont DR-DOS
(version 4 ou ultérieure), NWDOS de Novell, FreeDOS, Windows 3.x,
Windows 9x, Windows/NT, OS/2, aussi bien que DOSEmu sur des systèmes
GNU/Linux. Le CD-ROM inclut un server DPMI libre CWSDPMI
,
pour les systèmes qui n'ont pas de services DPMI natifs. Ces
programmes sont conçus de telle manière qu'ils chargent
CWSDPMI
automatiquement si les services DPMI ne sont pas
disponibles, et sont déchargés lorsqu'ils s'arrêtent.
Quelques programmes de ce CD-ROM, comme NTEmacs, sont des
applications natives Windows 9x/NT, et ne fonctionneront que sur
Windows/NT ou Windows 9x. (Notons que NTEmacs ne fonctionne
pas sur Windows 3.x, même si vous avez installé les
extensions Win32s
).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Ce CD-ROM contient beaucoup de programmes, dont les domaines d'utilisation diffèrent beaucoup. Afin de vous donner une brève idée de ce qui se trouve sur le disque et de ce que vous pouvez faire avec ces logiciels, nous avons inclu ici une brève liste de programmes à essayer. Pour une liste complète, voir 4. Liste des logiciels sur le CDROM
Emacs est un éditeur de textes, mais bien plus encore. Emacs a été conçu à l'origine pour être utilisé sur des terminaux sans pointeur ou système graphique, et supporte toujours aussi bien ce mode (même avec un modem à 300 bauds). Cependant, il supporte la souris, une barre de menus, des menus contextuels et toutes les autres fonctions des interfaces utilisateur modernes, même uniquement sous MS-DOS.
Emacs est très flexible: vous pouvez reconfigurer votre clavier et les menus d'Emacs pour insérer les fonctions que vous utilisez souvent à des endroits stratégiques, et vous pouvez définir des macros pour effectuer des tâches répétitives.
Mais la grande force d'Emacs est son extensibilité. La plus grande partie d'Emacs est écrite dans un dialecte spécial de Lisp, qui permet à l'utilisateur à l'adapter à sa manière de travailler. Des développeurs ont écrit des centaines d'extensions pour traiter des formats de fichiers spéciaux ou effectuer des tâches spéciales; les extensions les plus populaires parmi celles-ci sont sur le CD-ROM. Ces extensions font d'Emacs plus qu'un éditeur : il devient vraiment un environnement de travail pourvu de nombreuses fonctionnalités, adapté à de nombreuses tâches habituellement effectuées par d'autres outils.
Par exemple, Emacs fournit des modes d'édition spéciaux pour de nombreux langages de programmation ou formateurs de textes communément utilisés (comme TeX et LaTeX). Ces modes peuvent rechercher les parenthèses fermantes et autres symboles associés pour vous, indenter le code pour la lisibilité (selon des règles spécifiques aux langages que vous contrôlez), et mettre en surbrillance des parties du code en différentes polices et couleurs. Ils peuvent même interpréter les messages erreurs du compilateur ou du formateur, lire les fichiers contenant les erreurs et mettre le curseur sur les lignes responsables.
Emacs sait quel mode d'édition utiliser pour un fichier en se basant sur l'extension du fichier ou sur un commentaire que vous insérez dans le fichier lui-même.
Emacs a aussi des modes pour lire, envoyer, ou gérer des courriers électroniques, et pour lire de la documentation en ligne. Vous pouvez l'utiliser pour "éditer" des répertoires sur votre disque dur, éditer des graphiques ASCII, ou l'utiliser comme calculatrice scientifique. Et si vous êtes friand de choses inhabituelles, vous pouvez consulter chacun des trois calendriers Mayas ou vérifier quelle sera la phase de la lune le jour de votre anniversaire dans 25 ans. Pour plus d'informations, consultez la documentation d'Emacs sur ce CD-ROM (see section 3. Documentation sur le CD-ROM).
TeX est un programme de mise en page libre, utilisé pour composer des livres aussi bien que d'autres types de documents. Par exemple, la version imprimée de ce livre est mise en page avec TeX.
TeX est aussi le formateur de textes standard dans le monde scientifique; tous les journaux scientifiques demandent que les papiers soumis pour publication soient écrits en TeX.
Ce CD-ROM inclut une implémentation complète de TeX portée pour MS-DOS. En collaboration avec Texinfo, le système de documentation de GNU, TeX met à portée de vos doigts un environnement de travail complet pour produire et mettre en page des documents formatés. Le package TeX inclut aussi des pilotes pour imprimer des documents mis en page sur des imprimantes personnelles, ou pour les visualiser sur votre écran.
bc
est un langage algébrique interactif avec une précision
arbitraire sur les nombres. GNU bc
vous fournit un
interpréteur pour ce langage et une calculatrice RPN (notation
polonaise inversée) appelée dc
.
Calc est une calculatrice extensible et puissante, ainsi qu'un outil mathématique écrit en Emacs Lisp et utilisé dans Emacs. Vous pouvez utiliser Calc simplement comme une calculatrice à quatre opérations, mais elle a beaucoup plus de fonctionnalités, y compris le choix entre notation algébrique ou polonaise inversée (basée sur une pile); fonctions trigonométriques et financières; précision arbitraire; nombres complexes; vecteurs; matrices; dates; heures; infinis; affectations; simplification algébrique; différentiation et intégration. Calc est parfois décrite comme le "Mathematica du pauvre".
Ispell est un programme de correction orthographique personnalisable. Vous pouvez facilement lui apprendre de nouveaux mots et construire des dictionnaires utilisateurs, ce qui est très utile lorsque vous avez besoin de passer d'un style d'écriture à un autre. Ispell peut à la fois vérifier l'orthographe de textes en Anglais et en Américain, ainsi que d'autres langues.
less
permet de consulter des fichiers textes, et est similaire
à more
et à pg
, mais il contient diverses fonctions
qui manquent à la plupart des visionneurs de texte. Par exemple,
less
peut faire défiler le texte en arrière ou
horizontalement ; marquer plusieurs endroits du texte et sauter d'une
marque à l'autre; consulter plusieurs fichiers ; formater les
caractères des pages man ; chercher des expressions régulières ;
exécuter des programmes et rediriger vers eux des parties du texte que
vous parcourez.
Pour les "utilisateurs d'élite", ce CD-ROM contient suffisamment d'utilitaires pour que votre système fasse des choses nouvelles qui prendraient des heures à faire manuellement.
Bash (Bourne Again SHell) est l'interpréteur de commandes de
GNU. Il est compatible avec sh
, et propose de nombreuses
extensions de ksh
et csh
. Si vous êtes habitué aux
environnements Unix, vous voudrez certainement faire de Bash votre
interpréteur de commandes par défaut; sinon, essayez-le quand
même: il est tellement plus puissant que les interpréteurs de
commandes de MS-DOS/MS-Windows que vous vous demanderez comment
vous avez pu vivre sans lui.
Un certain nombre d'utilitaires simples des packages Texte et Utilitaires Shell peuvent être combinés avec le langage gawk afin de satisfaire à un certain nombre de tâches telles que les tris arbitraires, la recherche, la génération de rapports et à peu près toutes les manipulations de texte que vous puissiez imaginer. Perl (Practical Extraction and Report Language), le langage de Larry Wall est aussi disponible. Ces programmes automatisent les tâches simples, surtout lorsqu'ils sont combinés dans un pipe (par lequel la sortie d'un programme sert d'entrée à un autre). Par exemple, si vous devez créer trente répertoires dont le nom est de la forme `disk-nombre', vous pouvez écrire la commande qui effectuera ce travail en une seule ligne en utilisant ces outils.
Si vous avez déjà oublié le chemin d'un fichier dans l'arborescence de
votre disque, vous apprécierez la puissance de la commande GNU
find
, qui vous permet de localiser des fichiers selon un certain
nombre de critères. Par exemple vous pouvez combiner la puissance de
find
avec grep
pour localiser tous les fichiers de votre
disque dur modifiés dans la semaine et contenant le mot "Emacs".
Nous vous conseillons d'aller jeter un oeil aux nombreux utilitaires de
fichiers, tels que ls
et rm
, du package Utilitaires
Fichiers. Les versions GNU de ces programmes sont plus facilement
personnalisables que leurs équivalents MS-DOS, et ont beaucoup
plus de fonctionnalités. Par exemple, ls
possède une option
pour imprimer chaque type différent de fichier dans une couleur
différente des autres, cp
peut créer des copies de sauvegarde
pour les fichiers qu'il écrase avec une version ultérieure, et
rm
peut détruire récursivement des arborescences de
répertoires.
Les packages Utilitaires Texte et Utilitaires Shell contiennent d'autres outils de base qui sont utiles avec Bash.
Pour vous aider à regagner de la place sur votre disque déjà
rempli, jetez un oeil sur gzip
. C'est l'utilitaire de
compression standard du projet GNU. Il est devenu le standard de fait
sur Internet. Il fonctionne avec des systèmes d'exploitation
différents, et compresse les fichiers aussi bien, si ce n'est mieux
que les autres programmes de compression généralistes de notre
connaissance.
sed
est un simple programme de manipulation de flux de texte. Il
est plus spécialement efficace pour éditer les très grands
fichiers (car il ne lit pas le fichier entier en mémoire), ou quand
les commandes d'édition sont trop compliquées pour être
utilisées de manière interactive. sed
est souvent utilisé
comme filtre dans les pipes, pour modifier ou supprimer certaines
parties de la sortie d'une commande avant de l'envoyer à une autre
commande.
Une grande partie des efforts du projet GNU initial était directement dirigée vers la production d'outils de développement de haute qualité.
DJGPP est un port MS-DOS de GCC, le compilateur C de GNU. C'est aussi un compilateur entièrement compatible ANSI C et C++. Il existe de plus un compilateur pour Objective-C. L'optimisateur de GCC a été écrit pour maximiser les performances sur de nombreux processeurs différents, y compris le 386; DJGPP est censé produire du code qui est généralement égal ou supérieur aux plus grands compilateurs commerciaux pour MS-DOS. La librairie C de DJGPP, écrite par DJ Delorie pour le projet DJGPP est hautement compatible ANSI et POSIX, et rend le portage de programmes vraiment simple. La librairie GNU de classes C++ est fournie pour encourager l'écriture de programmes C++.
Make est l'outil indispensable pour construire de grands projets. Le port MS-DOS/DJGPP de Make supporte les shells tels que Bash, les longues lignes de commande, les unités de disques dans les règles et dépendances, et beaucoup d'autres fonctionnalités qui vous permettent d'exécuter des Makefiles existants dans leur version originale, et de construire des Makefiles complexes pour vos projets.
Le CD-ROM contient aussi beaucoup d'autres outils de développement
qui sont des standards sur les systèmes Unix et GNU Unix, mais souvent
indisponibles sur les systèmes MS-DOS et MS-Windows. Ceci
inclut les Utilitaires Binaires (assembleur, lieur, profileur,
strip
), Flex (un générateur d'analyseurs syntaxiques), Bison
(un générateur de parseurs), les Utilitaires Diff (programmes pour
comparer des fichiers sources et des fichiers binaires), indent
(un programme pour rendre les fichiers sources plus beaux), patch
(un programme pour appliquer le résultat de diff
à des
fichiers sources et binaires), et d'autres. Combinés avec Bash, les
Utilitaires Fichier, les Utilitaires Texte et les Utilitaires Shell
mentionnés plus haut, ces outils créent un environnement de
développement puissant et cohérent.
Les ID utilities, une nouveauté récente des outils GNU, exécutent énormément de travaux de recherche de texte, comme chercher très rapidement les fichiers sources qui incluent un fichier donné (#include).
GDB est un debuggeur pour programmes en C et C++. Si vous programmez, vous commettrez des erreurs. GDB peut vous aider à les éliminer.
RCS (le système de contrôle de versions) enregistre les modifications dans les fichiers sources ou autres. En utilisant RCS, vous pouvez voir de quelle manière vos sources ont été modifiées au fur et à mesure du temps, ou fusionner les modifications de plusieurs personnes dans une seule version.
Groff est un système de formatage de texte pour les documents dont les sources sont écrites en langage Troff; il est la plupart du temps utilisé pour formater les pages man afin de les visualiser ou imprimer.
Et bien sûr, Emacs est l'éditeur ultime pour beaucoup de programmeurs, puisque la plupart de ses fonctionnalités ont été écrites par des programmeurs pour des tâches associées à la programmation.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Les programmes de ce CD-ROM sont répartis dans quelques répertoires principaux: `bin', `include', `lang', `share', `lib', `info', `gnu', `docs', `man', `zoneinfo', `ntemacs', `cygnus-ports', `src' et `utils'. Chaque répertoire contient différents types de programmes, packages et fichiers. Voici une brève description de ces principaux répertoires et de leur contenu, ainsi que de certains de leurs sous-répertoires les plus importants et leur contenu. (Les noms de certains des fichiers et répertoires seront tronqués par les limites de 8+3 caractères des systèmes MS-DOS).
Les programmes exécutables que vous pouvez lancer. Les programmes exécutés par d'autres programmes sont aussi contenus ici.
Les fichiers d'en-tête standards C (ou aussi fichiers include).
Fichiers d'en-tête spécifiques à d'autres langages que le C.
Fichiers d'en-tête C++. Beaucoup de fichiers C++ ne sont pas compatibles avec les en-têtes standard C, c'est pourquoi les deux groupes sont séparés.
Fichiers d'en-tête Objective C.
Fichiers de données supplémentaires. Ceux-ci sont utilisés par les programmes de `bin'. Certains fichiers et répertoires sont listés ci-dessous.
Les fichiers TeX et
METAFONT
, y compris les polices, les packages de macros, et fichiers au format
pré-dumpés [?]. Ils sont aussi utilisés par les drivers DVI comme
dvips
et dvilj4
.
Les packages de macros standards, les polices et drivers pour différentes sorties (comme le texte ASCII et le PostScript) utilisés par Groff.
La liste de mots par défaut qui sont ignorés par les programmes d'indexation par mots-clefs du package Groff.
La structure des langages et les analyseurs correspondants utilisés par ID-utils.
Polices et fichiers de configuration utilisés par le programme enscript
.
Bibliothèques pour lier des programmes, et les fichiers de configuration utilisés par Bison et GCC. Certains fichiers et sous-répertoires sont listés ci-dessous.
Les dictionnaires qu'Ispell utilise pour corriger l'orthographe. Ils ne sont pas dans un format lisible par les humains.
Base de données utilisée par locate
(des Utilitaires Find
GNU) pour localiser rapidement les fichiers sur ce CD-ROM.
La documentation au format Info, pour tous les programmes du CD qui ont des manuels Texinfo. Le format Info n'est pas disponible pour tous les programmes; consultez le 4. Liste des logiciels sur le CDROM, pour voir quels types de documentation sont disponibles pour les différents packages.
See section Comment utiliser info
, pour plus d'informations sur
l'accès à cette documentation.
La définition du fuseau horaire pour la librairie C (par exemple pour
déterminer quand le décalage horaire est utilisé sur les
différentes parties du globe). Vous devez positionner votre variable
d'environnement TZ
sur un fichier de ce répertoire dont le nom
est celui du pays dans lequel vous vivez.
Le plupart de la documentation formatée pour le CD-ROM: toute la
documentation des logiciels GNU est là, formatée en fichiers PCL,
HTML et PostScript (see section 3. Documentation sur le CD-ROM. Ce répertoire contient
aussi d'autres documentations formatées en texte ASCII, comme quelques
fichiers README généraux et des FAQs (listes de questions
fréquemment posées). (D'autres répertoires contenant de la
documentation en ligne sont `info' et `man', qui contiennent
respectivement des documentation de style Info et pages man
).
Pages man
formatées. Elles documentent certains programmes qui
n'ont pas encore de documentation Info. Vous pouvez parcourir ces pages
avec less
(ou n'importe quel programme qui peut afficher des
lettres en gras ou souligné), ou avec la commande M-x man dans
Emacs.
Les fichiers sources non formatés sont dans le répertoire source de chaque package.
Le répertoire parent des sources de chaque package GNU.
Le fichier exécutable `emacs.exe' et quelques programmes qu'Emacs appelle.
La librairie Emacs Lisp, qui contient le code source de la plus grande partie d'Emacs.
D'autres packages Emacs Lisp, distribués séparément d'Emacs. (Si vous montez le CD-ROM sous MS-DOS seul, ce répertoire est appelé `site-lis', en raison de la limitation de 8 caractères sur un nom de fichier).
Manuel en ligne pour Emacs et ses modes majeurs.
Fichiers d'information qu'Emacs utilise et quelques fichiers d'information d'intérêt général à propos de la Free Software Foundation.
Le code source des packages non-GNU sur ce CD-ROM. En particulier, les sources de la librairie C DJGPP et des outils écrits spécialement pour DJGPP sont dans ce répertoire.
Sources de la librairie C DJGPP
Utilitaires divers requis pour recompiler la librairie C DJGPP.
La version native Windows NT/9x de GNU Emacs.
La version native Windows NT/9x des ports de Bash, tar
et
d'autres logiciels GNU. Ces ports ont été faits en utilisant les
outils de développement Cygnus.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Ce chapitre est consacré à l'installation et à la prise en main des utilitaires présents sur ce CD-ROM. Il vous expliquera aussi comment résoudre certains problèmes courants. Nous allons étudier dans un premier temps deux procédures d'installation automatiques.
La procédure d'installation par copie de fichiers duplique sur votre disque dur tous les programmes et fichiers de données présents sur le CD-ROM afin que vous puissiez exécuter ceux-ci très rapidement sans être obligé de conserver votre CD-ROM dans le lecteur. Cette procédure n'est cependant compatible qu'avec les systèmes Windows 9X et Windows NT.
La procédure d'installation pour exécution directe depuis le CD permet de lancer les programmes GNU directement depuis le CD-ROM et est compatible avec tous types de plate-forme, y compris MS-DOS et MS-Windows 3.X. Elle n'exige pas d'espace disque mais vous oblige à conserver votre CD-ROM dans le lecteur chaque fois que vous désirez lancer un programme GNU.
La section intitulée "Installation sur le disque dur" vous indique comment procéder si vous désirez copier certains programmes sur votre disque dur et accéder aux autres à partir du CD-ROM. La plupart des programmes sont relativement volumineux, et leur exécution à partir du CD-ROM permet dans ce cas d'économiser de l'espace disque. L'un des programmes les plus volumineux, Emacs, peut prendre jusqu'à 50 Mo en cas d'installation complète. Cependant, si vous désirez avoir un accès immédiat à un programme ou si vous devez recompiler un programme, celui-ci devra obligatoirement être présent sur votre disque dur.
La section suivante, intitulée, "Installation manuelle" vous intéressera si vous souhaitez garder une parfaite maîtrise de la configuration de votre système ou si celui-ci n'accepte pas l'installation automatique.
Vous trouverez ensuite la section concernant l'installation de NTEmacs et des ports Cygnus des autres logiciels GNU pour Windows (l'installation par copie de fichiers sous Windows 9X/NT prend en charge NTEmacs, les ports Cygnus restant expérimentaux et n'étant installés par aucune des procédures automatiques).
Le chapitre se termine par des sections concernant la compilation des logiciels à partir du code source et la localisation des défaillances les plus courantes.
Si vous hésitez quant à la procédure d'installation à utiliser, lisez les premiers paragraphes des sections suivantes : "Installation par copie de fichiers" "Installation pour exécution directe depuis le CD" "Installation sur le disque dur" et "Installation manuelle" qui vous apporteront les éléments nécessaires pour guider votre choix.
Installation par copie de fichiers Installation Windows par copie des fichiers sur votre disque dur. Installation pour exécution directe depuis le CD Configuration des programmes pour exécution depuis le CD-ROM. Installation automatique Installation de certains fichiers sur votre disque dur Installation de certains programmes sur votre disque dur. Installation manuelle Programmes Windows Comment configurer les ports Windows NT/9X natifs des logiciels GNU. Comment compiler un logiciel à partir de son code source cette section vous permettra de reconstruire un logiciel. Localisation des erreurs résolution des problèmes rencontrés.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
La procédure d'installation par copie de fichiers copie sur votre disque dur tous les programmes et fichiers de données présents sur le CD-ROM afin que vous puissiez exécuter ceux-ci très rapidement sans être obligé de conserver votre CD-ROM dans le lecteur. Cette procédure n'est cependant compatible qu'avec les systèmes MS-Windows 9X et MS-Windows NT. Si votre machine utilise MS-Windows 3.X, MS-DOS, ou tout autre système d'exploitation, reportez-vous à la rubrique Installation pour exécution directe depuis le CD ou faites appel à la procédure d'installation manuelle de certains programmes sur votre disque dur, Installation de certains fichiers sur votre disque dur.
Les phases de la procédure d'installation par copie de fichiers sont les suivantes :
Avant de commencer attendez que le voyant du lecteur de CD s'éteigne.
|
A partir de ce moment, une icône de raccourci appelée `README' s'affiche sur le bureau de MS-Windows 95/NT. Nous vous conseillons de cliquer deux fois dessus et de lire attentivement les indications relatives à l'installation et à l'utilisation qui s'affichent.
Vous êtes maintenant prêt à lancer les programmes GNU copiés depuis le CD-ROM.
A l'intention des utilisateurs de Windows 9X, `install.exe' crée
un raccourci appelé `Command Prompt', configuré pour ouvrir
l'interpréteur de commandes standard `COMMAND.COM', qui s'occupe
de définir toutes les variables d'environnement et crée également
le répertoire des programmes GNU d'après la variable de
PATH
. Cette invite de commande spéciale est le moyen le plus
pratique pour exécuter les logiciels GNU sous Windows 9X, et nous vous
conseillons vivement de toujours les lancer de cette manière étant
donné que cela vous évite de modifier `AUTOEXEC.BAT'.
Si vous souhaitez lancer vos logiciels GNU à l'aide d'un interpréteur de commandes dans une fenêtre DOS de Windows 9X, vous devrez pour cela éditer le fichier `AUTOEXEC.BAT' et y insérer un appel du fichier `x:\fsf\w95fsfini.bat' (où x est la lettre du lecteur que vous avez sélectionné lorsque vous avez lancé `install.exe').
Les utilisateurs de Windows NT peuvent lancer leurs programmes GNU depuis une fenêtre DOS sans avoir à modifier `AUTOEXEC.BAT'. Ainsi, `install.exe' ne crée pas le raccourci `Command Prompt' sous Windows NT.
Si vous souhaitez installer d'autres ports Windows natifs des programmes GNU comme Bash ou Tar, reportez-vous à la partie Installation des ports Cygnus des logiciels GNU. Ces ports Cygnus ne sont pas installés par défaut, car ils ne sont pas aussi évolués que les ports de DJGPP et de NTEmacs.
L'ensemble des sources de `install.exe', ainsi que les fichiers auxiliaires utilisés pour sa création sont disponibles dans le répertoire racine du CD-ROM. Remarquez au passage que pour reconstruire `install.exe', vous devrez avoir recours à un compilateur capable de produire des applications Windows natives. DJGPP, le compilateur présent sur le CD- ROM, n'est pas capable d'effectuer cette opération.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
La procédure d'installation pour exécution directe depuis le CD configure votre système de façon à exécuter les programmes directement à partir du CD-ROM. L'avantage de ce système est que vous n'avez pas besoin d'espace disque, mais vous devez placer votre CD-ROM dans le lecteur chaque fois que vous voulez lancer un programme GNU. Cette procédure accepte toutes les plates-formes supportées, y compris MS-DOS et MS-Windows 3.X.
La procédure d'installation n'est cependant pas entièrement automatique. Sur la plupart des systèmes d'exploitation supportés, l'installation des logiciels n'est possible qu'après avoir modifié les fichiers de configuration du système, `CONFIG.SYS' et `AUTOEXEC.BAT'. Dans la plupart des cas, la procédure d'installation automatique effectue une modification automatique de ces fichiers, mais les utilisateurs sont souvent mécontents des résultats obtenus.
Le CD-ROM GNU s'adresse à des utilisateurs et des développeurs PC sérieux, et nous pensons que la plupart d'entre vous ne souhaitent pas que la procédure d'installation vienne altérer la configuration de votre système. C'est pourquoi nous avons fait en sorte que cette procédure d'installation ne modifie pas automatiquement les fichiers concernés. Au lieu de cela, elle crée un fichier batch qui prend toutes les dispositions nécessaires pour assurer l'exécution des logiciels GNU depuis le CD-ROM. Vous pouvez ouvrir ce fichier batch depuis `AUTOEXEC.BAT' ou manuellement. Dans certains cas peu courants, vous devrez effectuer deux petits changements mineurs dans votre fichier `CONFIG.SYS' en suivant les instructions du programme d'installation.
Nous espérons que ces dispositions contribueront effectivement à simplifier et à fiabiliser l'installation des logiciels GNU. Si vous estimez que tel n'est pas le cas, envoyez nous une description d'erreur concernant la procédure d'installation. See section Comment décrire les erreurs.
Habituellement, MS-DOS traite indifféremment les majuscules et les minuscules, alors que Windows 9X et Windows NT tiennent compte de la distinction entre majuscules et minuscules dans les noms de fichiers. De la même manière, les instructions suivantes ne tiennent pas compte des majuscules pour tout ce qui touche à l'installation sous MS-DOS/Windows 3.X. Pour l'installation sous Windows 9X/NT, en revanche, nous vous demandons de respecter scrupuleusement les majuscules et les minuscules dans les noms de fichiers, comme dans les exemples ci-dessous.
Dans les instructions suivantes, nous considérerons que votre CD-ROM est installé sur le lecteur `F:'. Si ce n'est pas le cas, remplacez chaque fois `F' par la lettre correspondant effectivement à votre lecteur de CD-ROM.
Cette procédure d'installation automatique a été testée sous MS-DOS et Windows 3.X, ainsi que sous Windows 95 (la procédure d'installation par copie de fichiers est cependant nettement préférable dans ce cas). Vous pouvez, si vous le souhaitez, la tester sous d'autres systèmes d'exploitation, mais nous ne garantissons pas qu'elle se déroule exactement dans les conditions décrites ci-dessous. En cas d'échec, reportez-vous à la partie Installation manuelle.
Les phases de l'installation automatique pour exécution directe depuis le CD-ROM sont les suivantes :
Avant de commencer, attendez que le voyant du lecteur de CD s'éteigne.
Pour ce faire, saisissez à l'invite la lettre correspondant à votre lecteur de CD-ROM suivie de `:' de la manière suivante : F: RET.
La procédure d'installation automatique va maintenant procéder à l'examen de la configuration de votre système, à la création d'un fichier batch appelé `fsfcdini.bat' dans le répertoire `\fsf' de votre disque dur, et vous demander d'introduire un appel à ce fichier batch dans `AUTOEXEC.BAT' (peut-être aussi de modifier quelques lignes dans le fichier `CONFIG.SYS'). Le message contenant ces informations est également sauvegardé dans un fichier appelé `fsfcdini.txt' qui se trouve au même emplacement que le fichier batch afin que vous puissiez consulter ces instructions ultérieurement.
Il vous suffira généralement d'introduire un appel au fichier pour le fichier `fsfcdini.bat' vers la fin du fichier `AUTOEXEC.BAT', comme le montre l'exemple ci-dessous :
call c:\fsf\fsfcdini.bat F: |
Si `AUTOEXEC.BAT' définit plusieurs configurations, veillez à bien ajouter un appel de fichier pour le fichier `fsfcdini.bat' pour toutes les configurations appelées à exécuter les programmes du CD-ROM. Vous pouvez aussi créer une configuration à part destinée exclusivement à l'utilisation des logiciels présents sur le CD-ROM, auquel cas vous devrez ajouter l'appel de fichier pour le fichier `fsfcdini.bat' uniquement dans ce fichier de configuration.
La modification du fichier `AUTOEXEC.BAT' afin d'appeler
`fsfcdini.bat' au moment de l'initialisation du système est
recommandée si vous avez l'intention de laisser le CD-ROM en
permanence dans le lecteur. Dans le cas contraire, il est préférable
d'exécuter `fsfcdini.bat' depuis la ligne de commande avant
d'utiliser les programmes du CD, et d'exécuter `fsfcdout.bat'
juste avant de retirer le CD du lecteur. `fsfcdout.bat' est
créé automatiquement lors de l'exécution de
`fsfcdini.bat'. L'exécution de `fsfcdout.bat' restaure la
valeur de PATH
telle qu'elle était avant que
`fsfcdini.bat' ne la modifie. L'opération supprime les
répertoires du CD-ROM dans le PATH
, de façon à ce que
DOS/Windows ne tentent pas d'accéder à des répertoires qui
n'existent plus.
Vous avez aussi la possibilité de supprimer manuellement les
répertoires du CD-ROM dans le PATH
. Si votre système
possède un PATH
dont la longueur dépasse 94 caractères,
vous serez obligé d'effectuer cette opération manuellement, car la
limite de taille des lignes dans les commandes DOS empêchera
`fsfcdout.bat' d'effectuer une restauration satisfaisante.
Attention : si plusieurs lecteurs de CD-ROM sont installés sur votre système, vous devrez soit placer le CD-ROM de la FSF dans le même lecteur que celui que vous avez utilisé pour la procédure d'installation, soit appeler `fsfcdini.bat' en utilisant une lettre de lecteur différente chaque fois que vous changez de lecteur.
Le système peut, dans certains cas, vous demander d'élargir la taille de votre environnement. Pour ce faire, vous devez éditer la ligne `SHELL=' de votre fichier `CONFIG.SYS'. Pour plus de détails sur cette question, reportez-vous à la partie Localisation des erreurs.
Vous êtes maintenant certain que la nouvelle configuration est bien prise en compte.
Vous êtes maintenant prêt à lancer les programmes directement depuis le CD- ROM.
Certains programmes présents sur le CD peuvent demander une
configuration supplémentaire après installation depuis le
CD-ROM, ceci afin de personnaliser leurs fonctions. Ainsi, si vous
voulez personnaliser Emacs, vous devrez créer un fichier d'initialisation
`_emacs' sur votre disque dur et fixer la variable d'environnement
HOME
au répertoire dans lequel se trouve ce fichier. La
documentation en ligne (see section 3. Documentation sur le CD-ROM) de chacun des programmes
propose un descriptif détaillé de ces procédures de configuration.
Si vous décidez d'installer le CD-ROM sous Windows 9X/NT, vous pouvez utiliser la version Windows native de GNU Emacs (également désignée sous le terme de NTEmacs). NTEmacs exige une configuration supplémentaire dont les détails se trouvent dans Installation de NTEmacs et que `setup.bat' ne peut pas réaliser, de sorte que vous devrez la réaliser vous-même.
Pour toute difficulté rencontrée pendant l'installation, reportez-vous à la partie Localisation des erreurs ci-dessous. Le descriptif détaillé de la procédure d'installation que vous trouverez ci-dessous peut également vous aider à identifier la cause de votre problème, et par là même à le résoudre.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Vous trouverez ici toutes les informations relatives à la procédure d'installation pour exécution directe depuis le CD. Une bonne compréhension des modalités d'installation vous permettra de remédier correctement à tous les problèmes qui peuvent survenir pendant son déroulement. DJGPP vous permettra également de recompiler le programme d'installation, puisque vous possédez son code source dans son intégralité (fichier `fsfcdset.c' dans le répertoire racine du CD-ROM). Sachez néanmoins que certaines opérations de l'installation manuelle devront être effectuées avant de pouvoir recompiler le programme d'installation (à moins qu'une version antérieure de DJGPP ne soit déjà installée sur votre machine).
La procédure d'installation pour exécution directe depuis le CD fait appel au fichier batch `setup.bat' et au programme `fsfcdset.exe' appelé par ce fichier batch.
Voici une présentation pas à pas de `setup.bat'.
La configuration du CD-ROM consiste en partie à ajouter ses
sous-répertoires `\bin' et `\gnu\emacs\bin' au PATH
(see section Organisation du CD-ROM). Il faut également définir la
variable d'environnement DJGPP
et pointer la variable
TEXMFLS_R
vers un répertoire inscriptible, faute de quoi les
pilotes TeX et DVI ne sauront pas créer les police manquantes et
les autres fichiers. Pour ce faire, vous devez disposer de l'espace
nécessaire aux variables et aux valeurs supplémentaires dans votre
environnement.
Les variables supplémentaires ont une longueur de 72 caractères, de sorte que la procédure d'installation vérifie si l'ajout d'une chaîne de 72 caractères à votre environnement fera l'affaire. Si ce n'est pas le cas, elle vous demandera d'agrandir votre environnement en modifiant le fichier de configuration `CONFIG.SYS' et en changeant l'option `/E:' de la ligne `SHELL='. Pour plus d'informations sur les modalités d'agrandissement de l'environnement, reportez-vous à la partie Localisation des erreurs.
Comme il n'existe pas de méthode simple pour accéder à l'environnement principal de DOS depuis un programme en cours d'exécution, le fichier batch `setup.bat' intègre une variable de 72 caractères à l'environnement et transmet le nom de cette variable ainsi que sa valeur estimée au programme `fsfcdset.c'. Le programme vérifie alors que la valeur de la variable correspond bien exactement à l'estimation. Si ce n'est pas le cas, il calcule alors le nombre d'octets à ajouter à la taille de l'environnement en faisant le compte des caractères tronqués dans la variable d'environnement définie par `setup.bat'. Le résultat de cette opération est affiché avec les instructions finales (voir ci-dessous).
Pour générer le chemin complet des répertoires `\bin' et
`\gnu\emacs\bin' du CD qui doivent être ajoutés au PATH
(de façon à pouvoir exécuter les programmes depuis n'importe
quel répertoire), il faut connaître la lettre du lecteur de
CD-ROM. Le programme d'installation détermine la lettre du lecteur
de CD-ROM en analysant son propre nom de fichier, tel que le
système d'exploitation le lui a fourni.
Cette opération est effectuée par la fonction
get_drive_letter
présente dans le fichier source
`fsfcdset.c' (qui se trouve dans le répertoire racine du CD).
L'unité d'initialisation correspond au lecteur sur lequel les fichiers système MS-DOS sont lus au moment du démarrage de la machine (appelée également "bootstrap"). La procédure d'installation crée le fichier batch d'initialisation depuis le CD-ROM, `fsfcdini.bat', dans le répertoire `\fsf' de l'unité d'initialisation. Elle doit donc identifier le lecteur qui fait office d'unité d'initialisation.
Pour réaliser ce test, la fonction get_boot_drive
du fichier
`fsfcdset.c' appelle une fonction DOS qui lui renvoie cette
information. Si la fonction DOS renvoie un message d'erreur, la valeur
par défaut du fsfcdset
est alors le lecteur `C:'.
Si le test échoue et obtient un message d'erreur, ou s'il choisit un lecteur inaccessible aux programmes, vous pouvez appeler de nouveau `setup.bat' en utilisant la bonne lettre de lecteur, comme le montre l'exemple ci-dessous :
setup d: |
Lorsqu'il est appelé selon ce mode, le programme ne procède pas à la détection de l'unité d'initialisation.
Une fois que la procédure d'installation a fixé automatiquement la lettre à utiliser pour l'unité d'initialisation, elle vérifie l'information en recherchant les fichiers `IO.SYS', `MSDOS.SYS', `IBMBIO.COM', `IBMDOS.COM', `CONFIG.SYS', et `AUTOEXEC.BAT' dans le répertoire racine de ce lecteur. Si elle ne trouve pas au moins deux de ces fichiers, elle affiche un message vous demandant de vérifier que le lecteur sélectionné est bien le bon. S'il y a effectivement une erreur à ce niveau, exécutez de nouveau `setup.bat' et désignez explicitement la lettre du lecteur à utiliser (voir ci-dessus).
Un serveur DPMI contenant des erreurs peut faire échouer la procédure d'installation si le lecteur auquel il tente d'accéder n'existe pas ou est inaccessible (un lecteur de CD vide par exemple). Dans ce cas, exécutez de nouveau `setup.bat', en désignant correctement la lettre de l'unité d'initialisation afin d'éviter un nouveau plantage.
Etant donné que les répertoires racines de DOS sont limités dans le nombre de fichiers qu'ils peuvent contenir, nous avons choisi de créer un répertoire parent unique, `\fsf', dans le répertoire racine de l'unité d'initialisation, et d'y copier les fichiers `fsfcdini.bat' et `fsfcdini.txt'.
A cela s'ajoute le répertoire `share\texmf' qui est créé à l'intérieur de `\fsf'. TeX et d'autres programmes de ce type l'utilisent pour stocker les fichiers qu'ils créent (des fichiers de polices par exemple).
Cette étape de l'installation est assurée par la fonction
make_dirs
du fichier `fsfcdset.c'.
Un fichier batch appelé `fsfcdini.bat' est créé dans le répertoire `\fsf' de l'unité d'initialisation. Si un fichier portant ce nom existe déjà, il sera renommé `fsfcdini.nnn', où nnn est un nombre.
C'est la fonction make_init_file
du fichier `fsfcdset.c' qui
se charge de cette opération.
Le programme d'installation crée un fichier appelé `fsfcdini.txt' dans le même répertoire que celui où se trouve `fsfcdini.bat'. Ce fichier contient des instructions relatives à l'édition de la configuration de votre système pour exécuter des programmes FSF directement depuis votre CD-ROM. Une fois créé, ce fichier est affiché à l'écran. Le fichier reste dans le répertoire `\fsf' où vous êtes certain de le retrouver par la suite.
C'est la fonction write_instructions
du fichier `fsfcdset.c' qui se charge de cette
opération.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Cette partie traite de la méthode consistant à copier une partie ou la totalité des logiciels du CD-ROM sur votre disque.
Si vous disposez de suffisamment d'espace disque, nous vous conseillons de copier les répertoires `\bin', `\gnu\emacs', `\share' et `\zoneinfo' sur votre disque dur et de laisser les autres sur le CD-ROM. Si vous avez l'intention de faire du développement de logiciels en utilisant des outils de DJGPP, copiez également les répertoires `\include', `\lib' et `\lang'. (Les personnes utilisant NTEmacs doivent aussi prévoir de copier le répertoire `\ntemacs'.) Une fois ces opérations effectuées, vous n'aurez plus besoin de laisser votre CD dans le lecteur, sauf si vous souhaitez consulter le code source des programmes ou la documentation en ligne. Pour accéder à la documentation sans devoir accéder au CD, copiez également les répertoires `\info' et `\man' sur votre disque local.
Pour copier le contenu entier du CD-ROM sur votre disque dur, utilisez une commande capable de copier les répertoires de façon récurrente. Exemple :
cp -pr f:\ . |
(cp
fait partie des Utilitaires Fichier GNU qui se trouvent sur
ce CD-ROM).
Vous pouvez aussi utiliser le programme DOS classique xcopy
comme
le montre l'exemple ci-dessous :
xcopy f:\*.* . /s /e |
Attention : les programmes DOS de base ne savent pas traiter les slash utilisés sous Unix, tandis que les programmes présents sur ce CD-ROM savent traiter les slash aussi bien que les antislash.
Pour configurer les programmes en vue de l'exécution depuis votre disque dur après avoir copié le contenu entier du CD-ROM, il vous suffit d'exécuter `setup.bat' que vous venez de copier du CD. Voici la commande à utiliser, si l'on considère que vous avez copié le contenu du CD-ROM dans un répertoire appelé `d:\cdrom' :
d:\cdrom\setup |
Vous avez la possibilité de copier certains logiciels, voire des éléments de ces logiciels, et d'exécuter d'autres programmes depuis le CD-ROM. Les raisons qu'il peut y avoir à copier certains logiciels sont les suivantes :
Dans ce genre de cas, les programmes copiés sur votre disque peuvent exiger une configuration particulière car certains d'entre eux doivent être en mesure de trouver leurs fichiers annexes ou exigent le paramétrage de variables d'environnement pour pouvoir fonctionner correctement. Groff et TeX par exemple, doivent rechercher leurs fichiers de polices et leurs fichiers de conversion pour générer des sorties cohérentes. En cas d'exécution depuis le CD-ROM, le fichier `DJGPP.ENV' qui se trouve dans le répertoire racine du CD-ROM et le fichier batch `fsfcdini.bat' créé par la procédure d'installation assurent cette configuration. De la même manière, lorsque vous installez les programmes sur votre disque local à l'aide de `install.exe', ce sont le fichier `DJGPP.ENV' et le fichier batch `w95fsfini.bat', créés par `install.exe' dans le répertoire `\fsf' du lecteur que vous avez choisi pendant l'installation, qui assurent la configuration. En revanche, si vous décidez de copier manuellement des éléments présents sur le CD à un autre emplacement, vous devrez modifier certains de ces paramètres.
Voici comment procéder :
cp f:\djgpp.env d:\gnu |
`DJGPP.ENV' est divisé en autant de sections qu'il y a de
programmes. Chaque section débute par une chaîne dont la structure
est [programme]
(où le nom du programme figure entre
crochets), et se poursuit par une ligne du type
var=value
qui configure les variables d'environnement
propres à ce programme. Voici par exemple comment se présente la
section du logiciel Groff :
[groff] +GROFF_TMAC_PATH=.;%DJDIR%\share\groff\tmac +GROFF_TYPESETTER=ascii +GROFF_FONT_PATH=.;%DJDIR%\share\groff\font |
%DJDIR%
est le répertoire dans lequel se trouve
`DJGPP.ENV' ; il est déduit automatiquement par le code qui lit
le fichier `DJGPP.ENV' grâce à la valeur de la variable
d'environnement DJGPP
. Ces entrées définissent donc les
répertoires dans lesquels Groff devra rechercher ses macros et ses
polices. Si ces paramètres ne sont pas accessibles, Groff utilise les
paramètres par défaut préalablement définis et qui ne
fonctionneront pas sur la plupart des systèmes
MS-DOS/MS-Windows car ils ne respectent pas l'arborescence
standard.
See section `Syntax de DJGPP.ENV' in The DJGPP Knowledge Base, pour connaître les détails de la structure de `DJGPP.ENV'.
Si les programmes que vous copiez ne possèdent pas leurs propres entrées, vous pouvez passer directement au point suivant. Dans le cas contraire, vous devrez éditer `DJGPP.ENV' afin de modifier certaines entrées dans la section correspondant au programme. Le détail des modifications à apporter dépend du programme lui-même et de la partie du programme que vous avez copiée ; pour connaître les caractéristiques propres à votre programme, reportez-vous à la documentation en ligne (see section 3. Documentation sur le CD-ROM). Par exemple, si vous souhaitez installer des polices supplémentaires pour Groff, vous devrez modifier la section qui le concerne afin d'obtenir le résultat suivant :
[groff] +GROFF_TMAC_PATH=.;F:\share\groff\tmac +GROFF_TYPESETTER=ascii +GROFF_FONT_PATH=.;%DJDIR%\share\groff\font;F:\share\groff\font |
Puisque %DJDIR%
se trouve désormais sous `D:\gnu', les
répertoires du CD-ROM portent maintenant une lettre de
lecteur. Notez également que le répertoire "font" qui se trouve dans
le répertoire `D:\gnu' figure avant le répertoire du
CD-ROM, car c'est logiquement dans ce répertoire que vous
souhaitez que Groff commence sa recherche.
DJGPP
afin d'indiquer le nouvel emplacement de `DJGPP.ENV'. Dans
l'exemple ci-dessus, vous devrez veiller à ce que le fichier
`fsfcdini.bat' contienne bien cette ligne :
SET DJGPP=D:\gnu\djgpp.env |
Il n'est pas nécessaire de copier le logiciel entier, mais uniquement
les parties qui doivent être mises à jour. Ainsi, vous pouvez
parfaitement laisser `groff.exe' dans `F:\bin' si vous ne
souhaitez pas ajouter des polices qu'il ne supporte pas, comme le montre
l'exemple ci-dessus. Dans la plupart des cas, la seule chose que vous
aurez à faire sera de créer les répertoires sur votre disque dur,
de les ajouter aux valeurs déclarées dans les variables
d'environnement correspondantes, et de copier les nouveaux fichiers ou
les fichiers mis à jour dans ces répertoires, puisque la syntaxe
supportée par la plupart des programmes permet de déclarer des
listes de répertoires séparés par un simple `;', comme c'est
la cas pour PATH
.
PATH
. Si vous avez copié
des exécutables dans le sous-répertoire `bin', vous devez les
déclarer dans la variable PATH
. Le répertoire `bin' du
disque dur doit se trouver avant le répertoire `\bin' du
CD-ROM. Exemple :
SET PATH=D:\gnu\bin;F:\gnu\emacs\bin;F:\bin;%PATH% |
Si vous avez déjà lancé la procédure d'installation, celle-ci a
créé le fichier batch `fsfcdini.bat' qui configure le
PATH
; vous devez donc éditer `fsfcdini.bat' afin de
modifier ces paramètres, comme dans l'exemple ci-dessus.
Au moment de retirer le CD-ROM du lecteur, vous devez modifier la
variable PATH
pour que celle-ci ne fasse plus référence à
des répertoires du CD. Dans le cas contraire, vous risquez de recevoir
des messages d'erreur de DOS/Windows lorsque vous appelez des
programmes. See section Removing the CD-ROM.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Avant de lancer l'installation manuelle, vous devez vous assurer que les conditions suivantes sont bien remplies :
La taille de votre environnement doit être suffisante pour permettre l'ajout des répertoires du
CD-ROM au PATH
(voir ci-dessous). Assurez-vous que votre environnement
dispose d'au moins 72 octets de libres. Si tel n'est pas le cas, éditez votre fichier
`CONFIG.SYS' et augmentez la valeur du paramètre `/E:' de la ligne
`SHELL='. La valeur `/E:2048' est généralement suffisante. Si la valeur
déclarée dans `CONFIG.SYS' est déjà supérieure à ce nombre, vous pouvez ajouter 100 à
la valeur courante.
Voici un exemple du contenu de cette ligne :
SHELL=C:\DOS\COMMAND.COM C:\DOS /E:2048 /P |
PATH
.
La variable PATH
indique à MS-DOS l'emplacement sur lequel
il doit rechercher les programmes qui ne se trouvent pas dans le
répertoire de travail courant (sous MS-DOS, le répertoire
courant est toujours considéré implicitement comme faisant partie du
PATH
). Ainsi, lorsque vous tapez emacs à l'invite de
commande, et que l'exécutable de Emacs ne se trouve pas dans le
répertoire de travail courant, MS-DOS le recherche dans les
répertoires qui figurent dans la variable PATH
.
La configuration du PATH
a lieu généralement dans le fichier
`AUTOEXEC.BAT'. Vous pouvez soit éditer ce fichier et modifier la
ligne qui commence par `PATH=', soit créer un nouveau fichier
batch dont le PATH
est différent et insérer un appel à ce
fichier vers la fin de votre `AUTOEXEC.BAT'. Si vous utilisez la
fonction de multi-configuration de MS-DOS 6 et versions suivantes,
n'oubliez pas de modifier le PATH
ou bien appelez votre script de
configuration dans tous les cas où vous serez appelé à exécuter
des programmes depuis le CD-ROM.
Voici un exemple de ligne de PATH
sur laquelle les répertoires
du CD-ROM ont été ajoutés :
set PATH=F:\gnu\emacs\bin;F:\bin;%PATH% |
Dans cet exemple, le lecteur de CD-ROM est installé sur le lecteur `F:'. Remarquez
là encore que le répertoire du CD-ROM se trouve au début de la ligne de PATH
,
de sorte que les programmes du CD seront détectés avant les autres programmes
installés sur votre système. Si vous souhaitez donner la priorité à de nouvelles versions de
logiciels sur les programmes du CD-ROM, vous avez la possibilité de faire figurer
`F:\bin' après le répertoire dans lequel vous avez installé les nouvelles versions.
Exemple :
set PATH=F:\gnu\emacs\bin;D:\newfsf\bin;F:\bin;%PATH% |
See section Installation de certains fichiers sur votre disque dur, si vous souhaitez exécuter différentes versions des programmes FSF depuis votre disque dur mais aussi depuis le CD-ROM.
Si jamais vous devez travailler sans que le CD-ROM soit présent
dans le lecteur, n'oubliez pas de supprimer les répertoires du
CD-ROM du PATH
, faute de quoi le système d'exploitation
vous enverra des messages d'erreur lorsque vous tenterez de lancer des
programmes. See section Removing the CD-ROM.
DJGPP
est bien configurée.
La configuration de la variable d'environnement DJGPP
est indispensable
pour que celle-ci puisse fournir correctement l'emplacement des fichiers de configuration et des
bibliothèques aux programmes. Cette variable doit être configurée dans le fichier
`AUTOEXEC.BAT' (ou dans tout autre fichier batch que celui-ci est susceptible
d'appeler) comme l'indique l'exemple suivant :
set DJGPP=F:\DJGPP.ENV |
Dans cet exemple, le lecteur de CD-ROM est installé sur le lecteur `F:'. Le code de démarrage de tous les programmes (à l'exception des applications Windows natives telles que NTEmacs) tiendront compte de cette variable et traiteront les parties concernées du fichier `DJGPP.ENV' de façon à ce que les variables d'environnement supplémentaires exigées par les divers programmes soient correctement paramétrées. `DJGPP.ENV' est un fichier texte que vous pouvez consulter pour savoir quelles sont les variables qui sont configurées pour les divers programmes.
See section `Syntaxe de DJGPP.ENV' in The DJGPP Knowledge Base, pour connaître les détails de la structure de `DJGPP.ENV'.
Si vous souhaitez exécuter différentes versions des programmes GNU depuis votre disque dur et depuis votre CD-ROM, vous devrez préalablement copier le fichier `DJGPP.ENV' sur votre disque dur et l'éditer. See section Installation de certains fichiers sur votre disque dur.
TEXMFLS_R
est bien configurée.
Cette variable doit pointer sur un répertoire inscriptible dans lequel
les pilotes DVI et les autres programmes liés à TeX puissent
copier leurs polices ainsi que les autres fichiers qu'ils génèrent
(le fichier `DJGPP.ENV' qui se trouve sur le CD-ROM ajoute
automatiquement la valeur de TEXMFLS_R
aux variables
d'environnement TEXMF
et TEXMFDBS
qui sont utilisées par
les programmes associés à TeX). Vous devez créer un
répertoire sur l'un de vos disques durs et pointer cette variable sur
le chemin exact de ce répertoire (y compris la lettre du lecteur).
Par exemple, exécutez cette commande :
mkdir d:\gnu\share\texmf |
puis ajoutez cette ligne à `AUTOEXEC.BAT' :
set TEXMFLS_R=d:\gnu\share\texmf |
Pour utiliser NTEmacs, vous devez le configurer comme l'indique la partie Installer NTEmacs.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
NTEmacs ainsi que les ports Cygnus des utilitaires GNU qui se trouvent sur ce CD- ROM sont des applications Windows 9X/NT natives et doivent donc être configurées différemment. Cette section présente l'installation et la configuration des ports des logiciels GNU (y compris Bash) compilés par NTEmacs et Cygnus sous Windows 9X et Windows NT.
N.B. Les extensions Win32s
pour MS-Windows 3.X ne
permettent pas d'utiliser ces ports sous MS-Windows 3.X,
ceux-ci ne fonctionnant que sous MS-Windows NT et
MS-Windows 9X.
Installation de NTEmacs Méthode d'installation de NTEmacs sur votre système. Le fichier d'initialisation `.emacs' sous Windows NT Comment Emacs recherche votre fichier .emacs sous Windows 95/NT. Installation des ports Cygnus des logiciels GNU Comment installer les versions NT des programmes GNU tar
etbash
.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Le moyen le plus simple pour installer NTEmacs sur votre système est d'utiliser la procédure d'installation automatique par copie de fichiers qui se chargera automatiquement de cette tâche.
Dans le cas contraire, vous devrez utiliser le programme addpm
qui crée des entrées dans la base de registres de votre
système. Lorsque vous exécutez Emacs, celui-ci utilise ces entrées
de registre afin de déterminer l'endroit où il a été installé
et de retrouver ses fichiers de configuration ou de données. Le
programme addpm
est livré avec Emacs et se trouve dans le
sous-répertoire `bin'du répertoire principal de NTEmacs.
Si vous souhaitez appeler NTEmacs depuis le CD-ROM, sachez que
addpm
se trouve dans le répertoire `\ntemacs\bin' du CD. Si votre
CD-ROM se trouve dans le lecteur `F:', vous devez utiliser la commande
suivante avec pour seul argument le nom du répertoire dans lequel se trouve NTEmacs
pour appeler addpm
:
f:\ntemacs\bin\addpm f:\ntemacs |
Si en revanche, vous avez copié NTEmacs sur votre disque dur local
(see section Installation de certains fichiers sur votre disque dur), par exemple dans le répertoire
`c:\gnu\emacs', vous devez entrer la commande suivante pour appeler
addpm
:
start c:\emacs\bin\addpm c:\gnu\emacs |
Pendant son exécution, addpm
crée une série d'entrées
dans la base de registres de Windows. addpm
tente d'abord de
créer ces entrées sous la clé
HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs
. Si vous n'avez pas la
permission de modifier HKEY_LOCAL_MACHINE
, addpm
crée
alors les entrées sous la clé
HKEY_CURRENT_USER\SOFTWARE\GNU\Emacs
. Pour visualiser les
entrées créées par addpm
, utilisez le programme
Editeur de registres (regedit) de Windows livré avec
Windows 95 et NT. Le nom de l'éditeur de registre est regedt32
sous MS-Windows NT et regedit
sous MS-Windows 9X.
En plus de la création des entrées de registre, addpm
attribue un répertoire accompagné d'une icône à l'exécutable
de NTEmacs. Si vous travaillez sous MS-Window NT 4.0 ou sous
MS-Windows 9X, addpm
créera également une commande de
menu appelée "Emacs" qui est accessible via le bouton
Démarrer
dans le menu Démarrer|Programmes|GNU
Emacs|Emacs
.
L'icône du dossier et la commande du menu Démarrer
sont des raccourcis
pratiques pour lancer NTEmacs à partir de l'interface utilisateur de Windows. Pour lancer
NTEmacs à partir d'une invite de commande, vous devez appeler le programme
runemacs
qui se trouve dans le sous-répertoire `bin' de NTEmacs.
Vous souhaitez peut-être modifier la variable d'environnement
PATH
pour y intégrer le répertoire `bin' de NTEmacs afin
de pouvoir exécuter runemacs
à partir d'une invite de
commande et ce, où que vous vous trouviez. Si nous reprenons l'exemple
précédent, vous devez intégrer `f:\ntemacs\bin' à la
variable PATH
pour pouvoir exécuter NTEmacs depuis le CD, et
`c:\emacs\bin' si vous avez fait une copie sur votre disque dur. Si
vous possédez MS-Windows 9X, vous pouvez modifier PATH
dans
le fichier `AUTOEXEC.BAT'. Lorsque vous avez modifié
`AUTOEXEC.BAT', vous devez réinitialiser votre système pour que
les modifications soient prises en compte. Si vous possédez
MS-Windows NT, vous devez ouvrir l'icône Système
du
Panneau de configuration
pour modifier le PATH
. Le
paramétrage de la variable d'environnement HOME
s'appliquera
alors à tous les processus lancés après la fermeture de l'icône
Système
.
Si vous rencontrez des problèmes lors de l'installation ou de l'exécution de la version Windows native de GNU Emacs (ou NTEmacs), vous pouvez trouver de l'aide dans le fichier `\ntemacs\README.NT' présent sur le CD-ROM. Les FAQ de NTEmacs se trouvent à l'adresse suivante : http://www.cs.washington.edu/homes/voelker/ntemacs.html. Vous trouverez également une liste de diffusion consacrée à NTEmacs à l'adresse suivante : ntemacs-users@cs.washington.edu. Pour plus d'informations sur cette liste, vous pouvez envoyer un message à l'adresse suivante : ntemacs-users-request@cs.washington.edu en prenant soin de faire figurer le mot `info' dans le corps du message. Pour vous abonner à la liste, envoyez un message à la même adresse en faisant figurer le mot `subscribe' dans le corps du message.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Emacs sous Windows 9X et NT identifie son fichier d'initialisation
`.emacs' grâce à la variable d'environnement HOME
. La
valeur de cette variable d'environnement HOME
doit correspondre
au répertoire dans lequel vous avez copié votre fichier
`.emacs' (aucune autre information ne doit apparaître ; il ne
faut pas, par exemple, faire figurer un point virgule à la suite du
répertoire comme dans le cas d'une variable d'environnement
PATH
).
N.B. HOME
n'est pas paramétré par défaut par le système
d'exploitation, vous devez donc impérativement effectuer cette
opération vous-même. Si vous possédez MS-Windows 9X, vous
pouvez modifier HOME
dans le fichier `AUTOEXEC.BAT'. Après
avoir procédé à cette modification de `AUTOEXEC.BAT', vous
devez réinitialiser votre système pour que les modifications soient
prises en compte. Si vous possédez MS-Windows NT, vous devez
ouvrir l'icône Système
du Panneau de configuration
pour modifier la variable HOME
. Le paramétrage de la variable
d'environnement HOME
s'appliquera alors à tous les processus
lancés après la fermeture de l'icône Système
.
Si votre machine est configurée avec une double initialisation DOS/WindowsNT, vous avez le choix de la version d'Emacs, DOS ou NT, et vous pouvez utiliser dans les deux cas le même fichier d'initialisation. NTEmacs recherche en effet la version DOS de son fichier d'initialisation, `_emacs', si le fichier habituel `.emacs' est introuvable.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Les ports natifs Windows NT/9X de GNU tar
, Bash et autres
utilitaires sont présents sur le CD-ROM sous forme d'archives
`.tar.gz' compressées. Pour installer ces utilitaires sur votre
disque dur, vous devez effectuer les opérations suivantes :
x: cd \cygnus-ports mkdir c:\gnu tar -xvzf usertools.tar.gz -C //c/gnu |
Les utilitaires se trouvent maintenant dans le répertoire `c:\gnu'.
PATH
. Si vous
souhaitez, par exemple installer les ports Windows des logiciels GNU
dans le répertoire `c:\gnu', vous devez déclarer le
répertoire `c:\gnu\b18\H-i386-cygwin32\bin' dans la variable
PATH
. Sous MS-Windows NT, vous devez ouvrir l'icône
Système
du Panneau de configuration
et modifier la
valeur de la variable PATH
. Sous MS-Windows 9X, vous devez
simplement éditer la ligne de la déclaration de la variable
PATH
dans le fichier `AUTOEXEC.BAT' puis réinitialiser le
système.
/bin/sh
. Vous devez donc
créer un répertoire `\bin' dans chaque lecteur que possède
votre système et y copier un exemplaire du fichier `sh.exe'
présent dans le répertoire `c:\gnu\b18\H-i386-cygwin32\bin'.
x: cd \cygnus-ports tar -xvzf usertools-src.tar.gz -C //c/gnu |
Cet exemple suppose que vous installiez le code source des outils GNU
dans le répertoire `c:\gnu\user-tools'. La commande tar
crée automatiquement le sous-répertoire `user-tools' dans le
répertoire de travail courant lorsqu'elle décompresse l'archive
`usertools-src.tar.gz'.
Le kit de développement Cygnus est présent sur le CD-ROM, dans les fichiers `cdk.tar.gz' et `cdk-src.tar.gz' du répertoire `\cygnus-ports\'.
Pour installer les programmes binaires du kit de développement, exécutez les commandes suivantes :
x: cd \cygnus-ports mkdir c:\gnu tar -xvzf cdk.tar.gz -C //c/gnu |
Lorsque la commande tar
a fini de s'exécuter, vous devez
configurer l'environnement :
C:\gnu\b18\H-i386-cygwin32\lib-gcc-lib\
à la variable
GCC_EXEC_PREFIX
. N.B. N'oubliez pas l'anti-slash de fin, il
est indispensable.
C:\gnu\b18\H-i386-cygwin32\bin;C:\gnu\b18\tcl\bin
à la
variable d'environnement PATH
.
C:/gnu/b18/tcl/lib/tcl7.6
à la variable
TCL_LIBRARY
et la valeur C:/gnu/b18/share/gdbtcl
à la
variable GDBTK_LIBRARY
. Pour ces variables, vous devez
impérativement utiliser les slash et non pas les anti-slash.
Sous MS-Windows NT, ces variables sont définies via l'icône
Système
du Panneau de configuration
; sous Windows 95
elles sont définies dans le fichier `AUTOEXEC.BAT'.
Pour installer le code source du kit de développement Cygnus, exécutez les commandes suivantes :
x: cd \cygnus-ports tar -xvzf cdk-src.tar.gz -C //c/gnu |
Ces commandes créent un répertoire appelé `c:\gnu\cdk' et y installent les fichiers source du kit de développement.
Pour désinstaller ces ports Windows natifs, vous pouvez passer par
l'icône Ajout/Suppression de programmes
du Panneau de
configuration.
Si vous rencontrez des difficultés lors de l'installation ou de l'exécution des ports Cygnus des programmes GNU, reportez-vous au fichier `\cygnus-ports\FAQ'.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Le CD-ROM contient les fichiers binaires de tous les programmes. La section suivante vous explique comment modifier ces programmes pour corriger les défaillances ou introduire des fonctions nouvelles.
La présentation ci-dessous concerne les programmes DJGPP du CD-ROM. Ce dernier contient l'environnement de développement complet de ces programmes. Les programmes Windows 9X/NT natifs, comme NTEmacs, exigent un compilateur Windows 9X/NT natif car DJGPP ne peut pas les compiler. La documentation de chacun de ces programmes explique en détail comment les construire.
Si vous connaissez un peu le mode de construction des logiciels GNU sous Unix et sous les systèmes GNU, vous savez déjà que les choses sont généralement très simples et que vous pouvez choisir un répertoire autre que celui dans lequel se trouve le code source. Ce principe devient très pratique dès lors que le code source se trouve sur un support non inscriptible comme par exemple un CD-ROM.
Malheureusement, certains ports de ce CD-ROM ne supportent pas cette fonction car elle exige des outils complexes qui ne sont pas disponibles sur les systèmes MS- DOS de base. Le CD-ROM propose tous ces outils mais comme beaucoup de ports ont été réalisés avant que ces outils ne soient disponibles, ils ne peuvent être construits qu'à partir du même répertoire que celui qui contient le code source.
En outre, comme différents logiciels ont été portés par différentes personnes, il existe diverses façons de les reconfigurer et de les recompiler. Nous ne pouvons malheureusement pas détailler ici le mode de construction de chaque logiciel. Sachez cependant que le code source de chacun des logiciels contient des informations détaillées sur ce sujet. Vous trouverez ci-dessous un aperçu général de la marche à suivre ainsi que les indications nécessaires pour retrouver les informations détaillées de chaque logiciel.
Le code source des logiciels GNU se trouve dans des sous-répertoires du répertoire `\gnu'. Vous devez donc chercher le répertoire portant le nom de votre logiciel. Le code source des bibliothèques C, des outils spécifiquement DJGPP et d’autres programmes qui ne font pas partie du projet GNU se trouvent dans le répertoire `\src'.
Ces fichiers `README' contiennent des informations permettant de
reconstruire le logiciel à partir du code source. Le nom du fichier
peut être `README.dos', `README.dj', ou
`README.djgpp'. Il peut se trouver dans un sous-répertoire du
répertoire principal contenant le code source du logiciel, comme par
exemple `pc', `djgpp' ou `msdos'. Malheureusement, il n'y
a pas de norme précise en ce domaine ce qui signifie que vous allez
devoir chercher un peu. Le moyen le plus simple pour retrouver tous les
fichiers `README' est d'utiliser le programme find
comme
dans l'exemple ci-dessous :
find f:\gnu\gawk-3.0-3 -name '*readme*' -print |
En supposant que votre lecteur de CD-ROM soit le lecteur `F:', cette commande affiche le nom de l'ensemble des fichiers de la Gawk distribution dont le nom contient la sous-chaîne `readme'. (N.B. Comme les systèmes de fichiers MS-DOS et MS-Windows ne distinguent pas les majuscules des minuscules, la commande affichera les noms de fichiers, que ceux-ci contiennent des majuscules ou non, et ce même si vous utilisez cette commande sous Windows 9X, qui affiche les majuscules dans les noms de fichiers.)
Vous pouvez également utiliser la commande ls
:
ls f:\gnu\gawk-3.0-3\...\*readme* |
(`...' est un caractère générique compris par tous les programmes compilés par DJGPP et qui s'étend de façon récurrente à tous les sous-répertoires.)
Si aucun fichier `README' indiquant comment construire le logiciel n'est disponible, vous devez pouvoir trouver un fichier batch portant un nom du type `makeall.bat' ou `djmake.bat', ou Makefile pour les fichiers propres à DOS ou à DJGPP. Ces fichiers devraient alors grandement faciliter la procédure de compilation.
Cette étape n'est nécessaire que lorsque le fichier README du logiciel n'indique pas la possibilité de construire le logiciel à partir d'un autre répertoire.
Cette opération exige d'exécuter un fichier batch pour configurer le
logiciel, puis d'exécuter make
(il se trouve sur le
CD-ROM). Comme la plupart des logiciels sont déjà configurés
pour DJGPP, vous pouvez dans ce cas sauter l'étape de configuration et
exécuter directement make
. La présence d'un fichier
`Makefile' dans le répertoire source d'un logiciel indique que le
logiciel est déjà configuré.
Les logiciels qui peuvent être construits sans avoir à copier
préalablement leur code source sur un système de fichier
inscriptible sont généralement reconfigurés comme dans l'exemple
ci-dessous (il s'agit du logiciel GNU enscript
) :
f:\gnu\enscript.150\compat\configdj f:/gnu/enscript.150 |
En d'autres termes, il s'agit d'utiliser le nom du répertoire principal contenant le code source comme argument pour le fichier batch qui configure le logiciel. (Vous devez impérativement utiliser le slash, et non l'antislash dans l'argument soumis au fichier batch.) Ainsi, à défaut d'autre indice, testez le fichier batch destiné à configurer le logiciel pour voir s'il accepte un argument de ce type. Si c'est le cas, vous pouvez en déduire que vous pouvez construire le logiciel sans avoir à le copier sur votre disque dur.
Si vous avez une fenêtre MS-DOS dans MS-Windows 9X, la procédure de construction peut échouer du fait que le support de la source ne tolère pas les noms de fichiers longs supportés par MS-Windows 9X. Si le problème se pose, vous obtiendrez des messages d'erreur du type "Nom de commande ou de fichier incorrect" et Make peut annoncer qu'il ne trouve pas certains fichiers. Dans ce cas, établissez le paramètre suivant : `LFN=n' dans l'environnement et redémarrez la procédure de construction.
make
.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Cette section présente une série de problèmes auxquels vous risquez de vous trouver confronté ainsi que leur résolution.
Si vous vous heurtez à des problèmes autres que ceux énumérés ci-dessous et que vous ne parvenez pas à les résoudre, reportez-vous à la partie intitulée Comment contacter la Fondation. En revanche, pour tous les problèmes rencontrés dans l'exécution d'un programme, nous vous demandons de faire parvenir une description d'erreurs au responsable de ce programme. See section Rapporter une défaillance.
Problèmes d'installation Problèmes d'exécution des programmes
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Voici une liste de problèmes qui risquent de se poser pendant l'installation :
Si ce message survient pendant que vous tentez d'accéder à votre lecteur de CD-ROM, vérifiez que le CD-ROM est correctement disposé à l'intérieur du lecteur de CD-ROM. Ce genre d'erreur peut également survenir si vous lancez le fichier `setup.bat' trop vite après avoir introduit le CD dans le lecteur. Vous devez en fait attendre que le voyant du lecteur s'éteigne avant de réessayer. Si l'erreur persiste, assurez vous que les pilotes de votre CD-ROM sont installés correctement (introduisez par exemple un autre CD-ROM et effectuez une commande DOS simple, comme par exemple `dir f:').
La fenêtre DOS se ferme lorsque l'installation est terminée.
Ce genre d'erreur peut survenir lorsque vous exécutez `setup.bat'
sous MS-Windows en cliquant deux fois dans le Gestionnaire de
fichiers ou dans l'Explorateur. Il ne faut donc pas exécuter
`setup.bat' de cette manière, mais ouvrir une fenêtre DOS en
cliquant sur l'icône Fenêtre MS-DOS
, et en lançant la
procédure d'installation depuis cette fenêtre DOS grâce à la
commande setup RET. L'icône Fenêtre MS-DOS
MS-DOS se trouve dans le Groupe principal
sous Windows 3.X et
dans le menu Démarrer|Programmes
sous Windows 9X/NT. Vous
pouvez également décocher la case Fermer en quittant
dans les
propriétés de votre fenêtre DOS (utilisez pour cela l'éditeur
PIF sous Windows 3.X) pour que Windows continue de l'afficher à
l'écran.
Ce message indique généralement que la configuration de votre système ne possède pas suffisamment d'espace d'environnement libre pour gérer les variables supplémentaires nécessaires à l'exécution des programmes depuis le CD-ROM. Le programme d'installation doit détecter ce genre de problème automatiquement (9) et afficher les instructions nécessaires pour pouvoir élargir l'environnement avant de quitter. Si vous suivez ces instructions, vous disposerez d'un environnement suffisamment grand une fois que vous aurez réinitialisé votre système.
SHELL=C:\DOS\COMMAND.COM C:\DOS /E:nnnn /P |
où nnnn est un chiffre (le chemin de `COMMAND.COM' est peut-être différent sur votre système). Si vous ne trouvez pas cette ligne, tenter d'en trouver une ressemblante et comportant le nom de fichier `NDOS.COM' ou `4DOS.COM' au lieu de `COMMAND.COM'. Si aucun de ces fichiers n'est présent, vous devrez ajouter vous-même une ligne comme celle citée ci-dessus à la fin de `CONFIG.SYS' en veillant à bien indiquer le chemin correspondant à l'emplacement de `COMMAND.COM'.
SHELL=C:\DOS\COMMAND.COM C:\DOS /E:1024 /P |
et supposons que le programme d'installation vous demande d'augmenter ce chiffre d'au moins 80 octets. Vous devez donc apporter les modifications suivantes à votre ligne :
SHELL=C:\DOS\COMMAND.COM C:\DOS /E:1104 /P |
Si le fichier ne comporte pas de ligne de `SHELL=' ou si cette ligne ne porte pas la mention de `/E:', considérez que la valeur définie est `/E:256'.
Vérifiez que la valeur que vous avez sélectionnée pour l'agrandissement de l'environnement correspond bien au nombre d'octets affiché par le programme d'installation. Si vous avez respecté cette valeur, il se peut que le shell que vous utilisez ne soit pas standard. Tentez d'appeler `setup.bat' en passant par un fichier `COMMAND.COM' secondaire :
command /e:2048 /c setup.bat |
Si vous exécutez `setup.bat' depuis la fenêtre DOS de Windows, vous risquez d'être obligé d'agrandir la taille de l'environnement utilisé par Windows pour lancer les programmes DOS. Pour ce faire, ouvrez le fichier `system.ini' (qui se trouve généralement dans le répertoire `C:\WINDOWS') dans votre éditeur, allez dans la section `NonWindowsApp' et augmentez le paramètre `CommandEnvSize' de la quantité d'espace recommandée par le programme d'installation. Voici un exemple montrant le contenu de cette section pour un environnement de 2048 octets :
[NonWindowsApp] CommandEnvSize=2048 |
(Si le fichier `system.ini' ne possède pas de section `NonWindowsApp', vous devez la créer vous-même)
Vous avez appelé `setup.bat' mais la lettre de lecteur utilisée n'est pas acceptée par MS-DOS et MS-Windows. Les caractères utilisées pour les lecteurs sont les lettres (majuscules ou minuscules) plus les six caractères suivants `[\]^_`'.
Solution : appelez à nouveau `setup.bat' en utilisant un argument acceptable.
La bonne méthode pour appeler `setup.bat' est la suivante :
setup x: |
où x correspond à la lettre du lecteur de disque sur lequel vous voulez que `setup.bat' crée le répertoire `\fsf' destiné aux fichiers associés au CD-ROM.
Cette erreur peut avoir une autre explication : la configuration de votre système définit un nombre trop faible de lecteurs. Ce critère est défini dans le fichier `CONFIG.SYS' dans lequel vous devriez trouver une ligne du type :
LASTDRIVE=y |
où y indique la dernière lettre attribuable à un lecteur dans votre configuration. Il vous suffit donc de remplacer cette valeur par la lettre correspondant au dernier lecteur utilisé par votre configuration.
Réinitialisez ensuite votre système et tentez de nouveau d'appeler `setup.bat'.
L'appel DOS permettant d'obtenir la lettre correspondant à l'unité d'initialisation (see section Installation automatique) a renvoyé des données erronées. Ceci vient probablement du fait que vous possédez une sorte de clone de MS-DOS qui ne supporte pas vraiment cette fonction MS-DOS (exemple : les premières versions de la fenêtre MS-DOS d'OS/2 échouent dans ce genre d'opération).
Si vous souhaitez effectivement que `setup.bat' crée les fichiers dans le lecteur `C:', vous n'avez aucun soucis à vous faire puisque c'est le lecteur par défaut. Dans le cas contraire, vous devez appeler de nouveau `setup.bat' en utilisant la bonne lettre pour le lecteur. Voici un exemple pour le lecteur `E:' :
setup e: |
Cette erreur peut survenir lorsqu'il existe un fichier (autre qu'un répertoire) qui porte déjà ce nom. Dans ce cas, il convient soit de supprimer ce fichier, soit d'appeler `setup.bat' en changeant la lettre du lecteur.
Autre cause possible : le disque sur lequel `setup.bat' a tenté de créer les répertoires est mode lecture seule ou en tout cas inaccessible. Dans ce cas, vous devez appeler de nouveau le fichier `setup.bat' en changeant la lettre du lecteur de disque.
Le programme d'installation a trouvé un ancien fichier `fsfcdini.bat' et a tenté de le renommer `fsfcdini.nnn' où nnn est un chiffre, mais cette opération a échoué.
Ce genre d'erreur ne survient que lorsque l'accès au disque est extrêmement difficile. Essayez de renommer `fsfcdini.bat' manuellement et d'appeler de nouveau `setup.bat' ou exécutez-le en changeant la lettre du lecteur.
Lorsque le nombre de fichiers de sauvegarde issus des anciennes installations est égal à 1000, le programme d'installation ne peut plus créer de nouveaux fichiers de sauvegarde. vous devez donc supprimer certains de ces fichiers `fsfcdini.nnn' et exécuter de nouveau `setup.bat'.
Cela peut signifier que votre disque est saturé. Vous devez donc soit libérer de l'espace sur ce disque soit exécuter de nouveau `setup.bat' en changeant la lettre du lecteur.
Le problème peut venir du fait que vous utilisez QDPMI
qui est
en fait un serveur DPMI non libre supporté par DJGPP (see section DPMI). QDPMI
peut faire se figer un programme
DJGPP si celui-ci tente d'accéder à un lecteur de disque vide ou
inexistant. Le programme d'installation peut donc se figer s'il teste
plusieurs lecteurs de disque.
La solution consiste à désactiver QDPMI
pendant l'exécution
du programme d'installation (celui-ci installe alors automatiquement le
serveur CWSDPMI
présent sur le CD-ROM).
Pour désactiver QDPMI
, allez dans le répertoire dans lequel
QEMM est installé et entrez la commande qdpmi off à l'invite
de DOS.
Chacun de ces messages est suivi d'un texte établissant les causes de l'erreur, comme par exemple "File does not exist". Les erreurs liées à l'ouverture ou à la lecture de fichiers existants signalent généralement un problème d'accès au CD-ROM. Vérifiez dans ce cas votre lecteur de CD ainsi que les éléments logiciels qui s'y rapportent. Les problèmes liés à la création de répertoires ou à l'écriture dans les fichiers signifient presque toujours que le système de fichiers est plein ou qu'un fichier ou un répertoire porte déjà le même nom. Pour résoudre le problème, il suffit généralement d'exécuter de nouveau `install.exe' et de sélectionner un autre lecteur.
Cela signifie que la tentative de configuration des variables d'environnement que demande le logiciel dans la base de données de registre de Windows a échoué. Vous devez avoir recours à une installation soit à l'aide de `setup.bat' soit manuellement. Pour plus d'informations sur ce sujet, reportez-vous aux instructions des rubriques Installation pour exécution directe depuis le CD et Installation de certains fichiers sur votre disque dur présentées plus haut dans ce chapitre.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Les difficultés recensées ci-dessous peuvent survenir après l'installation à partir du CD-ROM, lors de l'utilisation des logiciels GNU.
Vérifiez que le fichier `fsfcdini.bat' se trouve bien dans le répertoire `x:\fsf'. Si ce n'est pas le cas, recommencez l'installation. (x indique la lettre du lecteur sur lequel `setup.bat' a installé le fichier batch d'initialisation du CD-ROM, see section Installation pour exécution directe depuis le CD).
Ce problème peut également s'expliquer par le fait que votre
paramètre de PATH
est tout simplement trop long. En raison de
la limite de taille des lignes de commandes de DOS, `fsfcdini.bat'
et `fsfcdout.bat' peuvent être amenés à tronquer votre
PATH
, ce qui explique que le système d'exploitation ne puisse
pas, dans certains cas, retrouver des programmes situés dans des
répertoires indiqués en bout de ligne de PATH
. Vous devez
donc comparer votre valeur de PATH
avant et après avoir
appelé les fichiers batch, et si vous constatez qu'ils ont
effectivement tronqué votre valeur de PATH
, créez vos propres
fichiers batch afin de restaurer parfaitement votre PATH
.
Ce genre d'erreur survient parfois lorsque vous retirez votre CD du
lecteur mais que le PATH
indique toujours les répertoires du
CD. Lorsque vous appelez des programmes, le système d'exploitation
parcourt le PATH
à la recherche de leur fichier exécutable,
et les messages s'affichent lorsqu'il tente d'accéder au lecteur de CD
vide.
Pour éviter ce genre de problème, lancez le fichier batch
`fsfcdout.bat' (il se trouve dans le même répertoire que celui
dans lequel la procédure de configuration a créé
`fsfcdini.bat'); cela a pour effet de restaurer la valeur du
PATH
telle qu'elle était avant que `fsfcdini.bat' ne
vienne la modifier. Vous pouvez aussi retirer manuellement les
répertoires du CD présents dans le PATH
en utilisant la
commande `set PATH='.
La première chose à faire est de vérifier que le système est
capable de lire le CD-ROM. Pour ce faire, exécutez la commande
`dir x:' où x correspond à la lettre de votre
lecteur de CD-ROM. Exemple : `F'. Si le système affiche
le message `Le lecteur en cours n'est plus valide', essayez de
déclarer un paramètre de LASTDRIVE
plus élevé dans le
fichier `CONFIG.SYS' (auquel nous faisions allusion
précédemment dans cette section). Si le problème persiste, la
responsabilité est à chercher du côté du logiciel du CD-
ROM, au quel cas vous devez consulter la documentation de votre
système.
Il est également possible que la configuration de la variable
d'environnement de votre PATH
soit défaillante. Exécutez la
commande PATH RET et examinez la valeur affichée par le
système. Assurez-vous que les répertoires `\bin' et
`\gnu\emacs\bin' du CD-ROM figurent bien dans le PATH
.
Vérifiez que votre CD-ROM est correctement installé dans le lecteur de CD-ROM.
Il existe peut-être un conflit entre votre matériel et des éléments logiciels. Pour plus d'informations sur ce type de problèmes, reportez-vous à la FAQ de DJGPP. See section `Top' in DJGPP FAQ list, pour connaître les détails
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Les manuels du projet GNU sont écrits en Texinfo. Les fichiers
Texinfo peuvent se formater en documents imprimables en utilisant
TeX, et peuvent êtres convertis au format Info hypertexte en
utilisant makeinfo
; un convertisseur HTML est en cours de
développement.
Tous les manuels que nous produisons (comme celui-ci) se trouvent sur le CD-ROM, déjà convertis en HTML, et en plusieurs formats imprimables (dans le répertoire `\docs'), ainsi que dans le format Info (dans le répertoire `\info'). Tous les programmes qui vous sont nécessaires pour écrire et convertir vos propres fichiers Texinfo ou autres sont aussi sur le CD-ROM.
La Free Software Foundation vend aussi des copies imprimées des manuels GNU les plus connus.
Certains programmes sont documentés dans le format traditionnel des pages man d'Unix. Cependant, les pages man ne sont pas toujours à jour, nous les fournissons en premier lieu pour les personnes qui sont habituées à utiliser les pages man, elles sont utiles comme résumés rapides d'usage et d'options.
Les fichiers Texinfo sont normalement repérés par une extension `.texi' ou `.texinfo'. Quoi qu'il en soit, le MS-DOS ne permet qu'un nom de fichier de huit caractères avec trois caractères d'extension, par exemple fichier.ext. Quand le CD-ROM est lu par MS-DOS ou MS-Windows 3.X, les fichiers Texinfo sont marqués par une extension `.tex' ou `.txi'. Les machines Windows 9X et Windows/NT devraient voir les noms entiers.
Comment utiliser info
Lecture de la documentation formatée en HTML Lecture des pages man Formats produisant un manuel papier
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
info
info
est un programme pour lire la documentation en ligne. Le
programme info
et les fichiers Info qui lui sont associés sont
installés sur ce CD-ROM. Vous pouvez utiliser info
pour
lire toute la documentation dans ce format.
Pour lancer le programme Info en tant que lecteur autonome, tapez info sur la ligne de commande, et suivez les instructions. Si vous n'avez jamais utilisé Info, tapez h après l'avoir lancé. Cela vous donnera des instructions plus détaillées pour son utilisation.
Emacs contient aussi un programme pour lire les documents Info. Cela vous permet d'utiliser la souris pour suivre les liens hypertextes, d'utiliser des couleurs pour souligner les liens, et vous permet de ne pas quitter l'éditeur pendant que vous naviguez pour trouver de la documentation.
Vous pouvez voir la documentation Info avec GNU Emacs en essayant CTRL-h i (appuyez sur la touche CTRL et, sans la lâcher, appuyez sur la touche h, lâchez CTRL ensuite, tapez i à l'invite dans la zone d'écho. Pour de l'aide sur l'utilisation de Info sous Emacs, tapez h après avoir lancé Info.
Pour sortir d'Emacs info
, tapez q. Cela vous renvoie au
buffer ou vous étiez quand vous êtes entré dans Info. Sinon, vous
pouvez aussi diviser l'affichage de votre Emacs en deux fenêtres ou
plus et ainsi laisser le buffer Info à l'écran dans l'une d'elles.
Vous pouvez continuer à travailler et vous référer à la
documentation quand vous en avez besoin.
Les fichiers Info sont produits à partir des fichiers Texinfo en les
formatant avec makeinfo
.
See section `Creating an Info File' in The Texinfo Manual, pour plus d'informations.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
HTML, un acronyme pour HyperText Markup Language, est un langage utilisé pour formater les documents hypertextes qui pourraient être distribués sur différentes machines connectées via Internet. HTML est aussi un format de prédilection pour les principaux systèmes de documentation sur certaines plates-formes modernes.
Beaucoup de machines MS-DOS/MS-Windows ont un navigateur disponible pour les documents HTML installés sur leur disque. Nous proposons la version formatée HTML de la documentation GNU sur le CD-ROM pour ceux qui sont habitués à lire ce format et qui le préfèrent au format Info (qui a les mêmes fonctionnalités).
La documentation formatée en HTML se trouve dans le répertoire
`\docs' du CD, à l'intérieur de sous-répertoires organisés
par nom de packages. La documentation HTML pour chaque package est
divisée en plusieurs fichiers avec l'extension .htm
. Les noms
de fichiers sont créés à partir des noms et numéros de
programme, comme `gcc_1.htm', `gcc_2.htm', etc. Pour lire un
manuel à partir du début, commencez par le fichier dont le nom finit
avec `_1.htm', comme `cpp_1.htm' pour le manuel du
pré-processeur. Si vous souhaitez consulter l'index, les indices de
fonctions et de sujets sont dans les fichiers dont le nom finissent
respectivement par `_f.htm' et `_t.htm'.
Pour lire un fichier HTML, vous avez deux alternatives:
Fichier/Ouvrir
pour ouvrir le fichier HTML.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Nous fournissons aussi les pages man (diminutif de "manuel") pour de nombreuses applications. Les systèmes UNIX ont utilisé de manière traditionnelle ce format (et un style concis) pour la documentation de référence des programmes et des interfaces système.
Pour lire les pages man, tapez man command au prompt MS-DOS
après avoir installé le CD-ROM, ou tapez M-x man à
l'intérieur d'Emacs. Les pages man dans le répertoire `\man'
du CD-ROM sont déjà formatées; la commande man se contente de
les paginer en utilisant less
, ou n'importe quel autre programme
que vous puissiez spécifier avec la variable d'environnement
PAGER
(Le fichier source pour chaque page man se trouve avec le
code source de la distribution du programme).
Le lecteur Info autonome (see section Comment utiliser info
)
peut aussi afficher des pages man. Si vous spécifiez que `info
xyzzy' et le programme xyzzy
n'ont pas de documentation Info,
`info.exe' va automatiquement appeler la commande man et afficher
son résultat.
Vous devez savoir que toutes les commandes n'ont pas de documentation man. La documentation man est fournie essentiellement pour les personnes familiarisées avec ce format; nous préférons passer plus de temps sur la version Texinfo de la documentation. Vous pouvez vous attendre à voir des pages man périmées pour les programmes qui ont des documentations Info.
Nous vous suggérons de toujours exécuter info
pour vous
référer à la documentation. Si un programme a une documentation
Info, info
vous la montrera, sinon info
affichera
automatiquement la page man du programme.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Nous proposons des versions préformatées de la documentation pour les différents packages du CD-ROM en deux formats; le format Info (décrit ci-dessus) afin que vous puissiez lire l'information en ligne et les formats DVI, PostScript et PCL pour que vous puissiez les imprimer sur divers types d'imprimantes.
Les fichiers DVI (pour "DeVice Independent"(10)) sont produits à partir des fichiers Texinfo par le programme de mise en page TeX. Les fichiers DVI sont repérables par l'extension `.dvi' et peuvent êtres convertis en de nombreux formats d'imprimantes.
Le CD-ROM contient les programmes dvips
et dvilj4
pour
convertir les fichiers DVI en formats PostScript et PCL.
Le format PostScript est reconnu par la plupart des imprimantes laser.
Les fichiers PostScript sont produits à partir des fichiers DVI en
utilisant la commande dvips
et ont une extension `.ps'.
Les fichiers PCL sont basés sur le langage de contrôle des
imprimantes Hewlett-Packard. La plupart des imprimantes LaserJet HP
comprennent ce langage. Référez-vous à la documentation de votre
imprimante pour le savoir. Les fichiers PCL sont produits avec la
commande dvilj4
, et ont l'extension `.lj'.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
L'harmonisation des programmes présentés sur ce CD-ROM nous a demandé beaucoup d'efforts, afin que ceux-ci fonctionnent de la même manière à peu de choses près sous Unix et sous le système GNU. Nous avons intégré dans certains cas des fonctions spécifiques à DOS afin de pallier des fonctionnalités absentes sous MS-DOS/MS-Windows.
Cependant, en raison de lacunes fondamentales dans MS-DOS, certaines
fonctions des programmes du CD-ROM ne sont pas disponibles. Ainsi, les
fonctions qui utilisent le multi-tâches ne fonctionnent pas sous
MS-DOS de manière générale. C'est le cas des modes
shell
and gdb
d'Emacs, et de l'exécution parallèle des
commandes sous GNU Make. De la même manière, vous ne pourrez pas
utiliser les fonctions de réseau d'Emacs, telles que ange-ftp
(en revanche, NTEmacs supporte et le multi-tâches et les fonctions
réseau).
Dans de nombreux packages, vous trouverez des fichiers README pour DOS qui contiennent les informations relatives aux fonctions spécialement intégrées pour MS-DOS. Pour toute information supplémentaire sur ces sujets, référez-vous à ces fichiers.
Pour pouvoir bénéficier des versions vraiment complètes de ces utilitaires, nous vous conseillons d'utiliser un système GNU basé sur Linux comme Debian ou Red Hat. Ces systèmes sont non seulement plus puissants, mais ce sont (en partie) des logiciels totalement libres. Si vous possédez un 386 ou une machine plus puissante avec au moins 8 Mo de mémoire, vous pourrez faire fonctionner ces systèmes sans auncun problème.
Nous vous proposons ci-dessous une liste des packages présentés sur
ce CD-ROM. Trois types de documentation sont disponibles pour chacun
d'entre eux. [Doc] signifie qu'il existe une version papier du
manuel vendue par la FSF. [Info] indique que le package s'accompagne
d'une documentation Texinfo (sous forme de manuel ou de page Info, ou
que vous pouvez formater en tant que manuel Texinfo ou page
Info). [Man] signifie enfin qu'une documentation de type man
est disponible pour le package en question.
Le shell GNU, appelé bash
(Bourne Again SHell), a une
compatibilité ascendante avec sh
et propose de nombreuses
extensions présentes dans csh
et dans ksh
. bash
supporte le contrôle des tâches, l'historique des commandes de type
csh
, l'édition des lignes de commande (modes Emacs et vi
intégrés), et permet la réaffectation des touches du clavier grâce à la
bibliothèque readline
. bash
est conforme à la norme POSIX
1003.2-1992.
Le port MS-DOS de bash
permet d'accéder à un grand nombre
d'extensions assurant une meilleure compatibilité avec les systèmes
de type Unix. Ainsi, `test -x foo' recherche `foo.exe',
`foo.com' et `foo.bat', mais aussi `foo'; vous pouvez
aussi, grâce à des variables facultatives, faire en sorte que
bash
convertisse la valeur du PATH
en format Unix (liste
délimitée par deux points sans lettre de lecteur) afin que les
scripts shell concernés fonctionnent correctement, et que les noms de
fichiers commençant par un point soient convertis automatiquement en
une forme avec caractère souligné (MS-DOS n'accepte pas les noms
de fichiers commençant par un point).
Ce port de Bash pourra alors exécuter des scripts shell complexes comme, par exemple, les scripts GNU `configure', de façon presque totalement transparente. De nombreux packages présentés sur le CD-ROM ont d'ailleurs été configurés pour MS-DOS en exécutant des scripts `configure' avec Bash.
bc
[Info, Man]
bc
est un interpréteur de langage algébrique interactif
capable d'effectuer des opérations de calcul à précision
arbitraire. Il possède une syntaxe simple adaptée aux opérations
mathématiques de base ainsi que des fonctions récurrentes. Il
supporte aussi le calcul arbitraire, des variables multi caractères
pour les nombres et les matrices numériques, les opérateurs de
relation, et les conditionnelles.
GNU bc
respecte la norme POSIX.2-1992 et y ajoute plusieurs
extensions.
bc
contient également un calculateur à notation polonaise inverse
(RPN), dc
.
Les Utilitaires Binaires GNU (Binary Utilities) se composent d'une série d'utilitaires destinés à la gestion des fichiers objets et exécutables produits avec le compilateur C GNU (GCC). Les programmes présents dans ce package sont les suivants :
ar
ar
est un utilitaire de maintenance d'archives, servant
essentiellement à la création de bibliothèques de fichiers objets
destinés à être liés avec d'autres programmes.
c++filt
Le langage C++ permet d'attribuer un même nom à plusieurs
fonctions prenant différents arguments. Afin d'éviter la duplication
de noms de symboles, le compilateur "mutile" les noms de fonctions selon
une méthode pré-établie. c++filt
est ensuite chargé
de démutiler ces noms afin de retrouver le nom original de la
fonction.
gas
gas
est le nom de l'assembleur portable GNU. Bien qu'il soit
essentiellement destiné à assurer l'assemblage du code produit par GCC,
il fait office d'assembleur généraliste.
gprof
gprof
est un outil d'analyse de code, qui permet de savoir
quelles sont les fonctions qui utilisent le plus le temps processeur
pendant l'exécution de votre programme. Ces données sont très
utiles, car elles permettent de déterminer quelles sont les fonctions
qui nécessiteraient une optimisation manuelle.
ld
ld
, l'éditeur de liens GNU, est capable d'associer plusieurs
fichiers objets et des fichiers archives au sein d'un seul fichier
exécutable.
nm
nm
liste les symboles à l'intérieur d'un fichier objet,
exécutable ou d'une bibliothèque.
objcopy
objcopy
copie les fichiers objet et peut effectuer au passage des
conversions de formats de fichiers objets (par exemple de ELF en a.out
).
objdump
objdump
affiche le contenu d'un fichier objet, y compris,
éventuellement, le code désassemblé, les informations de débogage, et
tout autre type de donnée supporté par le format objet utilisé.
ranlib
ranlib
génère un index correspondant à une archive au format ar
, permettant d'accélérer l'édition de liens.
size
size
affiche la taille des sections dans les fichiers objets et les
programmes exécutables.
strings
strings
affiche les cha@^{i}nes de texte ASCII incorporées dans les
fichiers binaires.
strip
strip
supprime les symboles de débogage ainsi que les
informations relatives aux numéros de lignes présentes dans les fichiers
objets et dans les exécutables, ce qui a l'avantage de réduire leur
taille. Généralement, la taille d'un fichier exécutable se trouve
réduite de moitié après exécution de strip
.
Bison est outil de génération d'analyseurs syntaxiques utilisé par les
programmeurs. Il est comptatible avec yacc
(Yet
Another Compiler Compiler).
Calc (écrit par Dave Gillespie en Emacs Lisp) est une calculatrice de bureau avancée et extensible, et un outil mathémathique intégré à GNU Emacs. Calc peut, bien sûr, être utilisé comme simple calculatrice pour les quatre opérations, mais il possède de nombreuses autres fonctions, comme la possibilité de fonctionner en mode algébrique ou RPN (utilisant une pile); mais aussi des fonctions logarithmiques, trigonométriques et fincancières; la précision arbitraire; nombres complexes; vecteurs; matrices; dates; heures; les infinis; simplification algébrique; différenciation; et intégration.
cpio
[Man]
cpio
est un utilitaire d'archivage et de sauvegarde. Il est
pleinement compatible avec le format POSIX 1003.1 ustar.
Les utilitaires GNU Diff réalisent une comparaison de fichiers. Le package des utilitaires Diff contient les programmes suivants :
cmp
cmp
compare deux fichiers et affiche les octets et les numéros de
lignes qui contiennent des différences.
diff
GNU diff
compare les fichiers et indique les lignes comportant
des différences entre divers formats. Il est beaucoup plus rapide que
les autres versions de diff
.
diff3
sdiff
sdiff
compare deux fichiers et les fusionne de manière interactive en
un troisième fichier.
DJGPP est le port MS-DOS du compilateur C GNU (GCC 2.7.2.1). Il contient également une série d'outils de développement écrits spécifiquement pour DJGPP.
GCC est avant tout un compilateur C qui supporte aussi d'autres
langages. Ce logiciel propose également des compilateurs C++ et
Objective-C. Nous effectuons autant que possible la mise à jour du
compilateur C++ afin que celui-ci reste compatible avec le projet de
norme ANSI, mais pas avec cfront
(le compilateur de AT&T) qui
s'écarte depuis un certain temps de la norme ANSI.
GCC supporte parfaitement le C ANSI, le C traditionnel (K&R), ainsi que les extensions C GNU. Ces extensions sont, par exemple, le support de fonctions imbriquées, le goto non local, et la récupération de l'adresse d'un label.
Si les fonctions que nous venons d'énumérer sont disponibles sur toutes les versions GCC, en voici un certain nombre qui ne sont disponibles que sur DJGPP, le port MS-DOS de GCC.
DJGPP bénéficie d'une série de fonctions supplémentaires relatives à l'environnement de programmation standard de MS-DOS comme par exemple, un mode protégé 32-bits, un espace d'adressage 32-bits non segmenté et l'accès à une mémoire virtuelle. DJGPP a besoin de services DPMI pour exécuter des programmes en mode protégé au dessus du mode réel DOS 16-bits. DJGPP est livré avec un serveur DPMI libre et supporte également les serveurs non libres existants (comme QDPMI et les serveurs intégrés à MS-Windows). Les programmes compilés à l'aide DJGPP acceptent les noms de fichiers longs de Windows 9X.
Le code source Texinfo du GNU C Compiler Manuel est livré avec le programme.
DJGPP contient également la bibliothèque et des outils auxiliaires :
libc.a
[Info]
DJGPP comprend une bibliothèque C libre, écrite spécialement pour
lui. Elle est compatible avec les normes C ANSI et POSIX et contient de
nombreuses extensions DOS proposées également par les autres grands
compilateurs DOS. La compatibilité avec la norme POSIX signifie
néanmoins que les versions DJGPP des fonctions de bibliothèque sont
le plus souvent beaucoup plus puissantes et plus riches que les autres
bibliothèques C pour DOS. Par exemple, stat
et fstat
disposent d'un traitement des numéros d'inodes très intelligent et
unique en son genre (et ce même si les inodes n'existent pas dans les
systèmes de fichiers de Microsoft).
La rubrique FAQ de DJGPP est en fait beaucoup plus qu'une simple FAQ : une vaste base de connaissances couvrant tous les aspects de l'utilisation de DJGPP et des programmes compilés par DJGPP. Elle possède, en outre, un index très étendu et représente à ce titre la meilleure source d'informations pour tout ce qui touche à DJGPP, y compris les problèmes que vous pouvez rencontrer dans l'utilisation des programmes de ce CD-ROM.
bin2h
[Info]
bin2h
permet au développeur d'incorporer un fichier binaire dans
un fichier source en convertissant les données binaires en un
tableau d'entiers.
djtar
[Info]
djtar
permet de résoudre les problèmes liés à l'extraction sous
DOS de fichiers tar et de fichiers tar compressés. Il permet d'éviter
les conflits entre les noms de fichiers longs qui se réduisent au même
nom dans le format limité à 8+3 caractères sous DOS. Il est également
capable de décompresser les fichiers `.tar.Z' et `.tar.gz' à
la volée, ce qui permet d'économiser votre espace disque. Il sait lire
les archives tar écrites sur des disquettes à l'aide de raw devices
(de sorte que les disquettes ne possèdent pas le système de fichier
DOS). Il existe également des options permettant de convertir les
fichiers texte du format Unix au format DOS et vice versa.
dtou
[Info]
dtou
convertit les fichiers textes du format DOS au format Unix
en supprimant chaque caractère `CR' précédant un caractère
`LF'. Contrairement au programme dos2unix
que proposent
certains systèmes, dtou
n'écrit pas le fichier converti sur
sa sortie standard; il réécrit en fait le fichier et peut donc
convertir plusieurs fichiers en une seule ligne de commande. Il conserve
également les estampilles temporelles des fichiers (de sorte que Make
et find
ne considèrent pas que les fichiers ont été
modifiés).
utod
[Info]
utod
convertit les fichiers texte du format Unix au format DOS en
ajoutant un caractère `CR' devant chaque caractère
`LF'. Contrairement au programme unix2dos
que proposent
certains systèmes, utod
n'écrit pas le fichier converti sur
sa sortie standard; il réécrit en fait le fichier et peut donc
convertir plusieurs fichiers en une seule ligne de commande. Il conserve
également les estampilles temporelles des fichiers (de sorte que Make
et find
ne considèrent pas que les fichiers ont été
modifiés).
redir
[Info]
Le shell de DOS `COMMAND.COM' ne supporte pas la redirection de la
sortie d'erreur standard (stderr
). Or, de nombreux programmes GNU,
dont GCC et make
, écrivent leurs erreurs et leurs avertissements
dans stderr
. Lorsque le contenu de ces messages est supérieur à
la capacité d'affichage de l'écran, vous devrez trouver un moyen de le
rediriger vers un fichier. C'est pour répondre à ce problème que nous
avons créé redir
qui redirige en effet les flots standards
selon les options disponibles sur la ligne de commande, puis exécute
le programme choisi et affiche enfin à l'écran le code de sortie que lui
a transmis le programme, ainsi que le temps total de traitement.
fsplit
and fmerge
[Info]
Ces programmes vous seront utiles lorsque vous souhaiterez stocker des
fichiers de grande taille sur des supports de faible capacité comme les
disquettes. fsplit
subdivise votre fichier en 1000 petits
fichiers maximum et fmerge
permet ensuite de recoller les
morceaux ainsi éparpillés.
texi2ps
[Info]
texi2ps
est une version modifiée de makeinfo
qui
transforme rapidement un source Texinfo en un fichier PostScript
que vous pouvez ensuite imprimer ou visualiser à l'aide d'un logiciel de
visualisation du format PostScript. C'est plus rapide que la manière
traditionnelle de travailler avec TeX pour produite un fichier DVI,
puis le convertir en un fichier PostScript avec dvips
; mais le
résultat est beaucoup moins beau.
update
[Info]
update
est un excellent programme de copie uniquement en cas de
besoin. Il effectue en fait une comparaison des deux fichiers que vous
lui soumettez, et copie dans un fichier les différences qu'il présente
avec l'autre. Cette fonction est utile avec makefiles lorsqu'on a
affaire à un fichier souvent généré et dont le contenu ne change que
rarement, et dont d'autres fichiers dépendent. (La même opération
pourrait être effectuée par comparaison de fichiers avec cmp
et
en faisant la copie à partir de son code de sortie, mais update
est plus simple à utiliser, il peut se passer de cmp
et évite
d'avoir à programmer des fichiers batch DOS encombrants).
ed
[Info, Man, Doc]
ed
est un éditeur de lignes. Il permet la création, l'affichage,
la modification et toutes sortes de manipulations de fichiers textes, à
la fois en mode interactif et par l'intermédiaire de scripts shell. Il
existe une version restreinte de ed
, red
, qui ne peut
éditer les fichiers que dans la mesure où ils se trouvent dans le
répertoire courant et est incapable d'exécuter les commandes du
shell. ed
est l'éditeur utilisé initialement par Unix, et est, à
ce titre, largement distribué.
Malgré sa simplicité, ed
est loin d'être un outil primaire : il
supporte en effet les expressions régulières et le transfert par pipe de
texte vers des programmes externes. Nous vous recommandons néanmoins
d'utiliser Emacs et non pas ed
pour la plupart de vos usages.
elib
[Info]
Elib est une petite bibliothèque de fonctions Lisp Emacs comprenant des routines pour l'utilisation des arbres AVL et des listes doublement chainée.
Emacs est un environnement informatique et un système d'édition extensible. Il comprend un interpréteur destiné au langage Lisp d'Emacs dans lequel est rédigé l'essentiel du code d'Emacs. Le CD-ROM contient la documentation complète du langage Lisp d'Emacs.
Vous disposez également d'une vaste bibliothèque d'extensions et de "modes" permettant d'éditer divers langages humains et de programmation. Emacs contient aussi des frontaux très conviviaux pour de nombreux programmes, y compris des systèmes de documentation informatique (Texinfo et TeX par exemple), le courrier électronique et des systèmes de contrôle de version (comme RCS).
Emacs possède de nombreuses fonctionnalités facultatives, ce qui signifie qu'il faut personnaliser Emacs pour que celles-ci soient activées: en lançant une commande ou en définissant une variable. Ces opérations de personnalisation s'effectuent généralement dans le fichier d'initialisation d'Emacs. Lorsque vous appelez ensuite Emacs, le programme lit automatiquement ce fichier et applique la personnalisation telle que vous l'y avez définie. Le nom du fichier d'initialisation d'Emacs est `.emacs' sur la plupart des systèmes; et `_emacs' sous MS-DOS, car DOS n'accepte pas les noms de fichier commençant par un point. The GNU Emacs Manual contient des informations sur les techniques de base pour la personnalisation.
Le CD-ROM contient un exemple de fichier d'initialisation d'Emacs montrant un certain nombre de personnalisations possibles, toutes appréciées d'un grand nombre d'utilisateurs. Ce fichier se trouve dans le répertoire `\gnu\emacs' du CD-ROM et son nom est `_emacs.xmpl'. Ne copiez pas ce fichier, utilisez-le comme référence ! Nous ne saurions recommander l'utilisation de ce fichier par défaut aux nouveaux utilisateurs car il s'agit d'un pot-pourri de modifications possibles, chacune étant appréciée par certains, et rejetées par d'autres. Il est donc recommandé de faire son choix et de ne prendre dans ce fichier que les personnalisations qui vous semblent répondre à vos attentes. Il peut également vous servir de guide pour mieux comprendre comment fonctionne telle ou telle personnalisation.
enscript
[Man]
enscript
assure la conversion des fichiers ASCII en format
PostScript et stocke le résultat dans un fichier ou l'envoie
directement à une imprimante. GNU enscript
supporte divers jeux
de caractères non-ASCII ainsi que des commandes imbriquées de
formatage de pages (fichiers EPS inline et modification des fontes à
la volée).
enscript
supporte la mise en évidence du code en fonction du
langage utilisé. La mise en évidence du code est prise en charge par un
programme spécial appelé states
(lancé par enscript
) qui
traite les fichiers d'entrée et les annote en utilisant les caractères
d'échappement spéciaux de enscript
. Le fichier qui définit la
mise en évidence pour chacun des langages supportés est un fichier ASCII
indépendant de la machine et qui peut être mis à jour sans avoir à
recompiler le programme enscript
.
Les utilitaires de fichiers GNU sont des programmes qui opèrent sur des fichiers. La plupart d'entre eux s'inspirent directement de l'utilitaire Unix équivalent portant le même nom, avec cependant des fonctionnalités plus avancées pour une plus grande facilité d'utilisation et une puissance renforcée. Leur valeur ajoutée sur les systèmes MS-DOS et MS-Windows est encore plus forte du fait que la plupart de leurs fonctionnalités sont absentes sur ces systèmes. Le package contient les programmes suivants :
chmod
chmod
modifie les autorisations d'accès à un fichier. Il joue
donc le même rôle que le programme DOS standard attrib
; sous
MS-DOS, il ne sert vraiment qu'à modifier les autorisations d'accès en
écriture tout en continuant à simuler le travail sur d'autres bits
d'accès, de sorte que les scripts shell et les makefiles qui appellent
chmod
n'aient pas à s'inquiéter.
chown
et chgrp
Ces deux programmes n'ont aucun effet sous MS-DOS/MS-Windows pour la simple raison que les éléments auxquels ils font appel n'existent pas dans le système d'exploitation sous-jacent. Ils ne servent donc qu'à rassurer les shell scripts et les makefiles.
cp
cp
effectue des copies de fichiers. Il joue le même rôle que les
commandes copy
et xcopy
de MS-DOS mais possède un nombre
beaucoup plus élevé de fonctions, comme l'enregistrement de fichiers de
sauvegarde et la copie des nouveaux fichiers uniquement.
dd
Le programme dd
est utile pour les opérations portant sur des
blocs d'entrées/sorties de fichiers et pour opérer des conversions
sur ces fichiers. Il peut extraire une partie spécifique d'un fichier,
la convertir d'ASCII en EBCDIC et vice versa, inverser l'ordre des
octets, etc.
df
df
(qui veut dire " disk free") indique l'espace utilisé et
l'espace libre sur tout ou partie des lecteurs accessibles à votre
système.
dir
L'utilitaire dir
, étroitement lié aux utilitaires ls
et
vdir
(voir ci-dessous), liste les fichiers présents dans un
répertoire. dir
joue le même rôle que la commande MS-DOS du même
nom. Au prompt du DOS, vous devez lancer ce programme en utilisant le
nom gdir
, car dir
est une commande intégrée de
DOS. (D'autres programmes, comme par exemple Make, lanceront pour leur
part GNU dir
en utilisant le nom dir
.)
dircolors
dircolors
produit une séquence de commandes shell destinées à
paramétrer le terminal en vue de la sortie des couleurs avec ls
,
dir
et vdir
. Si vous utilisez bash
ou un autre
sh
du même type comme shell interactif, vous pouvez traiter la
sortie directement. Si vous utilisez `COMMAND.COM' ou
quelque chose d'équivalent, vous devez rediriger la sortie de
dircolors
dans un fichier et le modifier pour obtenir une série
de commandes `SET'. N.B. `COMMAND.COM' n'autorise pas
l'utilisation du caractère `=' dans les valeurs des variables
d'environnement, de sorte qu'il est préférable de définir la variable
LS_COLORS
à l'aide du fichier d'environnement de DJGPP.
du
du
indique la quantité d'espace disque utilisée par une
hiérarchie de répertoires.
install
et ginstall
install
effectue une copie des fichiers et fixe leur mode
d'autorisation. Les makefiles l'utilisent souvent dans la partie
`install:' de leurs règles. Etant donné que de nombreux programmes
DOS et Windows possèdent un fichier `install.exe', le fichier GNU
install de ce CD-ROM s'appelle ginstall
. Attention, il existe
aussi un "lien symbolique" dont le nom est install
(voir ln
ci-dessous).
ls
ls
est l'équivallent de la commande dir
de DOS, mais il
possède un grand nombre d'options supplémentaires. Il peut par
exemple afficher différents types de fichiers dans différentes
couleurs, lister des hiérarchies de répertoires de façon
récursive, et il propose de nombreuses options de tri.
ln
Etant donné que MS-DOS ne supporte pas de liens entre les fichiers,
ln
émule les liens physiques en utilisant la copie, ce qui
revient au même mais exige plus d'espace disque. Grâce à l'option
`-s', ln
crée un "symlink" de type DJGPP dans un
programme : il s'agit d'un petit programme stub qui, lorsqu'il est
exécuté, charge en fait le code de DJGPP depuis un autre programme
et l'exécute. Ainsi, la commande ln -s make.exe mymake.exe
utilise en fait `mymake.exe' comme alias de `make.exe',
exactement comme le ferait un lien symbolique.
mkdir
mkdir
sert à créer des répertoires, comme son homonyme
MS-DOS, mais de façon plus puissante. Il possède par exemple une
option qui lui permet de créer un répertoire parent si celui-ci
n'existe pas. Pour appeler ce programme depuis la ligne de commande,
vous devez taper gmkdir
, car mkdir
est une commande DOS
intégrée.
mkfifo
et mknod
Ces programmes n'ont aucun effet sous MS-DOS, leur présence n'étant justifiée que pour répondre aux scripts qui les appellent.
mv
mv
sert à déplacer les fichiers d'un répertoire à
l'autre. Vous pouvez aussi l'utiliser pour renommer des
répertoires. mv
joue le même rôle que la commande
ren
de MS-DOS, mais peut également renommer un répertoire, le
déplacer de façon récursive, déplacer des fichiers sur un
autre disque, sauvegarder l'ancienne version des fichiers qu'il
écrase, et bien d'autres choses encore.
rm
rm
sert à supprimer des fichiers. Il fonctionne comme la commande
del
de DOS mais accepte plusieurs arguments. Il peut aussi
supprimer des répertoires et des arborescences de répertoires, ainsi que
(grâce à l'option `-f') des fichiers en lecture seule et des
fichiers systèmes et cachés.
rmdir
rmdir
supprime les répertoires vides. Il est identique à la
commande MS-DOS du même nom, mais peut de surcro@^{i}t supprimer les
répertoires parents lorsqu'ils se retrouvent vides après
suppression. Pour lancer ce programme, vous devez utiliser grmdir
car rmdir
est une commande DOS intégrée.
sync
sync
tente d'inscrire sur le disque toute donnée non encore
enregistrée, afin que le système de fichiers soit constamment mis à jour
pour prendre en compte toute modification de dernière minute. Pour ce
faire, sync
appelle des fonctions du système d'exploitation qui
provoquent généralement un vidage des tampons du cache disque si le
système en possède un. Comme DOS lui-même ne retarde jamais ses
écritures sur le disque, c'est tout ce que le programme propose.
touch
touch
crée un fichier vide ou met à jour l'heure de
modification d'un fichier existant. Il peut aussi fixer l'heure de
modification en fonction d'un autre fichier.
vdir
vdir
liste le contenu d'un répertoire en mode
verbeux. vdir
est une forme alternative des commandes dir
et ls
.
Les utilitaires Find sont des programmes de recherche de
fichiers. find
est un programme extrêmement puissant de recherche
de fichiers d'après un critère (tel qu'un nom ou la partie d'un nom, ou une
heure de modification). Il peut également effectuer des opérations sur
les fichiers (afficher leur nom, ou exécuter une commande sur ces
fichiers, par exemple). Il contient aussi un programme appelé
xargs
qui applique une commande à une liste de fichiers (pour
contourner le problème du nombre limite d'arguments transmis à un
programme), et un autre appelé locate
qui scanne une base de
données préétablie de fichiers pour retrouver un fichier en fonction
d'un critère de recherche.
flex
est un remplaçant pour le générateur de scanner
lex
. flex
est souvent utilisé pour produire des
scanners lexicaux utilisables avec les parseurs générés par Bison.
gawk
[Info, Man, Doc]
gawk
est un scanner de modèles textuels et un processeur de
texte. gawk
interprète un langage spécial de programmation. De
manière générale il est utile pour la manipulation de données
textuelles comme par exemple la comptabilisation de choses, la
conversion de données d'un format vers un autre, le calcul, l'extraction
d'informations pour créer des rapports. Il a été aussi utilisé pour
l'écriture de prototypes de petits systèmes de base de données et de
compilateurs pour de petits langages.
Les principales fonctionalités de gawk
, telles que la boucle
implicite de lecture, le paradigme des actions sur les motifs de
données, le découpage automatique d'enregistrement en champs et
l'absence de déclaration, font de gawk
un outil difficile à
battre pour programmer des tâches où le temps de développement
prime sur le temps d'exécution.
gawk
est totalement compatible avec les dernières
spécifications POSIX de awk
.
GDB est le déboggeur symbolique de GNU. Avec GDB vous pouvez corriger un programme au niveau de son code source ou de son code machine et passer commodément de l'un à l'autre. GDB supporte actuellement les langages C, C++, et Objective-C, et supporte partiellement Modula-2, Chill, Pascal et Fortran.
gdbm
est le remplacant GNU des traditionnelles librairies
dbm
et ndbm
. Il fournit une base de données à
recherche rapide d'enregistrements par l'usage du hash-coding.
gdbm
ne crée pas de multiples fichiers; ses bases de données
sont compactes.
gperf
génère de parfaites tables de hash, de telle sorte que
chaque cha@^{i}ne de caractères dans un ensemble donné sera associée
à une valeur unique. Le résultat de gperf
est une fonction en
langage C implémentant la fonction de hash.
grep
[Man]
Ce module contient les commande grep
, egrep
, et
fgrep
. Ces programmes accomplissent le balayage de fichiers en
faisant correspondre à chaque ligne un masque (ou modèle) de recherche.
Cela permet de chercher des morceaux de textes en utilisant comme masque
de recherche soit des cha@^{i}nes de caractères soit des expressions
régulières.
Groff est un système de mise en page de documents, compatible avec
troff
, un système de traitement de documents pour UNIX. Il
contient les pilotes pour le format PostScript et TeX dvi
,
pour les imprimantes LaserJet 4 et le format ASCII. Ce système
contient les programmes suivants :
eqn
eqn
est un programme de pré-traitement de composition
d'équations pour troff
.
groff
groff
est le programme frontal du système Groff. Il peut être
utilisé pour invoquer les programmes de pré-traitement appropriés à un document.
indxbib
indxbib
fabrique un index inversé d'une base de données
bibliographique. Celui-ci peut alors être interrogé au moyen des programmes
lookbib
et lkbib
.
lookbib
and lkbib
lkbib
et lookbib
effectuent des recherches dans des bases
de données bibliographiques. Si un index inversé, produit par
indxbib
, est disponible, il est utilisé pour la
recherche. Sinon lkbib
et lookbib
accomplissent les
recherches dans les bases elles mêmes (le temps de réponse est alors
plus long).
nroff
nroff
est comme troff
, avec la fonctionalité incorporée par
défaut de produire une sortie au format ASCII du document traité.
pic
pic
est un simple programme de pré-traitement de graphiques pour
troff
. Il est utile pour créer des organigrammes ou des
graphiques à base de lignes.
refer
refer
génère des références bibliographiques pour des citations
contenues dans un document au format Groff.
soelim
soelim
remplace toutes les directives .so
fichier
des documents Groff par le contenu du fichier passé en argument.
tbl
tbl
génère des tables dans des documents Groff.
troff
troff
est le principal moteur de traitement du système Groff.
L'ensemble de macros-commandes mm
de Groff est compatible
avec celui de l'ensemble mm
de DWB et contient quelques
extensions. Groff contient également l'ensemble de macros-commandes de
Berkeley, me
.
Le système Groff comprend également quelques utilitaires de conversions
de polices de caractères tels que afmtodit
et pfbtops
.
gzip
[Info, Man]
gzip
est le programme de compression de fichiers de GNU. En plus
de compresser et de décompresser des fichiers de son propre format, il
est capable de décompresser des fichiers d'autres formats, à savoir
le format du programme compress
(également pour SCO) et celui
de pack
sous UNIX System V. gzip
peut également
désarchiver les fichiers zip MS-DOS. Toutefois l'archive zip ne doit
contenir qu'un fichier. En effet gzip
échoue s'il tente de
désarchiver un fichier zip contenant plusieurs fichiers.
Il est à noter que le format utilisé par gzip
n'est pas
compatible avec celui de la commande Pkzip ni avec les autres
utilitaires de compression et d'archivage zip.
La compression accomplie par gzip
est de meilleur qualité que
celle obtenue par les commandes zip
, pack
ou
compress
.
djtar
peut décompresser et désarchiver un fichier `.tar.gz'
en une seule passe. Ce traitement est optimisé pour MS-DOS et évite
l'usage des commandes `gunzip -c | tar xf -'. En effet le pipe
MS-DOS utilise un espace temporaire sur le disque dur.
hello
[Info, Doc]
Le programme hello
de GNU retourne la cha@^{i}ne de caractères
"Hello world!". Un programmeur écrit souvent ce programme lorsqu'il
apprend un nouveau langage. hello
est fournit uniquement pour
servir d'exemple de programmation respectant les spécifications de
codage de GNU. Il constitue un point de départ pour les programmeurs.
Les Utilitaires ID recherchent des signes dans des fichiers textes (ou des programmes sources). Un signe est un identifiant, un nombre, une cha@^{i}ne de caractères ou un mot dans un fichier texte, et un nom de variable dans un code source. Les utilitaires ID génèrent une base de données répertoriant les signes et leur localisation dans les fichiers parcourus. Ils permettent de faire des recherches dans la base de données comme par exemple pour obtenir la liste de toutes les références d'un fichier d'en-tête en langage C.
Il y a quelques programmes dans la famille des outils ID:
mkid
mkid
parcourt les fichiers d'une arborescence à la recherche de
signes et construction de la base ID.
lid
lid
interroge une base de données ID pour trouver des
signes. lid
retourne un compte rendu des noms de fichiers ou
des lignes qui contiennent le signe cherché. Le signe cherché est une
cha@^{i}ne, une sous cha@^{i}ne de caractères ou une expression régulière.
fid
fid
retourne les signes trouvés dans un fichier donné. Si deux
noms de fichiers sont saisis sur la ligne de commande, fid
retourne les signes communs présents dans les deux fichiers (c'est à
dire l'ensemble d'intersection des deux ensembles de signes).
fnid
fnid
interroge une base de données ID pour trouver les noms de
fichiers qui correspondent à la séquence de caractères génériques
donnée en argument (fnid
retourne tous les fichiers si aucun
fichier ou séquence n'est précisé sur la ligne de commande).
xtokid
xtokid
parcours les fichiers et/ou les répertoires donnés en
argument et en extrait un flux de signes pour lesquels il a un
scanner valide. xtokid
est principalement utilisé pour corriger
les nouveaux scanners pour mkid
.
indent
[Info]
GNU indent
est un outil de mise en forme de code source C. Par
défaut, il présente le code en respectant les spécifications de
codage de GNU. Le standard BSD, K&R et les autres sont disponibles en
options. Il est possible de définir son propre format. GNU
indent
fournit plus de fonctionalités que les autres versions,
il gère également les commentaires du C++.
Ispell est un correcteur orthographique interactif multi-lingue. Il propose des choix de remplacements pour des mots qu'il ne connait pas. Il utilise un dictionnaire interne ou fournit par l'utilisateur et dans plusieurs langues. Ce cédérom contient un dictionnaire Anglais, mais la documentation d'Ispell explique où se procurer des dictionnaires pour d'autres langues.
less
[Man]
less
est un outil de visualisation page par page
similaire dans l'esprit à ses homologues more
et pg
sous Unix. Il supporte les déplacements arrière et avant et les
recherches d'expression régulières. Il peut visualiser plusieurs
fichiers séquenciellement, lancer un programme traitant une portion de
texte et il sait compléter les noms de fichiers. Sur Windows 9x il
supporte les noms de fichiers contenant des espaces.
libg++
[Info]
La librairie C++ de GNU contient une vaste collection de classes C++, une librairie d'entrées/sorties nommée IOStream, et des outils de maintenance pour G++. Parmi les classes supportées il y a : les obstacks, les rationnels et les entiers à précision multiple, les nombres complexes, les cha@^{i}nes de longueur arbitraire, les ensembles de bits et les cha@^{i}nes de bit.
La distribution inclut également la librairie libstdc++ (sur MS-DOS elle est appelée `libstdcxx.a' car le caractère `+' n'est pas autorisé dans les noms de fichiers). Cette librairie fournit les fonctions définies par le prochain standard C++ ANSI/ISO, incluant une version de Standard Template Library (STL).
m4
[Info, Man]
GNU m4
est une mise en oeuvre d'un traditionnel outil de
traitement de macros sous UNIX. Il est principalement compatible avec
UNIX SVR4, bien qu'il apporte ses propres extensions (par exemple, il
gère plus de neuf paramètres de positions pour les
macros). m4
incorpore des fonctions d'inclusion de fichiers, de
lancement de commandes shell, des fonctions arithmétiques, etc.
make
[Info, Man, Doc]
GNU make
est typiquemt utilisé pour maintenir de volumineux
projets de programmation, par exemple, en déterminant les fichiers qui
doivent être mis à jour pour produire une version d'un programme. Il
peut toutefois être utilisé pour automatiser des traitements dont les
éléments sont inter-dépendants.
GNU make
supporte la norme POSIX 1003.2. Il incorpore toutes les
fonctionalités (dont quelques une obscures) de BSD et d'UNIX System V,
ainsi que nos propres extensions telles que : les options au format
long, la compilation parallèle (pas sur MS-DOS), des règles
implicites flexibles, l'exécution de tâches conditionnelles, et de
puissantes fonctions de manipulation de textes. Les versions récentes
fournissent des messages d'erreurs plus explicites et supportent
l'opérateur `+=' qui permet d'ajouter une valeur à une
variable déjà initialisée. (Le fichier Texinfo de la documentation
de Make est disponible avec le programme).
Le portage de make
par DJGPP peut être executé via un
`COMMAND.COM' ou par son remplacant 4DOS
ou enfin sous un
shell tel que bash
; avec ce dernier il peut interpréter les
fichiers makefiles UNIX. Il supporte également de longues lignes de
commande (quand il invoque les programmes DJGPP) et il comprend les
règles et les dépendances sur des noms de fichiers qui contiennent la
lettre du périphérique (C:, A:, etc.).
patch
[Man]
patch
est notre version du programme de Larry Wall qui utilise la
sortie de la commande diff
et l'applique sur un fichier
original pour en obtenir sa version modifiée.
Les mises à jour de programmes diffusées sur Internet se trouvent
souvent sous la forme de fichiers diff obtenus à partir de la version
précédente des programmes. Ainsi l'utilisateur peut ne télécharger que
les fichiers diff et les appliquer, avec la commande patch
, sur
les distribution courantes de programmes pour en obtenir la version
mise à jour.
GNU patch
peut également mettre à jour des fichiers
binaires. GNU diff
peut générer un fichier diff contenant les
différences entre deux fichiers binaires. Il faut pour cela utiliser
les arguments de la ligne de commande `-a --binary'.
Perl signifie, selon les utilisateurs, "Practical Extraction and Report
Language," ou "Pathologically Eclectic Rubbish Lister." Perl est un
langage dont le rôle est de parcourir des fichiers textes, de faire
des comptes rendus, de manipuler du texte et d'exécuter d'autres
tâches de programmation diverses. Il réunit beaucoup de
fonctionnalités prises dans les langages C, awk
, sed
, et
les shells.
RCS signifie Revision Control System. Ce système est utilisé pour la
gestion de projets et le contrôle de versions des programmes. Il peut
gérer les fichiers binaires en utilisant le programme diff
de
GNU. RCS inclut les programmes suivants :
ci
ci
intègre les fichiers dans le système RCS.
co
co
extrait les fichiers du système RCS.
ident
ident
cherche et retourne la cha@^{i}ne d'identification de version
d'un fichier.
rcs
rcs
est une commande générale pour manipuler les fichiers dans
le système RCS.
rcsdiff
rcsdiff
compare des versions différentes d'un fichier géré par
le système RCS, en utilisant le programme diff
.
rcsmerge
rcsmerge
est utilisé pour fusionner des versions différentes de
fichiers.
rlog
rlog
extrait les informations de journalisation d'un fichier
sous contrôle de RCS.
sed
[Info]
sed
est un éditeur en mode "flot de données" basé sur l'éditeur
en mode lignes ed
. sed
est très utile pour l'édition de
données non interactive. Il est souvent utilisé en conjonction avec
d'autres commandes shells grâce à l'utilisation de l'opérateur de
redirection d'entrées/sorties `|'.
les Utilitaires Shell sont des programmes utilisés dans les scripts shells et les programmes de traitements en séquences.
basename
basename
prend en argument un nom de fichier et retourne ce nom
sans son préfixe, c'est à dire son chemin dans le système de
fichier, et éventuellement en supprimant son suffixe. Par exemple, si
C:/dos/ansi.sys
ou C:\dos\ansi.sys
est donné en argument
à basename
, il retourne ansi.sys
.
date
date
est une commande qui affiche la date et l'heure dans
plusieurs formats. Puisque le shell `COMMAND.COM' de
MS-DOS incorpore déjà une fonction du même nom, un lien a été
créé. Ainsi la commande est localisé sous la dénomination
gdate
.
dirname
dirname
retourne le nom de répertoire du nom de fichier donné
en argument. Ainsi si `C:\dos\ansi.sys' est l'argument de
dirname
, sa sortie sera `C:\dos'.
echo
echo
affiche ses arguments. Par exemple, `echo foo'
retourne `foo'. Ce programme est surtout utilisé pour afficher
des messages dans des scripts shells. La commande est localisée sous
le nom gecho
car la commande `COMMAND.COM' incorpore déjà
une fonction du nom d'echo
mais beaucoup moins puissante.
env
env
permet de modifier l'environnement d'exécution d'un
programme. Il peut définir des variables violant les règles
restrictives du système `COMMAND.COM' comme par exemple les
variables vides ou celles qui contiennent des caractères spéciaux.
expr
expr
évalue des expressions diverses telles que des expressions
arithmétiques, relationnelles, logiques et des opérations sur des
cha@^{i}nes de caractères.
false
La commande false
se borne à retourner la valeur 1 qui signifie
faux en shell.
pathchk
pathchk
permet de vérifier si le nommage des fichiers dans un
système de fichiers est valide par rapport au système
d'exploitation. La conformité est vérifiée en utilisant la norme
standard de nommage POSIX.1.
printenv
printenv
retourne l'environnement sous lequel va s'exécuter une
commande.
printf
Elaborée en puisant largement dans le manuel de la librairie C, la
commande printf
fournit l'impression de cha@^{i}nes de caractères
avec de nombreuses fonctionalités de formattage. Pour plus de
détails vous pouvez consulter la documentation Info
(see section 3. Documentation sur le CD-ROM).
Par exemple:
printf "Il est %d heures du matin" 5 |
affiche
Il est 5 heures du matin |
sleep
sleep
est souvent utilisé, dans des scripts shells, pour
interrompre, pendant une période de temps donnée, toutes les actions.
tee
tee
copie son entrée standard dans un fichier donné ou sur la
sortie standard. La commande tee
peut être assimilée à
l'opérateur `|' du shell.
test
, ou [
test
exécute des tests logiques, relationels, sur les fichiers
et sur les cha@^{i}nes de caractères. Il est très utile dans des
programmes shells. Le système MS-DOS n'autorise pas l'usage du
caractère `[', aussi celui-ci ne peut être utilisé pour
invoquer commande test
.
true
La commande true
retourne toujours la valeur 0 qui signifie
vrai en shell.
yes
yes
imprime de manière continue la lettre `y' (ou la cha@^{i}ne
que vous avez donné en argument) sur la sortie standard. C'est
particulièrement utile pour des programmes qui posent une série de
question dont la réponse est toujours la même.
tar
[Info, Doc]
Le programme tar
est utilisé pour créer et manipuler des
archives. Une archive est un fichier qui regroupe le contenu de
plusieurs fichiers, et qui sauvegarde leurs informations tels que les
propriétaires, les dates d'accès, leur taille, etc. Le tar
de GNU
suporte les sauvegardes et les restitutions incrémentales, les archives
compressées et les archives multi-volumes ainsi que de nombreuses autres
extensions telle que la comparaison du contenu d'une archive avec des
fichiers sur un disque.
Le portage de tar
par DJGPP incorpore toutes les fonctionalités
du tar
de GNU sauf l'archivage à distance.
TeX est un programme général permettant de contrôler finement la composition de documents. La sortie d'un programme TeX (appelée un fichier `.dvi') peut-être traitée par un programme spécial pour produire un document PostScript, PCL, ou d'un autre format. TeX est aussi pratique pour composer des documents mathématiques. Tous les programmes développés dans le cadre du projet TeX, dirigé par Donald E. Knuth, de l'université de Stanford, tels que METAFONT, DVItype, GFtoDVI, BibTeX, Tangle, etc... sont inclus dans ce paquet. D'autres programmes tels que DVIcopy (écrit par Peter Breitenlohner), MetaPost et ses utilitaires, etc... sont également inclus.
La distribution TeX contenue sur le CD-ROM contient également
dvips
qui converti des fichiers `.dvi' en PostScript,
dvilj
et dvilj4
pour la conversion en PCL pour des
imprimantes LaserJet, dvidj
pour l'impression sur des imprimantes
DeskJet 500/500c/550c (en couleur), dvivga
pour visualiser des
fichiers DVI en affichage VGA et la plupart des paquets de macros pour
TeX (comme Texinfo de la fondation,
LaTeX,
etc.).
Tangle et Weave peuvent être utilisés pour un type de programmation spéciale appelée programmation litéraire. Dans cette programmation, le code source et sa documentation sont produits à partir d'un fichier unique écrit dans un langage spécial du nom de Web.
Texinfo est un ensemble d'utilitaires qui génèrent aussi bien des manuels dans un format imprimable qu'au format hypertexte compréhensible par la commande Info (format Info). Le paquet contient également des programmes pour lire des documents au format Info. La version 3 contient des programmes en Emacs Lisp et des programmes en C ou en shell. Le mode Emacs Texinfo de GNU facilite l'édition et la mise à jour de documents Texinfo.
Sont inclus les programmes suivants :
makeinfo
makeinfo
produit des manuels accessibles en ligne (au format
ASCII ou Info).
info
info
est le programme qui lit les documents au format
Info. See section Comment utiliser info
.
texindex
texindex
produits des fichiers d'index pour les manuels à
imprimer. Il est habituellement appelé par le script shell
texi2dvi
(disponible dans le paquet Texinfo) pour générer un
fichier DVI à partir d'un fichier Texinfo.
install-info
ou instinfo
install-info
insère des entrées dans le menu principal
proposé par la commande de documentation en ligne Info. Ce menu est le
fichier `dir'. Le plus souvent il est invoqué dans un script
d'installation d'un programme pour ajouter sa documentation dans le menu
d'Info. Comme la longueur du nom install-info
viole la règle
8+3 de DOS, le lien symbolique instinfo
permet d'appeler le
programme.
Les Utilitaires Texte GNU manipulent des données textuelles. Beaucoup d'entre eux manipulent des champs de données. Un champ étant un bloc de texte délimité par un caractère, en général un espace. Ainsi chaque mot dans une ligne de texte est considéré comme un champ.
Parmi les programmes de ce paquet il y a :
cat
cat
concatène les fichiers donnés en argument et envoie le
résultat ssur la sortie standard.
cksum
cksum
calcule une somme de contrôle CRC pour des
fichiers. L'algorithme utilisé par le programme respecte la norme de
standardisation POSIX.2.
comm
csplit
csplit
est un fractionneur contextuel de fichiers. Il utilise des
expressions régulières pour subdiviser un fichier.
cut
cut
affiche des champs ou des intervalles de caractères (par
exemple les dix premiers d'une ligne) de chaque ligne d'un fichier.
expand
expand
remplace toutes les occurences du caractère de
tabulation par un nombre donné de caractères d'espacements.
fold
fold
ajuste des lignes pour que celles-ci tiennent sur un
nombre donné de colonnes (par défaut ce nombre est 80).
head
head
affiche les N premières lignes d'un fichier. (Par défaut N
vaut 10).
join
join
fusionne deux fichiers entre eux selon la mise en
correspondance de certains champs qu'ils contiennent.
md5sum
md5sum
calcule l'empreinte digitale d'un fichier en utilisant
l'algorithme MD5. Cette empreinte est unique et repose sur le contenu
du fichier; à la moindre modification du fichier, md5sum
donnera une empreinte différente.
nl
nl
retourne le contenu d'un fichier en préfixant chaque ligne
de leur numéro.
od
od
affiche le contenu d'un fichier dans plusieurs formats
incluant l'octal, l'hexadécimal et d'autres formats ASCII.
paste
paste
fusionne plusieurs fichiers en concaténant chacunes de
leurs lignes. Ce programme peut être utilisé pour réassembler un fichier
après avoir fait usage de la commande cut
.
pr
sort
sort
trie les lignes d'un fichier en se basant sur les champs
qu'il contient.
split
split
découpe un fichier en plusieurs sous-fichiers de taille
fixe.
sum
tac
tac
affiche les lignes d'un fichier en commençant par la
dernière. Vous pouvez aussi utiliser tac
pour concatener des
fichiers; toutefois ils seront concaténés à partir de leur fin.
tail
tail
affiche les N dernières lignes d'un fichier (par défaut N
vaut 10).
tr
tr
transforme des jeux de caractères divers vers d'autres jeux
(par exemple il transforme les lettres majuscules en lettres
minuscules).
unexpand
unexpand
fait le contraire d'expand
. Il convertit toutes
les occurrences d'un nombre donné d'espaces par un caractère de
tabulation.
uniq
uniq
affiche le contenu d'un fichier tout en supprimant les
lignes dupliquées.
wc
wc
calcule le nombre de caractères, de mots et/ou de lignes
dans un fichier.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Ces articles proposent des informations complémentaires sur le logiciel libre, le Projet GNU, et la Free Software Foundation (Fondation du Logiciel Libre).
Ce que ces logiciels ne font pas Qu'est-ce que GNU ? Qu'est-ce qu'un logiciel libre ? Qu'est ce que le logiciel libre ? Qu'est-ce que la Free Software Foundation ? Qu'est-ce que la "gauche d'auteur" (copyleft) ? Qu'est ce que le copyleft ? Linux et le Projet GNU Qu'est ce qu'un système GNU basé sur Linux ? Le manifeste GNU
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Les logiciels fourni avec ce livre peuvent rendre un système d'exploitation Microsoft plus pratique d'utilisation. Vous pouvez aussi donner des copies de ces programmes, ou même vendre des copies autant que vous le désirez, comme spécifié dans la Licence Publique Générale (GPL). Ces logiciels sont des logiciels libres, car en les utilisant vous êtes libre.
Mais les logiciels sur le CD-ROM ne sont pas un système d'exploitation complet, ils sont prévus pour fonctionner avec MS-DOS ou MS-Windows, mais pas de les remplacer complètement. MS-DOS et MS-Windows ne sont pas des logiciels libres ; si vous les utilisez, vous êtes sous la domination de Microsoft.
Nous n'avons pas l'intention de montrer Microsoft du doigt, car à cet égard il n'est pas diffèrent de la plupart des éditeurs de logiciels. Les systèmes d'exploitation de Microsoft sont des logiciels propriétaires. Cela signifie que le code source est secret, donc que vous ne pouvez pas comprendre comment fonctionne le logiciel, ou le modifier selon vos besoins, ou diffuser des améliorations. Et si vous partagez des copies avec vos amis, l'éditeur vous qualifiera de "pirate" et vous menacera de procès. Aussi longtemps qu'il y aura des logiciels propriétaires sur votre ordinateur, votre liberté est seulement partielle.
Nous espérons qu'en utilisant les logiciels libres de GNU fournis avec ce livre, vous commencerez à apprécier la liberté qui vous est offerte. Si cela vous arrive, la prochaine étape sera de vous débarrasser des logiciels propriétaires, et de passer à un système libre, un système GNU basé sur Linux (see section Linux et le Projet GNU).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
GNU (prononcez "guh-new") est un système d'exploitation entièrement libre, qui possède une compatibilité ascendante avec Unix. La première version du système complet de GNU date de 1996 ; cependant, la plupart des composants du système GNU sont utilisés depuis de nombreuses années, et beaucoup d'entre eux sont sur le CD-ROM de ce livre.
Mais la réponse la plus courte est GNU N'est pas Unix (c'est ce que veut dire GNU).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
En anglais, logiciel libre se dit "free software". Etant donné les traductions possibles du mot "free", certaines personnes confondent logiciel libre et logiciel gratuit (autrement appelé "freeware").
Vous pouvez (ou non) payer pour obtenir des logiciels GNU, mais, de toutes façons, vous aurez des libertés spécifiques une fois que vous l'aurez reçu. Premièrement, vous avez la liberté de copier un programme et de le distribuer à vos amis et collègues ; deuxièmement, vous avez la liberté d'étudier et de modifier un programme comme bon vous semble (cela nécessite un accès au code source) ; troisièmement, vous avez la liberté de diffuser une version modifiée ou améliorée d'un programme.
Si vous redistribuez des logiciels GNU, vous pouvez percevoir des frais de distribution ou encore vous pouvez les donner ; mais vous devez toujours respecter les conditions de distribution ; dans la plupart des cas, la Licence Publique Générale de GNU (GNU GPL), qui assure que ce logiciel sera aussi un logiciel libre pour la personne qui recevra votre copie. Pour de plus amples informations, voir Qu'est-ce que le Copyleft ?, et GNU General Public License.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
La Free Software Foundation, Inc. (la FSF) est dédiée à l'élimination des restrictions sur la copie, la redistribution, la compréhension et la modification de programmes informatiques. Nous faisons cela en promouvant le développement et l'utilisation de logiciels libres -- principalement sur le système GNU.
D'autres organisations distribuent n'importe quel logiciel libre disponible. En revanche, la FSF se concentre sur le développement de nouveaux logiciels libres. Nous avons travaillé pour construire un système libre suffisamment complet pour éviter d'utiliser des systèmes d'exploitation propriétaires.
En dehors du développement de GNU, la fondation distribue des logiciels électroniquement par le biais d'Internet à coût zéro, et distribue des CD-ROMS et des manuels imprimés payants. Nous dépendons de vos achats et donations pour maintenir le projet GNU en mouvement. Toutes les donations que vous faites à la Free Software Foundation sont déductibles de vos impôts.
Après chaque sortie de logiciels, nous faisons des mises à jour et apportons des améliorations régulièrement. Nous sortons entre 2 et 20 mises à jour par an pour chaque programme. Faire cela et développer de nouveaux programmes nécessite beaucoup de travail, c'est pourquoi tous les dons de code source et de documentation pertinente, de machines, de travaux, ou dons financiers sont toujours appréciés.
La Fondation maintient aussi un répertoire de services, une liste de personnes qui offrent des services aux utilisateurs de logiciels GNU contre une rémunération. Le répertoire de service est situé dans le fichier `SERVICE' du répertoire principal du CD-ROM. Les services peuvent être des réponses aux questions des nouveaux utilisateurs, la personnalisation de programmes, le portage vers de nouveaux systèmes ou encore du support technique.
Si vous désirez figurer dans ce répertoire de services, si vous voulez aider les logiciels GNU, ou si vous souhaitez obtenir un formulaire de commande de la FSF à jour, contactez-nous. See section Comment contacter la Fondation.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
La façon la plus simple de diffuser un logiciel libre est de le placer dans le domaine public, non copyrighté. Mais cela peut servir à d'autres personnes pour faire des versions modifiées propriétaires, qui interdisent la liberté de redistribuer et de modifier de telles versions minent le but de donner la liberté à tous les utilisateurs. Pour empêcher cela, la gauche d'auteur (copyleft) utilise le copyright sous une nouvelle forme.
Typiquement, les copyrights sont utilisés pour restreindre les libertés; la gauche d'auteur utilise le droit d'auteur pour préserver les libertés. La gauche d'auteur est un instrument légal qui oblige les personnes qui redistribuent un programme à inclure les droits d'utiliser, de modifier, et de redistribuer le code ; le code et les libertés deviennent légalement inséparables.
La gauche d'auteur utilisée par le projet GNU se compose de la combinaison d'une notification de copyright standard et de la GNU General Public License (ou GNU GPL) ; see section GNU General Public License). La GNU GPL est une licence qui vous donne les libertés précédemment citées.
Une forme alternative, la GNU Library General Public License(11) (ou GNU LGPL ; see section GNU Library General Public License), s'applique à certaines bibliothèques GNU. Cette licence permet l'utilisation de bibliothèques dans des exécutables propriétaires sous certaines conditions. La licence appropriée est incluse dans chaque distribution de code source de GNU et dans de nombreux manuels. Des copies imprimées sont disponibles sur demande.
Nous vous encourageons à placer vos programmes et documentations sous la gauche d'auteur et nous l'avons conçue de façon très simple pour que vous puissiez le faire. Les détails sur l'application de l'une ou l'autre des licences publiques sont inclus à la fin de cette licence.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Nombre d'utilisateurs utilisent une version modifiée du système GNU chaque jour sans s'en douter. Par un concours de circonstances, la version de GNU la plus utilisée de nos jours porte le nom de "Linux", et de nombreux utilisateurs n'imaginent pas l'ampleur de ses connexions avec le projet GNU.
Il existe vraiment un Linux ; c'est le noyau, et ces personnes s'en servent. Mais on ne peut utiliser un noyau tout seul ; celui-ci est utile seulement comme une partie d'un système complet. Le système dans lequel Linux est typiquement utilisé est une variante du système GNU --- en d'autres termes, un système GNU basé sur Linux.
De nombreux utilisateurs ne sont pas pleinement conscients de la distinction entre le noyau qu'est Linux et le système complet qui est aussi appelé "Linux". L'utilisation ambiguë du nom ne favorise pas la compréhension.
Les programmeurs savent généralement que Linux est un noyau. Mais puisqu'ils ont souvent entendu le système complet appelé aussi " Linux ", ils pensent que le système s'appelle ainsi. Par exemple, beaucoup pensent qu'après l'écriture du noyau par Linus Torvalds, les gens ont cherché d'autres logiciels libres, et ce sans raison particulière, puisque presque tout ce qui était nécessaire pour faire un système ressemblant à Unix était déjà disponible.
Ce qu'ils ont trouvé n'était pas un accident : c'était le système GNU. Les logiciels libres, qui étaient alors disponibles, formèrent un système complet, car le projet GNU travaillait depuis 1984 pour en faire un. Le manifeste GNU (see section Le manifeste GNU) avait déterminé le but du développement d'un système à la Unix, nomme GNU. Avant que Linux ne soit écrit, le système était presque achevé.
La plupart des projets de logiciels libres ont pour but de développer un programme particulier pour un travail particulier. Par exemple, Linus Torvalds a écrit un noyau à la Unix (Linux) ; Donald Knuth a écrit un formateur de texte (TeX) ; Bob Scheifler a développé un système de fenêtrage (X Window System). C'est normal de mesurer la contribution de ce genre de projet par les programmes spécifiques issus de ce projet.
Si nous essayons de mesurer la contribution du projet GNU de cette façon, que conclurions-nous ? Un vendeur de CD-ROM trouvera que dans ses " Distributions Linux ", le logiciel GNU est le plus grand contingent unique, environ 28% du code source total et cela inclut quelques uns des composants majeurs essentiels sans lesquels il ne pourrait pas y avoir de système. Linux seul représente environ 3%. Par conséquent, si vous deviez choisir un nom pour le système en vous basant sur l'auteur des programmes du système, le choix le plus approprié serait "GNU".
Mais nous ne pensons pas que ce soit la meilleure façon de considérer la question. Le projet GNU n'était pas à l'origine conçu pour développer des programmes spécifiques. Il n'était pas conçu pour développer un compilateur C, bien que nous l'ayons fait. Ce n'était pas un projet pour développer un éditeur de textes, bien que nous en ayons développé un. Le but du projet GNU était de développer un système complet libre à la Unix.
De nombreuses personnes ont apporté des contributions majeures aux logiciels libres du système, et méritent toutes d'être créditées. Mais le fait que ce soit un système, et pas une simple collection de programmes utiles, était prévu à l'origine du projet. Nous avons fait une liste des programmes nécessaires afin de réaliser un système libre complet, et nous avons systématiquement écrit ou trouvé des personnes pour compléter cette liste. Nous avons écrit les composants majeurs essentiels, tels que l'assembleur et l'éditeur de liens, parce que vous ne pouvez pas avoir un système sans eux. Un système complet nécessite plus que des outils de programmation ; le Bourne Again Shell, l'interpréteur Postscript Ghostscript, et la bibliothèque C de GNU sont tout aussi importants.
Au début des années 90, nous avons séparé le système entier du noyau (et nous avons travaillé aussi sur un noyau, le GNU Hurd, qui fonctionne au-dessus de Mach). Le développement de ce noyau a été plus difficile que prévu, et nous travaillons encore dessus pour l'achever.
Heureusement, vous n'avez pas à l'attendre, parce que Linux fonctionne maintenant. Quand Linus Torvalds a écrit Linux, il a comblé le dernier manque majeur. Les utilisateurs ont pu alors utiliser Linux et le système GNU pour faire un système libre complet : un système basé sur Linux (ou système GNU/Linux).
Leur assemblage paraître simple, mais ce n'était pas un travail facile. La bibliothèque C de GNU (appelée glibc) nécessitait des changements considérables. L'intégration d'un système complet en distribution "prêt à l'emploi" était aussi un gros travail. Cela nécessitait que l'on adresse le problème de l'installation et du démarrage du système --- un problème que l'on n'avait pas résolu, car nous n'avions pas la solution. Ceux qui ont développé les diverses distributions du système y ont considérablement contribué.
Le projet GNU supporte le système GNU/Linux aussi bien que le système GNU, même d'un point de vue financier. Nous avons financé la réécriture des extensions propres à Linux au sein de la bibliothèque C de GNU, pour qu'elles puissent être correctement intégrées, et que les nouveaux systèmes GNU/Linux utilisent la dernière version de la bibliothèque sans aucun changement. Nous avons aussi financé une des premières étapes du développement de la distribution Debian GNU/Linux.
Nous utilisons aujourd'hui des systèmes GNU basés sur Linux pour la plupart de notre travail, et nous espérons que vous en ferez de même. Il ne faut pas créer de confusion auprès du public en utilisant le nom "Linux" seul. Linux est le noyau, un des composants essentiels du système. Le système, en son ensemble, est le système GNU.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Copyright © 1985, 1993 Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. Autorisation est accordée à toute personne de créer et distribuer telles quelles des copies de ce document, dans n'importe quel format, sous condition que cette notice de copyright et d'autorisation soit préservée, et que le distributeur accorde ces mêmes libertés au destinataire pour d'éventuelles redistributions telles que garanties par cette notice. Aucune modification ne peut être faite. |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Le manifeste GNU, reproduit ci-dessous, a été écrit par Richard Stallman au commencement du projet GNU pour encourager la participation et le soutien de tous. Au cours des premières années, il y a eu quelques petites mises à jour pour tenir compte des développements, mais maintenant, il nous semble plus judicieux de le laisser en l'état.
Nous avons appris depuis qu'il y avait quelques incompréhensions, celles-ci peuvent être corrigées en changeant quelques mots. Des notes de bas de page ajoutées en 1993 aident à clarifier ces points.
Pour les dernières informations sur les logiciels GNU actuellement disponibles, veuillez vous référer à la dernière parution du bulletin GNU. La liste est trop importante pour être incluse ici.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
GNU, l'acronyme de GNU's Not Unix, est le nom du système complet de logiciels compatible Unix que j'écris pour pouvoir le donner librement à tous ceux qui en auraient besoin. (12)
De nombreux bénévoles m'aident. Les contributions de temps, d'argent, de logiciels et de matériels sont les bienvenues.
Pour l'instant, nous avons un éditeur de texte, Emacs, utilisant le Lisp pour écrire des commandes d'édition, un débogueur, un générateur d'analyseurs syntaxiques compatible avec Yacc, un éditeur de liens, et environ 35 autres utilitaires. Un shell (un interpréteur de commandes) est presque terminé. Un nouveau compilateur C portable et optimisé s'est compilé lui-même et devrait être disponible cette année. Un premier noyau existe mais nécessite plus de fonctions pour émuler Unix. Quand le noyau et le compilateur seront terminés, il sera possible de distribuer un système GNU propice au développement. Nous utiliserons TeX comme notre formateur de textes, mais un nroff est en cours de développement. Nous utiliserons aussi le système libre et portable X Window System. Par la suite, nous ajouterons un Common Lisp portable, le jeu Empire, un tableur et des centaines d'autres choses, plus une documentation en ligne. Nous espérons fournir, finalement, tout ce qui peut être utile et qui est normalement inclus dans un système Unix et plus encore.
GNU pourra exécuter des programmes Unix mais ne sera pas identique à Unix. Nous ferons toutes les améliorations que nous jugerons appropriées, en nous basant sur nos expériences avec d'autres systèmes d'exploitation. En particulier, nous prévoyons d'avoir des fichiers avec des noms longs, des numéros de version de fichier, un système de fichiers à tolérance de panne, éventuellement un système de complétion des noms de fichiers, un dispositif d'affichage indépendant du terminal, et peut-être, finalement, un système de fenêtrage basé sur Lisp, au travers duquel plusieurs programmes Lisp et autres programmes Unix pourront partager un écran. Le C et le Lisp seront tous les deux disponibles comme langages de programmation système. Nous essayerons de supporter UUCP, MIT Chaosnet, et les protocoles de l'Internet pour la communication.
Initialement, GNU vise les machines de classe 68000/16000 avec de la mémoire virtuelle, car ce sont les machines les plus simples pour le faire fonctionner. Nous laissons l'effort supplémentaire pour l'adapter sur de plus faibles machines à ceux qui voudront l'utiliser dessus.
Pour éviter d'horribles confusions, veuillez bien prononcer le `G' de `GNU' quand vous parlez de ce projet.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
J'estime que la règle d'or est que, si j'aime un programme, je dois le partager avec d'autres qui aiment ce programme. Les éditeurs de logiciels cherchent à diviser et à conquérir les utilisateurs, en interdisant à chacun de partager avec les autres. Je refuse de rompre la solidarité avec les autres utilisateurs de cette manière. Je ne peux pas, en mon âme et conscience, signer un accord de non-divulgation ou une licence de logiciels. Pendant des années, j'ai oeuvré au sein du laboratoire d'intelligence artificielle pour résister à ces tendances, mais finalement, ils sont allés trop loin : je ne pouvais pas rester dans une institution où de telles choses avaient lieu contre ma volonté.
Pour pouvoir continuer à utiliser les ordinateurs en accord avec ma conscience, j'ai décidé de rassembler un ensemble suffisant de logiciels libres, pour pouvoir me débrouiller sans logiciels non-libres. J'ai démissionné du laboratoire d'IA pour que le MIT ne puisse invoquer toutes les excuses légales pour m'empêcher de distribuer GNU librement.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Unix n'est pas pour moi le système parfait, mais il n'est pas trop mauvais. Les fonctions essentielles d'Unix semble être les bonnes, et je pense pouvoir compléter ce qui manque à Unix sans les gâcher. Et un système compatible Unix serait commode à adopter par de nombreuses personnes.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
GNU n'est pas dans le domaine public. Tout le monde aura le droit de modifier et redistribuer GNU, mais aucun distributeur ne pourra restreindre ces futures redistributions. C'est-à-dire que des modifications propriétaires seront interdites. Je veux être sûr que toutes les versions de GNU restent libres.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
J'ai rencontré beaucoup de programmeurs enthousiasmés par GNU et qui souhaitaient contribuer.
De nombreux programmeurs sont insatisfaits de la commercialisation de logiciels systèmes. Peut-être que cela leur permet de gagner plus d'argent, mais cela les amène forcement à se sentir en conflit avec les autres programmeurs en général, plutôt que d'être camarades. L'acte fondamental d'une amitié entre des programmeurs est le partage des programmes ; les arrangements commerciaux typiquement utilisés de nos jours interdisent aux programmeurs de considérer les autres comme des amis. L'acheteur de programmes doit choisir entre l'amitié et obéir à la loi. Naturellement, beaucoup décident que l'amitié est plus importante. Mais ceux qui respectent la loi se sentent souvent mal à l'aise de n'avoir que ces deux choix. Ils sont désabusés et pensent que programmer est juste une façon de gagner de l'argent.
En utilisant GNU plutôt que des programmes propriétaires, nous pouvons être aimables envers tout le monde tout en respectant la loi. De plus, GNU est une source d'inspiration et une bannière sous laquelle d'autres peuvent nous rejoindre dans le partage. Ceci peut nous procurer un sentiment d'harmonie, impossible à atteindre avec des logiciels qui ne sont pas libres. Pour environ la moitié des programmeurs avec lesquels j'ai discuté, c'est une satisfaction importante que l'argent ne peut pas remplacer.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Je demande aux fabricants d'ordinateurs de faire don de machines et d'argent. Je demande aux individus de faire don de programmes et de travail.
Une des conséquences à laquelle vous pouvez vous attendre si vous donnez des machines, c'est que GNU tournera dessus très rapidement. Les machines doivent être complètes, prêtes à l'utilisation, sans besoin de système particulier de climatisation ou d'alimentation.
J'ai trouvé de nombreux programmeurs impatients de contribuer à mi-temps pour GNU. Pour la plupart des projets, un tel travail distribué à temps partiel, serait très difficile à coordonner ; les diverses parties codées indépendamment ne fonctionneraient pas ensemble. Mais ce problème n'existe pas dans le cas du projet de remplacement d'Unix. Un système Unix complet contient des centaines d'utilitaires, chacun étant documenté séparément. La plupart des spécifications des interfaces sont déterminées par la compatibilité avec Unix. Si chaque collaborateur peut écrire un remplacement compatible pour un seul utilitaire Unix et l'intégrer proprement à la place de l'original sur un système Unix, il s'en suit que ces utilitaires fonctionneront sans problème ensemble. Même en faisant quelques concessions à la loi de Murphy qui créera quelques problèmes inattendus, l'assemblage de ces composants sera une tâche réalisable. (Le noyau demandera quand même une communication plus soutenue et sera réalisé par un petit groupe.)
Si je reçois des dons financiers, je pourrais embaucher quelques personnes à temps plein ou à mi-temps. Le salaire ne sera peut-être pas très élevé par rapport au marché, mais je cherche des personnes pour lesquelles l'esprit de communauté est aussi important que l'appât du gain. Je considère que c'est une façon de permettre à quelques personnes dévouées de consacrer toutes leurs ressources au projet GNU, en leur évitant d'avoir à gagner leur vie autrement.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Une fois GNU achevé, tout le monde pourra obtenir de bons logiciels libres comme l'air. @footnote { Ceci est un autre endroit où je n'ai pas fait la distinction entre les deux définitions de "libre". La phrase telle quelle n'est pas fausse, vous pouvez obtenir des copies de logiciels GNU gratuitement, par vos amis ou par l'Internet. Mais elle suggère effectivement la mauvaise idée. (NdT: en français, la distinction entre "libre" et "gratuit" est évidente).}
Ceci représente beaucoup plus que l'économie d'une licence Unix. Cela veut dire que l'on va éviter la duplication inutile du travail de programmation. Cet effort pourra plutôt se diriger vers l'avancement du domaine informatique.
Les sources du système complet seront disponibles pour tous. Et cela aura pour résultat qu'un utilisateur qui a besoin de changer un composant du système aura toujours la liberté d'effectuer des changements lui-même, ou d'engager une personne ou une société capable d'effectuer ces changements pour lui. Les utilisateurs ne seront plus à la merci d'une seule personne ou d'une seule société qui possède les sources du programme et qui est la seule à pouvoir effectuer des changements.
Les écoles pourront fournir un milieu beaucoup plus éducatif en encourageant chaque étudiant à étudier et à améliorer le code du système. Le laboratoire informatique d'Harvard avait comme politique de n'installer aucun programme sur le système si ses sources n'étaient pas disponibles, et ils soutenaient cette politique en refusant carrément d'installer certains programmes. Cela m'a beaucoup inspiré.
Enfin, les frais engendrés par les questions d'appartenance et de droits des logiciels ne seront plus d'actualité.
Les mesures pour faire payer les licences des programmes et de leurs copies génère toujours un coût important pour la société en général, à cause des mécanismes nécessaires pour calculer combien (c'est-à-dire quels programmes) chacun doit payer. Et il faudrait un Etat policier pour appliquer parfaitement ces mesures. Prenons une station orbitale, où l'air doit être fabriqué à un coût important : facturer chaque litre inspiré peut être justifié, mais porter un masque/compteur toute la journée et toute la nuit est intolérable même si on a de quoi payer la facture. Et les cameras de surveillance placées partout pour vérifier que vous ne retirez jamais le masque/compteur seraient inacceptables. Il vaut mieux financer la fabrication de l'air avec une taxe par personne et se débarrasser des masques.
De copier tout ou des parties d'un logiciel semble aussi naturel à un programmeur que de respirer, tout aussi productif. Cela devrait être tout aussi libre.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Personne ne s'en servira si c'est gratuit, car cela veut dire que l'on ne peut compter sur aucun support. Il faut faire payer le logiciel pour financer le service après-vente.
Il y a des gens qui préfèrent payer pour GNU et le service plutôt que d'obtenir GNU sans service. Une société qui propose le service uniquement à ceux qui ont obtenu GNU gratuitement, devrait être rentable. (13)
Nous devons faire la distinction entre le support en termes de réel travail de programmation et le simple support d'assistance. On ne peut pas compter sur le premier de la part d'un simple revendeur. Si votre problème n'est pas suffisamment répandu, le revendeur vous enverra balader.
Si votre société a besoin d'un support fiable, la seule façon est d'avoir toutes les sources et tous les outils nécessaires. A partir de là, vous pouvez engager n'importe quelle personne qualifiée pour régler les problèmes. Vous n'êtes pas à la merci d'une seule personne. Avec Unix, le prix des sources rend cette solution inabordable pour la plupart des sociétés. Avec GNU ce sera facile. Il serait éventuellement concevable qu'il n'y ait personne de disponible, mais les modalités de distribution ne sont pas responsables de ce problème. GNU ne propose pas de régler tous les problèmes, mais seulement quelques-uns.
Pendant ce temps, les utilisateurs qui n'y connaissent rien en informatique ont besoin d'assistance et de personnes pour les aider à faire ce qu'ils pourraient faire très bien eux-mêmes si seulement ils connaissaient.
De tels services pourraient être proposés par des sociétés qui ne font que des cours d'initiation et des réparations. S'il est vrai que les utilisateurs préfèrent dépenser de l'argent pour un logiciel intégrant un service après-vente, ils seront aussi d'accord pour payer simplement le service, ayant obtenu le logiciel gratuitement. Les sociétés de service se feront concurrence sur la qualité et le prix de leurs prestations. Les utilisateurs ne seront pas limités à une société particulière. En même temps, ceux d'entre nous qui n'ont pas besoin du service pourront utiliser le logiciel sans payer le service.
On ne peut pas être connu sans publicité et il faut payer le logiciel pour financer la publicité.Ca ne sert à rien de faire de la publicité si on peut obtenir le logiciel gratuitement.
Il existe plusieurs formes de publicité gratuite ou bon marché qui peuvent être utilisées pour informer de nombreux utilisateurs au sujet de GNU. Cependant, il est peut-être vrai que l'on peut atteindre plus d'utilisateurs avec de la publicité. Si cela est vrai, une société qui fait de la publicité sur le service payant de copie et de distribution de GNU doit être suffisamment rentable pour assurer sa propre publicité et bien davantage. Ainsi, seuls les utilisateurs qui bénéficient de la publicité la payent.
En revanche, si de nombreuses personnes obtiennent GNU par leurs relations, de telles sociétés ne seraient pas rentables, et cela démontrerait que la publicité n'était pas vraiment nécessaire pour répandre GNU. Pourquoi est-ce que les partisans du libre échange ne veulent pas laisser cette décision au marché libre ? (14)
Ma société a besoin d'un système propriétaire pour être compétitive.
GNU va retirer les systèmes d'exploitation du domaine de la concurrence. Vous ne pourrez pas être avantagé dans ce domaine, mais votre concurrent non plus. Vous pourrez rivaliser dans d'autres domaines. Si votre domaine est la vente de systèmes d'exploitation, vous n'aimerez pas GNU, et c'est tant pis pour vous. Si votre domaine est différent, GNU peut vous éviter d'être poussé dans le domaine onéreux de la vente de systèmes d'exploitation.
J'aimerais bien voir le développement de GNU financé par des dons de fabricants et utilisateurs, réduisant ainsi les coûts pour chacun. (15)
Les programmeurs ne méritent-ils pas d'être récompensés pour leur créativité ?
Si quelque chose mérite une récompense, c'est bien la contribution sociale. La créativité peut être une contribution sociale, mais seulement tant que la société est libre de profiter des résultats. Si les programmeurs méritent d'être récompensés pour la création de logiciels innovants, de même, ils méritent d'être punis s'ils limitent l'utilisation de leurs programmes.
Un programmeur ne devrait-il pas avoir le droit de demander une récompense pour sa créativité ?
Il n'y a rien de mal à vouloir être payé pour son travail, ou à chercher à augmenter ses revenus, tant que l'on n'utilise pas de méthodes destructives. Mais les méthodes pratiquées dans le domaine du logiciel sont basées sur la destruction.
Extraire de l'argent aux utilisateurs d'un programme en limitant son utilisation est destructeur, car ces restrictions réduisent l'utilité du programme. Ce qui à son tour réduit la richesse apportée par ce programme à l'humanité. Quand le choix de limiter est délibéré, les conséquences néfastes qui en découlent sont de la destruction délibérée.
La raison pour laquelle un bon citoyen ne doit pas utiliser de telles méthodes destructrices pour augmenter sa richesse personnelle est que si tout le monde faisait de même, il y aurait un appauvrissement général dû à la destruction mutuelle. C'est ce que l'on appelle Ethique de Kant, ou règle d'or. Puisque je n'apprécie pas les conséquences qui adviennent si tout le monde fait de la rétention d'informations, je ne dois pas trouver acceptable qu'un individu le fasse. Plus précisément, le désir d'être récompensé pour sa création ne justifie pas que l'on prive le monde en général de toute ou partie de cette créativité.
Les programmeurs ne vont-ils pas mourir de faim ?
Je peux répondre que personne n'est forcé d'être un programmeur. La plupart d'entre nous n'arriverait pas à se faire payer pour faire des grimaces dans la rue. Mais nous ne sommes pas pour autant condamnés à passer notre vie dans la rue à faire des grimaces et mourir de faim. On fait autre chose.
Mais c'est une mauvaise réponse, car elle accepte l'a priori de la question : c'est-à-dire que sans possession du logiciel, les programmeurs ne pourraient pas recevoir le moindre sou. C'est, soi-disant, tout ou rien. La vraie raison pour laquelle les programmeurs ne vont pas mourir de faim est qu'il sera quand même possible pour eux d'être payés pour programmer ; seulement, peut-être pas autant qu'actuellement.
La restriction des copies n'est pas la seule base des affaires du domaine des logiciels. C'est la base la plus commune, car c'est la plus rentable. Si ces restrictions étaient interdites ou rejetées par le client, les éditeurs passeraient à d'autres formes d'organisation, qui sont actuellement moins utilisées. Il y a de nombreuses façons d'organiser une entreprise.
Il est probable qu'avec ce nouveau système, la programmation serait moins rentable qu'elle ne l'est actuellement. Mais ce n'est pas un argument valable contre le changement. Il n'est pas considéré comme injuste que les caissières gagnent ce qu'elles gagnent. Si les programmeurs gagnaient la même chose, ce ne serait pas non plus une injustice. (En pratique, ils gagneraient quand même beaucoup plus.)
Les gens n'ont-ils pas le droit de gérer l'utilisation de leur créativité ?
"Contrôler l'utilisation que l'on fait de ses idées" revient à contrôler la vie des autres ; et c'est souvent utilisé pour leur rendre la vie plus difficile.
Ceux qui ont étudié le problème de la propriété intellectuelle à fond (les avocats, les juristes, etc.) soutiennent qu'il n'existe aucun droit intrinsèque à la propriété intellectuelle. Les différents droits de soi-disant propriété intellectuelle reconnus par le gouvernement ont été créés par des législations précises dans des buts bien précis.
Par exemple, le système de brevets a été établi pour encourager les inventeurs à divulguer les détails de leurs inventions. Sa raison d'être était d'aider la société plutôt que d'avantager les inventeurs. A l'époque, la durée de vie de 17 ans pour un brevet était court par rapport à la cadence des évolutions technologiques. Puisque les brevets ne concernent que les fabricants, pour lesquels le coût et l'effort d'établir une licence sont minimes comparés à la mise en production, les brevets ne font souvent pas trop de tort. Ils ne gênent pas la plupart des individus qui utilisent des produits brevetés.
Le concept de droit d'auteur n'existait pas dans l'Antiquité, les auteurs copiaient souvent, et beaucoup, l'oeuvre des autres. Cette pratique était utile, et c'est de cette seule façon que les travaux de certains auteurs ont survécus ne serait-ce qu'en partie. Le système du droit d'auteur a été créé expressément pour encourager les auteurs. Dans le domaine pour lequel ce système a été inventé, les livres, qui pouvaient seulement être copiés en imprimerie ne causait pas de beaucoup de tort, et ne gênait pas la plupart des personnes qui lisaient ces livres.
Tous les droits de propriété intellectuelles ne sont que des licences accordées par la société parce que nous pensions, à tort ou à raison, que la société en général bénéficierait de ces accords. Mais dans chaque situation précise, nous devons nous demander : bénéficierons-nous vraiment d'accorder cette licence ? Quels actes autorisons-nous avec cette licence ?
Le cas des logiciels aujourd'hui est très différent de celui des livres il y a un siècle. Le fait que la manière la plus répandue de copier un programme est entre voisins, le fait qu'un programme contient à la fois du code source et du code binaire bien distinct, et le fait qu'un programme est utilisé plutôt que lu comme divertissement, se réunissent tous pour créer une situation dans laquelle celui qui applique le droit d'auteur fait du tort à la société, matériellement et spirituellement ; cette personne ne devrait pas appliquer le droit d'auteur, que la loi l'y autorise ou non.
La compétition permet de mieux faire les choses.
Le paradigme de la compétition est une course : en récompensant le vainqueur, nous encourageons tout le monde à courir plus vite. Quand le capitalisme fonctionne réellement de cette façon, tout marche bien ; mais ses partisans ont tort s'ils pensent que cela fonctionne toujours de cette façon. Si les coureurs oublient le pourquoi de la récompense, et deviennent obsédés par la victoire, quelles que soient les méthodes employées, ils risquent de trouver d'autres stratégies telles qu'agresser les autres concurrents. Si tous les coureurs s'engageaient dans un combat, ils finiraient tous en retard.
Les logiciels propriétaires et secrets sont l'équivalent moral des coureurs qui se battent. Malheureusement, le seul arbitre que l'on ait ne semble pas s'opposer aux combats ; il se contente de les réguler ("Pour dix mètres courus, vous avez le droit de tirer un coup de feu"). Il devrait en fait séparer les combattants, et punir les coureurs qui tentent de se battre.
Les gens s'arrêteront-ils de programmer sans l'appât du gain ?
En fait, beaucoup de gens programmeront même sans aucun bénéfice financier. La programmation exerce une fascination irrésistible pour quelques-uns, généralement ceux qui programment le mieux. Il n'y a aucune pénurie de musiciens professionnels qui continuent à jouer, même sans l'espoir de pouvoir en faire leur gagne-pain.
Mais en fait cette question, bien qu'elle soit souvent posée, ne convient pas à la situation. Les salaires des programmeurs ne disparaîtront pas mais diminueront peut-être. La question devient donc, trouvera-t-on des programmeurs qui travailleront pour une moindre rémunération. D'après mon expérience, la réponse est oui.
Pendant plus de dix ans, plusieurs des meilleurs programmeurs du monde ont travaillé au laboratoire d'Intelligence Artificielle du MIT pour un salaire bien moins important que ce qu'ils auraient touchés ailleurs. Ils étaient récompensés de plusieurs autres manières : la notoriété, le respect des autres, par exemple. Et la créativité est une récompense en soi.
Et puis la plupart sont partis pour faire le même travail pour beaucoup plus d'argent.
Les faits démontrent que les gens programmeront pour d'autres raisons que l'accumulation de richesses ; mais si on leur propose beaucoup plus d'argent, ils s'y attendront finalement et l'exigeront. Les organismes qui payent moins bien ont du mal face à ceux qui payent bien, mais ils devraient pouvoir s'en sortir si les gros payeurs sont bannis.
Nos besoins en programmeurs sont tellement importants que s'ils interdisent le partage, nous ne pouvons que leur obéir.
La situation n'est jamais aussi désespérée au point d'être amené à obéir à une telle interdiction.
Les programmeurs doivent bien gagner leur pain.
A court terme, cela est vrai. Cependant, il y a de nombreuses possibilités offertes à un programmeur pour vivre décemment sans pour autant vendre le droit d'utiliser un programme. Cette façon est la plus répandue actuellement, car c'est celle qui engendre le plus de profit pour les programmeurs et les hommes d'affaires, et non parce que c'est la seule manière de gagner son pain. Vous pouvez facilement trouver d'autres manières si vous le voulez. Voici quelques exemples.
Un fabricant arrivant avec un nouvel ordinateur payera pour le portage des systèmes d'exploitation sur le nouveau matériel.
L'offre de services d'enseignement, de conseil et de maintenance peut permettre la création d'emplois.
Les personnes avec des idées nouvelles peuvent distribuer des logiciels librement, en demandant des dons aux utilisateurs satisfaits ou en offrant un service de conseil. J'ai déjà rencontré des personnes travaillant ainsi.
Les utilisateurs ayant des besoins en commun, peuvent créer des groupes d'utilisateurs et payer des cotisations. Un tel groupe pourrait faire appel à une société de développement pour écrire les programmes spécifiques pour ses membres.
Toutes sortes de développement pourraient être financés par une taxe sur les logiciels :
supposons que chaque personne qui achète un ordinateur doive payer x pour cent du prix en tant que taxe sur les logiciels. Le gouvernement reverserait cette somme à un organisme tel que la NSF pour subvenir au développement de logiciels. Mais si l'acheteur fait lui-même un don au développement de logiciels, il pourra être crédité pour cette taxe. Il pourrait donner au projet de son choix, car il espérera profiter des résultats à l'achèvement du projet. Il pourra donc être exempté de la taxe si le montant de sa donation recouvre celle-ci.
Le taux de la taxe pourrait être déterminé par un vote de ceux qui la payent, pondéré par le montant de l'imposition.
Les conséquences :
A terme, rendre les programmes libres est un pas vers le monde d'après pénurie, quand personne ne devra travailler très dur juste pour survivre. Les gens seront libres de se consacrer à des activités ludiques telles que la programmation, après avoir, bien entendu, passé les dix heures par semaine nécessaires pour des oeuvres telles que la législation, la thérapie de famille, la réparation de robots et l'exploration d'astéro@"{i}des. Il n'y aura donc plus besoin de gagner sa vie en programmant.
Nous avons déjà beaucoup réduit la quantité de travail que la société entière doit fournir pour sa productivité, mais seulement une petite part se traduit en temps de loisirs pour les travailleurs, car beaucoup d'activités non-productives sont nécessaires pour accompagner l'activité productive. Les raisons principales sont la bureaucratie et la lutte isométrique contre la concurrence. Le logiciel libre va beaucoup réduire ces fuites du domaine du développement logiciel. Nous devons faire cela, pour que les gains de productivité se traduisent en moins d'heures de travail pour nous.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
B.1 GNU GENERAL PUBLIC LICENSE B.2 GNU LIBRARY GENERAL PUBLIC LICENSE B.3 LICENSE PUBLIQUE GÉNÉRALE GNU
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Copyright © 1989, 1991 Free Software Foundation, Inc. 59 Temple Place -- Suite 330, Boston, MA 02111-1307, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
one line to give the program's name and an idea of what it does. Copyright (C) 19yy name of author This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. |
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. |
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice |
This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Copyright © 1991 Free Software Foundation, Inc. 59 Temple Place -- Suite 330, Boston, MA 02111-1307, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the library GPL. It is numbered 2 because it goes with version 2 of the ordinary GPL.] |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users.
This license, the Library General Public License, applies to some specially designated Free Software Foundation software, and to any other libraries whose authors decide to use it. You can use it for your libraries, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library, or if you modify it.
For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link a program with the library, you must provide complete object files to the recipients so that they can relink them with the library, after making changes to the library and recompiling it. And you must show them these terms so they know their rights.
Our method of protecting your rights has two steps: (1) copyright the library, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the library.
Also, for each distributor's protection, we want to make certain that everyone understands that there is no warranty for this free library. If the library is modified by someone else and passed on, we want its recipients to know that what they have is not the original version, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that companies distributing free software will individually obtain patent licenses, thus in effect transforming the program into proprietary software. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
Most GNU software, including some libraries, is covered by the ordinary GNU General Public License, which was designed for utility programs. This license, the GNU Library General Public License, applies to certain designated libraries. This license is quite different from the ordinary one; be sure to read it in full, and don't assume that anything in it is the same as in the ordinary license.
The reason we have a separate public license for some libraries is that they blur the distinction we usually make between modifying or adding to a program and simply using it. Linking a program with a library, without changing the library, is in some sense simply using the library, and is analogous to running a utility program or application program. However, in a textual and legal sense, the linked executable is a combined work, a derivative of the original library, and the ordinary General Public License treats it as such.
Because of this blurred distinction, using the ordinary General Public License for libraries did not effectively promote software sharing, because most developers did not use the libraries. We concluded that weaker conditions might promote sharing better.
However, unrestricted linking of non-free programs would deprive the users of those programs of all benefit from the free status of the libraries themselves. This Library General Public License is intended to permit developers of non-free programs to use free libraries, while preserving your freedom as a user of such programs to change the free libraries that are incorporated in them. (We have not seen how to achieve this as regards changes in header files, but we have achieved it as regards changes in the actual functions of the Library.) The hope is that this will lead to faster development of free libraries.
The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, while the latter only works together with the library.
Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one.
A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library.
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
(For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library.
In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of the Library into a program that is not a library.
If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code.
However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself.
You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:
For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License).
To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
one line to give the library's name and an idea of what it does. Copyright (C) year name of author This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. |
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. signature of Ty Coon, 1 April 1990 Ty Coon, President of Vice |
That's all there is to it!
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Copyright © 1989, 1991 Free Software Foundation, Inc. 59 Temple Place -- Suite 330, Boston, MA 02111-1307, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Les licences relatives à la plupart des logiciels sont destinées à supprimer votre liberté de les partager et de les modifier. Par contraste, la licence publique générale GNU General Public License veut garantir votre liberté de partager et de modifier les logiciels libres, pour qu'ils soient vraiment libres pour tous leurs utilisateurs. La présente licence publique générale s'applique à la plupart des logiciels de la Free Software Foundation, ainsi qu'à tout autre programme dont les auteurs s'engagent à l'utiliser. (Certains autres logiciels sont couverts par la Licence Publique Générale pour Bibliothèques GNU à la place). Vous pouvez aussi l'appliquer à vos programmes.
Quand nous parlons de logiciels libres, nous parlons de liberté, non de gratuité. Nos licences publiques générales veulent vous garantir : que vous avez toute liberté de distribuer des copies des logiciels libres (et de facturer ce service, si vous le souhaitez) ; que vous recevez les codes sources ou pouvez les obtenir si vous le souhaitez ; que vous pouvez modifier les logiciels ou en utiliser des éléments dans de nouveaux programmes libres ; et que vous savez que vous pouvez le faire.
Pour protéger vos droits, nous devons apporter des restrictions, qui vont interdire à quiconque de vous dénier ces droits, ou de vous demandez de vous en désister. Ces restrictions se traduisent par certaines responsabilités pour ce qui vous concerne, si vous distribuez des copies de logiciels, ou si vous les modifiez.
Par exemple, si vous distribuez des copies d'un tel programme, gratuitement ou contre une rémunération, vous devez transférer aux destinataires tous les droits dont vous disposez. Vous devez vous garantir qu'eux-mêmes, par ailleurs, reçoivent ou peuvent recevoir le code source. Et vous demandez leur montrer les présentes dispositions, de façon qu'ils connaissent leurs droits.
Nous protégeons vos droits en deux étapes : (1) Nous assurons le droit d'auteur (copyright) du logiciel, et (2) Nous vous proposons cette licence, qui vous donne l'autorisation légale de dupliquer, distribuer et/ou modifier le logiciel.
De même, pour la protection de chacun des auteurs, et pour notre propre protection, nous souhaitons nous assurer que tout le monde comprenne qu'il n'y a aucune garantie portant sur ce logiciel libre. Si le logiciel est modifié par quelqu'un d'autre puis transmis à des tiers, nous souhaitons que les destinataires sachent que ce qu'ils possèdent n'est pas l'original, de façon que tous problèmes introduits par d'autres ne se traduisent pas par une répercussion négative sur la réputation de l'auteur original.
Enfin, tout programme libre est en permanence menacé par des brevets de logiciels. Nous souhaitons éviter le danger que des sous-distributeurs d'un programme libre obtiennent à titre individuel des licences de brevets, avec comme conséquence qu'ils ont un droit de propriété sur le programme. Pour éviter cette situation, nous avons fait tout ce qui est nécessaire pour que tous brevets doivent faire l'objet d'une concession de licence qui en permette l'utilisation libre par quiconque, ou bien qu'il ne soit pas concédé du tout.
Nous présentons ci-dessous les closes et dispositions concernant la duplication, la distribution et la modification.
Les activités autres que la duplication, la distribution et la modification ne sont pas couvertes par la présente licence ; elles n'entrent pas dans le cadre de cette dernière. L'exécution du programme n'est soumise à aucune restriction, et les résultats du programme ne sont couverts que si son contenu constitue un ouvrage fondé sur le programme (indépendamment du fait qu'il a été réalisé par exécution du programme). La véracité de ce qui précède dépend de ce que fait le programme.
Le concessionnaire peut facturer l'acte physique de transfert d'un exemplaire, et il peut, à sa discrétion, proposer en échange d'une rémunération une protection en garantie.
Les exigences ci-dessus s'appliquent à l'ouvrage modifié pris en bloc. Si des sections identifiables de cet ouvrage ne dérivent pas du programme et peuvent être considérées raisonnablement comme représentant des ouvrages indépendants et distincts par eux-mêmes, alors la présente licence, et ses dispositions, ne s'appliquent pas à ces sections quand le concessionnaire les distribue sous forme d'ouvrages distincts. Mais quand le concessionnaire distribue ces mêmes sections en tant qu'élément d'un tout qui représente un ouvrage se fondant sur le programme, la distribution de ce tout doit se faire conformément aux dispositions de la présente licence, dont les autorisations, portant sur d'autres concessionnaires, s'étendent à la totalité dont il est question, et ainsi à chacune de ces parties, indépendamment de celui qu'il a écrite.
Ainsi, cette section n'a pas pour but de revendiquer des droits ou de contester vos droits sur un ouvrage entièrement écrit par le concessionnaire ; bien plus, l'intention est d'exercer le droit de surveiller la distribution d'ouvrages dérivée ou collective se fondant sur le programme.
De plus, un simple assemblage d'un autre ouvrage ne se fondant pas sur le programme, avec le programme (ou avec un ouvrage se fondant sur le programme) sur un volume d'un support de stockage ou distribution, ne fait pas entrer l'autre ouvrage dans le cadre de la présente licence.
Le code source d'un ouvrage représente la forme préférée de l'ouvrage pour y effectuer des modifications. Pour un ouvrage exécutable, le code source complet représente la totalité du code source pour tous les modules qu'il contient, plus tous fichiers de définitions d'interface associés, plus les informations en code machine pour commander la compilation et l'installation du programme exécutable. Cependant, à titre d'exceptions spéciales, le code source distribué n'a pas besoin de comprendre quoi que ce soit qui est normalement distribué (sous forme source ou sous forme binaire) avec les composants principaux (compilateur, noyau de système d'exploitation, etc.) du système d'exploitation sur lequel est exécuté le programme exécutable, à moins que le composant, par lui-même, soit joint au programme exécutable.
Si la distribution de l‘exécutable ou du code objet est réalisée de telle sorte qu'elle offre d'accéder à une copie à partir d'un lieu désigné, alors le fait d'offrir un accès équivalent à la duplication du code source à partir de ce même lieu s'entend comme distribution du code source, même si des tiers ne sont pas contraints de dupliquer la source en même temps que le code objet.
Si une partie quelconque de cette section est considérée comme nulle ou non exécutoire dans certaines circonstances particulières, le reste de cette section est réputé s'appliquer, et la section dans son ensemble est considérée comme s'appliquant dans les autres circonstances.
La présente section n'a pas pour objet de pousser le concessionnaire à enfreindre tous brevets ou autres revendications à droit de propriété, ou encore à contester la validité de une ou plusieurs quelconques de ces revendications ; la présente section a pour objet unique de protéger l'intégrité du système de distribution des logiciels libres, système qui est mis en oeuvre par les pratiques liées aux licences publiques. De nombreuses personnes ont apporté une forte contribution à la gamme étendue des logiciels distribués par ce système, en comptant sur l'application systématique de ce système ; c'est à l'auteur/donateur de décider s'il a la volonté de distribuer le logiciel par un quelconque autre système, et un concessionnaire ne peut imposer ce choix.
La présente section veut rendre parfaitement claire ce que l'on pense être une conséquence du reste de la présente licence.
Chaque version reçoit un numéro de version qui lui est propre. Si le programme spécifie un numéro de version de la présente licence, qui s'applique à cette dernier et "à toute autre version ultérieure", le concessionnaire a le choix de respecter les closes et dispositions de cette version, ou une quelconque version ultérieure publiée par la Free Software Foundation. Si le programme ne spécifie pas de numéro de version de la présente licence, le concessionnaire pourra choisir une version quelconque publiée à tout moment par la Free Software Foundation.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Si le concessionnaire développe un nouveau programme, et s'il en souhaite l'utilisation la plus large possible dans le public, le meilleur moyen d'y arriver est d'en faire un logiciel libre, que tout le monde pourra redistribuer et modifier au titre des présentes dispositions.
Dans ce but, il convient de rattacher au programme les avis suivants. Le moyen le plus sûr consiste à les rattacher au début de chaque fichier source, pour avertir le plus efficacement possible de l'exclusion de garantie ; et chaque fichier doit comporter au moins la ligne "copyright", et un pointeur indiquant où est localisée la totalité de l'avis.
Une ligne pour donner le nom du programme et une idée de ce qu'il fait. Copyright (C) 19yy nom de l'auteur Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier conformément aux dispositions de la Licence Publique Générale GNU, telle que publiée par la Free Software Foundation ; version 2 de la licence, ou encore (à votre choix) toute version ultérieure. Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de COMMERCIALISATION ou D'ADAPTATION A UN OBJET PARTICULIER. Pour plus de détail, voir la Licence Publique Générale GNU. Vous devez avoir reçu un exemplaire de la Licence Publique Générale GNU en même temps que ce programme ; si ce n'est pas le cas, écrivez à la Free Software Foundation Inc., 675 Mass Ave, Cambridge, MA 02139, Etats-Unis. |
Ajoutez aussi des informations sur le moyen permettant d'entrer en contact avec vous par courrier électronique (e-mail) et courrier normal.
Si le programme est interactif, prévoyez en sortie un court avis, tel que celui qui est présenté ci-dessous, lors du démarrage en mode interactif.
Gnomovision version 69, Copyright (C) 19yy nom de l'auteur Gnomovision est livré absolument SANS AUCUNE GARANTIE ; pour plus de détail, tapez "show w". Il s'agit d'un logiciel libre, et vous avez le droit de le redistribuer dans certaines conditions ; pour plus de détail, tapez "show c". |
Les instructions hypothétiques `show w' et `show c' doivent présenter les parties appropriées de la Licence Publique Générale. Bien évidemment, les instructions que vous utilisez peuvent porter d'autres noms que `show w' et `show c'; elles peuvent même correspondre à des clics de souris ou à des éléments d'un menu, selon ce qui convient à votre programme.
Si nécessaire, vous devrez aussi demander à votre employeur (si vous travaillez en tant que programmeur) ou à votre éventuelle école ou université, de signer une "renonciation à droit d'auteur" concernant le programme. En voici un échantillon (il suffit de modifier les noms) :
Yoyodyne, Inc., par la présente, renonce à tout intérêt de droits d'auteur dans le programme "Gnomovision" (qui fait des passages au niveau des compilateurs) écrit par James Hacker. Signature de Ty Coon, 1er Avril 1989 Ty Coon, President of Vice |
La présente Licence Publique Générale n'autorise pas le concessionnaire à incorporer son programme dans des programmes propriétaires. Si votre programme est une bibliothèque de sous-programmes, vous pouvez considérer comme plus intéressant d'autoriser une édition de liens des applications propriétaires avec la bibliothèque. Si c'est ce que vous souhaitez, vous devrez utiliser non pas la présente licence, mais la Licence Publique Générale pour Bibliothèques GNU.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Jump to: | A B C D E F G H I J K L M N O P R S T U V |
---|
Jump to: | A B C D E F G H I J K L M N O P R S T U V |
---|
[Top] | [Contents] | [Index] | [ ? ] |
Tout au long de cet ouvrage, nous désignerons tous les systèmes d'exploitation de Microsoft qui proposent une interface utilisateur à base de fenêtres (Windows 3.X, Windows 9X, et Windows NT) sous le nom général de MS-Windows. Lorsque des versions précises de ces systèmes doivent être désignées, nous utiliserons leur nom complet.
Ceci n'est en fait pas tout à fait exact: le noyau de ces systèmes d'exploitation accepte l'antislash et le slash, même si de nombreux programmes natifs de DOS et Windows ne prennent en compte que les antislash dans le traitement des chemins de fichiers. Ainsi, le `COMMAND.COM' ne reconnaît pas les slash utilisés par Unix pour séparer les noms de répertoires.
Ndt: la FAQ, pour Frequently Asked Questions (questions fréquemment posées), regroupe les questions que se posent généralement les débutants, et permet de résoudre la plupart des problèmes courants.
Windows 3.x comprend les versions 3.1 et 3.11 de Microsoft Windows
Ce qui inclut Windows NT version 3.5 ou ultérieure, et Windows 95, 98 et versions futures.
Ndt: nous avons ajouté une traduction française non officielle de la GPL
DPMI, le DOS Protected Mode Interface propose une manière d'exécuter des programmes en mode protégé par dessus MS-DOS, qui est un système d'exploitation en mode réel.
`COMMAND.COM' possède un environnement de taille fixe qui risque d'être trop réduit pour prendre en charge les variables supplémentaires exigées par les programmes GNU.
En fait, le message s'affiche lorsque `setup.bat' tente de faire entrer les variables nécessaires dans l'environnement afin de savoir si celui-ci possède l'espace nécessaire.
Certains disent que DVI est le pluriel de "devious" (déviant)
NdT: la FSF a récemment introduit la GNU Lesser General Public License pour la remplacer
Le choix des mots ici était irréfléchi. L'idée était que personne n'aurait à payer l'autorisation d'utiliser le système GNU. Mais cela n'était pas clair, et les gens ont souvent compris que les copies de GNU devaient toujours être distribuées peu chères ou gratuitement. Cela n'a jamais été l'intention ; plus tard, le manifeste mentionne pour les sociétés la possibilité de fournir un service de distribution rentable. Par la suite, j'ai appris à bien faire la distinction entre "free" dans le sens de libre, et "free" dans le sens de gratuit. Le logiciel libre est un programme que les utilisateurs ont la liberté de distribuer et de modifier. Certains utilisateurs peuvent obtenir des copies gratuitement, tandis que d'autres les paieront--et si cela peut rapporter de quoi financer l'amélioration de programmes, tant mieux. L'important est que toute personne détenant une copie a le droit de l'utiliser en collaboration avec d'autres.
De telles sociétés existent actuellement.
La Free Software Foundation recueille la plupart de ses fonds à travers un service de distribution, bien que ce soit plutôt un organisme caritatif qu'une société. Si personne ne choisit de commander des copies de logiciels à la FSF, celle-ci sera incapable de compléter son oeuvre. Mais cela ne veut pas dire pour autant que des restrictions propriétaires soient justifiées pour forcer le paiement par chaque utilisateur. Si seulement une partie des utilisateurs commande des copies à la FSF, cela suffira à maintenir la FSF à flot. C'est pour cela que nous demandons aux utilisateurs de nous soutenir de cette façon. Avez-vous contribué ?
Un groupe de sociétés a récemment réuni des fonds pour financer la maintenance du compilateur C de GNU.
[Top] | [Contents] | [Index] | [ ? ] |
Préface
Conventions1. Présentation
Remerciements
Absence de support technique
Rapporter une défaillance
Comment contacter la Fondation
Note du traducteur
Qu'y-a-t'il dans ce manuel ?2. Installation logicielle
Matériel requis
Systèmes d'exploitation
Programmes à essayer
Organisation du CD-ROM
Installation par copie de fichiers3. Documentation sur le CD-ROM
Installation pour exécution directe depuis le CD
Installation automatique
Installation de certains fichiers sur votre disque dur
Installation manuelle
Programmes Windows
Installation de NTEmacsComment compiler un logiciel à partir de son code source
Le fichier d'initialisation `.emacs' sous Windows NT
Installation des ports Cygnus des logiciels GNU
Localisation des erreurs
Problèmes d'installation
Problèmes d'exécution des programmes
Comment utiliser4. Liste des logiciels sur le CDROMinfo
Lecture de la documentation formatée en HTML
Lecture des pages man
Formats produisant un manuel papier
A. Informations complémentaires
Ce que ces logiciels ne font pasB. Conditions de distribution des logiciels GNU
Qu'est-ce que GNU ?
Qu'est-ce qu'un logiciel libre ?
Qu'est-ce que la Free Software Foundation ?
Qu'est-ce que la "gauche d'auteur" (copyleft) ?
Linux et le Projet GNU
Le manifeste GNU
Le manifeste GNU
Qu'est ce que GNU ? Gnu N'est pas Unix
Pourquoi j'ai du écrire GNU
Pourquoi GNU sera compatible avec Unix
Disponibilité de GNU
Pourquoi beaucoup de programmeurs veulent contribuer
Comment vous pouvez contribuer
Pourquoi tous les utilisateurs en bénéficieront.
Quelques objections facilement contrées aux objectifs de GNU
B.1 GNU GENERAL PUBLIC LICENSEIndex
B.1.1 PreambleB.2 GNU LIBRARY GENERAL PUBLIC LICENSE
B.1.2 How to Apply These Terms to Your New Programs
B.2.1 PreambleB.3 LICENSE PUBLIQUE GÉNÉRALE GNU
B.2.2 How to Apply These Terms to Your New Libraries
B.3.1 Préambule
B.3.2 Comment appliquer ces dispositions a vos nouveaux programmes
[Top] | [Contents] | [Index] | [ ? ] |
Préface
1. Présentation
2. Installation logicielle
3. Documentation sur le CD-ROM
4. Liste des logiciels sur le CDROM
A. Informations complémentaires
B. Conditions de distribution des logiciels GNU
Index
[Top] | [Contents] | [Index] | [ ? ] |
Button | Name | Go to | From 1.2.3 go to |
---|---|---|---|
[ < ] | Back | previous section in reading order | 1.2.2 |
[ > ] | Forward | next section in reading order | 1.2.4 |
[ << ] | FastBack | previous or up-and-previous section | 1.1 |
[ Up ] | Up | up section | 1.2 |
[ >> ] | FastForward | next or up-and-next section | 1.3 |
[Top] | Top | cover (top) of document | |
[Contents] | Contents | table of contents | |
[Index] | Index | concept index | |
[ ? ] | About | this page |