Manuel FreeBSD

Groupe de Documentation FreeBSD

Bienvenue à FreeBSD! Ce manuel décrit l'installation et l'utilisation quotidienne de la Version 8.2-RELEASE de FreeBSD et FreeBSD 9.0-RELEASE. Ce manuel est en constante évolution. Il est le résultat du travail de nombreuses personnes. Par conséquent, certaines sections peuvent prendre de l'âge et demandent à être mises à jour. Si vous voulez participer à ce projet, envoyez un courrier électronique à la liste de diffusion du groupe de documentation de FreeBSD. La dernière version anglaise de ce document est disponible sur le serveur World Wide Web FreeBSD (les versions antérieures de ce manuel peuvent être obtenues auprès de http://docs.FreeBSD.org/doc/). Il peut être aussi téléchargé dans divers formats et options de compression depuis le serveur FTP FreeBSD ou l'un des nombreux sites miroirs. Si vous préférez avoir une version imprimée du manuel, vous pouvez en acquérir une auprès de FreeBSD Mall. Vous pouvez aussi faire des recherches dans le Manuel.

N.d.T.: Contactez Marc Fonvieille si vous voulez collaborer à la traduction.

Version française de Marc Fonvieille avec la collaboration de Gregory Delfly

Première version de Frédéric Haby

La redistribution du code source (SGML), modifié ou non, et compilé (HTML, PostScript, etc.) est soumise aux conditions suivantes :

  1. Le copyright ci-dessus, la présente liste de conditions et l'avertissement qui la suit doivent figurer dans le code source.

  2. Le code source distribué sous forme compilée doit faire apparaître le copyright ci-dessus, la présente liste de conditions et l'avertissement qui la suit.



Important : CE DOCUMENT EST FOURNI ``TEL QU'EN L'ÉTAT'' PAR LE PROJET DE DOCUMENTATION FRANÇAISE DE FreeBSD ET IL N'EST DONNÉ AUCUNE GARANTIE, IMPLICITE OU EXPLICITE, QUANT À SON UTILISATION COMMERCIALE, PROFESSIONNELLE OU AUTRE. LES COLLABORATEURS DU PROJET DE DOCUMENTATION FRANÇAISE DE FreeBSD NE PEUVENT EN AUCUN CAS ÊTRE TENUS POUR RESPONSABLES DE QUELQUE DOMMAGE OU PRÉJUDICE DIRECT, INDIRECT, SECONDAIRE OU ACCESSOIRE (Y COMPRIS LES PERTES FINANCIèRES DUES AU MANQUE À GAGNER, À L'INTERRUPTION D'ACTIVITÉS, OU LA PERTE D'INFORMATIONS ET AUTRES) DÉCOULANT DE L'UTILISATION DE LA DOCUMENTATION OU DE L'IMPOSSIBILITÉ D'UTILISER CELLE-CI, ET DONT L'UTILISATEUR ACCEPTE L'ENTIÈRE RESPONSABILITÉ.

FreeBSD is a registered trademark of the FreeBSD Foundation.

3Com and HomeConnect are registered trademarks of 3Com Corporation.

3ware and Escalade are registered trademarks of 3ware Inc.

ARM is a registered trademark of ARM Limited.

Adaptec is a registered trademark of Adaptec, Inc.

Adobe, Acrobat, Acrobat Reader, and PostScript are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.

Apple, AirPort, FireWire, Mac, Macintosh, Mac OS, Quicktime, and TrueType are trademarks of Apple Computer, Inc., registered in the United States and other countries.

Corel and WordPerfect are trademarks or registered trademarks of Corel Corporation and/or its subsidiaries in Canada, the United States and/or other countries.

Sound Blaster is a trademark of Creative Technology Ltd. in the United States and/or other countries.

CVSup is a registered trademark of John D. Polstra.

Heidelberg, Helvetica, Palatino, and Times Roman are either registered trademarks or trademarks of Heidelberger Druckmaschinen AG in the U.S. and other countries.

IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390, and ThinkPad are trademarks of International Business Machines Corporation in the United States, other countries, or both.

IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical and Electronics Engineers, Inc. in the United States.

Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

Intuit and Quicken are registered trademarks and/or registered service marks of Intuit Inc., or one of its subsidiaries, in the United States and other countries.

Linux is a registered trademark of Linus Torvalds.

LSI Logic, AcceleRAID, eXtremeRAID, MegaRAID and Mylex are trademarks or registered trademarks of LSI Logic Corp.

M-Systems and DiskOnChip are trademarks or registered trademarks of M-Systems Flash Disk Pioneers, Ltd.

Macromedia, Flash, and Shockwave are trademarks or registered trademarks of Macromedia, Inc. in the United States and/or other countries.

Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

Netscape and the Netscape Navigator are registered trademarks of Netscape Communications Corporation in the U.S. and other countries.

GateD and NextHop are registered and unregistered trademarks of NextHop in the U.S. and other countries.

Motif, OSF/1, and UNIX are registered trademarks and IT DialTone and The Open Group are trademarks of The Open Group in the United States and other countries.

Oracle is a registered trademark of Oracle Corporation.

PowerQuest and PartitionMagic are registered trademarks of PowerQuest Corporation in the United States and/or other countries.

RealNetworks, RealPlayer, and RealAudio are the registered trademarks of RealNetworks, Inc.

Red Hat, RPM, are trademarks or registered trademarks of Red Hat, Inc. in the United States and other countries.

SAP, R/3, and mySAP are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world.

Sun, Sun Microsystems, Java, Java Virtual Machine, JavaServer Pages, JDK, JRE, JSP, JVM, Netra, OpenJDK, Solaris, StarOffice, Sun Blade, Sun Enterprise, Sun Fire, SunOS, Ultra and VirtualBox are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.

Symantec and Ghost are registered trademarks of Symantec Corporation in the United States and other countries.

MATLAB is a registered trademark of The MathWorks, Inc.

SpeedTouch is a trademark of Thomson.

U.S. Robotics and Sportster are registered trademarks of U.S. Robotics Corporation.

VMware is a trademark of VMware, Inc.

Waterloo Maple and Maple are trademarks or registered trademarks of Waterloo Maple Inc.

Mathematica is a registered trademark of Wolfram Research, Inc.

XFree86 is a trademark of The XFree86 Project, Inc.

Ogg Vorbis and Xiph.Org are trademarks of Xiph.Org.

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the “™” or the “®” symbol.


Table des matières
Préface
I. Pour commencer
1. Introduction
1.1. Synopsis
1.2. Bienvenue à FreeBSD!
1.3. A propos du Projet FreeBSD
2. Installer FreeBSD
2.1. Synopsis
2.2. Matériel nécessaire
2.3. Tâches de pré-installation
2.4. Débuter l'installation
2.5. Présentation de sysinstall
2.6. Allouer l'espace disque
2.7. Choisir ce que l'on va installer
2.8. Choisir votre support d'installation
2.9. Procéder à l'installation
2.10. Post-installation
2.11. Dépannage
2.12. Guide avancé d'installation
2.13. Préparer votre propre support d'installation
3. Quelques bases d'UNIX
3.1. Synopsis
3.2. Consoles virtuelles & terminaux
3.3. Permissions
3.4. Organisation de l'arborescence des répertoires
3.5. Organisation des disques
3.6. Monter et démonter des systèmes de fichiers
3.7. Processus
3.8. Daemons, signaux, et comment tuer un processus
3.9. Interpréteurs de commandes - ``Shells''
3.10. Editeurs de texte
3.11. Périphériques et fichiers spéciaux de périphérique
3.12. Le format des fichiers binaires
3.13. Pour plus d'information
4. Installer des applications: les logiciels pré-compilés et les logiciels portés
4.1. Synopsis
4.2. Généralités sur l'installation de logiciels
4.3. Trouver votre application
4.4. Utiliser le système des logiciels pré-compilés
4.5. Utiliser le catalogue des logiciels portés
4.6. Activités de post-installation
4.7. Que faire avec les logiciels portés ne fonctionnant pas?
5. Le système X Window
5.1. Synopsis
5.2. Comprendre X
5.3. Installer X11
5.4. Configuration d'X11
5.5. Utilisation des polices de caractères sous X11
5.6. Le gestionnaire de procédures de connexions graphiques - ``X Display Manager''
5.7. Environnements de travail
II. Tâches courantes
6. Bureautique
6.1. Synopsis
6.2. Navigateurs
6.3. Productivité
6.4. Lecteurs de document
6.5. Finance
6.6. Résumé
7. Multimédia
7.1. Synopsis
7.2. Configurer une carte son
7.3. Fichiers MP3
7.4. Lecture des Vidéos
7.5. Configuration des cartes TV
7.6. Scanners
8. Configurer le noyau de FreeBSD
8.1. Synopsis
8.2. Pourquoi compiler un noyau sur mesure?
8.3. Compiler et installer un noyau sur mesure
8.4. Le fichier de configuration
8.5. Si quelque chose se passe mal
9. Imprimer
9.1. Synopsis
9.2. Introduction
9.3. Configuration de base
9.4. Configuration avancée de l'imprimante
9.5. Using Printers ** Traduction en Cours **
9.6. Alternatives to the Standard Spooler ** Traduction en Cours **
9.7. Troubleshooting ** Traduction en Cours **
10. Compatibilité binaire avec Linux
10.1. Synopsis
10.2. Installation
10.3. Installer Mathematica®
10.4. Installer Maple
10.5. Installer MATLAB®
10.6. Installer Oracle®
10.7. Installer SAP® R/3®
10.8. Sujets avancés
III. Administration Système
11. Configuration et optimisation
11.1. Synopsis
11.2. Configuration initiale
11.3. Configuration principale
11.4. Configuration des applications
11.5. Démarrer des services
11.6. Configuration de l'utilitaire cron
11.7. Utilisation du système rc sous FreeBSD
11.8. Configuration des cartes réseaux
11.9. Hôtes virtuels
11.10. Fichiers de configuration
11.11. Optimisation avec sysctl
11.12. Optimiser les disques
11.13. Optimisation des limitations du noyau
11.14. Ajouter de l'espace de pagination
11.15. Gestion de l'énergie et des ressources
11.16. Utiliser et déboguer l'ACPI sous FreeBSD
12. Processus de démarrage de FreeBSD
12.1. Synopsis
12.2. Le problème du démarrage
12.3. Le gestionnaire de démarrage et les étapes de démarrage
12.4. Interaction avec le noyau au démarrage
12.5. ``Device Hints''--Paramétrage des périphériques
12.6. Init: Initialisation de la gestion des processus
12.7. Séquence d'arrêt du système
13. Gestion des comptes et des utilisateurs
13.1. Synopsis
13.2. Introduction
13.3. Le compte super-utilisateur
13.4. Comptes système
13.5. Comptes utilisateur
13.6. Modifier des comptes
13.7. Mettre en place des restrictions pour les utilisateurs
13.8. Groupes
14. Sécurité
14.1. Synopsis
14.2. Introduction
14.3. Securing FreeBSD ** Traduction en Cours **
14.4. DES, MD5, et chiffrement
14.5. Mots de passe non réutilisables
14.6. L'encapsuleur TCP (“TCP Wrappers”)
14.7. Kerberos
14.8. Kerberos5 ** Traduction en Cours **
14.9. OpenSSL
14.10. IPsec
14.11. OpenSSH
14.12. Listes de contrôle d'accès au système de fichiers
14.13. Surveillance des problèmes de sécurité relatifs aux programmes tierce-partie
14.14. Avis de sécurité de FreeBSD
14.15. Comptabilité des processus
15. Environnements jail
15.1. Synopsis
15.2. Termes relatifs aux environnements jail
15.3. Introduction
15.4. Création et contrôle de l'environnement jail
15.5. Optimisation et administration
16. Mandatory Access Control ** Traduction en Cours **
16.1. Synopsis
16.2. Key Terms in this Chapter
16.3. Explanation of MAC
16.4. Understanding MAC Labels
16.5. Module Configuration
16.6. The MAC bsdextended Module
16.7. The MAC ifoff Module
16.8. The MAC portacl Module
16.9. MAC Policies with Labeling Features
16.10. The MAC partition Module
16.11. The MAC Multi-Level Security Module
16.12. The MAC Biba Module
16.13. The MAC LOMAC Module
16.14. Implementing a Secure Environment with MAC
16.15. Another Example: Using MAC to Constrain a Web Server
16.16. Troubleshooting the MAC Framework
17. Audit des événements relatifs à la sécurité du système
17.1. Synopsis
17.2. Mots-clés utilisés dans ce chapitre
17.3. Installation du support pour les audits
17.4. Configuration de l'audit
17.5. Administration du système d'audit
18. Stockage des données
18.1. Synopsis
18.2. Noms des périphériques
18.3. Ajouter des disques
18.4. RAID
18.5. Périphériques de stockage USB
18.6. Création et utilisation de supports optiques (CDs)
18.7. Création et utilisation de supports optiques (DVDs)
18.8. Création et utilisation de disquettes
18.9. Créer et utiliser les bandes magnétiques
18.10. Sauvegardes sur disquettes
18.11. Stratégies de sauvegarde
18.12. Sauvegardes
18.13. Systèmes de fichiers réseaux, en mémoire et sauvegardés sur fichier
18.14. Instantané (``Snapshot'') d'un système de fichiers
18.15. Quotas d'utilisation des disques
18.16. Chiffrer les partitions d'un disque
18.17. Chiffrage de l'espace de pagination
19. GEOM: architecture modulaire de gestion des disques
19.1. Synopsis
19.2. Introduction à GEOM
19.3. RAID0 - “Striping”
19.4. RAID1 - “mirroring”
19.5. Périphériques réseau “GEOM Gate”
19.6. Ajouter un label à un disque
20. Le gestionnaire de volume Vinum
20.1. Synopsis
20.2. Les disques sont trop petits
20.3. Les goulots d'étranglement d'accès aux données
20.4. Intégrité des données
20.5. Objets Vinum
20.6. Quelques exemples
20.7. Appellation des objets
20.8. Configuration de Vinum
21. Virtualisation
21.1. Synopsis
21.2. FreeBSD comme système d'exploitation invité
21.3. FreeBSD comme système d'exploitation hôte
22. Localisation - Utilisation et configuration de l'I18N/L10N
22.1. Synopsis
22.2. Les bases
22.3. Utiliser la localisation
22.4. Compiler des programmes I18N
22.5. Localiser FreeBSD pour des langues spécifiques
23. Mise à jour de FreeBSD
23.1. Synopsis
23.2. Mise à jour de FreeBSD
23.3. Portsnap: un outil de mise à jour du catalogue des logiciels portés
23.4. Suivre une branche de développement
23.5. Synchroniser vos sources
23.6. Recompiler le système
23.7. Suivre les mises à jour pour plusieurs machines
24. DTrace
24.1. Synopsis
24.2. Des différences de mise en oeuvre
24.3. Activer la prise en charge de DTrace
24.4. Utiliser DTrace
24.5. Le langage D
IV. Réseau
25. Serial Communications ** Traduction en Cours **
25.1. Synopsis
25.2. Introduction
25.3. Terminals
25.4. Dial-in Service
25.5. Dial-out Service
25.6. Setting Up the Serial Console
26. PPP et SLIP
26.1. Synopsis
26.2. Using User PPP ** Traduction en Cours **
26.3. Utiliser PPP intégré au noyau
26.4. Utiliser PPP sur Ethernet (PPPoE)
26.5. Utiliser PPP sur ATM (PPPoA)
26.6. Utiliser SLIP
27. Courrier électronique
27.1. Synopsis
27.2. Utilisation du courrier électronique
27.3. Configuration de sendmail
27.4. Changer votre agent de transfert de courrier
27.5. Dépannage
27.6. Sujets avancés
27.7. SMTP avec UUCP
27.8. Configuration pour l'envoi seul
27.9. Utiliser le courrier électronique avec une connexion temporaire
27.10. Authentification SMTP
27.11. Clients de messagerie
27.12. Utiliser fetchmail
27.13. Utiliser procmail
28. Serveurs réseau
28.1. Synopsis
28.2. Le ``super-serveur'' inetd
28.3. Système de fichiers réseau (NFS)
28.4. Services d'information réseau (NIS/YP)
28.5. Configuration réseau automatique (DHCP)
28.6. Serveurs de noms (DNS)
28.7. Serveur HTTP Apache
28.8. Protocole de transfert de fichiers (FTP)
28.9. Serveur de fichiers et d'impression pour clients Microsoft Windows (Samba)
28.10. Synchronisation de l'horloge avec NTP
29. Firewalls ** Traduction en Cours **
29.1. Introduction
29.2. Firewall Concepts
29.3. Firewall Packages
29.4. The OpenBSD Packet Filter (PF) and ALTQ
29.5. The IPFILTER (IPF) Firewall
29.6. IPFW
30. Administration réseau avancée
30.1. Synopsis
30.2. Passerelles et routes
30.3. Réseau sans fil
30.4. Bluetooth
30.5. Bridging
30.6. Système sans disque dur
30.7. ISDN
30.8. Translation d'adresses
30.9. IP sur liaison parallèle (PLIP)
30.10. IPv6
30.11. ATM (“Asynchronous Transfer Mode”)
V. Annexes
A. Se procurer FreeBSD
A.1. Editeurs de CD-ROMs et DVDs
A.2. Sites FTP
A.3. CVS anonyme
A.4. Utiliser CTM
A.5. Utiliser CVSup
A.6. Utiliser Portsnap
A.7. Etiquettes CVS
A.8. Sites AFS
A.9. Sites rsync
B. Bibliographie
B.1. Livres & magazines consacrés à FreeBSD
B.2. Manuels d'utilisation
B.3. Manuels d'administration
B.4. Manuels de programmation
B.5. ``Internes'' du système d'exploitation
B.6. Ouvrages de référence en matière de sécurité
B.7. Ouvrages de référence sur le matériel
B.8. Histoire d'UNIX
B.9. Revues et journaux
C. Ressources sur Internet
C.1. Listes de diffusion
C.2. Forums de discussion
C.3. Serveurs World Wide Web
C.4. Adresses électroniques
C.5. Comptes
D. Clés PGP
D.1. Officiers
D.2. Membres de l'équipe de base
D.3. Développeurs
Glossaire FreeBSD
Index
Colophon
Liste des tableaux
2-1. Exemple d'inventaire de périphériques
2-2. Partitionnement du premier disque
2-3. Partitionnement pour les disques suivants
2-4. Noms des images ISO FreeBSD 6.X et 7.X et leurs significations
3-1. Codes des périphériques disques
18-1. Conventions de nom pour les disques physiques
20-1. Organisations de plex Vinum
30-1. Câblage d'un câble parallèle pour réseau
30-2. Adresses IPv6 réservées
Liste des illustrations
2-1. Menu du chargeur FreeBSD
2-2. Résultats typiques de la détection du matériel
2-3. Menu de sélection du pays
2-4. Quitter sysinstall
2-5. Sélection de l'entrée Usage dans le menu principal de sysinstall
2-6. Sélectionner le menu de documentation
2-7. Menu de documentation de sysinstall
2-8. Menu principal de sysinstall
2-9. Menu des tables de clavier de sysinstall
2-10. Menu principal de sysinstall
2-11. Options de sysinstall
2-12. Commencer une installation standard
2-13. Sélection du disque pour FDisk
2-14. Partitions Fdisk typiques avant édition
2-15. Partionnement Fdisk utilisant l'intégralité du disque
2-16. Menu du gestionnaire de démarrage de sysinstall
2-17. Quitter la sélection de disque
2-18. L'éditeur Disklabel de sysinstall
2-19. L'éditeur Disklabel de sysinstall en mode automatique
2-20. Espace libre pour la partition racine
2-21. Edition de la taille de la partition racine
2-22. Choisir le type de la partition racine
2-23. Choisir le point de montage de la partition racine
2-24. Editeur Disklabel de sysinstall
2-25. Choix de l'ensemble de distribution
2-26. Confirmer le choix de la distribution
2-27. Choisir le support d'installation
2-28. Sélection d'un périphérique Ethernet
2-29. Configuration réseau pour ed0
2-30. Edition d'inetd.conf
2-31. Configuration par défaut du FTP anonyme
2-32. Edition du message de bienvenue du FTP
2-33. Edition du fichier exports
2-34. Options de configuration de la console système
2-35. Options de l'économiseur d'écran
2-36. Délai de l'économiseur d'écran
2-37. Sortie de la configuration de la console système
2-38. Choisissez votre région
2-39. Sélectionnez votre pays
2-40. Sélectionnez votre fuseau horaire
2-41. Sélectionner la configuration du protocole de la souris
2-42. Configurer le protocole de la souris
2-43. Configuration du port de la souris
2-44. Choisir le port de la souris
2-45. Activer le ``daemon'' - gestionnaire de la souris
2-46. Tester le gestionnaire de la souris
2-47. Sélection d'une catégorie de logiciels pré-compilés
2-48. Sélection des logiciels pré-compilés
2-49. Installation des logiciels pré-compilés
2-50. Confirmation de l'installation de logiciels pré-compilés
2-51. Sélectionner l'ajout d'utilisateur
2-52. Ajout de l'information utilisateur
2-53. Quitter la gestion des utilisateurs et des groupes
2-54. Quitter l'installation
2-55. Configuration réseau
2-56. Sélection du MTA par défaut
2-57. Configuration de ntpdate
2-58. Configuration réseau suite
20-1. Organisation par concaténation
20-2. Organisation segmentée
20-3. Organisation RAID-5
20-4. Un simple volume Vinum
20-5. Un volume Vinum en mode miroir
20-6. Un volume Vinum segmenté
20-7. Un volume Vinum en mode miroir segmenté
Liste des exemples
2-1. Utilisation d'une partition existante
2-2. Redimensionner une partition existante
3-1. Exemples d'appellation de disques, tranches et partitions
3-2. Modèle conceptuel d'un disque
4-1. Télécharger un logiciel pré-compilé à la main puis l'installer localement
11-1. Créer un fichier de pagination sous FreeBSD
12-1. Ecran de boot0
12-2. Ecran de boot2
12-3. Une console non sécurisée dans /etc/ttys
13-1. Ajouter un utilisateur sous FreeBSD
13-2. Suppression interactive de compte avec rmuser
13-3. chpass interactif par le super-utilisateur
13-4. chpass interactif par un utilisateur ordinaire
13-5. Modifier votre mot de passe
13-6. Modifier le mot de passe d'un autre utilisateur en tant que super-utilisateur
13-7. Ajouter un groupe en utilisant pw(8)
13-8. Ajouter quelqu'un dans un groupe en utilisant pw(8)
13-9. Utilisation de id(1) pour déterminer l'appartenance à un groupe
14-1. Utiliser SSH pour créer un tunnel sécurisé pour SMTP
18-1. Utiliser dump(8) sur ssh
18-2. Utiliser dump sur ssh avec la variable RSH positionnée
18-3. Procédure de création d'une disquette de démarrage
18-4. Utilisation de mdconfig pour monter une image d'un système de fichiers
18-5. Création d'un nouveau disque sauvegardé sur fichier avec mdconfig
18-6. Création et montage d'un disque sauvegardé sur fichier avec mdmfs
18-7. Création d'un disque mémoire avec mdconfig
18-8. Création d'un disque mémoire avec mdmfs
27-1. Configuration de la base de données d'accès de sendmail
27-2. Exemple de base de données d'alias
27-3. Exemple de correspondance de domaine virtuel de courrier
28-1. Recharger le fichier de configuration d'inetd
28-2. Monter un systèmes de fichiers exporté avec amd
30-1. Réseau d'agence ou à domicile
30-2. Siège social ou autre réseau
A-1. Récupérer quelque chose de -CURRENT (ls(1)):
A-2. Utiliser SSH pour récupérer l'arborescence src/:
A-3. Récupérer la version 6-STABLE de ls(1):
A-4. Générer la liste des différences concernant ls(1) (sous forme de ``diffs unifiés'') entre différentes versions de FreeBSD
A-5. Savoir quels autres noms de modules peuvent être utilisés:

Préface

Version française de Marc Fonvieille .

Public visé

Le nouveau venu à FreeBSD constatera que la première section de ce livre guide l'utilisateur à travers le processus d'installation de FreeBSD, et présente progressivement les concepts et les conventions qui sont les fondements d'UNIX®. Travailler avec cette section demande un peu plus que le simple désire d'explorer, et la capacité d'assimiler de nouveaux concepts quand ils sont présentés.

Une fois que vous en êtes arrivé là, la seconde, bien plus grande, section du Manuel est une référence complète de tous les sujets qui intéressent les administrateurs systèmes de FreeBSD. Certains de ces chapitres peuvent vous recommander d'effectuer des lectures préliminaires, cela est noté dans le synopsis au début de chaque chapitre.

Pour une liste de sources d'informations complémentaires, veuillez consulter Annexe B.

Modifications depuis la Seconde Edition

Cette seconde édition est le point culminant de plus de deux ans de travail pour les membres du Groupe de Documentation de FreeBSD. Ce qui suit présente les changements principaux de cette nouvelle édition:

Modifications depuis la Première Edition

La seconde édition est le point culminant de deux ans de travail pour les membres du Groupe de Documentation de FreeBSD. Ce qui suit présente les changements principaux de cette nouvelle édition:

Organisation de cet ouvrage

Ce livre est divisé en cinq parties logiquement distinctes. Le première section, Pour commencer, couvre l'installation et les bases de l'utilisation de FreeBSD. On s'attend à ce que le lecteur suive ces chapitres dans l'ordre, sautant éventuellement les chapitres traitant de sujets familiers. La seconde section Tâches courantes, couvre les fonctionnalités de FreeBSD fréquemment utilisées. Cette section, ainsi que toutes les sections suivantes, peuvent être lues dans n'importe quel ordre. Chaque chapitre débute avec un synopsis succinct qui décrit ce dont parle le chapitre et ce qu'on s'attend à ce que le lecteur sache déjà. Cela en vue de permettre au lecteur occasionnel de se rendre directement aux chapitres qui l'intéresse. La troisième section, Administration système, traite des sujets concernant l'administration. La quatrième section, Réseaux, couvre le domaine des réseaux et des serveurs. La cinquième section contient des annexes d'information de référence.

Chapitre 1, Introduction

Présente FreeBSD à un nouvel utilisateur. Il décrit l'histoire du projet FreeBSD, ses objectifs, son mode de développement.

Chapitre 2, Installation

Guide un utilisateur à travers le processus d'installation. Quelques sujets d'installation avancée, comme l'installation avec une console série, sont aussi couverts.

Chapitre 3, Quelques bases d'UNIX

Couvre les commandes et fonctionnalités de base du système d'exploitation FreeBSD. Si vous êtes familier avec Linux ou un autre type d'UNIX alors vous pouvez probablement passer ce chapitre.

Chapitre 4, Installer des applications

Couvre l'installation de logiciels tiers avec l'innovant ``Catalogue de logiciels portés'' de FreeBSD et les logiciels pré-compilés.

Chapitre 5, Le système X Window

Décrit le système X Window en général et l'utilisation d'X11 sur FreeBSD en particulier. Décrit également les environnements de travail comme KDE et GNOME.

Chapitre 6, Bureautique

Liste les applications de bureautique courantes, comme les navigateurs Web et les suites de bureautique, et décrit comment les installer sous FreeBSD.

Chapitre 7, Multimédia

Montre comment installer le support du son et de la vidéo pour votre système. Décrit également quelques applications audio et vidéo.

Chapitre 8, Configurer le noyau de FreeBSD

Explique pour quelles raisons vous devriez configurer un nouveau noyau et fournit des instructions détaillées pour la configuration, la compilation et l'installation d'un noyau sur mesures.

Chapitre 9, Impression

Décrit la gestion des imprimantes sous FreeBSD, y compris les informations sur les pages d'en-tête, la comptabilisation de l'usage et la configuration de base.

Chapitre 10, Compatibilité binaire avec Linux

Décrit les caractéristiques de la compatibilité Linux sous FreeBSD. Fournit également les instructions détaillées de l'installation de plusieurs applications Linux populaires comme Oracle, SAP R/3 et Mathematica®.

Chapitre 11, Configuration et optimisation

Décrit les paramètres disponibles pour les administrateurs systèmes afin d' optimiser les performances d'un système FreeBSD. Décrit également les différents fichiers de configuration utilisés dans FreeBSD et où les trouver.

Chapitre 12, Processus de démarrage de FreeBSD

Décrit le processus de démarrage de FreeBSD et explique comment contrôler ce processus avec des options de configuration.

Chapitre 13, Gestion des comptes et des utilisateurs

Décrit la création et la manipulation des comptes utilisateur. Traite également des limitations de ressources qui peuvent être appliquées aux utilisateurs et des autres tâches de gestion des comptes.

Chapitre 14, Sécurité

Décrit différents outils disponibles pour vous aider à sécuriser votre système FreeBSD, dont Kerberos, IPsec et OpenSSH.

Chapitre 15, Environnements jails

Décrit l'organisation des environnements jail, et les améliorations apportées par ces environnements par rapport au support chroot traditionnel de FreeBSD.

Chapitre 16, Contrôle d'accès mandataire

Explique ce qu'est le contrôle d'accès mandataire (MAC) et comment ce mécanisme peut être utilisé pour sécuriser un système FreeBSD.

Chapitre 17, Audit des événements relatifs à la sécurité

Décrit ce qu'est l'audit d'événements sous FreeBSD, comment cette fonctionnalité peut être installée, configurée et comment les audits peuvent être examinés et surveillés.

Chapitre 18, Stockage des données

Décrit comment gérer les supports de stockage et les systèmes de fichiers avec FreeBSD. Cela inclut les disques physiques, les systèmes RAID, les supports optiques et bandes, les disques mémoires, et les systèmes de fichiers réseau.

Chapitre 19, GEOM

Décrit ce qu'est le système GEOM sous FreeBSD et comment configurer les différents niveaux de RAID supportés.

Chapitre 20, Vinum

Décrit comment utiliser Vinum, un gestionnaire de volume logique qui permet d'avoir des disques logiques indépendants du périphérique, et le RAID-0, RAID-1 et RAID-5 logiciel.

Chapitre 21, Virtualisation

Décrit ce que les systèmes de virtualisation apportent, et comment ils peuvent être utilisés avec FreeBSD.

Chapitre 22, Localisation

Décrit comment utiliser FreeBSD avec des langues autres que l'anglais. Couvre la localisation du système et des applications.

Chapitre 23, Questions avancées

Explique les différences entre FreeBSD-STABLE, FreeBSD-CURRENT et les versions de publication;. Décrit quel type d'utilisateurs pourrait tirer profit de suivre un système de développement et présente le processus.

Chapitre 25, Communications série

Explique comment connecter terminaux et modems à votre système FreeBSD aussi bien pour les connexions entrantes que sortantes.

Chapitre 26, PPP et SLIP

Décrit comment utiliser PPP, SLIP ou PPP sur Ethernet pour se connecter à des systèmes distants à l'aide de FreeBSD.

Chapitre 27, Courrier électronique

Explique les différents composants d'un serveur de courrier et plonge dans la configuration de base du serveur de courrier le plus populaire: sendmail.

Chapitre 28, Serveurs réseau

Fournit des instructions détaillées et des exemples de fichiers de configuration pour configurer votre machine FreeBSD comme serveur de fichiers, serveur de noms de domaine, serveur d'information réseau, ou comme serveur de synchronisation d'horloge.

Chapitre 29, Coupe-feux

Explique la philosophie des coupe-feux logiciels et fournit des informations détaillées sur la configuration des différents coupe-feux disponibles pour FreeBSD.

Chapitre 30, Administration réseau avancée

Décrit de nombreux sujets sur l'utilisation réseau, dont le partage d'une connexion Internet avec d'autres ordinateurs sur votre réseau local, routage, réseaux sans-fils, Bluetooth, ATM, IPv6, et bien plus.

Annexe A, Se procurer FreeBSD

Enumère les différentes sources pour obtenir FreeBSD sur CDROM ou DVD, ainsi que les différents sites Internet qui vous permettent de télécharger et d'installer FreeBSD.

Annexe B, Bibliographie

Cet ouvrage aborde de nombreux sujets cela peut vous laisser sur votre faim et à la recherche de plus de détails. La bibliographie énumère d'excellents ouvrages qui sont référencés dans le texte.

Annexe C, Ressources sur Internet

Décrit les nombreux forums disponibles pour les utilisateurs de FreeBSD pour poster des questions et engager des conversations techniques au sujet de FreeBSD.

Annexe D, Clés PGP

Liste les clés PGP de nombreux développeurs FreeBSD.

Conventions utilisées dans ce livre

Pour fournir un texte logique et facile à lire, plusieurs conventions sont respectées tout au long du livre.

Conventions typographiques

Italique

Une police de caractères italique est utilisée pour les noms de fichiers, les URLs, le texte à mettre en valeur et la première utilisation de termes techniques.

Police de caractères à chasse fixe

Une police de caractères à chasse fixe est utilisée pour les messages d'erreurs, les commandes, les variables d'environnement, les noms des logiciels portés, les noms d'hôtes, les noms d'utilisateurs, les noms de groupes, les noms de périphériques, les variables et les morceaux de code source.

Caractères gras

Des caractères gras sont utilisés pour les applications, les commandes et les touches.

Utilisation du clavier

Les touches sont représentées en gras pour ressortir du texte. Les combinaisons de touches qui sont sensées être tapées simultanément sont représentées avec `+' entre chaque touche, comme par exemple:

Ctrl+Alt+Del

Indiquant que l'utilisateur devra appuyer simultanément sur les touches Ctrl, Alt, et Del.

Les touches qui sont sensées être tapées en séquence seront séparées par une virgule, par exemple:

Ctrl+X, Ctrl+S

Signifiera que l'on on attend à ce que l'utilisateur tape les touches Ctrl et X simultanément et ensuite tape Ctrl et S simultanément.

Exemples

Les exemples commençant par E:\> indiquent une commande MS-DOS®. Sauf indication contraire, on peut exécuter ces commandes depuis une fenêtre ``d'invite de commande'' dans un environnement Microsoft Windows moderne.

E:\> tools\fdimage floppies\kern.flp A:

Les exemples commençant par # indiquent que la commande doit être lancée en tant que super-utilisateur sous FreeBSD. Vous pouvez ouvrir une session en tant que root pour taper cette commande, ou ouvrir une session sous votre compte normal et utiliser su(1) pour obtenir les privilèges de super-utilisateur.

# dd if=kern.flp of=/dev/fd0

Les exemples commençant par % indiquent une commande qui devrait être lancée par un utilisateur normal. Sauf indication contraire, la syntaxe de l'interpréteur de commandes C-shell est utilisée pour configurer les variables d'environnement et autres commandes de l'interpréteur.

% top

Remerciements

L'ouvrage que vous avez en main représente les efforts de plusieurs centaines de personnes dans le monde. Qu'ils aient envoyé des corrections de fautes de frappe, ou soumis des chapitres entiers, toutes les contributions ont été utiles.

Plusieurs entreprises ont supporté le développement de ce document en payant des auteurs à travailler à plein temps dessus, en payant pour la publication etc... En particulier, BSDi (rachetée plus tard par Wind River Systems) a payé à temps plein des membres du Groupe de Documentation de FreeBSD à l'amélioration de ce livre menant ainsi à la publication de la première version imprimée en Mars 2000 (ISBN 1-57176-241-8). Wind River Systems a ensuite payé plusieurs auteurs supplémentaires pour apporter un certain nombre d'améliorations à l'infrastructure de publication et à l'ajout de chapitres. Ce travail a abouti à la publication de la deuxième édition imprimée en Novembre 2001 (ISBN 1-57176-303-1). En 2003-2004, FreeBSD Mall, Inc, a payé plusieurs auteurs pour travailler sur l'amélioration de ce manuel en vue de la publication de la troisième édition papier.

I. Pour commencer

Cette partie du Manuel FreeBSD est destinée aux nouveaux venus à FreeBSD, utilisateurs et administrateurs. Ces chapitres:

  • Vous présenteront FreeBSD.

  • Vous guideront à travers le processus d'installation.

  • Vous apprendront quelques bases et fondements d'UNIX.

  • Vous montreront comment installer la profusion d'applications tiers disponibles pour FreeBSD.

  • Vous présenteront X, le système de fenêtrage d'UNIX, et détailleront comment configurer un environnement de travail qui vous rendra plus productif.

Nous avons essayé de limiter le nombre de références dans le texte à un minimum afin que vous puissiez lire cette section du Manuel du début jusqu'à la fin avec le moins de mouvements de pages possibles.


Chapitre 1. Introduction

Restructuré, réorganisé, et parties réécrites par Jim Mock.

Version française de Marc Fonvieille .


1.1. Synopsis

Merci de votre intérêt pour FreeBSD! Le chapitre suivant traite de divers aspects concernant le projet FreeBSD, comme son histoire, ses objectifs, son mode de développement, et d'autres.

Après la lecture de ce chapitre, vous connaîtrez:

  • Comment FreeBSD est lié aux autres systèmes d'exploitation.

  • L'histoire du Projet FreeBSD.

  • Les objectifs du Projet FreeBSD.

  • Les bases du mode de développement open-source de FreeBSD.

  • Et bien sûr: l'origine du nom ``FreeBSD''.


1.2. Bienvenue à FreeBSD!

FreeBSD est une système d'exploitation basé sur 4.4BSD-Lite2 pour les ordinateurs à base d'architecture Intel (x86 et Itanium®), AMD64, les ordinateurs DEC Alpha™, et Sun UltraSPARC®. Le portage pour d'autres architectures est également en cours. Pour connaître l'histoire du projet, lisez Un court historique de FreeBSD. Pour avoir une description de la version la plus récente, allez à la section A propos de cette version. Si vous voulez contribuer d'une façon ou d'une autre au projet FreeBSD (code, matériel, dons), voyez s'il vous plaît à la section Contribuer à FreeBSD.


1.2.1. Que peut faire FreeBSD?

FreeBSD dispose de nombreuses caractéristiques remarquables. Parmi lesquelles:

  • Multi-tâche préemptif avec ajustement dynamique des priorités pour garantir un partage équilibré et fluide de l'ordinateur entre les applications et les utilisateurs et cela même sous les charges les plus importantes.

  • Accès multi-utilisateurs qui permet à de nombreuses personnes d'utiliser en même temps un système FreeBSD à des fins très différentes. Cela signifie, par exemple, que des périphériques tels que les imprimantes ou les lecteurs de bandes peuvent être partagés entre tous les utilisateurs sur le système ou sur le réseau et que des limitations d'utilisation des ressources peuvent être appliquées à des utilisateurs ou groupes d'utilisateurs, protégeant ainsi les ressources systèmes critiques d'une sur-utilisation.

  • Réseau TCP/IP complet dont le support de standards industriels comme SCTP, DHCP, NFS, NIS, PPP, SLIP, IPsec, et IPv6. Cela signifie que votre machine FreeBSD peut coopérer facilement avec d'autres systèmes ou être utilisée comme serveur d'entreprise, fournissant des fonctions essentielles comme NFS (accès aux fichiers en réseau) et le service de courrier électronique, ou encore l'accès de votre entreprise à l'Internet grâce aux services WWW, FTP, et aux fonctionnalités de routage et de coupe-feu (sécurité).

  • La protection de la mémoire garantit que les applications (ou les utilisateurs) ne peuvent interférer entre eux. Une application qui plante n'affectera en rien les autres.

  • FreeBSD est un système d'exploitation 32-bits (64-bits sur l'architecture Alpha, Itanium, AMD64, et UltraSPARC) et a été conçu comme tel dès le début.

  • Le Système X Window (X11R7), standard industriel, fournit une interface graphique à l'utilisateur (Graphical User Interface - GUI), moyennant l'achat d'une carte VGA ordinaire et d'un moniteur, et est livré avec l'intégralité de son code source.

  • Compatibilité binaire avec de nombreux programmes compilés pour Linux, SCO, SVR4, BSDI et NetBSD.

  • Des milliers d'applications prêtes à l'emploi sont disponibles grâce au catalogue des logiciels portés (ports) et au catalogue des logiciels pré-compilés (packages). Pourquoi chercher sur l'Internet alors que tout est là?.

  • Des milliers d'applications faciles à porter sont disponibles sur l'Internet. FreeBSD est compatible au niveau du code source avec les systèmes UNIX commerciaux les plus répandus et donc la plupart des applications exigent peu, sinon aucune modification, pour les compiler.

  • Mémoire virtuelle à la demande et ``cache unifié pour les disques et la mémoire virtuelle'' cela permet de répondre aux besoins des applications gourmandes en mémoire tout en garantissant le temps de réponse aux autres utilisateurs.

  • Support du traitement symétrique multiprocesseurs (SMP).

  • Des outils complets de développement C, C++, et Fortran. De nombreux autres langages pour la recherche de pointe et le développement sont aussi disponibles dans les catalogues des logiciels portés et pré-compilés.

  • La disponibilité Code source de l'intégralité du système vous donne un contrôle total sur votre environnement. Pourquoi être prisonnier d'une solution propriétaire et dépendant de votre fournisseur alors que vous pouvez avoir un véritable système ouvert?

  • Une documentation en ligne très complète.

  • Et beaucoup d'autres choses encore!

FreeBSD est basé sur la version 4.4BSD-Lite2 du ``Computer Systems Research Group'' (CSRG) de l'Université de Californie à Berkeley et continue la tradition de développement renommée des systèmes BSD. En plus de l'excellent travail fourni par le CSRG, le Projet FreeBSD a investi des milliers d'heures de travail pour optimiser le système pour arriver aux meilleures performances et au maximum de fiabilité sous la charge d'un environnement de production. Alors que la plupart des géants dans le domaine des systèmes d'exploitation pour PC s'acharnent encore à obtenir de telles possibilités, performances et fiabilité, FreeBSD peut les offrir dès maintenant!

La seule limite aux domaines d'application auxquels FreeBSD peut satisfaire est votre propre imagination. Du développement de logiciels à la production robotisée, de la gestion de stocks à la correction d'azimut pour les antennes satellites; si un UNIX commercial peut le faire, il y a de très fortes chances que FreeBSD le puisse aussi! FreeBSD bénéficie aussi de centaines d'applications de haute qualité développées par les centres de recherche et les universités du monde entier, souvent disponibles gratuitement ou presque. Il existe aussi des applications commerciales et leur nombre croît de jour en jour.

Comme le code source de FreeBSD lui-même est globalement disponible, le système peut aussi être adapté sur mesure à un point pratiquement jamais atteint pour des applications ou des projets particuliers, d'une façon qui serait habituellement impossible avec les systèmes d'exploitation commerciaux de la plupart des principaux fournisseurs. Voici juste quelques exemples d'applications pour lesquelles FreeBSD est utilisé:

  • Services Internet: les fonctionnalités réseau TCP/IP robustes qu'inclut FreeBSD en font la plate-forme idéale pour un éventail de services Internet, tels que:

    • Serveurs FTP

    • Serveurs World Wide Web (standard ou sécurisé [SSL])

    • Routage IPv4 et IPv6

    • Coupe-feux et passerelles de traduction d'adresses (``IP masquerading'')

    • Serveurs de courrier électronique

    • Serveurs de News USENET (forums de discussion) ou Bulletin Board Systems (BBS)

    • Et plus...

    Avec FreeBSD, vous pouvez facilement commencer petit avec un PC 386 à bas prix et évoluer jusqu'à un quadri-processeurs Xeon avec stockage RAID au fur et à mesure que votre entreprise s'agrandit.

  • Education: Etes-vous étudiant en informatique ou dans un domaine d'ingénierie apparenté? Il n'y a pas de meilleur moyen pour étudier les systèmes d'exploitation, l'architecture des ordinateurs et les réseaux que l'expérience directe et de ``derrière la coulisse'' que FreeBSD peut vous apporter. Il y a aussi un grand nombre d'outils mathématiques, graphiques et de Conception Assistée par Ordinateur qui en font un outil très utile pour ceux qui s'intéressent aux ordinateurs essentiellement pour faire un autre travail!

  • Recherche: Avec le code source de la totalité du système disponible, FreeBSD est un excellent outil de recherche sur les systèmes d'exploitation tout autant que pour d'autres branches de l'informatique. Le fait que FreeBSD soit librement disponible rend aussi possible l'échange d'idées et le développement partagé entre groupes éloignés sans avoir à se préoccuper de problèmes de licence particulières ou de restrictions à ce qui pourrait être discuté sur des forums ouverts.

  • Réseau: Il vous faut un nouveau routeur? Un serveur de domaine (DNS)? Un coupe-feu pour tenir les gens à l'écart de votre réseau interne? FreeBSD peut facilement faire de votre vieux 386 ou 486 inutilisé qui traîne dans un coin un routeur évolué avec des fonctionnalités sophistiquées de filtrage de paquets.

  • Station de travail X Window: FreeBSD est un excellent choix pour faire un terminal X peu coûteux,i en utilisant le serveur X11 librement disponible. Au contraire d'un terminal X, FreeBSD permet d'exécuter localement, si désiré, un grand nombre d'applications, déchargeant ainsi le serveur central. FreeBSD peut même démarrer ``sans disque'', ce qui permet de concevoir des postes de travail individuels moins chers et plus faciles à administrer.

  • Développement de logiciel: Le système FreeBSD de base inclut un environnement de développement complet dont les compilateur et débogueur GNU C/C++ réputés.

FreeBSD est disponible sous forme de code source ou binaire sur CDROM, DVD ou par ftp anonyme, Voyez Annexe A pour plus de détails.


1.2.2. Qui utilise FreeBSD?

FreeBSD est utilisé par certains des plus importants sites sur l'Internet, parmi lesquels:

et de nombreux autres.


1.3. A propos du Projet FreeBSD

La section suivante fournit des informations générales sur le projet, dont un court historique, les objectifs du projet, et le mode de développement du projet.


1.3.1. Un court historique de FreeBSD

Contribution de Jordan Hubbard.

Le projet FreeBSD a vu le jour au début de 1993, en partie comme extension du ``Kit de mise à jour non officiel de 386BSD'' des trois derniers coordinateurs du kit de mise à jour : Nate Williams, Rod Grimes et moi-même.

Notre objectif de départ était de fournir une distribution intermédiaire de 386BSD pour corriger un certain nombre de problèmes que le mécanisme du kit de mise à jour ne permettait pas de résoudre. Certains d'entre vous se rappellent peut-être que l'intitulé de travail d'origine du projet était ``386 BSD 0.5'' ou ``386BSD Interim'' en référence à ce problème.

386BSD était le système d'exploitation de Bill Jolitz, qui souffrait assez sévèrement à ce moment-là d'avoir été négligé pendant presque un an. Comme le kit de mise à jour enflait de plus en plus inconfortablement au fil des jours, nous avons décidé à l'unanimité qu'il fallait faire quelque chose et aider Bill en fournissant cette distribution provisoire de ``remise à plat''. Ces projets se sont brutalement interrompus lorsque Bill a décidé de retirer son aval au projet sans dire clairement ce qui serait fait à la place.

Il ne nous a pas fallu longtemps pour décider que l'objectif restait valable, même sans l'adhésion de Bill, et nous avons donc adopté le nom ``FreeBSD'', une proposition de David Greenman. Nos objectifs de départ ont été définis après avoir consulté les utilisateurs du moment du système et, dès qu'il est devenu clair que le projet était parti pour devenir un jour éventuellement réalité, nous avons contacté Walnut Creek CDROM dans l'optique d'améliorer la distribution de FreeBSD pour le grand nombre de ceux qui n'avaient pas la chance de pouvoir accéder facilement à l'Internet. Non seulement Walnut Creek CDROM a adopté l'idée de distribuer FreeBSD sur CDROM, mais a été jusqu'à fournir au projet une machine pour travailler et une connexion rapide à l'Internet. Sans le degré pratiquement sans précédent de confiance de Walnut Creek CDROM en ce qui n'était alors qu'un projet totalement inconnu, il y a peu de chance que FreeBSD ait été aussi loin, aussi vite, que là où il en est aujourd'hui.

La première version sur CDROM (et sur l'ensemble du Net) fut FreeBSD 1.0, parue en Décembre 1993. Elle reposait sur la bande 4.3BSD-Lite (``Net/2'') de l'Université de Californie à Berkeley, avec de nombreux composants venant aussi de 386BSD et de la ``Free Software Foundation''. Ce fut un succès honnête pour une version initiale, qui fut suivi par le franc succès de la version 1.1 de FreeBSD, publiée en Mai 1994.

A peu près à cette époque, des nuages menaçants et inattendus apparurent lorsque commença la bataille juridique entre Novell et l'U.C. Berkeley autour du statut légal de la bande Net/2 de Berkeley. Dans les termes de l'accord, l'U.C. Berkeley concédait qu'une grande partie de Net/2 était du code ``protégé'' et propriété de Novell, qui l'avait à son tour racheté à AT&T quelque temps auparavant. Berkeley obtint en retour la ``bénédiction'' de Novell que 4.4BSD-Lite soit, lorsqu'il vit finalement le jour, déclaré non protégé et que tous les utilisateurs de Net/2 soit fortement incités à migrer. Cela incluait FreeBSD, et l'on donna au projet jusqu'à Juillet 1994 pour mettre un terme à son propre produit basé sur Net/2. Selon les termes de cet accord, une dernière livraison était autorisée avant le délai final; ce fut FreeBSD 1.1.5.1.

FreeBSD s'attela alors à la tâche difficile de littéralement se réinventer à partir de fragments totalement nouveaux et assez incomplets de 4.4BSD-Lite. Les versions ``Lite'' étaient légères (``light'') en partie parce que le CSRG avait retiré de gros morceaux du code nécessaires pour que l'on puisse effectivement en faire un système qui démarre (pour différentes raisons légales) et parce que le portage pour Intel de la version 4.4 était très partiel. Il fallu au projet jusqu'à Novembre 1994 pour terminer cette étape de transition et que FreeBSD 2.0 paraisse sur l'Internet et sur CDROM (fin Décembre). Bien qu'elle fut encore assez rugueuse aux angles, cette livraison obtint un succès significatif et fut suivie par la version 2.0.5 de FreeBSD, plus fiable et facile à installer, en Juin 1995.

Nous avons publié FreeBSD 2.1.5 en Août 1996, et il s'avéra suffisamment populaire chez les fournisseurs d'accès et les utilisateurs professionnels pour qu'une nouvelle version sur la branche 2.1-STABLE soit justifiée. Ce fut la version FreeBSD 2.1.7.1, parue en Février 1997 et qui marque la fin de 2.1-STABLE comme branche principale de développement. Dès lors, il n'y aurait plus que des améliorations quant à la sécurité et autres corrections de bogues critiques sur cette branche, (RELENG_2_1_0), passée en phase de maintenance.

La branche FreeBSD 2.2 fut créée à partir de la branche principale de développement (``-CURRENT'') en Novembre 1996 en tant que branche RELENG_2_2, et la première version complète (2.2.1) parut en Avril 1997. Il y eut d'autres versions sur la branche 2.2 à l'été et à l'automne 97, la dernière (2.2.8) parut en Novembre 1998. La première version officielle 3.0 sortira en Octobre 1998 et annoncera le début de la fin pour la branche 2.2.

Il y eut la création de nouvelles branches le 20 Janvier 1999, donnant une branche 4.0-CURRENT et une branche 3.X-STABLE. De cette dernière il y eut la version 3.1 livrée le 15 Février 1999, la version 3.2 livrée le 15 Mai 1999, la 3.3 le 16 Septembre 1999, la 3.4 le 20 Décembre 1999 et la 3.5 le 24 Juin 2000, qui fut suivit quelques jours plus tard par une mise à jour mineure 3.5.1 pour rajouter quelques correctifs de sécurité de dernière minute sur Kerberos. Cela sera la dernière version de la la branche 3.X à paraître.

Le 13 Mars 2000 a vu l'apparition d'une nouvelle branche: la branche 4.X-STABLE. Il y a eu plusieurs versions jusqu'ici: la 4.0-RELEASE est sortie en Mars 2000, et la dernière version, la 4.11-RELEASE est sortie en Janvier 2005.

La tant attendue 5.0-RELEASE a été annoncée le 19 Janvier 2003. Etant le point culminant de près de trois ans de travail, cette version a engagé FreeBSD sur la voie d'un support avancé des systèmes multiprocesseurs et des ``threads'', et a introduit le support des plateformes UltraSPARC et ia64. Cette version fut suivie de la 5.1 en Juin 2003. La dernier version 5.X issue de la branche -CURRENT fut la 5.2.1-RELEASE présentée en Février 2004.

La branche RELENG_5 créée en Août 2004, suivie par la 5.3-RELEASE, marque le début de la branche 5-STABLE. La version la plus récente, la 8.2-RELEASE, est sortie en Mai 2006. Il n'est pas prévu de publier d'autres versions de la branche RELENG_5.

La branche RELENG_6 a été créée en Juillet 2005. La version 6.0-RELEASE, la première version issue de la branche 6.X a été rendue publique en Novembre 2005. La version la plus récente, la 9.0-RELEASE, est sortie en Janvier 2007. De nouvelles versions sont prévues pour la branche RELENG_6.

Pour le moment, les projets de développement à long terme continuent à se faire dans la branche (tronc) 7.X-CURRENT, et des ``instantanées'' de la 7.X sur CDROM (et, bien sûr, sur le net) sont continuellement mises à disposition sur le serveur d'instantané pendant l'avancement des travaux.


1.3.2. Les objectifs du projet FreeBSD

Contribution de Jordan Hubbard.

L'objectif du projet FreeBSD est de fournir du logiciel qui puisse être utilisé à n'importe quelle fin et sans aucune restriction. Nombre d'entre nous sont impliqués de façon significative dans le code (et dans le projet) et ne refuseraient certainement pas une petite compensation financière de temps à autre, mais ce n'est certainement pas dans nos intentions d'insister là dessus. Nous croyons que notre première et principale ``mission'' est de fournir du code à tout le monde, pour n'importe quel projet, de façon à ce qu'il soit utilisé le plus possible et avec le maximum d'avantages. C'est, nous le pensons, l'un des objectifs les plus fondamentaux du Logiciel Libre et l'un de ceux que nous soutenons avec enthousiasme.

Le code de l'arborescence des sources, qui est régi par la Licence Publique GNU (``GNU Public License'' - GPL) ou la Licence Publique GNU pour les Bibliothèques (``GNU Library Public License'' - GLPL) impose légèrement plus de contraintes, bien que plutôt liées à une disponibilité plus grande qu'au contraire, comme c'est généralement le cas. En raison des complications supplémentaires qui peuvent résulter de l'utilisation commerciale de logiciels GPL, nous essayons, cependant de remplacer ces derniers par des logiciels soumis à la licence BSD qui est plus souple, chaque fois que c'est possible.


1.3.3. Le mode de développement de FreeBSD

Contribution de Satoshi Asami.

Le développement de FreeBSD est un processus très ouvert et très souple, c'est littéralement le résultat de contributions de centaines de personnes dans le monde entier, ce que reflète notre liste des participants. L'infrastructure de développement de FreeBSD permet à ces centaines de développeurs de collaborer via l'Internet. Nous sommes toujours à l'affût de nouveaux développeurs et de nouvelles idées, et ceux que s'impliquer de plus près intéresse n'ont besoin que de contacter la liste de diffusion pour les discussions techniques sur FreeBSD. La liste de diffusion pour les annonces relatives à FreeBSD est aussi disponible pour ceux qui veulent faire connaître aux autres utilisateurs de FreeBSD les principaux domaines de développement en cours.

Quelques points utiles à connaître à propos du projet FreeBSD et de son processus de développement, que vous travailliez indépendamment ou en collaboration étroite:

Les archives CVS

L'arborescence centrale des sources de FreeBSD est gérée sous CVS (Concurrent Version System), un système librement disponible de gestion de version des sources qui est livré avec FreeBSD. Les archives CVS principales sont sur une machine à Santa Clara CA, USA, d'où elles sont répliquées sur de nombreuses machines miroir à travers le monde. L'arborescence CVS qui contient les branches -CURRENT et -STABLE peut facilement être dupliquée sur votre propre machine. Reportez-vous à la section Synchroniser votre arborescence des sources pour plus d'informations sur la façon de procéder.

La liste des personnes autorisées, les ``committers''

Les personnes autorisées (committers) sont celles qui ont les droits en écriture sur l'arborescence CVS, et sont autorisées à faire des modifications dans les sources de FreeBSD (le terme ``committer'' vient de la commande cvs(1) commit, que l'on utilise pour reporter des modifications dans les archives CVS). La meilleure façon de proposer des modifications pour qu'elles soient validées par les ``committers'' est d'utiliser la commande send-pr(1). S'il semble y avoir un problème dans ce système, vous pouvez aussi les joindre en envoyant un courrier électronique à liste de diffusion pour les committers de FreeBSD.

L'équipe de base de FreeBSD

L'équipe de base de FreeBSD serait l'équivalent du comité de direction si le Projet FreeBSD était une entreprise. La responsabilité principale de l'équipe de base est de s'assurer que le projet, dans son ensemble, fonctionne correctement et va dans la bonne direction. Proposer à des développeurs impliqués et responsables de rejoindre notre groupe de personnes autorisées est une des fonctions de l'équipe de base, ainsi que le recrutement de nouveaux membres de l'équipe de base quand d'autres s'en vont. L'actuelle équipe de base a été élu à partir d'un ensemble de ``committers'' candidats en Juillet 2006. Des élections ont lieu tous les 2 ans.

Certains membres de l'équipe de base ont aussi leur propre domaine de responsabilité, ce qui signifie qu'il leur est dévolu de veiller à ce qu'une partie significative du système satisfasse aux fonctionnalités annoncées. Pour une liste complète des développeurs FreeBSD et de leurs domaines de responsabilité, veuillez consulter la liste des participants au projet.

Note : La plupart des membres de l'équipe de base sont volontaires en ce qui concerne le développement de FreeBSD et ne retirent aucun profit financier du projet, donc ``implication'' ne doit pas être compris ``support garanti''. La comparaison précédente avec un comité directeur n'est pas tout à fait exacte, et il serait plus juste de dire que ce sont des gens qui ont sacrifié leur vie à FreeBSD contre toute raison!

Contributions extérieures

Enfin, mais certainement pas des moindres, le groupe le plus important de développeurs est constitué par les utilisateurs eux-mêmes qui nous fournissent de façon quasi régulière leur retour d'expérience et leurs corrections de bogues. Le principal moyen d'entrer en contact avec le développement plus décentralisé de FreeBSD est de s'inscrire sur la liste de diffusion pour les discussions techniques sur FreeBSD où ces questions sont abordées. Voyez Annexe C pour plus d'informations concernant les diverses listes de discussion FreeBSD.

La liste de ceux qui ont contribué au projet est longue et en augmentation, pourquoi donc ne pas vous y joindre et contribuer à quelque chose en retour dès aujourd'hui?

Fournir du code n'est pas la seule manière de contribuer au projet; pour avoir une liste plus complète de ce qu'il y a à faire, voyez s'il vous plaît le site du projet FreeBSD.

En résumé, notre modèle de développement est organisé comme un ensemble relâché de cercles concentriques. Ce modèle centralisé est en place pour la commodité des utilisateurs de FreeBSD, qui disposent ainsi d'un moyen facile de suivre l'évolution d'une base de code centrale, et non pour tenir à l'écart d'éventuels participants! Nous souhaitons fournir un système d'exploitation stable avec un nombre conséquent de programmes d'application cohérents que les utilisateurs puissent facilement installer et employer -- c'est un modèle qui fonctionne très bien pour cela.

Tout ce que nous attendons de ceux qui se joindraient à nous pour développer FreeBSD est un peu de la même implication que les développeurs actuels ont vis-à-vis de sa réussite continue!


1.3.4. A propos de cette version

FreeBSD est une version librement disponible et incluant tout le code source basé sur 4.4BSD-Lite2 pour les ordinateurs à architectures Intel i386™, i486™, Pentium®, Pentium Pro, Celeron®, Pentium II, Pentium III, Pentium 4 (ou compatible), Xeon™, DEC Alpha et systèmes basés sur UltraSPARC de Sun. Il est basé essentiellement sur du logiciel du groupe CSRG de l'Université de Californie à Berkeley, avec des additions venant de NetBSD, OpenBSD, 386BSD, et de la ``Free Software Foundation''.

Depuis la publication de FreeBSD 2.0 fin 1994, les performances, fonctionnalités et la stabilité de FreeBSD ont été améliorées de façon spectaculaire. La plus grosse modification est un gestionnaire de mémoire virtuelle totalement revu qui comprend un cache commun au disque et à la mémoire virtuelle, qui n'améliore pas seulement les performances, mais diminue aussi l'occupation de la mémoire, de telle sorte qu'une configuration avec 5 MO devienne un minimum acceptable. D'autres ajouts concernent le support intégral des clients et serveurs NIS, le support des transactions TCP, les connexions PPP à la demande, le support intégré DHCP, un sous-système SCSI amélioré, support ISDN, support pour l'ATM, FDDI, les cartes ``Fast et Gigabit Ethernet'' (1000 Mbit), un meilleur support des derniers contrôleurs Adaptec et des milliers de corrections de bogues.

En plus du système lui-même, FreeBSD offre un nouveau catalogue de logiciels portés (``ports'') qui inclut des milliers de programmes habituellement demandés. A l'heure où sont écrites ces lignes il y avait plus de 20,000 logiciels portés! La liste va des serveurs HTTP (WWW) aux jeux, langages, éditeurs et presque tout ce qui existe entre. Le catalogue complet des logiciels demande près de 440 Mo d'espace disque, les portages se présentant sous forme de ``delta'' avec les sources d'origine. Cela rend leur mise à jour bien plus facile, et diminue de façon sensible l'espace nécessaire par rapport à l'ancien catalogue 1.0. Pour compiler un logiciel porté, il vous suffit d'aller dans le répertoire du programme que vous désirez installer, de taper make install, et de laisser le système faire le reste. La distribution originale complète de chaque logiciel est chargée dynamiquement depuis le CDROM ou un site FTP proche, il vous suffit de disposer de suffisamment d'espace disque pour compiler le logiciel que vous voulez. Presque tous les logiciels sont aussi fournis sous forme pré-compilée (``package''--paquetage) qui peut être installé avec une seule commande (pkg_add), si vous ne voulez pas les compiler à partir des sources. Plus d'information sur les paquetages et les logiciels portés peut être trouvée dans le Chapitre 4.

Il y a un certain nombre d'autres documents qui vous serons peut-être très utiles à l'installation et à l'utilisation de FreeBSD, que vous pouvez maintenant trouver dans le répertoire /usr/share/doc de n'importe quelle machine sous une version récente de FreeBSD. Vous pouvez consulter les manuels localement disponibles avec n'importe quel navigateur HTML aux URLs suivantes:

Vous pouvez aussi consulter les exemplaires originaux (et les plus souvent mis à jour) sur http://www.FreeBSD.org.


Chapitre 2. Installer FreeBSD

Restructuré, réorganisé, et en partie réécrit par Jim Mock. Le guide de sysinstall, les copies d'écrans, et la plupart du texte sont de Randy Pratt.

Version française de Marc Fonvieille .


2.1. Synopsis

FreeBSD est fourni avec un programme d'installation en mode texte, facile d'emploi, appelé sysinstall. C'est le programme d'installation par défaut de FreeBSD, bien que les vendeurs soient libres de fournir leur propre suite d'installation s'ils le désirent. Ce chapitre décrit comment utiliser sysinstall pour installer FreeBSD.

Après la lecture de ce chapitre, vous saurez:

  • Comment créer les disquettes d'installation de FreeBSD.

  • Comment FreeBSD attribue, et subdivise votre disque dur.

  • Comment lancer sysinstall.

  • Les questions que sysinstall vous posera, ce qu'elles signifient, et comment y répondre.

Avant de lire ce chapitre, vous devrez:

  • Lire la liste du matériel supporté fournie avec la version de FreeBSD que vous allez installer, et vérifier que votre matériel est supporté.

Note : En général, ces instructions d'installation sont écrites pour l'architecture i386 (``compatible PC''). Où elles seront applicables, les instructions spécifiques à d'autres plateformes (par exemple Alpha) seront indiquées. Bien que ce guide soit maintenu à jour autant que possible, vous pourrez constater des différences mineures entre le programme d'installation et ce qui est montré ici. Il est aussi suggéré d'utiliser ce chapitre comme un guide général plutôt comme un manuel d'installation à suivre à la ligne près.


2.2. Matériel nécessaire

2.2.1. Configuration minimale

La configuration minimale pour installer FreeBSD varie avec la version de FreeBSD et l'architecture matérielle concernée.

Des informations au sujet de la configuration minimale sont disponibles dans les notes d'installation présentes sur la page d'Information des versions du site de FreeBSD. Un résumé de ces informations est présenté dans les sections suivantes. En fonction de la méthode d'installation de FreeBSD que vous avez choisie, vous pourrez avoir besoin d'un lecteur de disquette, d'un lecteur de CDROM supporté, et dans certains cas d'une carte réseau. Cela sera abordé dans la Section 2.3.7.


2.2.1.1. Architectures FreeBSD/i386 et FreeBSD/pc98

FreeBSD/i386 et FreeBSD/pc98 nécessitent un processeur 486 ou plus performant et au moins 24 Mo de RAM. Vous aurez également besoin d'au moins 150 Mo d'espace libre sur un disque dur pour l'installation la plus réduite.

Note : Dans le cas d'anciennes configurations, la plupart du temps, il sera plus important d'avoir plus de RAM et plus d'espace disque que d'avoir un processeur plus rapide.


2.2.1.2. Architecture FreeBSD/alpha

Pour installer FreeBSD/alpha, une plate-forme supportée sera nécessaire (voir Section 2.2.2) ainsi qu'un disque dédié à FreeBSD. Il n'est pas, pour le moment, possible de partager un disque avec un autre système d'exploitation. Ce disque devra être raccordé à un contrôleur SCSI supporté par le firmware SRM ou devra être un disque IDE en supposant que votre machine permet le démarrage à partir de disques IDE.

Vous aurez besoin du firmware SRM pour votre plate-forme. Dans certains cas, il est possible de basculer entre AlphaBIOS (ou ARC) et SRM. Dans d'autres cas, il sera nécessaire de récupérer un nouveau firmware sur le site du constructeur.

Note : Le support pour l'architecture Alpha cesse avec FreeBSD 7.0. Les versions FreeBSD 6.X sont les dernières proposant le support de cette architecture.


2.2.1.3. FreeBSD/amd64

Il existe deux classes de processeurs en mesure d'utiliser FreeBSD/amd64. La première est composée des processeurs AMD64, dont les processeurs AMD Athlon™64, AMD Athlon64-FX, AMD Opteron™ et suivants.

La seconde classe de processeurs pouvant utiliser FreeBSD/amd64 comprend les processeurs basés sur l'architecture Intel® EM64T. Comme par exemple, les familles de processeur Intel Core™ 2 Duo, Quad, et Extreme et la série des processeurs Intel Xeon 3000, 5000, et 7000.

Si vous avez une machine basée sur le circuit nVidia nForce3 Pro-150, vous devez désactiver l'option IO APIC dans le BIOS de votre machine. Si vous n'avez pas la possibilité de le faire, vous devrez désactiver à la place l'ACPI. Il existe un certain nombre de bogues dans le circuit Pro-150 pour lesquels nous n'avons toujours pas trouvé de solution.


2.2.1.4. Architecture FreeBSD/sparc64

Pour installer FreeBSD/sparc64, une plate-forme supportée sera nécessaire (voir Section 2.2.2).

Vous aurez besoin d'un disque dédié pour FreeBSD/sparc64. Il n'est pas, pour le moment, possible de partager un disque avec un autre système d'exploitation.


2.2.2. Matériel supporté

Une liste du matériel supporté est disponible avec chaque version de FreeBSD dans la liste de compatibilité matérielle. Ce document peut être généralement trouvé sous la forme d'un fichier nommé HARDWARE.TXT, sur la racine d'un CDROM ou le répertoire d'un FTP de distribution ou dans le menu de documentation de sysinstall. Ce fichier énumère, pour une architecture donnée, quels sont les périphériques supportés par chaque version de FreeBSD. La liste du matériel supporté par chaque version et architecture peut également être trouvée sur la page d'Information sur les versions du site Web de FreeBSD.


2.3. Tâches de pré-installation

2.3.1. Inventoriez votre ordinateur

Avant d'installer FreeBSD vous devriez faire l'inventaire des composants de votre ordinateur. Les routines d'installation de FreeBSD afficheront ces composants (disques durs, cartes réseaux, lecteurs de CDROM et ainsi de suite) avec leur type et leur constructeur. FreeBSD essaiera également de déterminer la configuration correcte pour ces périphériques, ce qui inclut les informations sur les IRQs et l'utilisation des ports d'E/S. En raison des caprices du matériel PC ce processus n'est pas toujours complètement réussi, et vous pourrez avoir besoin de corriger FreeBSD dans sa détection de votre configuration.

Si vous avez déjà un autre système d'exploitation installé, tel que Windows ou Linux, c'est une bonne idée d'utiliser les moyens que proposent ces systèmes d'exploitation pour voir comment votre matériel est actuellement configuré. Si vous n'êtes pas sûr des réglages utilisés par une carte d'extension, vous pouvez les trouver imprimés sur la carte elle-même. Des valeurs d'IRQ courantes sont 3, 5 et 7, et les ports d'E/S sont normalement inscrits en hexadécimal, comme par exemple 0x330.

Nous vous recommandons de prendre note de ces informations avant d'installer FreeBSD. Il pourra être utile d'utiliser une table comme celle-ci:

Tableau 2-1. Exemple d'inventaire de périphériques

Nom du Périphérique IRQ Port(s) d'E/S Notes
Premier disque dur N/A N/A 40 Go, fabriqué par Seagate, premier disque IDE maître
CDROM N/A N/A Premier disque IDE esclave
Second disque dur N/A N/A 20 Go, fabriqué par IBM, second disque IDE maître
Premier contrôleur IDE 14 0x1f0  
Carte réseau N/A N/A Intel 10/100
Modem N/A N/A 3Com® 56K faxmodem, sur COM1
...      

Une fois l'inventaire des composants présents dans votre ordinateur effectué, vous devez vérifier s'ils correspondent au matériel nécessaire à l'installation de la version de FreeBSD que vous voulez utiliser.


2.3.2. Sauvegardez vos données

Si l'ordinateur sur lequel vous allez installer FreeBSD contient des données importantes alors assurez vous que vous les avez sauvegardées, et que vous avez testé ces sauvegardes avant d'installer FreeBSD. Le programme d'installation de FreeBSD vous sollicitera avant d'écrire sur votre disque, mais une fois que ce processus aura été lancé, il ne pourra être annulé.


2.3.3. Où installer FreeBSD?

Si vous voulez que FreeBSD utilise tout votre disque, alors il n'y rien de particulier à ajouter à ce niveau là -- vous pouvez passer cette section.

Cependant, si FreeBSD doit coexister avec d'autres systèmes d'exploitation alors vous avez besoin de comprendre approximativement comment les données sont disposées sur le disque, et comment cela vous affecte.


2.3.3.1. Organisation des disques pour l'architecture FreeBSD/i386

Le disque d'un PC peut être divisé en portions indépendantes. Ces portions sont appelées partitions. Comme FreeBSD possède en interne également des partitions, cette appellation peut rapidement être une source de confusion, aussi ces portions de disque sont appelées “tranches de disque” (disk slices) ou tout simplement tranche (slice) sous FreeBSD. Par exemple, l'utilitaire FreeBSD fdisk qui agit sur les partitions PC, fait référence aux slices plutôt qu'aux partitions. De par sa conception le PC ne supporte que quatre partitions par disque. Ces partitions sont appelées partitions primaires. Pour contourner cette limitation et autoriser plus de quatre partitions, un nouveau type de partition a été créé, la partition étendue. Un disque ne pourra contenir qu'une seule partition étendue. Des partitions spéciales, appelées partitions logiques, peuvent être créées à l'intérieur de la partition étendue.

Chaque partition a un identifiant de partition, qui est un nombre utilisé pour identifier le type de donnée présent sur la partition. Les partitions de FreeBSD ont l'identifiant 165.

En général, chaque système d'exploitation que vous utilisez identifiera les partitions d'une manière particulière. Par exemple, DOS, et ses descendants, comme Windows, associe à chaque partition primaire et logique une lettre appelée lecteur, en commençant avec C:.

FreeBSD doit être installé sur une partition primaire. FreeBSD peut conserver toutes ses données, y compris tous les fichiers que vous créez, sur cette partition. Cependant, si vous avez de multiples disques, alors vous pouvez créer une partition FreeBSD sur tous ou certains d'entre eux. Quand vous installez FreeBSD, vous devez avoir une partition disponible. Cela pourrait être une partition vierge que vous avez préparé, ou une partition existante qui contient des données dont vous n'avez plus besoin.

Si vous utilisez déjà toutes les partitions sur tous vos disques, alors vous devrez libérer l'une d'elle pour FreeBSD à l'aide des outils fournis par les autre systèmes d'exploitation (e.g. fdisk sous DOS ou Windows).

Si vous avez une partition disponible alors vous pouvez l'utiliser. Cependant, vous aurez peut être besoin de diminuer une ou plusieurs de vos partitions existantes en premier lieu.

Une installation minimale de FreeBSD prend aussi peu que 100 Mo d'espace disque. Cependant c'est vraiment une installation minimale, ne laissant presque aucun espace pour vos propres fichiers. Un minimum plus réaliste est 250 Mo sans environnement graphique, et 350 Mo ou plus si vous désirez une interface graphique. Si vous avez l'intention d'installer beaucoup d'applications alors vous aurez besoin de plus d'espace.

Vous pouvez utiliser un outil commercial comme PartitionMagic® ou un outil libre comme GParted pour redimensionner vos partitions et faire de la place à FreeBSD. Le répertoire tools sur le CDROM contient deux logiciels libres qui peuvent se charger de cette tâche, FIPS et PResizer. La documentation pour deux de ces programmes se trouve dans le même répertoire. FIPS, PResizer, et PartitionMagic peuvent redimensionner les partitions FAT16 et FAT32-- utilisées sous MS-DOS jusqu'à Windows ME. Les logiciels PartitionMagic et GParted fonctionne également avec les partitions NTFS. GParted est disponible sur plusieurs CD Live Linux, comme SystemRescueCD.

Des problèmes ont été rapportés concernant le redimensionnement des partitions Microsoft Vista. Il est recommandé d'avoir un CDROM de Vista sous la main quand l'on tente une telle opération. Comme pour toute tâche de maintenance des disques, il est fortement conseillé de disposer d'un ensemble de sauvegardes à jour.

Avertissement : Une utilisation incorrecte de ces outils peut détruire les données sur votre disque. Soyez sûr d'avoir des sauvegardes récentes et qui fonctionnent avant d'utiliser ces outils.

Exemple 2-1. Utilisation d'une partition existante

Supposez que vous avez un ordinateur avec un seul disque de 4 Go qui a déjà une version de Windows installée, et que vous avez divisé ce disque en deux lecteurs C: et D:, chacun de 2 Go. Vous avez 1Go de donnée sur C: et 0.5 Go sur D:.

Cela signifie que vous avez deux partitions sur ce disque, une par lecteur. Vous pouvez transférer toutes les données de D: vers C:, ce qui libérera la partition pour FreeBSD.

Exemple 2-2. Redimensionner une partition existante

Supposez que vous avez un ordinateur avec un seul disque de 4 Go qui a déjà une version de Windows installée. Quand vous avez installé Windows vous avez créé une seule grande partition, vous donnant un lecteur C: de 4 Go. Vous utilisez actuellement un espace de 1.5 GB, et vous désirez 2 Go pour FreeBSD.

Afin d'installer FreeBSD vous devrez soit:

  1. Sauvegarder vos données Windows, et ensuite réinstaller Windows, en utilisant qu'une partition de 2 Go à l'installation.

  2. Soit utiliser un des outils comme PartitionMagic, décrits plus haut, pour redimensionner votre partition Windows


2.3.3.2. Organisation des disques pour l'architecture Alpha

Vous aurez besoin d'un disque dédié pour FreeBSD sur un Alpha. Il n'est pas possible de partager un disque avec un autre système d'exploitation pour le moment. Selon le type de machine Alpha dont vous disposez, ce disque peut soit être un disque SCSI ou un disque IDE, dès l'instant que votre machine est capable de démarrer depuis ce disque.

Suivant les conventions des manuels de Digital / Compaq, toute entrée SRM sera donnée en majuscule. SRM n'est pas sensible à la casse des caractères.

Pour déterminer les noms et les types de disques présent dans votre machine, utilisez la commande SHOW DEVICE à l'invite de la console SRM:

>>>SHOW DEVICE
dka0.0.0.4.0               DKA0           TOSHIBA CD-ROM XM-57  3476
dkc0.0.0.1009.0            DKC0                       RZ1BB-BS  0658
dkc100.1.0.1009.0          DKC100             SEAGATE ST34501W  0015
dva0.0.0.0.1               DVA0
ewa0.0.0.3.0               EWA0              00-00-F8-75-6D-01
pkc0.7.0.1009.0            PKC0                  SCSI Bus ID 7  5.27
pqa0.0.0.4.0               PQA0                       PCI EIDE
pqb0.0.1.4.0               PQB0                       PCI EIDE

Cet exemple provient d'une machine ``Digital Personal Workstation 433au'' et fait apparaître trois disques attachés à la machine. Le premier est un lecteur de CDROM appelé DKA0 et les deux autres sont des disques dur nommés respectivement DKC0 et DKC100.

Les disques avec des noms de la forme DKx sont des disques SCSI. Par exemple DKA100 correspond à un disque SCSI situé sur le premier bus SCSI (A) et avec pour identifiant 1, tandis que DKC300 correspond à un disque SCSI situé sur le troisième bus (C) et ayant l'identifiant 3. Le nom de périphérique PKx correspond au contrôleur SCSI. Comme le montre le résultat de la commande SHOW DEVICE, les lecteurs de CDROM SCSI sont traités comme n'importe quel disque dur SCSI.

Les disque IDE ont des noms du type DQx et PQx correspond au contrôleur IDE associé.


2.3.4. Connaître la configuration de votre réseau

Si vous avez l'intention d'utiliser un réseau pour votre installation de FreeBSD (par exemple, si vous allez installer à partir d'un site FTP, ou d'un serveur NFS), alors vous devez connaître votre configuration réseau. On vous demandera ces informations durant l'installation afin que FreeBSD puisse se connecter au réseau pour terminer l'installation.


2.3.4.1. Connexion par réseau Ethernet, ou modem Cable/DSL

Si vous vous connectez à un réseau Ethernet, ou que vous avez une connexion Internet par câble ou DSL utilisant une carte Ethernet, alors vous aurez besoin des informations suivantes:

  1. Adresse IP

  2. Adresse IP de la passerelle par défaut

  3. Nom de l'hôte

  4. Adresses IP du serveur DNS

  5. Masque de sous-réseau

Si vous ne connaissez pas ces informations, alors adressez-vous à votre administrateur système ou votre fournisseur d'accès. Ils peuvent vous dire que ces informations sont assignées automatiquement par l'intermédiaire de DHCP. Si c'est le cas prenez en note.


2.3.4.2. Connexion par modem

Si vous vous connectez à un fournisseur d'accès en utilisant un modem classique alors vous pouvez toujours installer FreeBSD en utilisant Internet, cela prendra juste beaucoup de temps.

Vous devrez connaître:

  1. Le numéro de téléphone de connexion à votre fournisseur d'accès

  2. Le port COM: le port auquel votre modem est connecté

  3. Le nom d'utilisateur et le mot de passe de votre compte Internet


2.3.5. Vérifier l'Errata

Bien que le projet FreeBSD s'efforce de s'assurer que chaque version de FreeBSD soit aussi stable que possible, des bogues peuvent parfois exister. Il est très rare que ces bogues affectent le processus d'installation. Dès que ces problèmes sont découverts et corrigés, ils sont notés dans l'Errata de FreeBSD, présent sur le site web de FreeBSD. Vous devriez vérifier l'errata avant l'installation afin d'être sûr qu'il n'y a pas de problème de dernière minute à prendre en compte.

Les informations sur chaque version, y compris les errata, peuvent être trouvé dans la section d'information sur les différentes versions située sur le site web de FreeBSD.


2.3.6. Obtenir les fichiers d'installation de FreeBSD

Le processus d'installation de FreeBSD peut installer FreeBSD à partir de fichiers placés dans les endroits suivants:

Un média local

  • Un CDROM ou un DVD

  • Une partition DOS sur le même ordinateur

  • Une bande SCSI ou QIC

  • Des disquettes

Le réseau

  • Un site FTP, en passant par un coupe-feu, ou en utilisant un proxy HTTP si nécessaire

  • Un serveur NFS

  • Une connexion dédiée parallèle ou série

Si vous avez acheté FreeBSD sur CD ou DVD alors vous disposez déjà de ce que vous avez besoin, et vous devriez passer à la section suivante (Section 2.3.7).

Si vous n'avez pas récupéré les fichiers d'installation de FreeBSD vous devriez aller directement à la Section 2.13 qui explique comment se préparer à installer FreeBSD à partir d'une des solutions données ci-dessus. Après avoir lu cette section, vous devrez revenir ici, et continuer la lecture avec la Section 2.3.7.


2.3.7. Préparer les supports de démarrage

Le processus d'installation de FreeBSD est lancé en démarrant votre ordinateur dans l'installateur de FreeBSD--ce n'est pas un programme que vous exécutez à partir d'un autre système d'exploitation. Votre ordinateur démarre normalement en utilisant le système d'exploitation installé sur votre disque dur, mais il peut également être configuré pour utiliser une disquette ``bootable''. La plupart des ordinateurs modernes peuvent également démarrer à partir d'un CDROM présent dans le lecteur de CDROM.

Astuce : Si vous avez FreeBSD sur CDROM ou DVD (soit un que vous avez acheté, soit préparez vous-même), et que votre ordinateur vous permet de démarrer sur le lecteur de CDROM ou DVD (typiquement une option du BIOS appelée ``Boot Order'' ou équivalent) alors vous pouvez passer cette section. Les CDROMs ou DVDs de FreeBSD sont bootable et peuvent être utilisés pour installer FreeBSD sans autre préparation.

Pour créer les images des disquettes de démarrage, suivez les étapes suivantes:

  1. Obtenir les images des disquettes de démarrage

    Les images des disquettes de démarrage sont disponibles sur votre média d'installation dans le répertoire floppies/ et peuvent également être téléchargées par FTP depuis le répertoire floppies, ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<arch>/<version>-RELEASE/floppies/. Remplacez <arch> et <version> avec respectivement l'architecture et le numéro de version que vous désirez installer. Par exemple, les images de disquettes de démarrage de FreeBSD/i386 9.0-RELEASE sont disponibles à partir de l'adresse ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/9.0-RELEASE/floppies/.

    Les images de disquettes ont l'extension .flp. Le répertoire floppies/ contient un certain nombre d'images différentes, et celles que vous devrez utiliser dépendent de la version de FreeBSD que vous allez installer, et dans certains cas, du matériel sur lequel vous effectuez l'installation. Dans la plupart des cas vous aurez besoin de quatre disquettes: boot.flp, kern1.flp, kern2.flp, et kern3.flp. Consultez README.TXT dans le même répertoire pour une information actualisée sur ces images de disquette.

    Important : Votre programme FTP doit utiliser le mode binaire pour télécharger ces images. Quelques navigateurs sont connus pour employer le mode texte (ou ASCII), ce qui sera manifeste si vous ne pouvez démarrer depuis ces images.

  2. Préparer les disquettes

    Vous devez préparer une disquette par fichier que vous avez dû télécharger. Il est impératif que ces disquettes soient exemptes de défauts. La manière la plus simple de tester cela est de les formater soi-même. Ne faites pas confiance aux disquettes préformatées. L'utilitaire de formatage Windows n'indiquera pas la présence de blocs défectueux, il les marquera simplement comme étant ``défectueux'' et les ignorera. Il est recommandé d'utiliser des disquettes neuves si l'on choisit cette méthode d'installation.

    Important : Si vous essayez d'installer FreeBSD et que le programme d'installation ``plante'', se bloque, ou présente d'autres dysfonctionnements, les premières choses à suspecter sont les disquettes. Essayez de copier les images sur des disquettes neuves et essayez encore.

  3. Ecrire les fichiers image sur les disquettes

    Les fichiers .flp ne sont pas des fichiers que vous pouvez copier directement sur une disquette. Ce sont des images du contenu complet de disquettes. Cela signifie que vous ne pouvez pas simplement copier les fichiers d'un disque vers un autre. Vous devez utilisez des outils spécifiques pour écrire directement les images sur les disquettes.

    Si vous créez ces disquettes depuis un ordinateur fonctionnant sous MS-DOS/Windows, alors nous fournissons pour faire cela un outil appelé fdimage.

    Si vous utilisez les images présentes sur le CDROM, et que votre lecteur CDROM est E:, alors vous devez procéder comme suit:

    E:\> tools\fdimage floppies\boot.flp A:
    

    Répétez cette commande pour chaque fichier .flp, en remplaçant la disquette à chaque fois, en étant sûr de noter sur les disquettes le nom du fichier copié. Ajuster la ligne de commande selon l'endroit où vous avez placé les fichiers .flp. Si vous n'avez pas de CDROM, alors fdimage peut être téléchargé de puis le répertoire tools sur le site FTP de FreeBSD.

    Si vous créez les disquettes depuis un système UNIX (comme par exemple un autre système FreeBSD) vous pouvez utiliser la commande dd(1) pour écrire les fichiers image directement sur les disquettes. Sous FreeBSD, vous lanceriez:

    # dd if=boot.flp of=/dev/fd0
    

    Sous FreeBSD, /dev/fd0 correspond au premier lecteur de disquettes ( le lecteur A:). /dev/fd1 serait le lecteur B:, et ainsi de suite. D'autres variantes d'UNIX peuvent avoir des noms différents pour les lecteurs de disquettes, et vous devrez consulter la documentation du système si besoin est.

Vous êtes maintenant prêt à commencer l'installation de FreeBSD.


2.4. Débuter l'installation

Important : Par défaut, le processus d'installation ne modifiera rien sur le(s) disque(s) dur(s) jusqu'à ce que vous voyiez le message suivant.

Last Chance: Are you SURE you want continue the installation?

If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!

We can take no responsibility for lost disk contents!

L'installation peut être quittée à tout moment avant l'avertissement final sans changer le contenu du disque dur. Si vous avez mal configuré quelque chose, vous pouvez juste éteindre l'ordinateur avant l'étape finale sans aucun risque.


2.4.1. Démarrage

2.4.1.1. Démarrage pour l'architecture i386

  1. Commencez avec votre ordinateur éteint.

  2. Allumez l'ordinateur. En démarrant il devrait afficher une option pour entrer dans le menu de configuration du système, ou BIOS, généralement à l'aide des touches F2, F10, Suppr, ou Alt+S. Employez ce qui est indiqué à l'écran. Dans certains cas votre ordinateur peut afficher une image pendant son démarrage. Typiquement, l'appui sur Esc effacera l'image et vous permettra de voir les messages de démarrage.

  3. Trouvez le paramètre qui contrôle à partir de quel périphérique le système démarre. Cela est généralement nommé ``Boot Order`` (ordre de démarrage) et habituellement sous la forme d'une liste de périphériques, comme Floppy, CDROM, First Hard Disk, et ainsi de suite.

    Si vous avez dû préparer des disquettes de démarrage, assurez-vous alors que le lecteur de disquettes est sélectionné. Si vous démarrez depuis le CDROM alors vérifiez que c'est celui-ci qui est sélectionné à la place. En cas de doute, vous devriez consulter le manuel fourni avec votre ordinateur, et/ou sa carte mère.

    Effectuez les changements, ensuite sauvez et quittez. L'ordinateur devrait maintenant redémarrer.

  4. Si vous avez dû préparer des disquettes de démarrage, comme décrit dans la Section 2.3.7 alors l'une d'elles sera la première disquette de démarrage, probablement celle contenant boot.flp. Introduisez cette disquette dans votre lecteur.

    Si vous démarrez depuis le CDROM, alors vous devrez allumer votre ordinateur, et insérer le CDROM à la première occasion.

    Si votre ordinateur démarre comme à l'accoutumé, et charge le système d'exploitation existant, alors soit:

    1. Les disques (CDROM ou disquette) n'ont pas été insérés assez tôt dans le processus de démarrage. Laissez-les, et essayez de redémarrer votre ordinateur.

    2. Soit les changements du BIOS, plus tôt, n'ont pas fonctionné correctement. Vous devriez refaire cette étape jusqu'à obtenir la bonne option.

    3. Soit votre BIOS ne supporte pas le démarrage à partir du support désiré.

  5. FreeBSD démarrera. Si vous démarrez depuis le CDROM vous verrez un affichage similaire à ceci (information sur la version omise):

    Booting from CD-Rom...
    CD Loader 1.2
    
    Building the boot loader arguments
    Looking up /BOOT/LOADER... Found
    Relocating the loader and the BTX
    Starting the BTX loader
    
    BTX loader 1.00 BTX version is 1.01
    Console: internal video/keyboard
    BIOS CD is cd0
    BIOS drive C: is disk0
    BIOS drive D: is disk1
    BIOS 639kB/261120kB available memory
    
    FreeBSD/i386 bootstrap loader, Revision 1.1
    
    Loading /boot/defaults/loader.conf
    /boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d]
    \
    

    Si vous démarrez depuis une disquette, vous verrez un affichage similaire à ceci (information sur la version omise):

    Booting from Floppy...
    Uncompressing ... done
    
    BTX loader 1.00  BTX version is 1.01
    Console: internal video/keyboard
    BIOS drive A: is disk0
    BIOS drive C: is disk1
    BIOS 639kB/261120kB available memory
    
    FreeBSD/i386 bootstrap loader, Revision 1.1
    
    Loading /boot/defaults/loader.conf
    /kernel text=0x277391 data=0x3268c+0x332a8 |
    
    Insert disk labelled "Kernel floppy 1" and press any key...
    

    Suivez ces instructions en retirant la disquette boot.flp, puis insérez la disquette kern1.flp et enfin appuyez sur Entrée. Démarrez sur la première disquette; quand on vous le demande, insérez les autres disquettes.

  6. Que vous démarriez à partir de disquettes ou de CDROM, le processus de démarrage vous amènera au menu du chargeur FreeBSD:

    Figure 2-1. Menu du chargeur FreeBSD

    Attendez dix secondes, ou appuyez sur Entrée.


2.4.1.2. Démarrage pour l'architecture Alpha

  1. Commencez avec votre ordinateur éteint.

  2. Allumez votre ordinateur et attendez l'invite de commande du moniteur de démarrage.

  3. Si vous avez dû préparer des disquettes de démarrage, comme décrit dans la Section 2.3.7 alors l'une d'elles sera la première disquette de démarrage, probablement celle contenant boot.flp. Introduisez cette disquette dans votre lecteur et tapez les commandes suivantes pour démarrer la disquette (en remplaçant le nom de votre lecteur de disquette si nécessaire):

    >>>BOOT DVA0 -FLAGS '' -FILE ''
    

    Si vous démarrez depuis le CDROM, insérez le CDROM dans son lecteur et tapez la commande suivante pour démarrer l'installation (en remplaçant le nom du lecteur de CDROM si nécessaire par celui approprié):

    >>>BOOT DKA0 -FLAGS '' -FILE ''
    
  4. FreeBSD démarrera. Si vous démarrez depuis une disquette, au bout d'un moment vous verrez le message:

    Insert disk labelled "Kernel floppy 1" and press any key...
    

    Suivez ces instructions en retirant la disquette boot.flp, puis insérez la disquette kern1.flp et enfin appuyez sur Entrée.

  5. Que vous démarriez à partir de disquettes ou du CDROM, le processus de démarrage vous amènera au point suivant:

    Hit [Enter] to boot immediately, or any other key for command prompt.
    Booting [kernel] in 9 seconds... _
    

    Attendez dix secondes, ou appuyez sur Entrée. Cela lancera le menu de configuration du noyau.


2.4.1.3. Démarrage pour l'architecture SPARC64®

La plupart des systèmes SPARC64® sont configurés pour démarrer automatiquement à partir du disque dur. Pour installer FreeBSD, vous devez démarrer à partir du réseau ou à partir d'un CDROM, ce qui nécessitera un passage par le PROM (OpenFirmware).

Pour cela, redémarrez le système, et attendez l'affichage des messages de démarrage. En fonction du modèle, vous devriez voir quelque chose comme ce qui suit:

Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
Copyright 1998-2001 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.2, 128 MB memory installed, Serial #51090132.
Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.

Si votre système tente de démarrer à partir du disque dur en cet endroit, vous devrez alors appuyer sur L1+A ou Stop+A sur le clavier, ou envoyer un BREAK par l'intermédiaire de la console série (en utilisant par exemple ~# sous tip(1) ou cu(1)) pour obtenir l'invite PROM. Elle ressemble à ceci:

ok         (1)
ok {0}     (2)
(1)
C'est l'invite utilisée sur les systèmes avec un seul CPU.
(2)
C'est l'invite utilisée sur les systèmes SMP, le chiffre indiquant le nombre de CPU actifs.

En ce point, placez le CDROM dans le lecteur, et à l'invite PROM, tapez boot cdrom.


2.4.2. Examen des résultats de la détection du matériel

La dernière centaine de lignes qui a été affichée à l'écran est stockée et peut être relue.

Pour relire le tampon, appuyez sur Arrêt Défil. Cela activera le défilement de l'affichage. Vous pouvez alors utiliser les touches fléchées, ou PageUp et PageDown pour visualiser les résultats. Appuyer à nouveau sur Arrêt Défil pour revenir dans le mode normal.

Faites cela maintenant, pour relire le texte qui a défilé en dehors de l'écran quand le noyau effectuait la détection du matériel. Vous verrez quelque chose de semblable à la Figure 2-2, bien que le texte sera différent en fonction des périphériques que vous avez dans votre ordinateur.

Figure 2-2. Résultats typiques de la détection du matériel

avail memory = 253050880 (247120K bytes)
Preloaded elf kernel "kernel" at 0xc0817000.
Preloaded mfs_root "/mfsroot" at 0xc0817084.
md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4

md1: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <iSA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3
dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir
q 11 at device 8.0 on pci0
dc0: Ethernet address: 00:04:5a:74:6b:b5
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10.
0 on pci0
ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
orm0; <Option ROM> at iomem 0xc0000-0xc7fff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq6 drq2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5'' drive> on fdc0 drive 0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0c3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags-0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1: at port 0x2f8-0x2ff irq3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
plip0: <PLIP network interface> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33
acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4
Mounting root from ufs:/dev/md0c
/stand/sysinstall running as init on vty0

Vérifiez les résultats de la détection soigneusement pour s'assurer que FreeBSD a trouvé tous les périphériques que vous attendiez. Si un périphérique n'a pas été trouvé, il ne sera alors pas affiché. Un noyau personnalisé vous permet d'ajouter le support pour des périphériques qui ne sont pas présents dans le noyau GENERIC, comme les cartes son.

Pour FreeBSD 6.2 et les versions suivantes, après la détection des périphériques, vous verrez l'écran correspondant à la Figure 2-3. Utilisez les touches fléchées pour choisir un pays, une région, ou un groupe. Appuyez ensuite sur la touche Enter, pour sélectionner votre pays et votre table de clavier. Il est facile de quitter le programme sysinstall et de recommencer à nouveau.

Figure 2-3. Menu de sélection du pays

Figure 2-4. Quitter sysinstall

Utilisez les touches fléchées pour sélectionner Exit Install dans le menu principal d'installation. Le message suivant apparaîtra:

                      User Confirmation Requested
         Are you sure you wish to exit? The system will reboot
           (be sure to remove any floppies/CDs/DVDs from the drives).

                            [ Yes ]    No

Le programme d'installation redémarrera à nouveau si le CDROM est resté dans le lecteur et que [ Yes ] est sélectionné.

Si vous démarrez à partir de disquettes, il sera nécessaire de retirer la disquette boot.flp avant de redémarrer.


2.5. Présentation de sysinstall

L'utilitaire sysinstall est l'application d'installation fournie par le projet FreeBSD. C'est une application pour la console et qui est divisée en un certain nombre de menus et d'écrans que vous pouvez utiliser pour configurer et contrôler le processus d'installation.

Le système de menu de sysinstall est contrôlé à l'aide des touches fléchées, Entrée, Tab, Espace et d'autres touches. Une description détaillée de ces touches, et de ce qu'elles font, se trouve dans les informations d'utilisation de sysinstall.

Pour voir ces informations, assurez-vous que l'entrée Usage est surlignée et que le bouton [Select] est sélectionné, comme montré dans la Figure 2-5, ensuite appuyez sur Entrée.

Les instructions sur l'utilisation du système de menu seront affichées. Après les avoir lues, appuyez sur Entrée pour revenir au menu principal.

Figure 2-5. Sélection de l'entrée Usage dans le menu principal de sysinstall


2.5.1. Sélectionner le menu de documentation

Depuis le menu principal, sélectionnez Doc avec les touches fléchées et appuyez sur Entrée.

Figure 2-6. Sélectionner le menu de documentation

Cela affichera le menu de documentation.

Figure 2-7. Menu de documentation de sysinstall

Il est important de lire la documentation fournie.

Pour voir un document, sélectionnez-le avec les touches fléchées et appuyez sur Entrée. Quand vous avez terminé la lecture d'un document, l'appui sur Entrée vous ramènera au menu de documentation.

Pour revenir au menu principal d'installation, sélectionnez Exit avec les touches fléchées et appuyez sur Entrée.


2.5.2. Sélectionner le menu des tables de clavier

Pour changer le type de clavier, utilisez les touches fléchées pour sélectionner Keymap depuis le menu et appuyez sur Entrée. Ceci est nécessaire seulement si vous utilisez un clavier non-standard ou non-américain.

Figure 2-8. Menu principal de sysinstall

Une table de clavier différente peut être choisie en sélectionnant l'élément du menu en utilisant les touches fléchées et en appuyant sur Espace. Appuyer à nouveau sur Espace désélectionnera l'élément. Une fois terminé, choisissez [ OK ] en utilisant les touches fléchées et appuyez sur Entrée.

Seule une liste partielle est montrée dans cet exemple. Utiliser [ Cancel ] en appuyant sur Tab sélectionnera la table de clavier par défaut et ramènera au menu principal d'installation.

Figure 2-9. Menu des tables de clavier de sysinstall


2.5.3. Ecran des options d'installation

Sélectionner Options et appuyez sur Entrée.

Figure 2-10. Menu principal de sysinstall

Figure 2-11. Options de sysinstall

Les valeurs par défaut sont généralement parfaites pour la plupart des utilisateurs et ne nécessitent pas d'être modifiées. Le nom de la version variera en fonction de la version que l'on installe.

La description de l'élément sélectionné apparaîtra en bas de l'écran surlignée en bleu. Notez qu'une des options est Use Defaults pour réinitialiser toutes les options à leur valeur de départ.

Appuyez sur F1 pour lire l'écran d'aide à propos des diverses options.

L'appui sur Q ramènera au menu principal d'installation.


2.5.4. Commencer une installation standard

L'installation Standard est l'option recommandée pour ceux qui sont nouveaux à UNIX ou FreeBSD. Utilisez les touches fléchées pour sélectionner Standard et ensuite appuyez sur Entrée pour débuter l'installation.

Figure 2-12. Commencer une installation standard


2.6. Allouer l'espace disque

Votre première tâche est d'allouer de l'espace disque à FreeBSD, et labéliser cet espace de sorte que sysinstall puisse le préparer. Afin de faire cela vous devez savoir comment FreeBSD s'attend à trouver l'information sur le disque.


2.6.1. La numérotation des disques par le BIOS

Avant que vous installiez et configuriez FreeBSD sur votre système, il y a un sujet important dont vous devriez être conscient, particulièrement si vous avez plusieurs disques durs.

Dans un PC utilisant un système d'exploitation dépendant du BIOS comme MS-DOS ou Microsoft Windows, le BIOS est capable de modifier l'ordre normal des disques, et le système d'exploitation suivra le changement. Ceci permet à l'utilisateur de démarrer depuis un disque autre que le prétendu ``premier disque maître''. C'est particulièrement commode pour les utilisateurs qui ont trouvé que la manière la plus simple et la moins onéreuse de sauvegarder un système est d'acheter un second disque dur identique, et d'exécuter des copies régulières du premier disque vers le second en utilisant Ghost® ou XCOPY. Alors, si le premier disque tombe en panne, ou est attaqué par un virus, ou corrompu par un défaut du système d'exploitation, on peut facilement y faire face en demandant au BIOS de permuter logiquement les disques. C'est comme si l'on échangeait les câbles sur les disques, mais sans avoir à ouvrir le boîtier.

Des systèmes plus onéreux avec des contrôleurs SCSI incluent souvent des extensions de BIOS permettant aux disques SCSI d'être réorganisés dans un mode semblable et cela jusqu'à sept disques.

Un utilisateur qui est accoutumé à tirer profit de ces caractéristiques pourra s'étonner quant aux résultats inattendus obtenus sous FreeBSD. FreeBSD n'utilise pas le BIOS, et ne connaît pas ``la table logique des disques du BIOS''. Cela peut mener à des situations relativement déconcertantes, particulièrement quand les disques sont physiquement identiques, et que ce sont également des clones au niveau des données.

Quand vous utilisez FreeBSD, veillez à rétablir la numérotation naturelle des disques dans le BIOS, et laissez-là telle quelle. Si vous devez inverser les disques, alors faites-le mais au niveau matériel en ouvrant votre boîtier et en déplaçant les cavaliers et les câbles.


2.6.2. Création des tranches - ``slices'' en utilisant FDisk

Note : Aucun changement que vous faites à ce niveau de l'installation ne sera écrit sur le disque. Si vous pensez que vous avez fait une erreur et que vous voulez recommencer, vous pouvez utiliser les menus pour quitter sysinstall et essayer encore ou appuyez sur U pour utiliser l'option Undo. Si vous êtes perdu et ne voyez pas comment quitter, vous pouvez toujours éteindre votre ordinateur.

Après avoir choisi de commencer une installation standard sysinstall affichera ce message:

                                 Message
 In the next menu, you will need to set up a DOS-style ("fdisk")
 partitioning scheme for your hard disk. If you simply wish to devote
 all disk space to FreeBSD (overwriting anything else that might be on
 the disk(s) selected) then use the (A)ll command to select the default
 partitioning scheme followed by a (Q)uit. If you wish to allocate only
 free space to FreeBSD, move to a partition marked "unused" and use the
 (C)reate command.
                                [  OK  ]

                      [ Press enter or space ]

Appuyez sur Entrée comme demandé. On vous affichera alors une liste de tous les disques durs que le noyau a trouvés durant la détection des périphériques. La Figure 2-13 présente l'exemple d'un système avec deux disques IDE. Ils ont été appelés ad0 et ad2.

Figure 2-13. Sélection du disque pour FDisk

Vous pourriez vous demander pourquoi ad1 n'est pas listé ici. Pourquoi est-il manquant?

Considérez ce qu'il se produirait si vous aviez deux disques durs IDE, un en tant que maître sur le premier contrôleur IDE, et un autre en tant que maître sur le second contrôleur IDE. Si FreeBSD numérotait ces derniers comme il les a trouvés, en tant que ad0 et ad1 alors tout devrait fonctionner.

Mais si vous ajoutiez un troisième disque, en tant que disque esclave sur le premier contrôleur IDE, ce serait maintenant ad1, et l'ad1 précédent deviendrait ad2. Puisque les noms de périphériques (comme ad1s1a) sont utilisés pour trouver les systèmes de fichiers, vous pouvez soudainement découvrir que certains de vos systèmes de fichiers n'apparaissent plus correctement, et vous devrez modifier votre configuration de FreeBSD.

Pour s'affranchir de cela, le noyau peut être configuré pour nommer les périphériques IDE en fonction de l'endroit où ils sont placés, et non pas en fonction de l'ordre dans lequel ils ont été trouvés. Avec cet arrangement le disque maître sur le second contrôleur IDE sera toujours ad2, même s'il n'y a aucun disque ad0 ou ad1.

Cette configuration est celle par défaut du noyau de FreeBSD, c'est pourquoi notre exemple montre ad0 et ad2. La machine sur laquelle furent prises les captures d'écran avait des disques IDE sur les canaux maîtres de chaque contrôleur IDE, et aucun disque esclave.

Vous devrez choisir le disque sur lequel vous désirez installer FreeBSD, et ensuite appuyer sur [ OK ]. FDisk démarrera, avec un écran semblable à celui montré sur la Figure 2-14.

L'affichage de FDisk est séparé en trois parties.

La première partie, occupant les deux premières lignes de l'écran, montre les détails au sujet du disque actuellement sélectionné, dont son nom sous FreeBSD, sa géométrie, et la taille du disque.

La deuxième partie montre les tranches qui sont actuellement présentes sur le disque, où elles débutent et se terminent, leur taille, le nom que leur donne FreeBSD, et leur description et sous-type. Cette exemple montre deux petites tranches inutilisées, qui sont les conséquences de l'arrangement du disque sous PC. Il montre également une grande tranche de type FAT, qui est presque certainement le lecteur C: sous MS-DOS / Windows, et une tranche étendue, qui doit contenir d'autres lecteurs pour MS-DOS / Windows.

La troisième partie affiche les commandes disponibles dans FDisk.

Figure 2-14. Partitions Fdisk typiques avant édition

Ce que vous allez faire maintenant dépend de comment vous voulez diviser votre disque.

Si vous voulez utiliser tout le disque pour FreeBSD (ce qui effacera toutes les autres données sur votre disque quand vous confirmerez, plus tard dans le processus d'installation, que vous voulez que sysinstall continue) alors vous pouvez appuyer sur A, ce qui correspond à l'option Use Entire Disk (utiliser l'intégralité du disque). Les tranches existantes seront supprimées, et remplacées par une petite zone étiquetée unused (encore une fois, une particularité de l'organisation des disques sous PC), et ensuite une grande tranche pour FreeBSD. Si vous faites cela vous devriez sélectionner la tranche FreeBSD nouvellement créée en utilisant les touches fléchées, et appuyer sur S pour marquer la tranche comme pouvant être démarrable. L'écran sera alors semblable à la Figure 2-15. Notez le A dans la colonne Flags, qui indique que cette tranche est active, et sera démarrable.

Si vous supprimez une tranche existante pour faire de la place pour FreeBSD alors vous devriez sélectionner la tranche en utilisant les touches fléchées, et ensuite appuyer sur D. Vous pouvez alors appuyer sur C, on vous demandera la taille de la tranche que vous désirez créer. Entrez la taille requise et appuyez sur Entrée. La valeur par défaut dans cette boîte de dialogue représente la tranche la plus grande possible que vous pouvez créer, qui peut être le plus grand bloc d'espace contiguë non alloué ou la taille de l'intégralité du disque dur.

Si vous avez déjà fait de la place pour FreeBSD (peut-être en utilisant un outil comme PartitionMagic®) alors vous pouvez appuyer sur C pour créer une nouvelle tranche. Encore une fois, vous serez sollicité pour entrer la taille de la tranche que vous désirez créer.

Figure 2-15. Partionnement Fdisk utilisant l'intégralité du disque

Une fois terminé, appuyez sur Q. Vos modifications seront sauvegardées dans sysinstall, mais ne seront pas encore inscrites sur le disque.


2.6.3. Installer un gestionnaire de démarrage

Vous avez maintenant la possibilité d'installer un gestionnaire de démarrage. En général, vous devriez installer le gestionnaire de démarrage de FreeBSD si:

  • Vous avez plus d'un disque, et vous avez installé FreeBSD sur un disque autre que le premier.

  • Vous avez installé FreeBSD à côté d'un autre système d'exploitation sur le même disque, et vous voulez pouvoir choisir de lancer soit FreeBSD soit l'autre système d'exploitation au démarrage de votre ordinateur.

Si FreeBSD sera le seul système d'exploitation sur cette machine, installé sur le premier disque dur, alors le gestionnaire de démarrage Standard suffira. Sélectionnez None si vous utilisez un gestionnaire de démarrage tiers capable de démarrer FreeBSD.

Faites votre choix, et appuyez sur Entrée.

Figure 2-16. Menu du gestionnaire de démarrage de sysinstall

L'écran d'aide, obtenu par l'appui sur F1, discute des problèmes qui peuvent être rencontrés quand on essaye de partager un disque entre plusieurs systèmes d'exploitation.


2.6.4. Création de tranches - ``slices'' sur un autre disque

S'il y a plus d'un disque, on reviendra à l'écran de sélection des disques après la sélection du gestionnaire de démarrage. Si vous souhaitez installer FreeBSD sur plus d'un disque, alors vous pouvez choisir un autre disque ici et répéter le processus en utilisant FDisk.

Important : Si vous installez FreeBSD sur un disque différent de votre premier disque, alors le gestionnaire de démarrage de FreeBSD doit être installé sur les deux disques.

Figure 2-17. Quitter la sélection de disque

La touche Tab permet de basculer entre le dernier disque sélectionné, [ OK ], et [ Cancel ].

Appuyez sur Tab une fois pour basculer sur [ OK ], ensuite appuyez sur Entrée pour continuer l'installation.


2.6.5. Créer des partitions en utilisant Disklabel

Vous devez maintenant créer des partitions à l'intérieur de chaque tranche que vous venez de créer. Rappelez-vous que chaque partition est représentée par une lettre, depuis a jusqu'à h, et que les partitions b, c, et d ont par convention des significations particulières que vous devriez respecter.

Certaines applications peuvent tirer avantage d'un partionnement particulier, tout spécialement si vous organisez vos partitions sur plus d'un disque. Cependant, pour votre première installation de FreeBSD, vous ne devriez ne pas trop attacher d'importance à la façon dont vous divisez votre disque. Il est plus important que vous installiez FreeBSD et commenciez à apprendre à l'utiliser. Vous pouvez toujours réinstaller FreeBSD pour modifier votre partionnement quand vous serez plus familier avec le système d'exploitation.

Cette organisation présente quatre partitions--une pour l'espace de pagination, et trois pour les systèmes de fichiers.

Tableau 2-2. Partitionnement du premier disque

Partition Système de fichiers Taille Description
a / 512 Mo C'est le système de fichiers racine. Tous les autres systèmes de fichiers seront montés sous ce dernier. 512 Mo est une taille raisonnable pour ce système de fichiers. Vous ne devrez pas stocker trop de données dessus, comme une installation habituelle de FreeBSD prendra environ 128 Mo. La place restante est pour les données temporaires, et laisse également de l'espace si les futures version de FreeBSD nécessitent plus de place dans /
b N/A 2-3 x RAM

L'espace de pagination du système est placé sur la partition b. Choisir la bonne quantité d'espace de pagination peut s'avérer être tout un art. Un bon principe est de prendre un espace de pagination égal à deux ou trois fois la mémoire physique disponible sur le système (RAM). Vous devrez également avoir au moins 64 Mo d'espace de pagination, donc si vous avez moins de 32 Mo de RAM dans votre ordinateur fixez la taille de l'espace de pagination à 64 Mo.

Si vous avez plus d'un disque alors vous pouvez mettre de l'espace de pagination sur chaque disque. FreeBSD utilisera alors chaque disque pour la pagination, ce qui accélérera le processus de pagination. Dans ce cas calculez la quantité d'espace dont vous avez besoin (e.g., 128 Mo), et divisez-la par le nombre de disques que vous avez (e.g., deux disques) pour obtenir la quantité à mettre sur chaque disque, dans cet exemple, 64 Mo d'espace de pagination par disque.

e /var 256 Mo à 1024nbsp;Mo Le répertoire /var contient des fichiers variant constamment; fichiers de traces, et autre fichiers d'administration. Beaucoup de ces fichiers sont lus et écrits de façon intensive durant le fonctionnement de FreeBSD. Mettre ces fichiers sur un autre système de fichiers permet à FreeBSD d'optimiser l'accès à ces fichiers sans affecter les autres fichiers d'autres répertoires n'ayant pas les même conditions d'accès.
f /usr Le reste du disque (au moins 2nbsp;Go) Tous vos autres fichiers seront normalement stockés dans /usr, et ses sous-répertoires.

Avertissement : Les valeurs ci-dessus sont données à titre d'exemple et ne devraient être utilisées que par des utilisateurs expérimentés. Les utilisateurs sont encouragés à utiliser le partitionnement automatique appelé Auto Defaults par l'éditeur de partition de FreeBSD.

Si vous installez FreeBSD sur plus d'un disque alors vous devez également créer des partitions sur les autres tranches que vous avez configurées. La manière la plus simple est de créer deux partitions sur chaque disque, une pour l'espace de pagination, et une autre pour le système de fichiers.

Tableau 2-3. Partitionnement pour les disques suivants

Partition Système de fichiers Taille Description
b N/A Voir description Comme déjà discuté, vous pouvez répartir l'espace de pagination sur chaque disque. Même si la partition a est libre, les conventions nous dictent que l'espace de pagination doit rester sur la partition b.
e /disquen le reste du disque Le reste du disque est utilisé en une seule grande partition. Cela pourrait facilement être la partition a, au lieu de la partition e. Cependant, conventionnellement la partition a sur une tranche est réservée au système de fichiers racine (/). Vous n'êtes pas obligé de suivre cette convention mais sysinstall le fait, et donc la suivre rendra l'installation plus claire. Vous pouvez choisir de monter ce système de fichiers n'importe où; cet exemple suggère que vous les montiez en tant que répertoires /disquen, où n est un nombre qui change pour chaque disque. Mais vous pouvez choisir une autre organisation si vous le préférez.

Après avoir choisi votre partitionnement vous pouvez maintenant le créer en utilisant sysinstall. Vous verrez ce message:

                                 Message
 Now, you need to create BSD partitions inside of the fdisk
 partition(s) just created. If you have a reasonable amount of disk
 space (200MB or more) and don't have any special requirements, simply
 use the (A)uto command to allocate space automatically. If you have
 more specific needs or just don't care for the layout chosen by
 (A)uto, press F1 for more information on manual layout.

                                [  OK  ]
                          [ Press enter or space ]

Appuyez sur Entrée pour lancer l'éditeur de partition de FreeBSD, appelé Disklabel.

La Figure 2-18 présente l'affichage que l'on obtient quand on lance pour la première fois Disklabel. L'écran est divisé en trois parties.

Les premières lignes affichent le nom du disque sur lequel vous êtes en train de travailler, et la tranche qui contient les partitions que vous êtes en train de créer (à cet endroit Disklabel nomme cela Partition name, nom de partition, plutôt que le nom slice). Cet écran montre également la quantité d'espace libre dans la tranche; c'est à dire l'espace qui a été mis de côté dans la tranche, et qui n'a pas été encore attribué à une partition.

Le centre de l'écran présente les partitions qui ont été créées, le nom du système de fichiers que chaque partition contient, leur taille, et des options concernant la création du système de fichiers.

Le bas de l'écran donne les combinaisons de touches valides dans Disklabel.

Figure 2-18. L'éditeur Disklabel de sysinstall

Disklabel peut automatiquement créer des partitions pour vous et leur assigner des tailles par défaut. Les tailles par défaut sont déterminées à l'aide d'un algorithme interne basé sur la taille du disque. Essayez cette fonction en appuyant sur A. Vous verrez un affichage semblable à celui donné par la Figure 2-19. En fonction de la taille de votre disque, les valeurs par défaut peuvent être ou non appropriées. Cela n'a pas d'importance, car vous n'êtes pas obligé d'accepter ces valeurs.

Note : Le partionnement par défaut assigne au répertoire /tmp sa propre partition plutôt que d'appartenir à la partition /. Cela permet d'éviter de remplir la partition / avec des fichiers temporaires.

Figure 2-19. L'éditeur Disklabel de sysinstall en mode automatique

Si vous décidez de ne pas utiliser les partitions par défaut et vous désirez les remplacer par les vôtres, utilisez les touches fléchées pour sélectionner la première partition, et appuyez sur D pour l'effacer. Répétez cela pour effacer toutes les partitions suggérées.

Pour créer la première partition (a, montée en / -- racine), assurez-vous que la tranche du disque correcte en haut de l'écran est sélectionnée, et appuyez sur C. Une boîte de dialogue s'affichera et vous demandera la taille de la nouvelle partition (comme montré sur la Figure 2-20). Vous pouvez entrer la taille sous la forme du nombre de blocs disque que vous voulez utiliser, ou sous forme d'un nombre suivi soit par M pour mégaoctets, G pour gigaoctets, ou soit par C pour cylindres.

Figure 2-20. Espace libre pour la partition racine

La taille par défaut proposée créera une partition qui occupera le reste de la tranche. Si vous utilisez les tailles de partitions comme décrit dans l'exemple précédent, alors effacez la valeur proposée en utilisant Backspace, et ensuite tapez 512M, comme présenté sur la Figure 2-21. Puis appuyez sur [ OK ].

Figure 2-21. Edition de la taille de la partition racine

Après avoir choisi la taille de la partition on vous demandera si cette partition contiendra un système de fichiers ou de l'espace de pagination. La boîte de dialogue est présentée dans la Figure 2-22. Cette première partition contiendra un système de fichiers, vérifiez donc que FS est sélectionné et appuyez sur Entrée.

Figure 2-22. Choisir le type de la partition racine

Finalement, comme vous créez un système de fichiers, vous devez indiquer à Disklabel où le système de fichiers sera monté. La boîte de dialogue est montrée sur la Figure 2-23. Le point de montage du système de fichiers racine est /, tapez donc /, et appuyez sur Entrée.

Figure 2-23. Choisir le point de montage de la partition racine

L'affichage sera mis à jour pour montrer la partition nouvellement créée. Vous devrez répéter cette procédure pour les autres partitions. Quand vous créerez la partition de l'espace de pagination, on ne vous demandera pas de point de montage pour le système de fichiers, étant donné que les partitions de pagination ne sont jamais montées. Quand vous créez la dernière partition /usr, vous pouvez laisser la taille suggérée telle qu'elle, pour utiliser le reste de la tranche.

Votre dernier écran de l'éditeur DiskLabel de FreeBSD apparaîtra semblable à la Figure 2-24, bien que vos valeurs puissent être différentes. Appuyez sur Q pour terminer.

Figure 2-24. Editeur Disklabel de sysinstall


2.7. Choisir ce que l'on va installer

2.7.1. Sélectionner l'ensemble de distribution

Décider quel ensemble de distribution installer dépendra en grande partie de l'utilisation prévue du système et de la quantité d'espace disque disponible. Les options prédéfinies vont de l'installation la plus petite possible à l'installation de la totalité des éléments disponibles. Ceux qui sont nouveaux à UNIX et/ou FreeBSD devraient presque certainement choisir une de ces options prédéfinies. Personnaliser un ensemble de distribution est normalement réservé à l'utilisateur plus expérimenté.

Appuyez sur F1 pour plus d'informations sur les options des ensembles de distribution et sur ce qu'ils contiennent. Une fois la lecture de l'aide terminée, l'appui sur Entrée ramènera au menu de sélection des distributions.

Si une interface graphique utilisateur est désirée alors un ensemble de distribution qui est précédé par un X devra être choisi. La configuration du serveur X et la sélection d'un environnement de travail doivent être effectuées après l'installation de FreeBSD. Plus d'information concernant la configuration d'un serveur X peut être trouvé dans le Chapitre 5.

Xorg est la version d'X11 qui sera installée par défaut.

Si la compilation d'un noyau personnalisé est prévue, sélectionnez une option qui inclut le code source. Pour plus d'information sur l'intérêt d'un noyau personnalisé ou comment compiler un noyau personnalisé voir le Chapitre 8.

A l'évidence, le système le plus versatile est celui qui inclut tout. S'il y a l'espace disque adéquat, choisissez All comme montré sur la Figure 2-25 en utilisant les touches fléchées et appuyez sur Entrée. S'il y a un problème quant à l'espace disque considérez l'utilisation d'une option plus appropriée à la situation. Ne vous tracassez pas au sujet des choix d'ensembles, comme les autres ensembles de distribution peuvent être ajoutés après l'installation.

Figure 2-25. Choix de l'ensemble de distribution


2.7.2. Installer le catalogue des logiciels portés - ``Ports collection''

Après le choix de l'ensemble de distribution désiré, l'opportunité d'installer le catalogue des logiciels portés pour FreeBSD se présente. Le catalogue des logiciels portés est une méthode simple et commode pour installer des logiciels. Le catalogue des logiciels portés ne contient pas le code source nécessaire pour compiler le logiciel. A la place, c'est un ensemble de fichiers qui automatise le téléchargement, la compilation et l'installation de logiciels tierce-partie. Le Chapitre 4 discute de l'utilisation du catalogue des logiciels portés.

Le programme d'installation ne vérifie pas si vous avez l'espace requis. Sélectionnez cette option uniquement si vous disposez de l'espace disque adéquat. Sous FreeBSD 9.0, le catalogue des logiciels portés occupe environ 440 Mo d'espace disque. Vous pouvez sans risque envisager une plus grande valeur pour les versions de FreeBSD plus récentes.

                         User Confirmation Requested
 Would you like to install the FreeBSD ports collection?

 This will give you ready access to over 20,000 ported software packages,
 at a cost of around 440 Mo of disk space when "clean" and possibly much
 more than that if a lot of the distribution tarballs are loaded
 (unless you have the extra CDs from a FreeBSD CD/DVD distribution
 available and can mount it on /cdrom, in which case this is far less
 of a problem).

 The ports collection is a very valuable resource and well worth having
 on your /usr partition, so it is advisable to say Yes to this option.

 For more information on the ports collection & the latest ports,
 visit:
     http://www.FreeBSD.org/ports

                              [ Yes ]     No

Sélectionnez [ Yes ] avec les touches fléchées pour installer le catalogue des logiciels portés ou [ No ] pour passer cette option. Appuyez sur Entrée pour continuer. Le menu de sélection de l'ensemble de distribution réapparaîtra.

Figure 2-26. Confirmer le choix de la distribution

Si vous êtes satisfait avec les options, sélectionnez Exit avec les touches fléchées, vérifiez que [ OK ] est surligné, et appuyez sur Entrée pour continuer.


2.8. Choisir votre support d'installation

Si vous installez à partir d'un CDROM ou DVD, utilisez les touches fléchées pour sélectionner Install from a FreeBSD CD/DVD. Vérifiez que [ OK ] est surligné, puis appuyez sur Entrée pour procéder à l'installation.

Pour les autre méthodes d'installation, sélectionnez l'option appropriée et suivez les instructions.

Appuyez sur F1 pour afficher l'aide en ligne pour le support d'installation. Appuyez sur Entrée pour revenir au menu de sélection du support.

Figure 2-27. Choisir le support d'installation

Modes d'installation par FTP : Il y a trois modes d'installation par FTP, vous pouvez choisir parmi: FTP actif, FTP passif, ou par l'intermédiaire d'un proxy HTTP.

FTP actif: Install from an FTP server

Cette option fera que tous les transferts FTP utiliseront le mode ``actif''. Cela ne fonctionnera pas à travers un coupe-feu, mais fonctionnera souvent avec de vieux serveurs FTP ne supportant pas le mode passif. Si votre connexion se bloque avec le mode passif (mode par défaut), essayez le mode actif!

FTP passif: Install from an FTP server through a firewall

Cette option demande à sysinstall d'utiliser le mode ``passif'' pour toutes les opérations FTP. Cela permet à l'utilisateur de traverser les coupes-feu qui n'acceptent pas les connexions entrantes sur des ports TCP aléatoires.

FTP par l'intermédiaire d'un proxy HTTP: Install from an FTP server through a http proxy

Cette option demande à sysinstall d'utiliser le protocole HTTP (comme pour un navigateur web) pour se connecter à un proxy pour toutes les opérations FTP. Le proxy traduira toutes les requêtes et les transmettra au serveur FTP. Cela permet aux utilisateurs de traverser les coupes-feu qui n'autorisent pas les connexions FTP, mais offrent un proxy HTTP. Dans ce cas, vous devez préciser le proxy en plus du serveur FTP.

Pour un serveur proxy FTP, vous devriez normalement donner le nom du serveur que vous désirez comme partie du nom d'utilisateur, après le signe ``@''. Le serveur proxy ``simulera'' le serveur réel. Par exemple, en supposant que vous voulez installer à partir de ftp.FreeBSD.org, en utilisant le serveur proxy FTP foo.example.com, écoutant sur le port 1234.

Dans ce cas, rendez-vous dans le menu d'options, et fixez le nom d'utilisateur FTP (``username'') à ftp@ftp.FreeBSD.org, et le mot de passe (``password'') à votre adresse émail. Comme support d'installation, vous spécifiez FTP (ou FTP passif, si le proxy le supporte), et l'URL ftp://foo.example.com:1234/pub/FreeBSD.

Puisque le répertoire /pub/FreeBSD de ftp.FreeBSD.org est traduit par le proxy en foo.example.com, vous êtes en mesure d'installer depuis cette machine (qui ira chercher les fichiers sur ftp.FreeBSD.org quand l'installation réclamera des fichiers).


2.9. Procéder à l'installation

L'installation peut être maintenant effectuée si désirée. C'est également la dernière chance pour annuler l'installation et empêcher l'écriture sur le disque dur.

                       User Confirmation Requested
 Last Chance! Are you SURE you want to continue the installation?

 If you're running this on a disk with data you wish to save then WE
 STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!

 We can take no responsibility for lost disk contents!

                             [ Yes ]    No

Sélectionnez [ Yes ] et appuyez sur Entrée pour poursuivre.

La durée de l'installation variera en fonction de la distribution choisie, du support d'installation, et de la vitesse de l'ordinateur. Une série de messages sera affichée pour indiquer la progression de l'installation.

L'installation est achevée quand le message suivant est affiché:

                               Message

Congratulations! You now have FreeBSD installed on your system.

We will now move on to the final configuration questions.
For any option you do not wish to configure, simply select No.

If you wish to re-enter this utility after the system is up, you may
do so by typing: /usr/sbin/sysinstall .

                                 [ OK ]

                      [  Press enter or space  ]

Appuyez sur Entrée pour poursuivre avec les configurations de post-installation.

Sélectionner [ No ] et appuyer sur Entrée annulera l'installation et aucun changement ne sera fait à votre système. Le message suivant apparaîtra:

                                Message
Installation complete with some errors.  You may wish to scroll
through the debugging messages on VTY1 with the scroll-lock feature.
You can also choose "No" at the next prompt and go back into the
installation menus to retry whichever operations have failed.

                                 [ OK ]

Ce message est généré parce que rien n'a été installé. L'appui sur Entrée ramènera au menu principal d'installation pour quitter l'installation.


2.10. Post-installation

La configuration de diverses options suit l'installation. Une option peut être configurée en accédant aux options de configuration avant de redémarrer le nouveau système FreeBSD ou après l'installation en utilisant la commande sysinstall et en sélectionnant Configure.


2.10.1. Configuration réseau

Si vous avez précédemment configuré PPP pour une installation par FTP, cet écran n'apparaîtra pas et peut être configuré plus tard comme décrit ci-dessus.

Pour une information détaillée sur les réseaux locaux et la configuration de FreeBSD en passerelle/routeur référez-vous au chapitre Administration réseau avancée.

                      User Confirmation Requested
   Would you like to configure any Ethernet or SLIP/PPP network devices?

                             [ Yes ]   No

Pour configurer un périphérique réseau, sélectionnez [ Yes ] et appuyez sur Entrée. Sinon, sélectionnez [ No ] pour continuer.

Figure 2-28. Sélection d'un périphérique Ethernet

Sélectionnez l'interface à configurer avec les touches fléchées et appuyez sur Entrée.

                      User Confirmation Requested
       Do you want to try IPv6 configuration of the interface?

                              Yes   [ No ]

Dans ce réseau local privé l'actuel protocole Internet (IPv4) était suffisant et [ No ] a été sélectionné avec les touches fléchées et suivie d'Entrée.

Si vous êtes connecté à une réseau (IPv6), existant avec un serveur RA, alors choisissez [ Yes ] et appuyez sur Entrée. Cela prendra plusieurs secondes pour rechercher des serveurs RA.

                             User Confirmation Requested
        Do you want to try DHCP configuration of the interface?

                              Yes   [ No ]

Si DHCP (``Dynamic Host Configuration Protocol'') n'est pas requis sélectionnez [ No ] à l'aide des touches fléchées et appuyez sur Entrée.

Sélectionner [ Yes ] exécutera dhclient, et en cas de succès, complétera l'information de configuration du réseau automatiquement. Référez-vous à la Section 28.5 pour plus d'information.

L'écran de configuration réseau suivant montre la configuration du périphérique Ethernet pour un système qui sera passerelle pour un réseau local.

Figure 2-29. Configuration réseau pour ed0

Utilisez Tab pour choisir les champs d'information et compléter avec l'information appropriée:

Host - ``Hôte''

Le nom complet de la machine, e.g. k6-2.exemple.com dans ce cas.

Domain - ``Domaine''

Le nom du domaine auquel appartient votre machine, e.g. exemple.com dans le cas présent.

IPv4 Gateway - ``Passerelle IPv4''

L'adresse IP de l'hôte transmettant les paquets aux destinations non-locales. Vous devez complétez cela seulement si la machine est un noeud sur le réseau. Laissez ce champ vide si la machine est destinée à être la passerelle vers l'Internet pour le réseau. La passerelle (``gateway'') IPv4 est également connue sous le nom de passerelle par défaut ou route par défaut.

Name server - ``Serveur de Noms''

L'adresse IP de votre serveur DNS local. Il n'y a pas de serveur DNS local sur ce réseau local privé aussi l'adresse IP du serveur DNS du fournisseur d'accès (208.163.10.2) fut utilisée.

IPv4 address - ``Adresse IPv4''

L'adresse IP employée pour cette interface fut 192.168.0.1

Netmask - ``Masque de sous-réseau''

Le bloc d'adresse utilisé pour ce réseau local est le bloc 192.168.0.0 - 192.168.0.255) avec un masque de sous-réseau de 255.255.255.0.

Extra options to ifconfig - ``Options supplémentaires pour ifconfig''

Toutes options d'ifconfig spécifiques aux interfaces que vous voudriez ajouter. Il n'y en avait aucune dans ce cas-ci.

Utilisez Tab pour sélectionner [ OK ] une fois terminé et appuyez sur Entrée.

                      User Confirmation Requested
        Would you like to Bring Up the ed0 interface right now?

                             [ Yes ]   No

La sélection de [ Yes ] suivie d'Entrée rendra l'accès réseau de la machine opérationnel. Cependant, cela ne n'accomplit pas grand chose durant l'installation puisque la machine a encore besoin d'être redémarrée.


2.10.2. Configurer la passerelle

                       User Confirmation Requested
       Do you want this machine to function as a network gateway?

                              [ Yes ]    No

Si la machine jouera le rôle de passerelle pour le réseau local et transmettra les paquets entre machines alors sélectionnez [ Yes ] et appuyez sur Entrée. Si la machine est un noeud sur le réseau alors sélectionnez [ No ] et appuyez sur Entrée pour continuer.


2.10.3. Configurer les services Internet

                      User Confirmation Requested
Do you want to configure inetd and the network services that is provides?

                               Yes   [ No ]

Si [ No ] est sélectionné, divers services tel que telnetd ne seront pas activés. Cela signifie que des utilisateurs à distance ne pourront pas se connecter par l'intermédiaire de telnet à cette machine. Les utilisateurs locaux seront toujours en mesure d'accéder à des machines distantes avec telnet.

Ces services peuvent être activés après l'installation en éditant /etc/inetd.conf avec votre éditeur de texte favori. Voir la Section 28.2.1 pour plus d'information.

Choisissez [ Yes ] si vous souhaitez configurer ces services pendant l'installation. Une confirmation supplémentaire s'affichera:

                      User Confirmation Requested
The Internet Super Server (inetd) allows a number of simple Internet
services to be enabled, including finger, ftp and telnetd.  Enabling
these services may increase risk of security problems by increasing
the exposure of your system.

With this in mind, do you wish to enable inetd?

                             [ Yes ]   No

Sélectionnez [ Yes ] pour continuer.

                      User Confirmation Requested
inetd(8) relies on its configuration file, /etc/inetd.conf, to determine
which of its Internet services will be available.  The default FreeBSD
inetd.conf(5) leaves all services disabled by default, so they must be
specifically enabled in the configuration file before they will
function, even once inetd(8) is enabled.  Note that services for
IPv6 must be seperately enabled from IPv4 services.

Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to
use the current settings.

                             [ Yes ]   No

Le choix [ Yes ] permettra d'ajouter des services en supprimant le # au début d'une ligne.

Figure 2-30. Edition d'inetd.conf

Après avoir ajouté les services désirés, l'appui sur Echap affichera un menu qui permettra de quitter et sauver les changements.


2.10.4. Autoriser les ouvertures de session SSH

                      User Confirmation Requested
                  Would you like to enable SSH login?
                           Yes        [  No  ]

Sélectionner [ Yes ] activera sshd(8), le programme “daemon” pour OpenSSH. Cela permettra l'ouverture à distance de sessions sécurisées sur votre machine. Pour plus d'information au sujet d'OpenSSH voir la Section 14.11.


2.10.5. FTP anonyme

                      User Confirmation Requested
 Do you want to have anonymous FTP access to this machine?

                              Yes    [ No ]

2.10.5.1. Interdire l'accès FTP anonyme

Choisir le [ No ] par défaut et appuyer sur Entrée permettra toujours aux utilisateurs ayant des comptes avec mot de passe d'utiliser FTP pour accéder à la machine.


2.10.5.2. Autoriser l'accès FTP anonyme

N'importe qui peut accéder à votre machine si vous choisissez d'autoriser les connexions par FTP anonyme. Les implications au niveau de la sécurité devraient être considérées avant d'activer cette option. Pour plus d'information sur la sécurité voir le Chapitre 14.

Pour autoriser le FTP anonyme, utilisez les touches fléchées pour sélectionner [ Yes ] et appuyez sur Entrée. Une confirmation supplémentaire apparaîtra:

                       User Confirmation Requested
 Anonymous FTP permits un-authenticated users to connect to the system
 FTP server, if FTP service is enabled.  Anonymous users are
 restricted to a specific subset of the file system, and the default
 configuration provides a drop-box incoming directory to which uploads
 are permitted.  You must separately enable both inetd(8), and enable
 ftpd(8) in inetd.conf(5) for FTP services to be available.  If you
 did not do so earlier, you will have the opportunity to enable inetd(8)
 again later.

 If you want the server to be read-only you should leave the upload
 directory option empty and add the -r command-line option to ftpd(8)
 in inetd.conf(5)

 Do you wish to continue configuring anonymous FTP?

                          [ Yes ]         No

Ce message vous indique que le servec FTP devra également être activé dans le fichier /etc/inetd.conf si vous voulez autoriser les connexions FTP anonymes, voir la Section 2.10.3. Sélectionnez [ Yes ] et appuyez sur Entrée pour continuer; l'écran suivant (ou semblable) apparaîtra:

Figure 2-31. Configuration par défaut du FTP anonyme

Utilisez la touche Tab pour choisir les champs d'information et compléter avec l'information appropriée:

UID

L'ID utilisateur que vous voulez affecter à l'utilisateur du FTP anonyme. Tous les fichiers chargés sur le serveur appartiendront à cet ID.

Group - “Groupe”

Le groupe auquel appartiendra l'utilisateur du FTP anonyme.

Comment - “Commentaire”

La chaîne de caractères décrivant cet utilisateur dans le fichier /etc/passwd.

FTP Root Directory - “Répertoire racine FTP”

L'emplacement où seront conservés les fichiers du FTP anonyme.

Upload Subdirectory - “Sous-répertoire de téléchargement”

L'emplacement où seront stockés les fichiers téléchargés sur le serveur par les utilisateurs du FTP anonyme.

Le répertoire racine du FTP sera placé dans /var par défaut. Si vous n'avez pas de place à cet endroit pour les besoins prévus du FTP, le répertoire /usr pourra être utilisé en configurant le répertoire racine FTP à /usr/ftp.

Quand vous êtes satisfait de ces valeurs, appuyez sur Entrée pour continuer.

                          User Confirmation Requested
         Create a welcome message file for anonymous FTP users?

                              [ Yes ]    No

Si vous sélectionnez [ Yes ] et appuyez sur Entrée, un éditeur sera automatiquement lancé vous permettant d'éditer le message.

Figure 2-32. Edition du message de bienvenue du FTP

C'est un éditeur de texte appelé ee. Utilisez les instructions pour modifier le message ou faites-le plus tard en utilisant l'éditeur de texte de votre choix. Notez l'emplacement/le nom du fichier au bas de l'écran.

Appuyez sur Echap et une boîte de dialogue apparaîtra avec l'option a) leave editor sélectionnée. Appuyez sur Entrée pour quitter et continuer. Appuyez à nouveau sur Entrée pour sauvegarder les modifications si vous en avez fait.


2.10.6. Configurer le système de fichiers réseau - NFS

Le système de fichiers réseau (NFS) permet le partage de fichiers à travers un réseau. Une machine peut être configurée en serveur, client, ou les deux. Référez-vous à la Section 28.3 pour plus d'information.


2.10.6.1. Serveur NFS

                       User Confirmation Requested
 Do you want to configure this machine as an NFS server?

                              Yes    [ No ]

S'il n'y a aucun de besoin de serveur NFS, sélectionnez [ No ] et appuyez sur Entrée.

Si [ Yes ] est choisi, un message apparaîtra indiquant que le fichier exports doit être créé.

                               Message
Operating as an NFS server means that you must first configure an
/etc/exports file to indicate which hosts are allowed certain kinds of
access to your local file systems.
Press [Enter] now to invoke an editor on /etc/exports
                               [ OK ]

Appuyez sur Entrée pour continuer. Un éditeur de texte sera lancé pour permettre la création et l'edition du fichier exports.

Figure 2-33. Edition du fichier exports

Suivez les instructions pour ajouter les systèmes de fichiers à exporter maintenant ou plus tard en utilisant l'éditeur de texte de votre choix. Notez le nom/l'emplacement au bas de l'écran de l'éditeur.

Appuyez sur Echap et une boîte de dialogue apparaîtra avec l'option a) leave editor sélectionnée. Appuyez sur Entrée pour quitter et continuer.


2.10.6.2. Client NFS

Le client NFS permet à votre machine d'accéder à des serveurs NFS.

                       User Confirmation Requested
 Do you want to configure this machine as an NFS client?

                              Yes   [ No ]

Avec les touches fléchées, sélectionnez [ Yes ] ou [ No ] selon vos besoins et appuyez sur Entrée.


2.10.7. Configuration de la console système

Ils y a plusieurs options disponibles pour personnaliser la console système.

                      User Confirmation Requested
       Would you like to customize your system console settings?

                              [ Yes ]  No

Pour visualiser et configurer ces options, sélectionnez [ Yes ] et appuyez sur Entrée.

Figure 2-34. Options de configuration de la console système

Une option généralement utilisée est l'économiseur d'écran. Utilisez les touches fléchées pour sélectionner Saver et appuyez ensuite sur Entrée.

Figure 2-35. Options de l'économiseur d'écran

Sélectionnez l'économiseur d'écran désiré en utilisant les touches fléchées et puis appuyez sur Entrée. Le menu de configuration de la console système réapparaîtra.

L'intervalle de temps par défaut est de 300 secondes. Pour changer cet intervalle de temps, sélectionnez Saver à nouveau. Au menu de configuration de l'économiseur d'écran, sélectionnez Timeout en utilisant les touches fléchées et appuyez sur Entrée. Une boîte de dialogue apparaîtra:

Figure 2-36. Délai de l'économiseur d'écran

La valeur peut être changée, ensuite sélectionnez [ OK ] et appuyez sur Entrée pour retourner au menu de configuration de la console système.

Figure 2-37. Sortie de la configuration de la console système

En sélectionnant Exit et en appuyant sur Entrée on poursuivra avec les options de post-installation.


2.10.8. Réglage du fuseau horaire

Régler le fuseau horaire sur votre machine lui permettra de corriger automatiquement tout changement horaire régional et d'exécuter d'autres fonctions liées au fuseau horaire correctement.

L'exemple présenté est pour une machine située dans le fuseau horaire oriental des Etats-Unis. Vos choix changeront en fonction de votre position géographique.

                      User Confirmation Requested
          Would you like to set this machine's time zone now?

                            [ Yes ]   No

Sélectionnez [ Yes ] et appuyez sur Entrée pour régler le fuseau horaire.

                       User Confirmation Requested
 Is this machine's CMOS clock set to UTC? If it is set to local time
 or you don't know, please choose NO here!

                              Yes   [ No ]

Sélectionnez [ Yes ] ou [ No ] en fonction de la configuration de l'horloge de la machine et appuyez sur Entrée.

Figure 2-38. Choisissez votre région

La région appropriée est sélectionnée en utilisant les touches fléchées, puis en appuyant sur Entrée.

Figure 2-39. Sélectionnez votre pays

Sélectionnez le pays approprié en utilisant les touches fléchées et appuyez sur Entrée.

Figure 2-40. Sélectionnez votre fuseau horaire

Le fuseau horaire approprié est sélectionné en utilisant les touches fléchées et en appuyant sur Entrée.

                            Confirmation
            Does the abbreviation 'EDT' look reasonable?

                            [ Yes ]   No

Confirmez que l'abréviation pour le fuseau horaire est correcte. Si cela semble bon, appuyez sur Enter pour continuer avec la configuration de post-installation.


2.10.9. Compatibilité Linux

                      User Confirmation Requested
          Would you like to enable Linux binary compatibility?

                            [ Yes ]   No

La sélection de [ Yes ] et l'appui sur Entrée permettra d'exécuter des logiciels Linux sous FreeBSD. L'installation ajoutera les logiciels pré-compilés appropriés pour la compatibilité Linux.

Si l'on installe par FTP, la machine devra être connectée à l'Internet. Parfois un site FTP distant n'aura pas tous les ensembles de distributions comme la compatibilité binaire Linux. Cela peut être installé plus tard si nécessaire.


2.10.10. Configuration de la souris

Cette option vous permettra de copier-coller du texte dans la console et les programmes utilisateur avec une souris 3 boutons. Si vous utilisez une souris 2 boutons, référez-vous à la page de manuel moused(8), après l'installation pour des détails sur l'émulation du troisième bouton. Cet exemple décrit la configuration d'une souris non-USB (comme une souris PS/2 ou sur port COM):

                      User Confirmation Requested
         Does this system have a PS/2, serial, or bus mouse?

                            [ Yes ]   No

Sélectionnez [ Yes ] pour une souris PS/2 ou série, ou [ No ] pour une souris USB et appuyez sur Entrée.

Figure 2-41. Sélectionner la configuration du protocole de la souris

Utilisez les touches fléchées pour sélectionner Type et appuyez sur Entrée.

Figure 2-42. Configurer le protocole de la souris

La souris utilisée dans cet exemple est de type PS/2, aussi la valeur par défaut Auto était appropriée. Pour changer le protocole, utilisez les touches fléchées pour sélectionner une autre option. Vérifiez que [ OK ] est surligné puis appuyez sur Entrée pour quitter ce menu.

Figure 2-43. Configuration du port de la souris

Utilisez les touches fléchées pour sélectionner Port et appuyez sur Entrée.

Figure 2-44. Choisir le port de la souris

Ce système avait une souris PS/2, aussi la valeur par défaut PS/2 était appropriée. Pour changer le port, utilisez les touches fléchées et puis appuyez sur Entrée.

Figure 2-45. Activer le ``daemon'' - gestionnaire de la souris

Finalement, utilisez les touches fléchées pour sélectionner Enable, et appuyez sur Entrée pour activer et tester le gestionnaire de la souris.

Figure 2-46. Tester le gestionnaire de la souris

Déplacez la souris sur l'écran et vérifiez que le curseur répond correctement. Si c'est le cas, sélectionnez [ Yes ] et appuyez sur Enter. Si ce n'est pas le cas, la souris n'a pas été configurée correctement -- sélectionnez [ No ] et essayez d'utiliser des options de configuration différentes.

Sélectionnez Exit avec les touches fléchées et appuyez sur Entrée pour continuer la configuration de post-installation.


2.10.11. Installer des logiciels pré-compilés - ``packages''

Les ``packages'' sont des logiciels pré-compilés et sont une manière commode d'installer des programmes.

L'installation d'un logiciel pré-compilé est présenté comme illustration. Des logiciels pré-compilés supplémentaires peuvent être également ajoutés à ce moment-là si désiré. Après l'installation sysinstall peut être utilisé pour ajouter des logiciels pré-compilés supplémentaires.

                     User Confirmation Requested
 The FreeBSD package collection is a collection of hundreds of
 ready-to-run applications, from text editors to games to WEB servers
 and more. Would you like to browse the collection now?

                            [ Yes ]   No

La sélection de [ Yes ] et l'appui sur Entrée seront suivis par les écrans de sélection des logiciels pré-compilés:

Figure 2-47. Sélection d'une catégorie de logiciels pré-compilés

Seuls les logiciels du support d'installation sont disponibles pour être installés à n'importe quel moment.

Tous les logiciels disponibles seront affichés si All est sélectionné ou vous pouvez choisir une catégorie particulière. Faites votre sélection en utilisant les touches fléchées puis appuyez sur Entrée.

Un menu s'affichera en montrant tous les logiciels pré-compilés disponibles pour la catégorie sélectionnée:

Figure 2-48. Sélection des logiciels pré-compilés

L'interpréteur de commande bash apparaît sélectionné. Choisissez autant de logiciels que désiré en les surlignant et en appuyant sur la touche Espace. Une courte description de chaque logiciel apparaîtra dans le coin inférieur gauche de l'écran.

En appuyant sur la touche Tab on basculera entre le dernier logiciel pré-compilé, [ OK ], et [ Cancel ].

Quand vous avez fini de marquer les logiciels pré-compilés pour l'installation, appuyez sur Tab une nouvelle fois pour basculer sur [ OK ] et appuyez sur Entrée pour revenir au menu de sélection des logiciels pré-compilés.

Les touches fléchées gauche et droite basculeront également entre [ OK ] et [ Cancel ]. Cette méthode peut être utilisée pour sélectionner [ OK ] et ensuite appuyer sur Entrée pour retourner au menu de sélection des logiciels pré-compilés.

Figure 2-49. Installation des logiciels pré-compilés

Utilisez la touche Tab et les touches fléchées pour sélectionner [ Install ] et appuyez sur Entrée. Vous devrez alors confirmer que vous voulez installer les logiciels pré-compilés:

Figure 2-50. Confirmation de l'installation de logiciels pré-compilés

Sélectionner [ OK ] et l'appui sur Entrée lancera l'installation des logiciels. Des messages d'installation apparaîtront jusqu'à la fin de l'installation. Prenez note des éventuels messages d'erreur.

La configuration se poursuit après que les logiciels pré-compilés soient installés. Si vous ne choisissez aucun logiciel, et souhaitez retourner à la configuration finale, sélectionnez Install.


2.10.12. Ajouter des Utilisateurs/Groupes

Vous devriez ajouter au moins un utilisateur pendant l'installation de sorte que vous puissiez utiliser le système sans être attaché en tant que root. La partition racine est généralement petite et utiliser des applications en tant que root peut rapidement la remplir. Un plus grand danger est signalé ci-dessous:

                     User Confirmation Requested
 Would you like to add any initial user accounts to the system? Adding
 at least one account for yourself at this stage is suggested since
 working as the "root" user is dangerous (it is easy to do things which
 adversely affect the entire system).

                            [ Yes ]   No

Sélectionnez [ Yes ] et appuyez sur Entrée pour continuer avec l'ajout d'un utilisateur.

Figure 2-51. Sélectionner l'ajout d'utilisateur

Sélectionnez User avec les touches fléchées et appuyez sur Entrée.

Figure 2-52. Ajout de l'information utilisateur

Les descriptions suivantes apparaîtront dans la partie inférieure de l'écran au fur et à mesure que les éléments seront sélectionnés avec Tab pour aider dans l'entrée des informations nécessaires:

Login ID - ``Indentifiant''

L'identifiant du nouvel utilisateur (obligatoire).

UID

L'identifiant numérique pour cet utilisateur (laisser tel quel pour le choix automatique).

Group - ``Groupe''

Le nom du groupe pour cet utilisateur (laisser tel quel pour le choix automatique).

Password - ``Mot de passe''

Le mot de passe pour cet utilisateur (compléter ce champ avec précaution!).

Full name - ``Nom complet''

Le nom complet de l'utilisateur (commentaire).

Member groups - ``Membre des groupes''

Les groupes auxquels appartient l'utilisateur (i.e. dont il a les droits accès).

Home directory - ``Répertoire d'utilisateur''

Le répertoire de l'utilisateur (laisser tel quel pour le choix automatique).

Login shell - ``L'interpréteur de commande''

L'interpréteur de commande de l'utilisateur (laisser tel quel pour le choix automatique, i.e. /bin/sh).

On a changé l'interpréteur de commande /bin/sh pour /usr/local/bin/bash afin d'utiliser bash qui a été installé précédemment sous forme de logiciel pré-compilé. N'essayez pas d'utiliser un interpréteur de commande qui n'existe pas ou vous ne serez pas en mesure d'ouvrir de session. L'interpréteur de commande le plus commun dans le monde BSD est l'interpréteur C shell, qui peut être spécifié à l'aide de /bin/tcsh.

L'utilisateur a aussi été ajouté au groupe wheel pour qu'il puisse devenir super-utilisateur avec les privilèges de root.

Quand vous êtes satisfait, appuyez sur [ OK ] et le menu de gestion des utilisateurs et des groupes réapparaîtra:

Figure 2-53. Quitter la gestion des utilisateurs et des groupes

Des groupes peuvent également être ajoutés à ce moment si des besoins spécifiques sont connus. Sinon, cela pourra être fait en utilisant sysinstall quand l'installation sera achevée.

Quand vous en avez terminé avec l'ajout d'utilisateurs, sélectionnez Exit avec les touches fléchées et appuyez sur Entrée pour continuer l'installation.


2.10.13. Définir le mot de passe de root

                        Message
 Now you must set the system manager's password.
 This is the password you'll use to log in as "root".

                         [ OK ]

               [ Press enter or space ]

Appuyez sur Entrée pour définir le mot de passe de root.

Le mot de passe devra être saisi deux fois correctement. Inutile de dire, que vous devez vous assurer d'avoir un moyen de retrouver le mot de passe si vous l'oubliez. Notez que le mot de passe que vous taperez ne s'affichera pas, il ne sera pas non plus remplacé par des astérisques.

New password:
Retype new password :

L'installation continuera après que le mot de passe ait été entré avec succès.


2.10.14. Quitter l'installation

Si vous devez configurer des services réseau supplémentaires ou toute autre configuration, vous pouvez le faire à ce moment-là ou après l'installation en utilisant sysinstall.

                     User Confirmation Requested
 Visit the general configuration menu for a chance to set any last
 options?

                              Yes   [ No ]

Sélectionnez [ No ] avec les touches fléchées et appuyez sur Entrée pour retourner au menu principal d'installation.

Figure 2-54. Quitter l'installation

Sélectionnez [X Exit Install] avec les touches fléchées et appuyez sur Entrée. On vous demandera de confirmer votre désir de quitter l'installation:

                     User Confirmation Requested
 Are you sure you wish to exit? The system will reboot (be sure to
 remove any floppies/CDs/DVDs from the drives).

                            [ Yes ]   No

Sélectionnez [ Yes ] et retirez la disquette si vous avez démarré depuis le lecteur de disquette. Le lecteur de CDROM est verrouillé jusqu'au redémarrage de la machine. Le lecteur de CDROM est alors déverrouillé et le CDROM peut être retiré du lecteur (rapidement).

Le système redémarrera aussi faites attention à tout message d'erreur qui pourrait apparaître, voir la Section 2.10.16 pour plus de détails.


2.10.15. Configuration des services réseaux supplémentaires

Contribution de Tom Rhodes.

La configuration des services réseaux peut être une tâche intimidante pour les nouveaux utilisateurs s'ils ne possèdent pas de connaissances dans ce domaine. L'accès réseau, y compris l'Internet, est un élément essentiel de tout système d'exploitation moderne, c'est le cas de FreeBSD; il en résulte, qu'il est très utile de comprendre un peu les capacités réseau étendues de FreeBSD. Effectuer cette configuration lors de l'installation garantira que les utilisateurs ont une compréhension des divers services qui leur sont disponibles.

Les services réseaux sont des programmes qui acceptent des entrées depuis n'importe quel endroit du réseau. De nombreux efforts sont fait pour s'assurer que ces programmes ne feront rien de ``nocif''. Malheureusement, les programmeurs ne sont pas parfait et par le passé il y a eu des cas où des bogues dans les services réseaux ont été exploités par des personnes malveillantes pour faire de mauvaises choses. Il est donc important que vous n'activiez que les services dont vous avez besoin. Dans le doute, il vaut mieux que vous n'activiez pas un service réseau avant que vous ne vous rendiez compte que vous en avez réellement besoin. Vous pouvez toujours l'activer plus tard en relançant sysinstall ou en utilisant les options fournies par le fichier /etc/rc.conf.

Sélectionner Networking fera apparaître un menu similaire au suivant:

Figure 2-55. Configuration réseau

La première option, Interfaces, a été précédemment abordée dans la Section 2.10.1, aussi cette option peut être ignorée sans risque.

La sélection de l'option AMD ajoute le support de l'utilitaire de montage automatique BSD. Il est généralement employé en conjonction avec le protocole NFS (voir plus bas) pour monter automatiquement les systèmes de fichiers distants. Aucune configuration particulière n'est ici nécessaire.

La ligne suivante est l'option AMD Flags. Quand elle est sélectionnée, un menu s'affichera pour que vous puissiez saisir les paramètres spécifiques à AMD. Le menu affiche déjà un ensemble d'options par défaut:

-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map

L'option -a fixe l'emplacement de montage par défaut qui est ici /.amd_mnt. L'option -l spécifie le fichier journal par défaut, cependant quand syslogd est utilisé toutes les traces seront envoyées au ``daemon'' gérant les journaux systèmes. Le répertoire /host est employé pour monter un système de fichiers exporté par une machine distante, tandis que le répertoire /net est utilisé pour monter un système de fichiers exporté à partir d'une adresse IP. Le fichier /etc/amd.map définit les options par défaut pour les exportations AMD.

L'option Anon FTP autorise les connexions FTP anonymes. Sélectionnez cette option pour faire de la machine un serveur FTP anonyme. Soyez cependant conscient des risques de sécurité impliqués avec cette option. Un autre menu sera affiché pour expliquer les risques au niveau de la sécurité et la configuration en détail.

Le menu de configuration Gateway paramétrera la machine pour agir en passerelle comme expliqué précédemment. Cela peut être utilisé pour désactiver l'option Gateway si vous l'avez sélectionné accidentellement durant le processus d'installation.

L'option Inetd peut être utilisée pour configurer ou complètement désactiver le ``daemon'' inetd(8) comme exposé plus haut.

L'option Mail est employée pour configurer l'agent de transfert du courrier électronique (``MTA'') par défaut du système. Choisir cette option fera afficher le menu suivant:

Figure 2-56. Sélection du MTA par défaut

On vous propose ici un choix de MTA à installer et à utiliser par défaut. Un MTA n'est ni plus ni moins qu'un serveur de courrier électronique qui délivre le courrier électronique aux utilisateurs sur le système ou sur l'Internet.

Sélectionner Sendmail installera le serveur sendmail qui est celui par défaut sous FreeBSD. L'option Sendmail local fera en sorte que sendmail soit le MTA par défaut, mais désactivera sa capacité à recevoir du courrier électronique en provenance de l'Internet. Les autres options, Postfix et Exim agissent de façon similaire à Sendmail. Dans les deux cas le courrier électronique sera également distribué; cependant, certains utilisateurs, préfèrent ces alternatives au MTA sendmail.

Après la sélection d'un MTA, ou avoir choisi de ne pas sélectionner de MTA, le menu de configuration du réseau apparaîtra avec l'option suivante qui est NFS client.

L'option NFS client configurera le système pour communiquer avec un serveur via NFS. Un serveur NFS rend disponible à d'autres serveurs des systèmes de fichiers par l'intermédiaire du protocole NFS. Si c'est une machine indépendante, cette option peut rester désactivée. Ce système peut demander plus de configuration ultérieurement, consultez la Section 28.3 pour plus d'informations sur la configuration du client et du serveur.

Sous cette option se trouve l'option NFS server, vous permettant de configurer le système comme serveur NFS. Ceci ajoute l'information nécessaire pour démarrer les services d'appel de procédures distantes (RPC). Les RPC sont utilisées pour coordonner les connexions entre machines et programmes.

L'option suivante est Ntpdate, qui traite de la synchronisation de l'horloge. Quand cette option est sélectionnée, un menu semblable au suivant apparaît:

Figure 2-57. Configuration de ntpdate

A partir de ce menu, sélectionnez le serveur le plus proche de chez vous. En choisir un proche rendra la synchronisation plus précise qu'avec un serveur éloigné qui pourra présenter plus de délais dans la connexion.

L'option suivante est la sélection de PCNFSD. Cette option installera le paquetage net/pcnfsd. C'est un programme très utile qui fournit des services d'authentification pour les systèmes qui sont dans l'incapacité de fournir leur propre service d'authentification, comme le système d'exploitation MS-DOS de Microsoft.

Maintenant vous devez faire défiler l'écran vers le bas pour voir les autres option:

Figure 2-58. Configuration réseau suite

Les utilitaires rpcbind(8), rpc.statd(8), et rpc.lockd(8) sont utilisés pour les appels de procédures distantes (RPC). L'utilitaire rpcbind gère la communication entre serveurs et clients NFS, et est nécessaire aux serveurs NFS pour fonctionner correctement. Le ``daemon'' rpc.statd interagit avec le ``daemon'' rpc.statd d'autres machines pour fournir une possibilité de surveiller l'état des communications. Le rapport est généralement conservé dans le fichier /var/db/statd.status. La dernière option proposée ici est l'option rpc.lockd, qui, quand elle est sélectionnée, fournira des services de verrouillage des fichiers. Cela est habituellement utilisé avec rpc.statd pour surveiller quelles machines demandent des verrous et la fréquence de ces demandes. Alors que ces options sont parfaites pour le déboguage, elles ne sont pas nécessaires pour le bon fonctionnement des serveurs et clients NFS.

En parcourant la liste, l'option suivante est Routed, qui est le ``daemon'' de routage. L'utilitaire routed(8) gère les tables de routage réseau, repère les routeurs multicast, et fournit sur demande une copie des tables de routage à toute machine connectée sur le réseau. Ceci est principalement utilisé pour les machines jouant le rôle de passerelle pour le réseau local. Quand cette option est sélectionnée, un menu apparaîtra demandant l'emplacement par défaut de l'utilitaire. Cet emplacement par défaut est déjà défini pour vous, et peut être acquitté avec la touche Entrée. Vous sera alors présenté un nouveau menu, demandant cette fois les paramètres à passer à routed. Par défaut: -q qui devrait apparaître sur l'écran.

La ligne suivante est l'option Rwhod, qui quand elle est sélectionnée, lancera le ``daemon'' rwhod(8) à l'initialisation du système. L'utilitaire rwhod diffuse les messages système sur le réseau régulièrement, ou les collecte quand il est dans le mode ``consumer''. Plus d'informations peuvent être obtenues dans les pages de manuel ruptime(1) et rwho(1).

L'option suivante dans la liste est le ``daemon'' sshd(8). C'est le serveur de connexions sécurisées pour OpenSSH et est hautement recommandé à la place de telnet et des serveurs FTP. Le serveur sshd est employé pour créer une connexion sécurisée d'une machine vers une autre en utilisant des connexions cryptées.

Enfin, il y a l'option TCP Extensions. Celle-ci active les extensions TCP comme définies dans les RFC 1323 et RFC 1644. Alors que cela peut sur certaines machines rendre les connexions plus rapides, cela peut également être à l'origine de pertes de connexion. Cette option n'est pas recommandée pour les serveurs, mais peut être bénéfique pour les machines individuelles.

Une fois que vous avez configuré les services réseaux, vous pouvez remonter l'écran jusqu'à la toute première option qui est X Exit et poursuivre avec la section de configuration suivante ou tout simplement quitter sysinstall en sélectionnant deux fois à suite X Exit puis [X Exit Install].


2.10.16. Démarrage de FreeBSD

2.10.16.1. Démarrage de FreeBSD sur FreeBSD/i386

Si tout s'est bien passé, vous verrez des messages défiler à l'écran et vous arriverez à l'invite de session. Vous pouvez visualiser ces messages en appuyant sur Arrêt-défil et en utilisant les touches PgUp et PgDn. En appuyant à nouveau sur Arrêt-défil on retournera à l'invite.

L'intégralité des messages peut de pas être affichée (limitation du tampon) mais peut être visualisée depuis la ligne de commande après l'ouverture d'une session en tapant dmesg à l'invite.

Attachez-vous au système en utilisant le nom d'utilisateur et le mot de passe définis durant l'installation (rpratt, dans cet exemple). Evitez d'ouvrir des sessions en tant que root excepté quand cela est nécessaire.

Messages de démarrage typiques (information sur la version omise):

Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.

Timecounter "i8254"  frequency 1193182 Hz
CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU)
  Origin = "AuthenticAMD"  Id = 0x580  Stepping = 0
  Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
  AMD Features=0x80000800<SYSCALL,3DNow!>
real memory  = 268435456 (262144K bytes)
config> di sn0
config> di lnc0
config> di le0
config> di ie0
config> di fe0
config> di cs0
config> di bt0
config> di aic0
config> di aha0
config> di adv0
config> q
avail memory = 256311296 (250304K bytes)
Preloaded elf kernel "kernel" at 0xc0491000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c.
md0: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at
device 10.0 on pci0
ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x1 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
ppbus0: IEEE1284 device found /NIBBLE
Probing for PnP devices on ppbus0:
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33
ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33
acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4
Mounting root from ufs:/dev/ad0s1a
swapon: adding /dev/ad0s1b as swap device
Automatic boot in progress...
/dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation)
/dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation)
/dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation)
/dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS
/dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation)
Doing initial network setup: hostname.
ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
        inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1
        ether 52:54:05:de:73:1b
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
Additional routing options: IP gateway=YES TCP keepalive=YES
routing daemons:.
additional daemons: syslogd.
Doing additional network setup:.
Starting final network daemons: creating ssh RSA host key
Generating public/private rsa1 key pair.
Your identification has been saved in /etc/ssh/ssh_host_key.
Your public key has been saved in /etc/ssh/ssh_host_key.pub.
The key fingerprint is:
cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com
 creating ssh DSA host key
Generating public/private dsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:
f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com.
setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib
/usr/local/lib
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
starting standard daemons: inetd cron sshd usbd sendmail.
Initial rc.i386 initialization:.
rc.i386 configuring syscons: blank_time screensaver moused.
Additional ABI support: linux.
Local package initilization:.
Additional TCP options:.

FreeBSD/i386 (k6-2.example.com) (ttyv0)

login: rpratt
Password:

La génération des clés RSA et DSA peut prendre du temps sur les machines lentes. Cela ne se produit qu'au premier démarrage d'une nouvelle installation. Les démarrages suivants seront plus rapides.

Si le serveur X a été configuré et l'environnement de travail par défaut choisi, il peut être lancé en tapant startx sur la ligne de commande.


2.10.16.2. Démarrage de FreeBSD sur FreeBSD/alpha

Une fois la procédure d'installation terminée, vous serez en mesure de démarrer FreeBSD en tapant quelque chose comme ceci à l'invite SRM:

>>>BOOT DKC0

Cela demande au firmware de démarrer sur le disque indiqué. Pour faire démarrer FreeBSD automatiquement dans le futur, utilisez ces commandes:

>>> SET BOOT_OSFLAGS A
>>> SET BOOT_FILE ''
>>> SET BOOTDEF_DEV DKC0
>>> SET AUTO_ACTION BOOT

Les messages de démarrage seront semblables (mais pas identiques) à ceux produits par le démarrage de FreeBSD sur i386.


2.10.17. Arrêt de FreeBSD

Il est important d'arrêter proprement le système d'exploitation. N'appuyez pas directement sur votre bouton de marche-arrêt. Tout d'abord, devenez super-utilisateur en tapant su sur la ligne de commande et en entrant le mot de passe de root. Cela ne fonctionnera que si l'utilisateur est membre du groupe wheel. Sinon, ouvrez une session en tant que root et utilisez shutdown -h now.

The operating system has halted.
Please press any key to reboot.

On peut arrêter la machine sans risques après la que commande d'arrêt ait été effectuée et que le message ``Please press any key to reboot'' (Veuillez appuyez sur une touche pour redémarrer) apparaît. Si une touche est enfoncée plutôt que d'arrêter l'ordinateur, le système redémarrera.

Vous pouvez également utiliser la combinaison de touches Ctrl+Alt+Suppr, cependant cela n'est pas recommandé pour une utilisation normale.


2.11. Dépannage

La section suivante couvre le dépannage de base de l'installation, les problèmes courants qui ont été rapportés. Il y a aussi un ensemble de questions-réponses pour les personnes désirant un double démarrage FreeBSD et MS-DOS ou Windows.


2.11.1. Que faire si quelque chose se passe mal

En raison des nombreuses limitations de l'architecture PC, il est impossible que la détection du matériel soit à 100% fiable, cependant, il y a quelques petites choses que vous pouvez faire si cela échoue.

Vérifiez la liste du matériel supporté pour votre version de FreeBSD pour être sûr que votre matériel est bien supporté.

Si votre matériel est supporté et que vous expérimentez toujours des blocages ou autres problèmes, vous devrez compiler un noyau personnalisé. Cela permettra d'ajouter le support pour les périphériques qui ne sont pas présent dans le noyau GENERIC. Le noyau présent sur les disques de démarrage est configuré de telle façon qu'il supposera que la plupart des périphériques seront dans leur configuration d'usine en termes d'IRQs, d'adresses d'E/S, et canaux de DMA. Si votre matériel a été reconfiguré vous devrez très probablement éditer le fichier de configuration du noyau et de le recompiler pour indiquer à FreeBSD où trouver les choses.

Il est également possible que la détection d'un périphérique absent provoque plus tard l'échec de la détection d'un périphérique présent. Dans ce cas, les pilotes de périphériques conflictuels devraient être désactivés.

Note : Quelques problèmes d'installation peuvent être évités ou allégés en mettant à jour le firmware de divers composants matériels, en particulier la carte mère. Le firmware de la carte mère peut également être désigné par le terme BIOS et la plupart des constructeurs de cartes mères ou d'ordinateur ont un site web où peuvent être trouvées les mises à jour et les informations de mises à jour.

La plupart des fabricants déconseillent fortement de mettre à jour le BIOS de la carte mère à moins d'avoir une bonne raison de le faire, ce qui pourrait probablement être une mise à jour critique si l'on peut dire. Le processus de mise à jour peut mal se passer, causant des dommages permanents au circuit contenant le BIOS.


2.11.2. Traiter les partitions MS-DOS® existantes

De nombreux utilisateurs veulent installer FreeBSD sur des PCs qui fonctionnent sous un système d'exploitation de Microsoft. Dans ce cas, FreeBSD dispose d'un utilitaire connu sous le nom de FIPS. Cette utilitaire peut être trouvé dans le répertoire tools du CD-ROM d'installation, ou téléchargé à partir des différents miroirs FreeBSD.

L'utilitaire FIPS vous permet de scinder en deux une partition MS-DOS existante, tout en préservant le contenu de la partition originale et vous permettant d'installer FreeBSD sur la partition ainsi créée. Vous devez défragmenter tout d'abord votre partition MS-DOS en utilisant l'utilitaire Windows Défragmenteur de disque (allez dans l'Explorateur, clic-droit sur le disque dur, et choisissez de défragmenter votre disque dur) ou les Norton Disk Tools. Vous pouvez ensuite lancer le programme FIPS. Il vous demandera le reste des informations dont il a besoin, suivez juste les instructions à l'écran. Ensuite, vous pouvez redémarrer et installer FreeBSD sur la tranche libre. Voyez le menu Distributions pour avoir une estimation de l'espace libre dont vous aurez besoin pour le type d'installation que vous désirez.

Il existe également un produit très utile de chez PowerQuest appelé PartitionMagic. Cette application a bien plus de fonctionnalités que FIPS, et est fortement recommandée si vous projetez d'ajouter/retirer régulièrement des systèmes d'exploitation. Cependant ce programme n'est pas gratuit, et si vous projetez d'installer FreeBSD et ensuite le laisser installé, FIPS sera probablement parfait pour vous.


2.11.3. Utilisation des systèmes de fichiers MS-DOS et Windows®

Pour le moment, FreeBSD, ne supporte pas les systèmes de fichiers compressés avec l'application Double Space™. Par conséquent, le système de fichiers doit être décompressé avant que FreeBSD ne puisse accéder aux données. Cela peut être fait en lançant l'Agent de compression situé dans le menu Démarrer> Programmes > Outils Système.

FreeBSD supporte les systèmes de fichiers MS-DOS (parfois appelés systèmes de fichiers FAT). La commande mount_msdosfs(8) greffe ce type de système de fichiers sur l'arborescence déjà existante permettant ainsi l'accès au contenu du système de fichiers. La commande mount_msdosfs(8) n'est, en général, pas invoquée directement; au lieu de cela, elle est appelée par le système via une ligne du fichier /etc/fstab pour par un appel à l'utilitaire mount(8) avec les paramètres adéquates.

Une entrée typique de /etc/fstab sera:

/dev/ad0sN  /dos  msdosfs rw  0	0

Note : Pour que cela fonctionne, il faut que le répertoire /dos existe déjà. Pour plus de détails au sujet du format de /etc/fstab, consultez la page de manuel fstab(5).

Un appel à mount(8) pour un système de fichiers MS-DOS ressemblera à:

# mount -t msdosfs /dev/ad0s1 /mnt

Dans cet exemple, le système de fichiers MS-DOS est situé sur la première partition du premier disque dur. Votre situation peut être différente, contrôlez les sorties des commandes dmesg et mount. Elles doivent fournir suffisamment d'information pour donner une idée de l'organisation des partitions.

Note : FreeBSD peut numéroter les tranches (par exemple les partitions MS-DOS) différemment des autres systèmes d'exploitation. En particulier, les partitions MS-DOS étendues sont généralement affectées d'un numéro de tranche supérieur à celui des partitions primaires MS-DOS. L'utilitaire fdisk(8) peut aider à déterminer les tranches qui appartiennent à FreeBSD et celles appartenant à d'autres systèmes d'exploitation.



Les partitions NTFS peuvent également être montées d'une manière similaire en employant la commande mount_ntfs(8).


2.11.4. Questions et réponses de dépannage

2.11.4.1. Mon système se bloque au niveau de la détection du matériel lors du démarrage, ou se comporte de manière étrange lors de l'installation, ou le lecteur de disquette n'est pas détecté.
2.11.4.2. Je tente de démarrer à partir du disque dur pour la première fois après l'installation de FreeBSD, le noyau est chargé et détecte mon matériel, mais s'arrête avec un message du type:
2.11.4.3. J'essaye de démarrer à partir du disque dur pour la première fois après l'installation de FreeBSD, mais l'invite du gestionnaire de démarrage n'affiche que F? et la procédure de démarrage ne va pas plus loin.
2.11.4.4. Le système trouve ma carte réseau ed(4), mais je continue à avoir des erreurs de dépassement des délais d'attente.
2.11.4.5. Quand sysinstall est utilisé dans un terminal X11, la police de caractères jaune sur fond gris-clair peut être difficile à lire. Existe-t-il un moyen d'obtenir un contraste plus élevé pour cette application?

2.11.4.1. Mon système se bloque au niveau de la détection du matériel lors du démarrage, ou se comporte de manière étrange lors de l'installation, ou le lecteur de disquette n'est pas détecté.

FreeBSD utilise de manière intensive le système ACPI sur les plateformes i386, amd64 et ia64 s'il est détecté au démarrage pour aider à la détection du matériel. Malheureusement, des bogues persistent dans le pilote ACPI, et sur les cartes mères et leur BIOS. L'utilisation de l'ACPI peut être désactivé en fixant le paramètre hint.acpi.0.disabled pour le chargeur:

set hint.acpi.0.disabled="1"

Ce paramètre est réinitialisé à chaque démarrage du système, il est donc nécessaire d'ajouter hint.acpi.0.disabled="1" au fichier /boot/loader.conf. Plus d'information au sujet du chargeur peut être trouvée dans la Section 12.1.

2.11.4.2. Je tente de démarrer à partir du disque dur pour la première fois après l'installation de FreeBSD, le noyau est chargé et détecte mon matériel, mais s'arrête avec un message du type:

changing root device to ad1s1a panic: cannot mount root

Qu'est-ce qui ne va pas? Que puis-je faire?

Que représente la ligne bios_drive:interface(unit,partition)kernel_name qui est affichée comme message d'aide?

Il existe un problème de longue date dans le cas où le disque de démarrage n'est pas le premier disque du système. Le BIOS utilise un modèle de numérotation des disques différent de celui de FreeBSD, et déterminer quel numéro correspond avec quoi est relativement compliqué.

Si le disque de démarrage n'est pas le premier disque du système, FreeBSD peut avoir besoin d'aide pour le trouver. Nous sommes en général en face de deux situations et dans ces deux cas vous devez indiquer à FreeBSD où se trouve le système de fichiers racine. Cela se fait en précisant le numéro du disque BIOS, le type de disque et le numéro FreeBSD de disque pour ce type de disque.

La première situation correspond au cas où vous disposez de deux disques IDE, configurés chacun en maître sur leur bus IDE respectif, et que vous désirez démarrer FreeBSD à partir du second disque. Le BIOS voit ces disques en tant que disque 0 et disque 1, tandis que FreeBSD en tant que ad0 et ad1.

FreeBSD se trouve sur le disque BIOS numéro 1 qui est de type ad alors que le numéro de disque pour FreeBSD sera le 2, aussi vous utiliserez la syntaxe:

1:ad(2,a)kernel

Notez que si vous avez un esclave sur le bus primaire, ce qui précède n'est pas nécessaire (et est en fait erroné).

Le deuxième cas concerne le démarrage à partir d'un disque SCSI quand on dispose d'un ou plusieurs disques IDE dans le système. Dans ce cas, le numéro de disque FreeBSD est inférieur au numéro de disque BIOS. Si vous avez deux disques IDE en plus du disque SCSI, le disque SCSI sera le disque BIOS numéro 2, de type da et sera vu en tant que disque 0 par FreeBSD, aussi vous utiliserez la syntaxe:

2:da(0,a)kernel

pour indiquer à FreeBSD que vous voulez démarrer à partir du disque BIOS numéro 2, qui est le premier disque SCSI du système. Si vous n'avez qu'un seul disque IDE, vous utiliseriez à la place 1:.

Une fois que vous avez déterminé les valeurs correctes à employer, vous pouvez ajouter dans le fichier /boot.config à l'aide d'un éditeur de textes la commande que vous auriez tapé. A moins d'une instruction contraire, FreeBSD utilisera le contenu de ce fichier comme réponses par défaut à l'invite boot:.

2.11.4.3. J'essaye de démarrer à partir du disque dur pour la première fois après l'installation de FreeBSD, mais l'invite du gestionnaire de démarrage n'affiche que F? et la procédure de démarrage ne va pas plus loin.

La géométrie du disque dur n'a pas été correctement configurée dans l'éditeur de partitions quand vous avez installé FreeBSD. Retournez dans l'éditeur de partitions et indiquez la géométrie réelle de votre disque dur. Vous devez réinstaller complètement FreeBSD avec la bonne géométrie.

Si vous ne parvenez pas à déterminer la géométrie de votre disque, voici une astuce: créez une petite partition DOS au début du disque et installez ensuite FreeBSD. Le programme d'installation verra la partition DOS et tentera d'en déduire la géométrie correcte, ce qui fonctionne généralement.

L'astuce suivante n'est plus conseillée, mais est conservée comme référence:

Si vous montez un serveur ou une station de travail complètement dédiés à FreeBSD pour lesquels vous n'avez que faire (dans le futur) d'une compatibilité avec DOS, Linux, ou tout autre système d'exploitation, vous avez également l'option d'utiliser l'intégralité du disque (A dans l'éditeur de partition), en sélectionnant l'option non-standard pour laquelle FreeBSD occupe entièrement le disque du premier jusqu'au dernier secteur. Cela laissera de côté toutes les considérations au sujet de la géométrie du disque, mais c'est quelque peu limitatif à moins que vous n'ayez pas l'intention d'utiliser autre chose que FreeBSD sur ce disque.

2.11.4.4. Le système trouve ma carte réseau ed(4), mais je continue à avoir des erreurs de dépassement des délais d'attente.

Votre carte utilise probablement une IRQ différente de celle spécifiée dans le fichier /boot/device.hints. Le pilote ed(4) n'utilise pas la configuration “soft” par défaut (les valeurs entrées à l'aide de EZSETUP sous DOS), mais utilisera la configuration logicielle si vous précisez la valeur -1 pour les paramètres de l'interface en question.

Positionnez le cavalier sur la carte pour une configuration “hard” (en modifiant les paramètres du noyau si nécessaire), ou spécifiez l'IRQ en tant que -1 en fixant le paramètre hint.ed.0.irq="-1". Cela demandera au noyau d'utiliser la configuration logicielle.

Une autre possibilité est que votre carte utilise l'IRQ 9, qui est partagée avec l'IRQ 2 et est une cause fréquente de problèmes (tout particulièrement dans le cas où vous avez une carte VGA utilisant l'IRQ 2!). Vous ne devriez pas utiliser les IRQs 2 et 9 autant que possible.

2.11.4.5. Quand sysinstall est utilisé dans un terminal X11, la police de caractères jaune sur fond gris-clair peut être difficile à lire. Existe-t-il un moyen d'obtenir un contraste plus élevé pour cette application?

Si vous avez déjà installé X11 et que les couleurs par défaut choisies par sysinstall rendent le texte illisible lors de l'utilisation de xterm(1) ou rxvt(1), ajouter la ligne suivante à votre fichier ~/.Xdefaults pour obtenir un fond gris plus foncé: XTerm*color7: #c0c0c0


2.12. Guide avancé d'installation

Contribution de Valentino Vaschetto.

Cette section décrit comment installer FreeBSD dans des cas exceptionnels.


2.12.1. Installer FreeBSD sur un système sans moniteur ou sans clavier

Ce type d'installation est appelé ``headless install'' (installation sans écran), parce que la machine sur laquelle vous êtes en train d'installer FreeBSD soit n'a pas de moniteur, soit n'a même pas de sortie VGA. Comment est-ce possible, allez-vous demander? En utilisant une console série. Une console série est en quelques mots l'utilisation d'une autre machine comme écran et clavier pour un autre système. Pour cela, suivez juste les étapes de création des disquettes d'installation, expliquées dans Section 2.3.7.

Pour modifier ces disquettes afin de démarrer à travers une console série, suivez les étapes suivantes:

  1. Configurer les disquettes de démarrage pour démarrer à travers la console série

    Si vous deviez démarrer avec les disquettes que vous venez de faire, FreeBSD démarrerait dans son mode d'installation normal. Nous voulons que FreeBSD démarre sur la console série pour notre installation. Pour faire cela, vous devez monter la disquette boot.flp sur votre système FreeBSD en utilisant la commande mount(8).

    # mount /dev/fd0 /mnt
    

    Maintenant que vous avez la disquette montée, vous devez vous rendre dans le répertoire /mnt:

    # cd /mnt
    

    C'est à cet endroit que vous devez configurer la disquette pour démarrer sur la console série. Vous devez créer un fichier appelé boot.config contenant la ligne /boot/loader -h. Tout ceci provoque le passage d'une option au chargeur pour démarrer sur la console série.

    # echo "/boot/loader -h" > boot.config
    

    Maintenant que vous avez votre disquette correctement configurée, vous devez démonter la disquette en utilisant la commande umount(8):

    # cd /
    # umount /mnt
    

    Maintenant vous pouvez retirer la disquette de son lecteur.

  2. Connecter votre câble null-modem

    Vous devez maintenant connecter un câble null-modem entre les deux machines. Connectez juste le câble sur le port série des deux machines. Un câble série normal ne conviendra pas ici, vous avez besoin d'un câble null-modem parce certains fils sont croisés à l'intérieur.

  3. Démarrer l'installation

    Il est maintenant temps de lancer l'installation. Mettez la disquette boot.flp dans le lecteur de la machine que vous allez installer sans moniteur et clavier, et allumez la machine.

  4. Connexion à la machine sans moniteur ni clavier

    Maintenant vous devez vous connecter à cette machine à l'aide de cu(1):

    # cu -l /dev/cuad0
    

Voilà! Vous devriez maintenant pouvoir contrôler la machine sans moniteur et sans clavier à travers votre session cu. On vous demandera d'insérer la disquette kern1.flp, et ensuite on vous proposera de choisir le type de terminal à utiliser. Sélectionnez la console couleur FreeBSD et effectuez votre installation!


2.13. Préparer votre propre support d'installation

Note : Pour éviter les répétitions, ``disque FreeBSD'' dans ce contexte signifie un CDROM ou DVD FreeBSD que vous avez acheté, ou produit vous-même.

Il peut y avoir quelques situations dans lesquelles vous devez créer votre propre support et/ou source d'installation de FreeBSD. Cela pourrait être un support physique, comme une bande, ou une source que sysinstall pourrait employer pour récupérer les fichiers, comme un site FTP local, ou une partition MS-DOS.

Par exemple:

  • Vous avez beaucoup de machines connectées sur votre réseau local, et un seul disque FreeBSD. Vous voulez créer un site FTP local utilisant le contenu du disque FreeBSD, et ensuite faire utiliser ce site FTP local par vos machines plutôt que de se connecter à l'Internet.

  • Vous avez un disque FreeBSD, et FreeBSD ne reconnaît pas votre lecteur de CD/DVD, mais MS-DOS/Windows oui. Vous voulez copier les fichiers d'installation de FreeBSD sur une partition DOS sur le même ordinateur, et ensuite installer FreeBSD en utilisant ces fichiers.

  • L'ordinateur sur lequel vous voulez installer n'a pas de lecteur de CD/DVD, ou de carte réseau, mais vous pouvez connecter un câble série ou parallèle de ``type Laplink'' sur un ordinateur qui lui dispose d'un lecteur de CD/DVD ou d'une carte réseau.

  • Vous voulez créer une bande qui peut être utilisée pour installer FreeBSD.


2.13.1. Créer un CDROM d'installation

Comme élément de chaque nouvelle version, le projet FreeBSD met à disposition au moins deux images de CDROM (``images ISO'') par architecture supportée. Ces images peuvent être inscrites (``gravées'') sur CDs si vous disposez d'un graveur de CD, et puis être utilisées pour installer FreeBSD. Si vous avez un graveur de CD, et comme la bande passante est bon marché, alors c'est la méthode la plus simple pour installer FreeBSD.

  1. Télécharger les bonnes images ISO

    Les images ISO de chaque version peuvent être téléchargées à partir de ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-arch/version ou du miroir le plus proche. Remplacez arch et version par les valeurs appropriées.

    Ce répertoire contiendra normalement les images suivantes:

    Tableau 2-4. Noms des images ISO FreeBSD 6.X et 7.X et leurs significations

    Nom du fichier Contenu
    version-RELEASE-arch-bootonly.iso Tout ce dont vous avez besoin pour démarrer un noyau FreeBSD et lancer l'interface d'installation. Les fichiers d'installation doivent être récupérés par FTP ou à partir d'une autre source supportée.
    version-RELEASE-arch-disc1.iso Tout ce dont vous avez besoin pour installer FreeBSD et incorpore un système de fichiers “live”, qui est utilisé avec la fonction de “Repair” de sysinstall.
    version-RELEASE-arch-disc2.iso Autant de logiciels tiers pré-compilés que l'espace sur le disque le permet.
    version-RELEASE-arch-docs.iso La documentation FreeBSD.

    Vous devez télécharger soit l'image ISO bootonly (si elle existe), soit l'image du disque numéro un. Ne télécharger pas les deux, étant donné que le disque numéro un contient tout le contenu de l'image ISO bootonly.

    Utilisez l'ISO bootonly si votre accès Internet est bon marché. Elle vous laissera installer FreeBSD, et vous pourrez ensuite installer des logiciels tiers en les téléchargeant en employant le système de logiciels pré-compilés/logiciels portés (voir le Chapitre 4) si nécessaire.

    Utilisez l'image du disque numéro un si vous voulez installer FreeBSD avec également une bonne sélection de logiciels tiers.

    Les images des autres disques sont utiles, mais pas indispensables, tout particulièrement si vous disposez d'un accès Internet à haut débit.

  2. Graver les CDs

    Vous devez ensuite graver les images de CD. Si vous faites cela à partir d'un autre système FreeBSD consultez alors la Section 18.6 pour plus d'informations (en particulier les Section 18.6.3 et Section 18.6.4).

    Si vous le faites à partir d'une autre plate-forme alors vous devrez utiliser les utilitaires existants pour commander votre graveur de CD sur cette plate-forme. Les images fournies le sont dans le standard ISO qui est supporté par de nombreuses applications de gravure de CD.

Note : Si vous vous intéressez à la réalisation d'une version sur mesure de FreeBSD, veuillez consulter l'article sur la création des versions.


2.13.2. Création d'un site FTP local avec le disque FreeBSD

Les disques FreeBSD sont présentés comme le site FTP. Cela rend très facile la création d'un site FTP local qui peut être utilisé par d'autres machines de votre réseau lors de l'installation de FreeBSD.

  1. Sur l'ordinateur FreeBSD qui hébergera le site FTP, soyez sûr que le CDROM est dans la lecteur, et monté en /cdrom.

    # mount /cdrom
    
  2. Créez un compte pour le FTP anonyme dans /etc/passwd. Faites cela en éditant /etc/passwd avec vipw(8) et en ajoutant cette ligne:

    ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent
    
  3. Vérifiez que le service FTP est activé dans /etc/inetd.conf.

N'importe qui avec un accès réseau à votre machine peut désormais choisir un support de type FTP et taper ftp://votre machine après avoir sélectionné ``Other'' dans le menu des sites FTP durant l'installation.

Note : Si la version du support de démarrage (des disquettes en général) pour vos clients FTP n'est pas exactement la même que celle du site FTP local, alors sysinstall ne vous laissera pas achever l'installation. Si les versions ne sont pas identiques mais que vous désirez forcer l'installation, vous devez vous rendre dans le menu Options et changer le nom de la distribution pour any.

Avertissement : Cette approche est correcte pour une machine qui est sur votre réseau local, et qui est protégée par votre coupe-feu. Offrir un accès FTP à d'autres machines sur Internet (et non sur votre réseau local) expose votre ordinateur à l'attention de crackers et autres indésirables. Nous recommandons fortement de suivre de bonnes pratiques de sécurité si vous faites cela.


2.13.3. Création de disquettes d'installation

Si vous devez installer à partir de disquettes (ce que nous suggérons de ne pas faire), soit en raison d'un matériel non supporté, soit que vous aimez vous compliquer la vie, vous devez d'abord préparer des disquettes pour l'installation.

Il vous faudra au minimum autant de disquettes 1.44 Mo que nécessaire pour y mettre tous les fichiers du répertoire base (distribution de base). Si vous préparez ces disquettes sous DOS, alors elles doivent être formatées en utilisant la commande MS-DOS FORMAT. Si vous utilisez Windows, utilisez l'Explorateur pour formater les disquettes (clic-droit sur le lecteur A: , et sélectionnez ``Formater'').

Ne faites pas confiance aux disquettes préformatées en usine. Reformatez-les vous-même, de façon à être sûr. Nos utilisateurs nous ont, dans le passé, signalé de nombreux problèmes dus à des disquettes incorrectement formatées, ce qui explique pourquoi nous insistons autant maintenant.

Si vous créez les disquettes sur une autre machine FreeBSD, ce n'est toujours pas une mauvaise idée de les formatter, bien que vous n'ayez pas besoin de mettre un système de fichiers MS-DOS sur chaque disquette. Vous pouvez utiliser les commandes bsdlabel et newfs pour y mettre un système de fichier UFS à la place, comme le montre la séquence de commandes suivantes (pour une disquette 3.5" de 1.44 Mo):

# fdformat -f 1440 fd0.1440
# bsdlabel -w fd0.1440 floppy3
# newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0

Vous pouvez alors les monter et y écrire comme sur n'importe quel autre système de fichiers.

Après avoir formatter les disquettes, vous devrez y copier les fichiers. Les fichiers de la distribution sont scindés en morceaux de taille telle que cinq d'entre eux tiendront sur une disquette 1.44 Mo ordinaire. Préparez les disquettes les unes après les autres, en y mettant sur chacune autant de fichiers que vous pouvez, jusqu'à ce que vous ayez recopié toutes les distributions que vous voulez installer. Chaque distribution doit avoir son propre sous-répertoire sur la disquette, e.g.: a:\base\base.aa, a:\base\base.ab, et ainsi de suite.

Important : Le fichier base.inf doit également être présent sur la première disquette de l'ensemble base puisqu'il est lu par le programme d'installation pour déterminer le nombre de fichiers à rechercher lors de la récupération et l'assemblage de la distribution.

Une fois que vous êtes à l'écran de sélection du support d'installation, sélectionnez Floppy (disquette) et vous aurez ensuite des indications sur la marche à suivre.


2.13.4. Installation depuis une partition MS-DOS

Pour préparer l'installation depuis une partition MS-DOS, copiez les fichiers de la distribution dans un répertoire appelé freebsd dans le répertoire racine de cette partition. Par exemple, c:\freebsd. L'arborescence des répertoires du CDROM ou du site FTP doit être partiellement reproduite dans ce répertoire, aussi nous suggérons l'utilisation de la commande DOS xcopy si vous copiez à partir d'un CDROM. Par exemple, pour préparer une installation minimale de FreeBSD:

C:\> md c:\freebsd
C:\> xcopy e:\bin c:\freebsd\bin\ /s
C:\> xcopy e:\manpages c:\freebsd\manpages\ /s

En supposant que C: est l'endroit où vous avez de l'espace libre et que votre CDROM soit monté sur E:.

Si vous n'avez pas de lecteur de CDROM, vous pouvez télécharger la distribution depuis ftp.FreeBSD.org. Chaque distribution est dans son propre répertoire; par exemple la distribution base peut être trouvée dans le répertoire 9.0/base/.

Copiez chaque distribution que vous voulez installer depuis la partition MS-DOS (et pour laquelle vous avez de l'espace libre) dans c:\freebsd -- la distribution BIN n'est que le minimum obligatoire.


2.13.5. Création d'une bande d'installation

Installer à partir de bandes est probablement la méthode la plus simple, mis à part l'installation en ligne avec FTP ou depuis le CDROM. Le programme d'installation s'attend à ce que les fichiers soient simplement archivés sur la bande. Après avoir récupéré tous les fichiers des distributions qui vous intéressent, archivez-les avec tar sur la bande:

# cd /freebsd/distdir
# tar cvf /dev/rwt0 dist1 ... dist2

Quand vous installez, vous devez vous assurer qu'il y a assez de place dans un répertoire temporaire (que vous pourrez choisir) pour y mettre le contenu entier de la bande que vous avez créée. En raison de l'accès non-aléatoire des bandes, cette méthode exige un espace de stockage temporaire important.

Note : Au moment d'installer, la bande doit être dans le lecteur avant de démarrer avec la disquette. Sinon les tests risquent de ne pas la trouver.


2.13.6. Avant d'installer via le réseau

Il y a trois types d'installation réseau disponibles. Par Ethernet (un contrôleur Ethernet standard), par port série (SLIP ou PPP), ou par port parallèle (PLIP (câble laplink)).

Pour une installation réseau la plus rapide possible, une carte Ethernet est toujours un bon choix! FreeBSD supporte la plupart des cartes Ethernet PC courantes; une liste des cartes supportées (et leur paramétrage requis) est fournie dans la liste de compatibilité matérielle de chaque version de FreeBSD. Si vous utilisez une des cartes Ethernet PCMCIA supportée, assurez-vous qu'elle soit en place avant d'allumer le portable! FreeBSD ne supporte pas, malheureusement, actuellement l'insertion à chaud des cartes PCMCIA pendant l'installation.

Vous devrez aussi connaître votre adresse IP sur le réseau, le masque de réseau pour votre classe d'adresses, et le nom de votre machine. Si vous installez par l'intermédiaire d'une connexion PPP et que vous n'avez pas d'IP fixe, ne prenez pas peur, l'adresse IP peut être dynamiquement assignée par votre fournisseur d'accès. Votre administrateur système peut vous dire quelles valeurs utiliser pour votre configuration réseau particulière. Si vous devez référencer d'autres machines par leur nom plutôt que par leurs adresses IP, vous devrez aussi connaître un serveur de noms et peut-être l'adresse d'une passerelle (si vous utilisez PPP, c'est l'adresse IP de votre fournisseur d'accès) pour accéder à ce serveur. Si vous voulez installer par FTP via un proxy HTTP, vous aurez également besoin de l'adresse du proxy. Si vous n'avez pas les réponses à toutes ou la plupart de ces questions, alors vous devriez vraiment en discuter avec votre administrateur système ou votre fournisseur d'accès avant d'essayer ce type d'installation.

Le support SLIP est assez rudimentaire, et essentiellement limité aux lignes directes, comme un câble série entre un ordinateur portable et un autre ordinateur. La liaison devra être directe car l'installation par SLIP n'offre pas la possibilité de se connecter par téléphone; cette fonctionnalité est fournie par l'utilitaire PPP, qu'il faut utiliser de préférence à SLIP chaque fois que c'est possible.

Si vous utilisez un modem, PPP est presque certainement votre seul choix. Veillez à avoir sous la main les informations concernant votre fournisseur d'accès car vous en aurez besoin assez tôt dans la procédure d'installation.

Si vous utilisez PAP ou CHAP pour vous connecter à votre fournisseur d'accès (en d'autres termes, si vous pouvez vous connecter au fournisseur d'accès sous Windows sans utiliser de script), alors tout ce que vous aurez à faire est de taper dial à l'invite de ppp. Sinon, vous devrez savoir comment se connecter à votre fournisseur d'accès en utilisant les ``commandes AT'' propres à votre modem, car le programme d'appel PPP ne fournit qu'un émulateur de terminal très simplifié. Veuillez vous reporter aux sections concernant ppp utilisateur du Manuel et de la FAQ pour plus d'informations. Si vous avez des problèmes, connectez-vous directement à l'écran avec la commande set log local ....

Si vous disposez d'une liaison directe à une autre machine FreeBSD (2.0-R ou ultérieure), vous pourrez envisager d'installer avec un câble ``laplink'' sur le port parallèle. La vitesse de transmission sur le port parallèle est plus importante que celle que l'on obtient habituellement avec une liaison série (jusqu'à 50 Koctets/sec), ce qui accélère l'installation.


2.13.6.1. Avant d'installer par NFS

L'installation NFS est assez directe. Copiez simplement les fichiers de la distribution FreeBSD que vous voulez quelque part sur un serveur NFS et ensuite mentionnez-le au moment de sélectionner le support NFS.

Si le serveur n'accepte que les accès sur les ``ports privilégiés'' (ce qui est généralement le cas par défaut sur les stations de travail Sun), vous devrez préciser l'option NFS Secure dans le menus des Options avant de procéder à l'installation.

Si vous avez une carte Ethernet de mauvaise qualité qui souffre de vitesses de transfert très faibles, vous devrez peut-être aussi positionner l'option NFS Slow.

Pour que l'installation NFS fonctionne, le serveur doit pouvoir monter des sous-répertoires, par exemple, si le répertoire pour votre distribution de FreeBSD 9.0 est: ziggy:/usr/archive/stuff/FreeBSD, alors ziggy devra autoriser le montage de /usr/archive/stuff/FreeBSD, et non seulement de /usr ou /usr/archive/stuff.

Dans le fichier /etc/exports de FreeBSD, on contrôle cela avec l'option -alldirs. D'autres serveurs NFS peuvent avoir d'autres conventions. Si le serveur vous envoie des messages “permission denied”, alors il est probable que vous n'avez pas activé correctement cette fonctionnalité.


Chapitre 3. Quelques bases d'UNIX

Réécrit par Chris Shumway.

Version française de Marc Fonvieille .


3.1. Synopsis

Le chapitre suivant couvrira les commandes et fonctionnalités de base du système d'exploitation FreeBSD. La plupart de ces informations sera valable pour n'importe quel système d'exploitation UNIX. Soyez libre de passer ce chapitre si vous êtes familier avec ces informations. Si vous êtes nouveau à FreeBSD, alors vous voudrez certainement lire attentivement ce chapitre.

Après la lecture de ce chapitre, vous saurez:

  • Comment utiliser les ``consoles virtuelles'' de FreeBSD.

  • Comment les permissions des fichiers d'UNIX fonctionnent ainsi que l'utilisation des indicateurs de fichiers sous FreeBSD.

  • L'architecture par défaut du système de fichiers sous FreeBSD.

  • L'organisation des disques sous FreeBSD.

  • Comment monter et démonter des systèmes de fichier.

  • Ce que sont les processus, daemons et signaux.

  • Ce qu'est un interpréteur de commande, et comment changer votre environnement de session par défaut.

  • Comment utiliser les éditeurs de texte de base.

  • Ce que sont les périphériques et les fichiers spéciaux de périphérique.

  • Quel est le format des binaires utilisé sous FreeBSD.

  • Comment lire les pages de manuel pour plus d'information.


3.2. Consoles virtuelles & terminaux

FreeBSD peut être utilisé de diverses façons. L'une d'elles est en tapant des commandes sur un terminal texte. Une bonne partie de la flexibilité et de la puissance d'un système d'exploitation UNIX est directement disponible sous vos mains en utilisant FreeBSD de cette manière. Cette section décrit ce que sont les ``terminaux'' et les ``consoles'', et comment les utiliser sous FreeBSD.


3.2.1. La console

Si vous n'avez pas configuré FreeBSD pour lancer automatiquement un environnement graphique au démarrage, le système vous présentera une invite d'ouverture de session après son démarrage, juste après la fin des procédures de démarrage. Vous verrez quelque chose de similaire à:

Additional ABI support:.
Local package initialization:.
Additional TCP options:.

Fri Sep 20 13:01:06 EEST 2002

FreeBSD/i386 (pc3.example.org) (ttyv0)

login:

Les messages pourront être différents sur votre système, mais cela devrait y ressembler. Les deux dernières lignes sont celles qui nous intéressent actuellement. La seconde de ces lignes nous donne:

FreeBSD/i386 (pc3.example.org) (ttyv0)

Cette ligne contient quelques éléments d'information sur le système que vous venez de démarrer. Vous êtes en train de lire une console ``FreeBSD'', tournant sur un processeur Intel ou compatible de la famille x86[1]. Le nom de cette machine (chaque machine UNIX a un nom) est pc3.example.org, et vous regardez actuellement sa console système--le terminal ttyv0.

Et enfin, la dernière ligne est toujours:

login:

C'est le moment où vous êtes supposé taper votre ``nom d'utilisateur'' pour vous attacher au système FreeBSD. La section suivante décrit comment procéder.


3.2.2. Ouvrir une session sur un système FreeBSD

FreeBSD est un système multi-utilisateur, multi-processeur. C'est la description formelle qui est habituellement donnée pour un système qui peut être utilisé par différentes personnes, qui exécutent simultanément de nombreux programmes sur une machine individuelle.

Chaque système multi-utilisateur a besoin d'un moyen pour distinguer un ``utilisateur'' du reste. Sous FreeBSD (et sous tous les systèmes de type UNIX), cela est effectué en demandant à chaque utilisateur de ``s'attacher'' au système avant d'être en mesure d'exécuter des programmes. Chaque utilisateur possède un nom unique (le nom d'utilisateur) et une clé secrète personnelle (le mot de passe). FreeBSD demandera ces deux éléments avant d'autoriser un utilisateur à lancer un programme.

Juste après que FreeBSD ait démarré et en ait terminé avec l'exécution des procédures de démarrage[2], il présentera une invite et demandera un nom d'utilisateur valide:

login:

Pour cet exemple, supposons que votre nom d'utilisateur est john. Tapez john à cette invite puis appuyez sur Entrée. Alors vous devrez être invité à entrer un ``mot de passe'':

login: john
Password:

Tapez maintenant le mot de passe de john, et appuyez sur Entrée. Le mot de passe n'est pas affiché! Vous n'avez pas à vous préoccuper de cela maintenant. Il suffit de penser que cela est fait pour des raisons de sécurité.

Si vous avez tapé correctement votre mot de passe, vous devriez être maintenant attaché au système et prêt à essayer toutes les commandes disponibles.

Vous devriez voir apparaître le MOTD ou message du jour suivi de l'invite de commande (un caractère #, $, ou %). Cela indique que vous avez ouvert avec succès une session sous FreeBSD.


3.2.3. Consoles multiples

Exécuter des commandes UNIX dans une console est bien beau, mais FreeBSD peut exécuter plusieurs programmes à la fois. Avoir une seule console sur laquelle les commandes peuvent être tapées serait un peu du gaspillage quand un système d'exploitation comme FreeBSD peut exécuter des dizaines de programmes en même temps. C'est ici que des ``consoles virtuelles'' peuvent être vraiment utiles.

FreeBSD peut être configuré pour présenter de nombreuses consoles virtuelles. Vous pouvez basculer d'une console virtuelle à une autre en utilisant une combinaison de touches sur votre clavier. Chaque console a son propre canal de sortie, et FreeBSD prend soin de rediriger correctement les entrées au clavier et la sortie vers écran quand vous basculez d'une console virtuelle à la suivante.

Des combinaisons de touches spécifiques ont été réservées par FreeBSD pour le basculement entre consoles[3]. Vous pouvez utiliser Alt-F1, Alt-F2, jusqu'à Alt-F8 pour basculer vers une console virtuelle différente sous FreeBSD.

Quand vous basculez d'une console à une autre, FreeBSD prend soin de sauvegarder et restaurer la sortie d'écran. Il en résulte l'``illusion'' d'avoir plusieurs écrans et claviers ``virtuels'' que vous pouvez utiliser pour taper des commandes pour FreeBSD. Les programmes que vous lancez sur une console virtuelle ne cessent pas de tourner quand cette console n'est plus visible. Ils continuent de s'exécuter quand vous avez basculé vers une console virtuelle différente.


3.2.4. Le fichier /etc/ttys

La configuration par défaut de FreeBSD démarre avec huit consoles virtuelles. Cependant ce n'est pas un paramétrage fixe, et vous pouvez aisément personnaliser votre installation pour démarrer avec plus ou moins de consoles virtuelles. Le nombre et les paramétrages des consoles virtuelles sont configurés dans le fichier /etc/ttys.

Vous pouvez utiliser le fichier /etc/ttys pour configurer les consoles virtuelles de FreeBSD. Chaque ligne non-commentée dans ce fichier (les lignes qui ne débutent pas par le caractère #) contient le paramétrage d'un terminal ou d'une console virtuelle. La version par défaut de ce fichier livrée avec FreeBSD configure neuf consoles virtuelles, et en active huit. Ce sont les lignes commençant avec le terme ttyv:

# name  getty                           type    status          comments
#
ttyv0   "/usr/libexec/getty Pc"         cons25  on  secure
# Virtual terminals
ttyv1   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv2   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv3   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv4   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv5   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv6   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv7   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv8   "/usr/X11R6/bin/xdm -nodaemon"  xterm   off secure

Pour une description détaillée de chaque colonne de ce fichier et toutes les options que vous pouvez utiliser pour configurer les consoles virtuelles, consultez la page de manuel ttys(5).


3.2.5. Console en mode mono-utilisateur

Une description détaillée de ce qu'est “le mode mono-utilisateur” peut être trouvée dans Section 12.6.2. Il est important de noter qu'il n'y a qu'une console de disponible quand vous exécutez FreeBSD en mode mono-utilisateur. Il n'y a aucune console virtuelle de disponible. Le paramétrage de la console en mode mono-utilisateur peut être également trouvé dans le fichier /etc/ttys. Recherchez la ligne qui commence avec le mot console:

# name  getty                           type    status          comments
#
# If console is marked "insecure", then init will ask for the root password
# when going to single-user mode.
console none                            unknown off secure

Note : Comme l'indiquent les commentaires au-dessus de la ligne console, vous pouvez éditer cette ligne et changer secure pour insecure. Si vous faites cela, quand FreeBSD démarrera en mode mono-utilisateur, il demandera le mot de passe de root.

Cependant faites attention quand vous modifiez cela pour insecure. Si vous oubliez le mot de passe de root, le démarrage en mode mono-utilisateur sera condamné. Il est encore possible, mais cela pourra être relativement compliqué pour quelqu'un qui n'est pas à l'aise avec le processus de démarrage de FreeBSD et les programmes entrant en jeu.


3.2.6. Modifier la résolution de la console

La résolution (ou encore le mode vidéo) de la console FreeBSD peut être réglée à 1024x768, 1280x1024, ou tout autre résolution supportée par le circuit graphique et le moniteur. Pour utiliser une résolution vidéo différente vous devez en premier lieu recompiler votre noyau en ajoutant deux options supplémentaires:

options VESA
options SC_PIXEL_MODE

Une fois votre noyau recompilé avec ces deux options, vous pouvez déterminer quels sont les modes vidéo supportés par votre matériel en utilisant l'outil vidcontrol(1). Pour obtenir une liste des modes supportés, tapez la ligne suivante:

# vidcontrol -i mode

La sortie de cette commande est une liste des modes vidéo que supporte votre matériel. Vous pouvez ensuite décider d'utiliser un nouveau mode en le passant à la commande vidcontrol(1) tout en ayant les droits de root:

# vidcontrol MODE_279

Si le nouveau mode vidéo est satisfaisant, il peut être activé au démarrage de manière permanente en le configurant dans le fichier /etc/rc.conf:

allscreens_flags="MODE_279"

3.3. Permissions

FreeBSD, étant un descendant direct de l'UNIX BSD, est basé sur plusieurs concepts clés d'UNIX. Le premier, et le plus prononcé, est le fait que FreeBSD est un système d'exploitation multi-utilisateurs. Le système peut gérer plusieurs utilisateurs travaillant tous simultanément sur des tâches complètement indépendantes. Le système est responsable du partage correct et de la gestion des requêtes pour les périphériques matériels, la mémoire, et le temps CPU de façon équitable entre chaque utilisateur.

Puisque le système est capable de supporter des utilisateurs multiples, tout ce que le système gère possède un ensemble de permissions définissant qui peut écrire, lire, et exécuter la ressource. Ces permissions sont stockées sous forme de trois octets divisés en trois parties, une pour le propriétaire du fichier, une pour le groupe auquel appartient le fichier, et une autre pour le reste du monde. Cette représentation numérique fonctionne comme ceci:

Valeur Permission Contenu du répertoire
0 Pas d'accès en lecture, pas d'accès en écriture, pas d'accès en exécution ---
1 Pas d'accès en lecture, pas d'accès en écriture, exécution --x
2 Pas d'accès en lecture, écriture, pas d'accès en exécution -w-
3 Pas d'accès en lecture, écriture, exécution -wx
4 Lecture, pas d'accès en écriture, pas d'accès en exécution r--
5 Lecture, pas d'accès en écriture, exécution r-x
6 Lecture, écriture, pas d'accès en exécution rw-
7 Lecture, écriture, exécution rwx

Vous pouvez utiliser l'option -l avec la commande ls(1) pour afficher le contenu du répertoire sous forme une longue et détaillée qui inclut une colonne avec des informations sur les permissions d'accès des fichiers pour le propriétaire, le groupe, et le reste du monde. Par exemple un ls -l dans un répertoire quelconque devrait donner:

% ls -l
total 530
-rw-r--r--  1 root  wheel     512 Sep  5 12:31 myfile
-rw-r--r--  1 root  wheel     512 Sep  5 12:31 otherfile
-rw-r--r--  1 root  wheel    7680 Sep  5 12:31 email.txt
...

Voici comment est divisée la première colonne de l'affichage généré par ls -l:

-rw-r--r--

Le premier caractère (le plus à gauche) indique si c'est un fichier normal, un répertoire, ou un périphérique mode caractère, une socket, ou tout autre pseudo-périphérique. Dans ce cas, - indique un fichier normal. Les trois caractères suivants, rw- dans cet exemple, donnent les permissions pour le propriétaire du fichier. Les trois caractères qui suivent, r--, donnent les permissions pour le groupe auquel appartient le fichier. Les trois derniers caractères, r--, donnent les permissions pour le reste du monde. Un tiret signifie que la permission est désactivée. Dans le cas de ce fichier, les permissions sont telles que le propriétaire peut lire et écrire le fichier, le groupe peut lire le fichier, et le reste du monde peut seulement lire le fichier. D'après la table ci-dessus, les permissions pour ce fichier seraient 644, où chaque chiffre représente les trois parties des permissions du fichier.

Tout cela est bien beau, mais comment le système contrôle les permissions sur les périphériques? En fait FreeBSD traite la plupart des périphériques sous la forme d'un fichier que les programmes peuvent ouvrir, lire, et écrire des données dessus comme tout autre fichier. Ces périphériques spéciaux sont stockés dans le répertoire /dev.

Les répertoires sont aussi traités comme des fichiers. Ils ont des droits en lecture, écriture et exécution. Le bit d'exécution pour un répertoire a une signification légèrement différente que pour les fichiers. Quand un répertoire est marqué exécutable, cela signifie qu'il peut être traversé, i.e. il est possible d'utiliser ``cd'' (changement de répertoire). Ceci signifie également qu'à l'intérieur du répertoire il est possible d'accéder aux fichiers dont les noms sont connus (en fonction, bien sûr, des permissions sur les fichiers eux-mêmes).

En particulier, afin d'obtenir la liste du contenu d'un répertoire, la permission de lecture doit être positionnée sur le répertoire, tandis que pour effacer un fichier dont on connaît le nom, il est nécessaire d'avoir les droits d'écriture et d'exécution sur le répertoire contenant le fichier.

Il y a d'autres types de permissions, mais elles sont principalement employées dans des circonstances spéciales comme les binaires ``setuid'' et les répertoires ``sticky''. Si vous désirez plus d'information sur les permissions de fichier et comment les positionner, soyez sûr de consulter la page de manuel chmod(1).


3.3.1. Permissions symboliques

Contribution de Tom Rhodes.

Les permissions symboliques, parfois désignées sous le nom d'expressions symboliques, utilisent des caractères à la place de valeur en octal pour assigner les permissions aux fichiers et répertoires. Les expressions symboliques emploient la syntaxe: (qui) (action) (permissions), avec les valeurs possibles suivantes:

Option Lettre Représente
(qui) u Utilisateur
(qui) g Groupe
(qui) o Autre
(qui) a Tous (“le monde entier”)
(action) + Ajouter des permissions
(action) - Retirer des permissions
(action) = Fixe les permissions de façon explicite
(permissions) r Lecture
(permissions) w Ecriture
(permissions) x Exécution
(permissions) t bit collant (sticky)
(permissions) s Exécuter avec l'ID utilisateur (UID) ou groupe (GID)

Ces valeurs sont utilisées avec la commande chmod(1) comme précédemment mais avec des lettres. Par exemple, vous pourriez utiliser la commande suivante pour refuser l'accès au fichier FICHIER à d'autres utilisateurs:

% chmod go= FICHIER

Une liste séparé par des virgules peut être fournie quand plus d'un changement doit être effectué sur un fichier. Par exemple la commande suivante retirera les permissions d'écriture au groupe et au ``reste du monde'' sur le fichier FICHIER, puis ajoutera la permission d'exécution pour tout le monde:

% chmod go-w,a+x FICHIER

3.3.2. Indicateurs des fichiers sous FreeBSD

Contribution de Tom Rhodes.

En addition des permissions sur les fichiers précédemment présentées, FreeBSD supporte l'utilisation d'“indicateurs de fichiers”. Ces indicateurs rajoutent un niveau de contrôle et de sécurité sur les fichiers, mais ne concernent pas les répertoires.

Ces indicateurs ajoutent donc un niveau de contrôle supplémentaire des fichiers, permettant d'assurer que dans certains cas même le super-utilisateur root ne pourra effacer ou modifier des fichiers.

Les indicateurs de fichiers peuvent être modifiés avec l'utilitaire chflags(1), ce dernier présentant une interface simple. Par exemple, pour activer l'indicateur système de suppression impossible sur le fichier file1, tapez la commande suivante:

# chflags sunlink file1

Et pour désactiver l'indicateur de suppression impossible, utilisez la commande précédente avec le préfixe “no” devant l'option sunlink:

# chflags nosunlink file1

Pour afficher les indicateurs propres à ce fichier, utilisez la commande ls(1) avec l'option -lo:

# ls -lo file1
	

La sortie de la commande devrait ressembler à:

-rw-r--r--  1 trhodes  trhodes  sunlnk 0 Mar  1 05:54 file1

Plusieurs indicateurs ne peuvent être positionnés ou retirés que par le super-utilisateur root. Dans les autres cas, le propriétaire du fichier peut activer ces indicateurs. Pour plus d'information, la lecture des pages de manuel chflags(1) et chflags(2) est recommandée à tout administrateur.


3.4. Organisation de l'arborescence des répertoires

L'organisation de l'arborescence des répertoires de FreeBSD est essentielle pour obtenir une compréhension globale du système. Le concept le plus important à saisir est celui du répertoire racine, ``/''. Ce répertoire est le premier a être monté au démarrage et il contient le système de base nécessaire pour préparer le système d'exploitation au fonctionnement multi-utilisateurs. Le répertoire racine contient également les points de montage pour les autres systèmes de fichiers qui sont montés lors du passage en mode multi-utilisateurs.

Un point de montage est un répertoire où peuvent être greffés des systèmes de fichiers supplémentaires au système de fichiers parent (en général le système de fichiers racine). Cela est décrit plus en détails dans la Section 3.5. Les points de montage standards incluent /usr, /var, /tmp, /mnt, et /cdrom. Ces répertoires sont en général référencés par des entrées dans le fichier /etc/fstab. /etc/fstab est une table des divers systèmes de fichiers et de leur point de montage utilisé comme référence par le système. La plupart des systèmes de fichiers présents dans /etc/fstab sont montés automatiquement au moment du démarrage par la procédure rc(8) à moins que l'option noauto soit présente. Plus de détails peuvent être trouvés dans la Section 3.6.1.

Une description complète de l'arborescence du système de fichiers est disponible dans la page de manuel hier(7). Pour l'instant, une brève vue d'ensemble des répertoires les plus courants suffira.

Répertoire Description
/ Répertoire racine du système de fichiers.
/bin/ Programmes utilisateur fondamentaux aux deux modes de fonctionnement mono et multi-utilisateurs.
/boot/ Programmes et fichiers de configuration utilisés durant le processus de démarrage du système.
/boot/defaults/ Fichiers de configuration par défaut du processus de démarrage; voir la page de manuel loader.conf(5).
/dev/ Fichiers spéciaux de périphérique; voir la page de manuel intro(4).
/etc/ Procédures et fichiers de configuration du système.
/etc/defaults/ Fichiers de configuration du système par défaut; voir la page de manuel rc(8).
/etc/mail/ Fichiers de configuration pour les agents de transport du courrier électronique comme sendmail(8).
/etc/namedb/ Fichiers de configuration de named; voir la page de manuel named(8).
/etc/periodic/ Procédures qui sont exécutées de façon quotidienne, hebdomadaire et mensuelle par l'intermédiaire de cron(8); voir la page de manuel periodic(8).
/etc/ppp/ Fichiers de configuration de ppp; voir la page de manuel ppp(8).
/mnt/ Répertoire vide habituellement utilisé par les administrateurs système comme un point de montage temporaire.
/proc/ Le système de fichiers pour les processus; voir les pages de manuel procfs(5), mount_procfs(8).
/rescue/ Programmes liés en statique pour les réparations d'urgence; consultez la page de manuel rescue(8).
/root/ Répertoire personnel du compte root.
/sbin/ Programmes systèmes et utilitaires systèmes fondamentaux aux environnements mono et multi-utilisateurs.
/tmp/ Fichiers temporaires. Le contenu de /tmp n'est en général PAS préservé par un redémarrage du système. Un système de fichiers en mémoire est souvent monté sur /tmp. Cela peut être automatisé en utilisant les variables rc.conf(5) relatives au système “tmpmfs” (ou à l'aide d'une entrée dans le fichier /etc/fstab; consultez la page de manuel mdmfs(8)).
/usr/ La majorité des utilitaires et applications utilisateur.
/usr/bin/ Utilitaires généraux, outils de programmation, et applications.
/usr/include/ Fichiers d'en-tête C standard.
/usr/lib/ Ensemble des bibliothèques.
/usr/libdata/ Divers fichiers de données de service.
/usr/libexec/ Utilitaires et daemons système (exécutés par d'autres programmes).
/usr/local/ Exécutables, bibliothèques, etc... Egalement utilisé comme destination de défaut pour les logiciels portés pour FreeBSD. Dans /usr/local, l'organisation générale décrite par la page de manuel hier(7) pour /usr devrait être utilisée. Exceptions faites du répertoire man qui est directement sous /usr/local plutôt que sous /usr/local/share, et la documentation des logiciels portés est dans share/doc/port.
/usr/obj/ Arborescence cible spécifique à une architecture produite par la compilation de l'arborescence /usr/src.
/usr/ports Le catalogue des logiciels portés (optionnel).
/usr/sbin/ Utilitaires et daemons système (exécutés par les utilisateurs).
/usr/share/ Fichiers indépendants de l'architecture.
/usr/src/ Fichiers source FreeBSD et/ou locaux.
/usr/X11R6/ Exécutables, bibliothèques etc... de la distribution d'X11R6 (optionnel).
/var/ Fichiers de traces, fichiers temporaires, et fichiers tampons. Un système de fichiers en mémoire est parfois monté sur /var. Cela peut être automatisé en utilisant les variables rc.conf(5) relatives au système “varmfs” (ou à l'aide d'une entrée dans le fichier /etc/fstab; consultez la page de manuel mdmfs(8)).
/var/log/ Divers fichiers de trace du système.
/var/mail/ Boîtes aux lettres des utilisateurs.
/var/spool/ Divers répertoires tampons des systèmes de courrier électronique et d'impression.
/var/tmp/ Fichiers temporaires. Ces fichiers sont généralement conservés lors d'un redémarrage du système, à moins que /var ne soit un système de fichiers en mémoire.
/var/yp Tables NIS.



3.5. Organisation des disques

Le plus petit élément qu'utilise FreeBSD pour retrouver des fichiers est le nom de fichier. Les noms de fichiers sont sensibles à la casse des caractères, ce qui signifie que readme.txt et README.TXT sont deux fichiers séparés. FreeBSD n'utilise pas l'extension (.txt) d'un fichier pour déterminer si ce fichier est un programme, un document ou une autre forme de donnée.

Les fichiers sont stockés dans des répertoires. Un répertoire peut ne contenir aucun fichier, ou en contenir plusieurs centaines. Un répertoire peut également contenir d'autre répertoires, vous permettant de construire une hiérarchie de répertoires à l'intérieur d'un autre. Cela rend plus simple l'organisation de vos données.

Les fichiers et les répertoires sont référencés en donnant le nom du fichier ou du répertoire, suivi par un slash, /, suivi par tout nom de répertoire nécessaire. Si vous avez un répertoire foo, qui contient le répertoire bar, qui contient le fichier readme.txt, alors le nom complet, ou chemin (``path'') vers le fichier est foo/bar/readme.txt.

Les répertoires et les fichiers sont stockés sur un système de fichiers. Chaque système de fichiers contient à son niveau le plus haut un répertoire appelé répertoire racine pour ce système de fichiers. Ce répertoire racine peut alors contenir les autres répertoires.

Jusqu'ici cela est probablement semblable à n'importe quel autre système d'exploitation que vous avez pu avoir utilisé. Il y a quelques différences: par exemple, MS-DOS utilise \ pour séparer les noms de fichier et de répertoire, alors que MacOS utilise :.

FreeBSD n'utilise pas de lettre pour les lecteurs, ou d'autres noms de disque dans le chemin. Vous n'écrirez pas c:/foo/bar/readme.txt sous FreeBSD.

Au lieu de cela, un système de fichiers est désigné comme système de fichiers racine. La racine du système de fichiers racine est représentée par un /. Tous les autres systèmes de fichiers sont alors montés sous le système de fichiers racine. Peu importe le nombre de disques que vous avez sur votre système FreeBSD, chaque répertoire apparaît comme faisant partie du même disque.

Supposez que vous avez trois systèmes de fichiers, appelés A, B, et C. Chaque système de fichiers possède un répertoire racine, qui contient deux autres répertoires, nommés A1, A2 (et respectivement B1, B2 et C1, C2).

Appelons A le système de fichiers racine. Si vous utilisiez la commande ls pour visualiser le contenu de ce répertoire, vous verriez deux sous-répertoires, A1 et A2. L'arborescence des répertoires ressemblera à ceci:

Un système de fichiers doit être monté dans un répertoire d'un autre système de fichiers. Supposez maintenant que vous montez le système de fichiers B sur le répertoire A1. Le répertoire racine de B remplace A1, et les répertoires de B par conséquent apparaissent:

Tout fichier de B1 ou B2 peut être atteint avec le chemin /A1/B1 ou /A1/B2 si nécessaire. Tous les fichiers qui étaient dans A1 ont été temporairement cachés. Ils réapparaîtront si B est démonté de A.

Si B a été monté sur A2 alors le diagramme sera semblable à celui-ci:

et les chemins seront /A2/B1 et respectivement /A2/B2.

Les systèmes de fichiers peuvent être montés au sommet d'un autre. En continuant l'exemple précédent, le système de fichiers C pourrait être monté au sommet du répertoire B1 dans le système de fichiers B, menant à cet arrangement:

C pourrait être monté directement sur le système de fichiers A, sous le répertoire A1:

Si vous êtes familier de MS-DOS, ceci est semblable, bien que pas identique, à la commande join.

Ce n'est normalement pas quelque chose qui doit vous préoccuper. Généralement vous créez des systèmes de fichiers à l'installation de FreeBSD et décidez où les monter, et ensuite ne les modifiez jamais à moins que vous ajoutiez un nouveau disque.

Il est tout à fait possible de n'avoir qu'un seul grand système de fichiers racine, et de ne pas en créer d'autres. Il y a quelques inconvénients à cette approche, et un avantage.

Avantages des systèmes de fichiers multiples

  • Les différents systèmes de fichiers peuvent avoir différentes options de montage. Par exemple, avec une planification soigneuse, le système de fichiers racine peut être monté en lecture seule, rendant impossible tout effacement par inadvertance ou édition de fichier critique. La séparation des systèmes de fichiers inscriptibles par l'utilisateur permet leur montage en mode nosuid; cette option empêche les bits suid/guid des exécutables stockés sur ce système de fichiers de prendre effet, améliorant peut-être la sécurité.

  • FreeBSD optimise automatiquement la disposition des fichiers sur un système de fichiers, selon la façon dont est utilisé le système de fichiers. Aussi un système de fichiers contenant beaucoup de petits fichiers qui sont écrits fréquemment aura une optimisation différente à celle d'un système contenant moins, ou de plus gros fichiers. En ayant un seul grand système de fichiers cette optimisation est perdue.

  • Les systèmes de fichiers de FreeBSD sont très robustes même en cas de coupure secteur. Cependant une coupure secteur à un moment critique pourrait toujours endommager la structure d'un système de fichiers. En répartissant vos données sur des systèmes de fichiers multiples il est plus probable que le système redémarre, vous facilitant la restauration des données à partir de sauvegardes si nécessaire.

Avantage d'un système de fichiers unique

  • Les systèmes de fichiers ont une taille fixe. Si vous créez un système de fichiers à l'installation de FreeBSD et que vous lui donnez une taille spécifique, vous pouvez plus tard vous apercevoir que vous avez besoin d'une partition plus grande. Cela n'est pas facilement faisable sans sauvegardes, recréation du système de fichiers, et enfin restauration des données.

    Important : FreeBSD dispose d'une commande, growfs(8), qui permettra d'augmenter la taille d'un système de fichiers au vol, supprimant cette limitation.

Les systèmes de fichiers sont contenus dans des partitions. Cela n'a pas la même signification que l'utilisation commune du terme partition (par exemple une partition MS-DOS), en raison de l'héritage Unix de FreeBSD. Chaque partition est identifiée par une lettre de a à h. Chaque partition ne contient qu'un seul système de fichiers, cela signifie que les systèmes de fichiers sont souvent décrits soit par leur point de montage typique dans la hiérarchie du système de fichiers, soit par la lettre de la partition qui les contient.

FreeBSD utilise aussi de l'espace disque pour l'espace de pagination (``swap''). L'espace de pagination fournit à FreeBSD la mémoire virtuelle. Cela permet à votre ordinateur de se comporter comme s'il disposait de beaucoup plus de mémoire qu'il n'en a réellement. Quand FreeBSD vient à manquer de mémoire il déplace certaines données qui ne sont pas actuellement utilisées vers l'espace de pagination, et les rapatrie (en déplaçant quelque chose d'autre) quand il en a besoin.

Quelques partitions sont liées à certaines conventions.

Partition Convention
a Contient normalement le système de fichiers racine
b Contient normalement l'espace de pagination
c Normalement de la même taille que la tranche (``slice'') contenant les partitions. Cela permet aux utilitaires devant agir sur l'intégralité de la tranche (par exemple un analyseur de blocs défectueux) de travailler sur la partition c. Vous ne devriez normalement pas créer de système de fichiers sur cette partition.
d La partition d a eu dans le passé une signification particulière, ce n'est plus le cas aujourd'hui, et d pourra être utilisée comme une partition classique.

Chaque partition contenant un système de fichiers est stockée dans ce que FreeBSD appelle une tranche (``slice''). Tranche - ``slice'' est le terme FreeBSD pour ce qui est communément appelé partition, et encore une fois, cela en raison des fondations Unix de FreeBSD. Les tranches sont numérotées, en partant de 1, jusqu'à 4.

Les numéros de tranche suivent le nom du périphérique, avec le préfixe s, et commencent à 1. Donc ``da0s1'' est la première tranche sur le premier disque SCSI. Il ne peut y avoir que quatre tranches physiques sur un disque, mais vous pouvez avoir des tranches logiques dans des tranches physiques d'un type précis. Ces tranches étendues sont numérotées à partir de 5, donc ``ad0s5'' est la première tranche étendue sur le premier disque IDE. Elles sont utilisées par des systèmes de fichiers qui s'attendent à occuper une tranche entière.

Les tranches, les disques ``en mode dédié'', et les autres disques contiennent des partitions, qui sont représentées par des lettres allant de a à h. Cette lettre est ajoutée au nom de périphérique, aussi ``da0a'' est la partition a sur le premier disque da, qui est en ``en mode dédié''. ``ad1s3e'' est la cinquième partition de la troisième tranche du second disque IDE.

En conclusion chaque disque présent sur le système est identifié. Le nom d'un disque commence par un code qui indique le type de disque, suivi d'un nombre, indiquant de quel disque il s'agit. Contrairement aux tranches, la numérotation des disques commence à 0. Les codes communs que vous risquez de rencontrer sont énumérés dans le Tableau 3-1.

Quand vous faites référence à une partition, FreeBSD exige que vous nommiez également la tranche et le disque contenant la partition, et quand vous faites référence à une tranche vous devrez également faire référence au nom du disque. On fait donc référence à une partition en écrivant le nom du disque, s, le numéro de la tranche, et enfin la lettre de la partition. Des exemples sont donnés dans l'Exemple 3-1.

L'Exemple 3-2 montre un exemple de l'organisation d'un disque qui devrait aider à clarifier les choses.

Afin d'installer FreeBSD vous devez tout d'abord configurer les tranches sur votre disque, ensuite créer les partitions dans la tranche que vous utiliserez pour FreeBSD, et alors créer un système de fichiers (ou espace de pagination) dans chaque partition, et décider de l'endroit où seront montés les systèmes de fichiers.

Tableau 3-1. Codes des périphériques disques

Code Signification
ad Disque ATAPI (IDE)
da Disque SCSI
acd CDROM ATAPI (IDE)
cd CDROM SCSI
fd Lecteur de disquette

Exemple 3-1. Exemples d'appellation de disques, tranches et partitions

Nom Signification
ad0s1a Première partition (a) sur la première tranche (s1) du premier disque IDE (ad0).
da1s2e Cinquième partition (e) sur la seconde tranche (s2) du deuxième disque SCSI (da1).

Exemple 3-2. Modèle conceptuel d'un disque

Ce diagramme montre comment FreeBSD voit le premier disque IDE attaché au système. Supposons que le disque a une capacité de 4 Go, et contient deux tranches de 2 Go (partitions MS-DOS). La première tranche contient un disque MS-DOS, C:, et la seconde tranche contient une installation de FreeBSD. Dans cet exemple l'installation de FreeBSD a trois partitions de données, et une partition de pagination.

Les trois partitions accueilleront chacune un système de fichiers. La partition a sera utilisée en tant que système de fichiers racine, la partition e pour le contenu du répertoire /var, et f pour l'arborescence du répertoire /usr.


3.6. Monter et démonter des systèmes de fichiers

Le système de fichiers peut être vu comme un arbre enraciné sur le répertoire /. /dev, /usr, et les autres répertoires dans le répertoire racine sont des branches, qui peuvent avoir leurs propres branches, comme /usr/local, et ainsi de suite.

Il y a diverses raisons pour héberger certains de ces répertoires sur des systèmes de fichiers séparés. /var contient les répertoires log/, spool/, et divers types de fichiers temporaires, et en tant que tels, peuvent voir leur taille augmenter de façon importante. Remplir le système de fichiers racine n'est pas une bonne idée, aussi séparer /var de / est souvent favorable.

Une autre raison courante de placer certains répertoires sur d'autres systèmes de fichiers est s'ils doivent être hébergés sur des disques physiques séparés, ou sur des disques virtuels séparés, comme les systèmes de fichiers réseau, ou les lecteurs de CDROM.


3.6.1. Le fichier fstab

Durant le processus de démarrage, les systèmes de fichiers listés dans /etc/fstab sont automatiquement montés (à moins qu'il ne soient listés avec l'option noauto).

Le fichier /etc/fstab contient une liste de lignes au format suivant:

device       /mount-point fstype     options      dumpfreq     passno
device

Un nom de périphérique (qui devrait exister), comme expliqué dans la Section 18.2.

mount-point

Un répertoire (qui devrait exister), sur lequel sera monté le système de fichier.

fstype

Le type de système de fichiers à indiquer à mount(8). Le système de fichiers par défaut de FreeBSD est l'ufs.

options

Soit rw pour des systèmes de fichiers à lecture-écriture, soit ro pour des systèmes de fichiers à lecture seule, suivi par toute option qui peut s'avérer nécessaire. Une option courante est noauto pour les systèmes de fichiers qui ne sont normalement pas montés durant la séquence de démarrage. D'autres options sont présentées dans la page de manuel mount(8).

dumpfreq

C'est utilisé par dump(8) pour déterminer quels systèmes de fichiers nécessitent une sauvegarde. Si ce champ est absent, une valeur de zéro est supposée.

passno

Ceci détermine l'ordre dans lequel les systèmes de fichiers devront être vérifiés. Les systèmes de fichiers qui doivent être ignorés devraient avoir leur passno positionné à zéro. Le système de fichiers racine (qui doit être vérifié avant tout le reste) devrait avoir son passno positionné à un, et les options passno des autres systèmes fichiers devraient être positionnées à des valeurs supérieures à un. Si plus d'un système de fichiers ont le même passno alors fsck(8) essaiera de vérifier les systèmes de fichiers en parallèle si c'est possible.

Consultez la page de manuel de fstab(5) pour plus d'information sur le format du fichier /etc/fstab et des options qu'il contient.


3.6.2. La commande mount

La commande mount(8) est ce qui est finalement utilisé pour monter des systèmes de fichiers.

Dans sa forme la plus simple, vous utilisez:

# mount device mountpoint

Il y beaucoup d'options, comme mentionné dans la page de manuel mount(8), mais les plus courantes sont:

Options de montage

-a

Monte tous les systèmes de fichiers listés dans /etc/fstab. Exception faite de ceux marqués comme ``noauto'', ou exclus par le drapeau -t, ou encore ceux qui sont déjà montés.

-d

Tout effectuer à l'exception de l'appel système de montage réel. Cette option est utile conjointement avec le drapeau -v pour déterminer ce que mount(8) est en train d'essayer de faire.

-f

Force le montage d'un système de fichiers non propre (dangereux), ou force la révocation de l'accès en écriture quand on modifie l'état de montage d'un système de fichiers de l'accès lecture-écriture à l'accès lecture seule.

-r

Monte le système de fichiers en lecture seule. C'est identique à l'utilisation de l'argument ro (rdonly pour les versions de FreeBSD antérieures à la 5.2) avec l'option -o.

-t fstype

Monte le système de fichiers comme étant du type de système donné, ou monte seulement les systèmes de fichiers du type donné, si l'option -a est précisée.

``ufs'' est le type de système de fichiers par défaut.

-u

Mets à jour les options de montage sur le système de fichiers.

-v

Rends la commande prolixe.

-w

Monte le système de fichiers en lecture-écriture.

L'option -o accepte une liste d'options séparées par des virgules, dont les suivantes:

noexec

Ne pas autoriser l'exécution de binaires sur ce système de fichiers. C'est également une option de sécurité utile.

nosuid

Ne pas prendre en compte les indicateurs setuid ou setgid sur le système de fichiers. C'est également une option de sécurité utile.


3.6.3. La commande umount

La commande umount(8) prend, comme paramètre, un des points de montage, un nom de périphérique, ou l'option -a ou -A.

Toutes les formes acceptent -f pour forcer de démontage, et -v pour le mode prolixe. Soyez averti que l'utilisation de -f n'est généralement pas une bonne idée. Démonter de force des systèmes de fichiers pourrait faire planter l'ordinateur ou endommager les données sur le système de fichiers.

Les options -a et -A sont utilisées pour démonter tous les systèmes de fichiers actuellement montés, éventuellement modifié par les types de systèmes de fichiers listés après l'option -t. Cependant l'option -A, n'essaye pas de démonter le système de fichiers racine.


3.7. Processus

FreeBSD est un système d'exploitation multi-tâches. Cela veut dire qu'il semble qu'il y ait plus d'un programme fonctionnant à la fois. Tout programme fonctionnant à un moment donné est appelé un processus. Chaque commande que vous utiliserez lancera au moins un nouveau processus, et il y a de nombreux processus système qui tournent constamment, maintenant ainsi les fonctionnalités du système.

Chaque processus est identifié de façon unique par un nombre appelé process ID (identifiant de processus), ou PID, et, comme pour les fichiers, chaque processus possède également un propriétaire et un groupe. Les informations sur le propriétaire et le groupe sont utilisées pour déterminer quels fichiers et périphériques sont accessibles au processus, en utilisant le principe de permissions de fichiers abordé plus tôt. La plupart des processus ont également un processus parent. Le processus parent est le processus qui les a lancés. Par exemple, si vous tapez des commandes sous un interpréteur de commandes, alors l'interpréteur de commandes est un processus, et toute commande que vous lancez est aussi un processus. Chaque processus que vous lancez de cette manière aura votre interpréteur de commandes comme processus parent. Une exception à cela est le processus spécial appelé init(8). init est toujours le premier processus, donc son PID est toujours 1. init est lancé automatiquement par le noyau au démarrage de FreeBSD.

Deux commandes sont particulièrement utiles pour voir les processus sur le système, ps(1) et top(1). La commande ps est utilisée pour afficher une liste statique des processus tournant actuellement, et peut donner leur PID, la quantité de mémoire qu'ils utilisent, la ligne de commande par l'intermédiaire de laquelle ils ont été lancés, et ainsi de suite. La commande top(1) affiche tous les processus, et actualise l'affichage régulièrement, de sorte que vous puissiez voir de façon intéractive ce que fait l'ordinateur.

Par défaut, ps(1) n'affiche que les commandes que vous faites tourner et dont vous êtes le propriétaire. Par exemple:

% ps
  PID  TT  STAT      TIME COMMAND
  298  p0  Ss     0:01.10 tcsh
 7078  p0  S      2:40.88 xemacs mdoc.xsl (xemacs-21.1.14)
37393  p0  I      0:03.11 xemacs freebsd.dsl (xemacs-21.1.14)
48630  p0  S      2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi
48730  p0  IW     0:00.00 (dns helper) (navigator-linux-)
72210  p0  R+     0:00.00 ps
  390  p1  Is     0:01.14 tcsh
 7059  p2  Is+    1:36.18 /usr/local/bin/mutt -y
 6688  p3  IWs    0:00.00 tcsh
10735  p4  IWs    0:00.00 tcsh
20256  p5  IWs    0:00.00 tcsh
  262  v0  IWs    0:00.00 -tcsh (tcsh)
  270  v0  IW+    0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16
  280  v0  IW+    0:00.00 xinit /home/nik/.xinitrc -- -bpp 16
  284  v0  IW     0:00.00 /bin/sh /home/nik/.xinitrc
  285  v0  S      0:38.45 /usr/X11R6/bin/sawfish

Comme vous pouvez le voir dans cet exemple, la sortie de ps(1) est organisée en un certain nombre de colonnes. PID est l'identifiant de processus discuté plus tôt. Les PIDs sont assignés à partir de 1, et vont jusqu'à 99999, et puis repassent à 1 quand le maximum est atteint (un PID n'est pas réassigné s'il est déjà utilisé). La colonne TT donne le terminal sur lequel tourne le programme, et peut être pour le moment ignoré sans risque. STAT affiche l'état du programme, peut être également ignoré. TIME est la durée d'utilisation du CPU--ce n'est généralement pas le temps écoulé depuis que vous avez lancé le programme, comme la plupart des programmes passent beaucoup de temps à attendre que certaines choses se produisent avant qu'ils n'aient besoin de dépenser du temps CPU. Et enfin, COMMAND est la ligne de commande qui a été utilisée lors du lancement du programme.

ps(1) supporte un certain nombre d'options différentes pour modifier les informations affichées. Un des ensembles d'options les plus utiles est auxww. a affiche l'information au sujet de tous les processus tournant, et pas seulement les vôtres. u donne le nom de l'utilisateur du propriétaire du processus, ainsi que l'utilisation de la mémoire. x affiche des informations sur les processus ``daemon'', et ww oblige ps(1) à afficher la ligne de commande complète pour chaque processus, plutôt que de la tronquer quand elle est trop longue pour tenir à l'écran.

La sortie de top(1) est semblable. Un extrait de session ressemble à ceci:

% top
last pid: 72257;  load averages:  0.13,  0.09,  0.03    up 0+13:38:33  22:39:10
47 processes:  1 running, 46 sleeping
CPU states: 12.6% user,  0.0% nice,  7.8% system,  0.0% interrupt, 79.7% idle
Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free
Swap: 256M Total, 38M Used, 217M Free, 15% Inuse

  PID USERNAME PRI NICE  SIZE    RES STATE    TIME   WCPU    CPU COMMAND
72257 nik       28   0  1960K  1044K RUN      0:00 14.86%  1.42% top
 7078 nik        2   0 15280K 10960K select   2:54  0.88%  0.88% xemacs-21.1.14
  281 nik        2   0 18636K  7112K select   5:36  0.73%  0.73% XF86_SVGA
  296 nik        2   0  3240K  1644K select   0:12  0.05%  0.05% xterm
48630 nik        2   0 29816K  9148K select   3:18  0.00%  0.00% navigator-linu
  175 root       2   0   924K   252K select   1:41  0.00%  0.00% syslogd
 7059 nik        2   0  7260K  4644K poll     1:38  0.00%  0.00% mutt
...

La sortie est divisée en deux sections. L'entête (les cinq premières lignes) donne le PID du dernier processus lancé, la charge système moyenne (qui est une mesure de l'occupation du système), la durée de fonctionnement du système (le temps écoulé depuis le dernier redémarrage), et l'heure actuelle. Les autres éléments de l'entête concernent le nombre de processus en fonctionnement (47 dans notre cas), combien d'espace mémoire et d'espace de pagination sont occupés, et combien de temps le système passe dans les différents états du CPU.

En dessous il y a une série de colonnes contenant des informations semblables à celles données par ps(1). Comme précédemment vous pouvez lire le PID, le nom d'utilisateur, la quantité de temps CPU consommée, et la commande qui a été lancée. top(1) vous affiche par défaut la quantité d'espace mémoire utilisée par chaque processus. Cela est divisé en deux colonnes, une pour la quantité totale, et une autre pour la quantité résidente--la quantité totale représente l'espace mémoire dont a eu besoin l'application, et la quantité résidente représente l'espace qui est en fait utilisé actuellement. Dans cet exemple vous pouvez voir que Netscape® a exigé presque 30 Mo de RAM, mais utilise actuellement seulement 9Mo.

top(1) actualise l'affichage toutes les deux secondes; cela peut être modifié avec l'option s.


3.8. Daemons, signaux, et comment tuer un processus

Quand vous utilisez un éditeur il est facile de le contrôler, de lui dire de charger des fichiers, et ainsi de suite. Vous pouvez faire cela parce que l'éditeur fournit les possibilités de le faire, et parce qu'un éditeur est attaché à un terminal. Certains programmes ne sont pas conçus pour fonctionner avec un dialogue constant avec l'utilisateur, et donc ils se déconnectent du terminal à la première occasion. Par exemple, un serveur web passe son temps à répondre aux requêtes web, il n'attend normalement pas d'entrée de votre part. Les programmes qui transportent le courrier électronique de site en site sont un autre exemple de cette classe d'application.

Nous appelons ces programmes des daemons (démons). Les ``daemons'' étaient des personnages de la mythologie Grecque: ni bon ni mauvais, c'étaient de petits esprits serviteurs qui, généralement, ont été à l'origine de choses utiles à l'humanité, un peu comme les serveurs web ou de messagerie d'aujourd'hui nous sont utiles. C'est pourquoi la mascotte BSD a été, pendant longtemps, un démon à l'apparence joyeuse portant des chaussures de tennis et une fourche.

Il existe une convention pour nommer les programmes qui fonctionnent normalement en tant que daemons qui est d'utiliser une terminaison en ``d''. BIND est le ``Berkeley Internet Name Domain'', mais le programme réel qui est exécuté s'appelle named); le programme correspondant au serveur web Apache est appelé httpd; le daemon de gestion de la file d'attente de l'imprimante est lpd, et ainsi de suite. C'est une convention, mais pas une obligation pure et simple; par exemple le daemon principal de gestion du courrier électronique pour l'application Sendmail est appelé sendmail, et non pas maild, comme vous pourriez l'imaginer.

Parfois vous devrez communiquer avec un processus daemon. Une manière de procéder est de lui (ou à tout processus en cours d'exécution) envoyer ce que l'on appelle un signal. Il existe un certain nombre de signaux différents que vous pouvez envoyer--certains d'entre eux ont une signification précise, d'autres sont interprétés par l'application, et la documentation de l'application vous indiquera comment l'application interprète ces signaux. Vous ne pouvez envoyer de signaux qu'aux processus dont vous êtes le propriétaire. Si vous envoyez un signal à un processus appartenant à quelqu'un d'autre avec kill(1) ou kill(2), vous obtiendrez un refus de permission. Il existe une exception à cela: l'utilisateur root, qui peut envoyer des signaux aux processus de chacun.

Dans certain cas FreeBSD enverra également aux applications des signaux. Si une application est mal écrite, et tente d'accéder à une partie de mémoire à laquelle elle n'est pas supposée avoir accès, FreeBSD envoie au processus le signal de violation de segmentation (SIGSEGV). Si une application a utilisé l'appel système alarm(3) pour être avertie dès qu'une période de temps précise est écoulée alors lui sera envoyé le signal d'alarme (SIGALRM), et ainsi de suite.

Deux signaux peuvent être utilisés pour arrêter un processus, SIGTERM et SIGKILL. SIGTERM est la manière polie de tuer un processus; le processus peut attraper le signal, réaliser que vous désirez qu'il se termine, fermer les fichiers de trace qu'il a peut-être ouvert, et généralement finir ce qu'il était en train de faire juste avant la demande d'arrêt. Dans certains cas un processus peut ignorer un SIGTERM s'il est au milieu d'une tâche qui ne peut être interrompue.

SIGKILL ne peut être ignoré par un processus. C'est le signal ``Je me fiche de ce que vous faites, arrêtez immédiatement''. Si vous envoyez un SIGKILL à un processus alors FreeBSD stoppera le processus[4].

Les autres signaux que vous pourriez avoir envie d'utiliser sont SIGHUP, SIGUSR1, et SIGUSR2. Ce sont des signaux d'usage général, et différentes applications se comporteront différemment quand ils sont envoyés.

Supposez que vous avez modifié le fichier de configuration de votre serveur web--vous voudriez dire à votre serveur web de relire son fichier de configuration. Vous pourriez arrêter et relancer httpd, mais il en résulterait une brève période d'indisponibilité de votre serveur web, ce qui peut être indésirable. La plupart des daemons sont écrits pour répondre au signal SIGHUP en relisant leur fichier de configuration. Donc au lieu de tuer et relancer httpd vous lui enverriez le signal SIGHUP. Parce qu'il n'y a pas de manière standard de répondre à ces signaux, différents daemons auront différents comportements, soyez sûr de ce que vous faites et lisez la documentation du daemon en question.

Les signaux sont envoyés en utilisant la commande kill(1), comme cet exemple le montre:

Envoyer un signal à un processus

Cet exemple montre comment envoyer un signal à inetd(8). Le fichier de configuration d'inetd est /etc/inetd.conf, et inetd relira ce fichier de configuration quand un signal SIGHUP est envoyé.

  1. Trouvez l'identifiant du processus (PID) auquel vous voulez envoyer le signal. Faites-le en employant ps(1) et grep(1). La commande grep(1) est utilisée pour rechercher dans le résultat la chaîne de caractères que vous spécifiez. Cette commande est lancée en tant qu'utilisateur normal, et inetd(8) est lancé en tant que root, donc les options ax doivent être passées à ps(1).

    % ps -ax | grep inetd
      198  ??  IWs    0:00.00 inetd -wW
    

    Donc le PID d'inetd(8) est 198. Dans certains cas la commande grep inetd pourrait aussi apparaître dans le résultat. C'est à cause de la façon dont ps(1) recherche la liste des processus en fonctionnement.

  2. Utilisez kill(1) pour envoyer le signal. Etant donné qu'inetd(8) tourne sous les droits de l'utilisateur root vous devez utilisez su(1) pour devenir, en premier lieu, root.

    % su
    Password:
    # /bin/kill -s HUP 198
    

    Comme la plupart des commandes UNIX, kill(1) n'affichera rien si la commande est couronnée de succès. Si vous envoyez un signal à un processus dont vous n'êtes pas le propriétaire alors vous verrez “kill: PID: Operation not permitted”. Si vous avez fait une erreur dans le PID, vous enverrez le signal soit à un mauvais processus, ce qui peut être mauvais, soit, si vous êtes chanceux, vous enverrez le signal à un PID qui n'est pas actuellement utilisé, et vous verrez “kill: PID: No such process”.

    Pourquoi utiliser /bin/kill? : De nombreux interpréteurs de commandes fournissent la commande kill comme commande interne; c'est à dire, que l'interpréteur de commandes enverra directement le signal, plutôt que de lancer /bin/kill. Cela peut être utile, cependant les différents interpréteurs ont une syntaxe différente pour spécifier le nom du signal à envoyer. Plutôt que de tenter de les apprendre toutes, il peut être plus simple de juste employer directement la commande /bin/kill ....

Envoyer d'autres signaux est très semblable, substituez juste TERM ou KILL dans la ligne de commande si nécessaire.

Important : Tuer au hasard des processus sur le système peut être une mauvaise idée. En particulier, init(8), processus à l'identifiant 1, qui est très particulier. Lancer la commande /bin/kill -s KILL 1 est une manière rapide d'arrêter votre système. Vérifiez toujours à deux fois les arguments que vous utilisez avec kill(1) avant d'appuyer sur Entrée.


3.9. Interpréteurs de commandes - ``Shells''

Sous FreeBSD, beaucoup du travail quotidien est effectué sous une interface en ligne de commande appelée interpréteur de commandes ou ``shell''. Le rôle principal d'un interpréteur de commandes est de prendre les commandes sur le canal d'entrée et de les exécuter. Beaucoup d'interpréteurs de commandes ont également des fonctions intégrées pour aider dans les tâches quotidiennes comme la gestion de fichiers, le mécanisme de remplacement et d'expansion des jokers (``file globbing''), l'édition de la ligne de commande, les macros commandes, et les variables d'environnement. FreeBSD est fournit avec un ensemble d'interpréteurs de commandes, comme sh, l'interpréteur de commandes Bourne, et tcsh, l'interpréteur de commandes C-shell amélioré. Beaucoup d'autres interpréteurs de commandes sont disponibles dans le catalogue des logiciels portés, comme zsh et bash.

Quel interpréteur de commandes utilisez-vous? C'est vraiment une question de goût. Si vous programmez en C vous pourriez vous sentir plus à l'aise avec un interpréteur de commandes proche du C comme tcsh. Si vous venez du monde Linux ou que vous êtes nouveau à l'interface en ligne de commande d'UNIX vous pourriez essayer bash. L'idée principale est que chaque interpréteur de commandes à des caractéristiques uniques qui peuvent ou ne peuvent pas fonctionner avec votre environnement de travail préféré, et que vous avez vraiment le choix de l'interpréteur de commandes à utiliser.

Une des caractéristiques communes des interpréteurs de commandes est de pouvoir compléter les noms de fichiers (``filename completion''). En tapant les premières lettres d'une commande ou d'un fichier, vous pouvez habituellement faire compléter automatiquement par l'interpréteur de commandes le reste de la commande ou du nom du fichier en appuyant sur la touche Tab du clavier. Voici un exemple. Supposez que vous avez deux fichiers appelés respectivement foobar et foo.bar. Vous voulez effacer foo.bar. Donc ce que vous devriez taper sur le clavier est: rm fo[Tab].[Tab].

L'interpréteur de commandes devrait afficher rm foo[BEEP].bar.

Le [BEEP] est la sonnerie de la console, c'est l'interpréteur de commande indiquant qu'il n'est pas en mesure de compléter totalement le nom du fichier parce qu'il y a plus d'une possibilité. foobar et foo.bar commencent tous les deux par fo, mais il fut capable de compléter jusqu'à foo. Si vous tapez ., puis appuyez à nouveau sur Tab, l'interpréteur de commandes devrait pouvoir compléter le reste du nom du fichier pour vous.

Une autre caractéristique de l'interpréteur de commandes est l'utilisation de variables d'environnement. Les variables d'environnement sont une paire variable/valeur stockées dans l'espace mémoire d'environnement de l'interpréteur de commandes. Cet espace peut être lu par n'importe quel programme invoqué par l'interpréteur de commandes, et contient ainsi beaucoup d'éléments de configuration des programmes. Voici une liste des variables d'environnement habituelles et ce qu'elles signifient:

Variable Description
USER Le nom d'utilisateur de la personne actuellement attachée au système.
PATH La liste des répertoires, séparés par deux points, pour la recherche des programmes.
DISPLAY Le nom réseau de l'affichage X11 auquel on peut se connecter, si disponible.
SHELL Le nom de l'interpréteur de commandes actuellement utilisé.
TERM Le nom du type de terminal de l'utilisateur. Utilisé pour déterminer les capacités du terminal.
TERMCAP L'entrée de la base de données des codes d'échappement pour permettre l'exécution de diverses fonctions du terminal.
OSTYPE Type du système d'exploitation, e.g. FreeBSD.
MACHTYPE L'architecture du CPU sur lequel tourne actuellement le système.
EDITOR L'éditeur de texte préferé de l'utilisateur.
PAGER Le visualisateur de page de texte préferré de l'utilisateur.
MANPATH La liste des répertoires, séparés par deux points, pour la recherche des pages de manuel.

Fixer une variable d'environnement diffère légèrement d'un interpréteur de commandes à l'autre. Par exemple, dans le style de l'interpréteur de commandes de type C-shell comme tcsh et csh, vous utiliseriez setenv pour fixer le contenu d'une variable d'environnement. Sous les interpréteurs de commandes Bourne comme sh et bash, vous utiliseriez export pour configurer vos variables d'environnement. Par exemple, pour fixer ou modifier la variable d'environnement EDITOR, sous csh ou tcsh une commande comme la suivante fixera EDITOR à /usr/local/bin/emacs:

% setenv EDITOR /usr/local/bin/emacs

Sous les interpréteurs de commandes Bourne:

% export EDITOR="/usr/local/bin/emacs"

Vous pouvez faire afficher à la plupart des interpréteurs de commandes la variable d'environnement en plaçant un caractère $ juste devant son nom sur la ligne de commande. Par exemple, echo $TERM affichera le contenu de $TERM, car l'interpréteur de commande complète $TERM et passe la main à echo.

Les interpréteurs de commandes traitent beaucoup de caractères spéciaux, appelés métacaractères, en tant que représentation particulière des données. Le plus commun est le caractère *, qui représente zéro ou plusieurs caractères dans le nom du fichier. Ces métacaractères spéciaux peuvent être utilisés pour compléter automatiquement le nom des fichiers. Par exemple, taper echo * est presque la même chose que taper ls parce que l'interpréteur de commandes prendra tous les fichiers qui correspondent à * et les passera à echo pour les afficher.

Pour éviter que l'interpréteur de commande n'interprète les caractères spéciaux, ils peuvent être neutralisés en ajoutant un caractère antislash (\) devant. echo $TERM affichera votre type de terminal. echo \$TERM affichera $TERM tel quel.


3.9.1. Changer d'interpréteur de commandes

La méthode la plus simple pour changer votre interpréteur de commandes est d'utiliser la commande chsh. En lançant chsh vous arriverez dans l'éditeur correspondant à votre variable d'environnement EDITOR; si elle n'est pas fixée, cela sera vi. Modifiez la ligne ``Shell:'' en conséquence.

Vous pouvez également passer le paramètre -s à chsh; cela modifiera votre interpréteur de commandes sans avoir à utiliser un éditeur. Par exemple, si vous vouliez changer votre interpréteur de commandes pour bash, ce qui suit devrait faire l'affaire:

% chsh -s /usr/local/bin/bash

Note : L'interpréteur de commandes que vous désirez utiliser doit être présent dans le fichier /etc/shells. Si vous avez installé l'interpréteur de commandes à partir du catalogue des logiciels portés, alors cela a dû déjà être fait pour vous. Si vous avez installé à la main l'interpréteur de commandes, vous devez alors le faire.

Par exemple, si vous avez installé bash à la main et l'avez placé dans /usr/local/bin, vous devrez faire:

# echo "/usr/local/bin/bash" >> /etc/shells

Puis relancer chsh.


3.10. Editeurs de texte

Beaucoup de configurations sous FreeBSD sont faites en éditant des fichiers textes. Aussi ce serait une bonne idée de se familiariser avec un éditeur de texte. FreeBSD est fourni avec quelques-uns en tant qu'éléments du système de base, et beaucoup d'autres sont disponibles dans le catalogue des logiciels portés.

L'éditeur de plus facile et le plus simple à apprendre est un éditeur appelé ee, qui signifie l'éditeur facile (easy editor). Pour lancer ee, on taperait sur la ligne de commande ee fichierfichier est le nom du fichier qui doit être édité. Par exemple, pour éditer /etc/rc.conf, tapez ee /etc/rc.conf. Une fois sous ee, toutes les commandes pour utiliser les fonctions de l'éditeur sont affichées en haut de l'écran. Le caractère ^ représente la touche Ctrl sur le clavier, donc ^e représente la combinaison de touches Ctrl+e. Pour quitter ee, appuyez sur la touche Echap, ensuite choisissez ``leave editor''. L'éditeur vous demandera s'il doit sauver les changements si le fichier a été modifié.

FreeBSD est également fourni avec des éditeurs de texte plus puissants comme vi en tant qu'élément du système de base, alors que d'autres éditeurs, comme Emacs et vim, en tant qu'élément du catalogue des logiciels portés de FreeBSD (editors/emacs et editors/vim). Ces éditeurs offrent beaucoup plus de fonctionnalités et de puissance aux dépens d'être un peu plus compliqués à apprendre. Cependant si vous projetez de faire beaucoup d'édition de texte, l'étude d'un éditeur plus puissant comme vim ou Emacs vous permettra d'économiser beaucoup plus de temps à la longue.


3.11. Périphériques et fichiers spéciaux de périphérique

Un périphérique est un terme utilisé la plupart du temps pour les activités en rapport avec le matériel présent sur le système, incluant les disques, les imprimantes, les cartes graphiques, et les claviers. Quand FreeBSD démarre, la majorité de ce qu'affiche FreeBSD est la détection des périphériques. Vous pouvez à nouveau consulter les messages de démarrage en visualisant le fichier /var/run/dmesg.boot.

Par exemple, acd0 est le premier lecteur de CDROM IDE, tandis que kbd0 représente le clavier.

La plupart de ces périphériques sous un système d'exploitation UNIX peuvent être accédés par l'intermédiaire de fichiers appelés fichiers spéciaux de périphérique (``device node''), qui sont situés dans le répertoire /dev.


3.11.1. Créer des fichiers spéciaux de périphérique

Quand vous ajoutez un nouveau périphérique à votre système, ou compilez le support pour des périphériques supplémentaires, de nouveaux fichiers spéciaux de périphérique doivent être créés.


3.11.1.1. DEVFS (``DEVice File System'' - Système de fichiers de périphérique)

Le système de fichiers de périphérique, ou DEVFS, fournit un accès à l'espace nom des périphériques du noyau dans l'espace nom du système de fichiers global. Au lieu d'avoir à créer et modifier les fichiers spéciaux de périphérique, DEVFS maintient ce système de fichiers particulier pour vous.

Voir la page de manuel de devfs(5) pour plus d'information.


3.12. Le format des fichiers binaires

Afin de comprendre pourquoi FreeBSD utilise le format elf(5), vous devez d'abord connaître quelques détails concernant les trois formats ``dominants'' d'exécutables actuellement en vigueur sous UNIX:

  • a.out(5)

    Le plus vieux et le format objet ``classique'' d'UNIX. Il utilise une entête courte et compacte avec un nombre magique au début qui est souvent utilisé pour caractériser le format (voir la page de manuel a.out(5) pour plus de détails). Il contient trois segments chargés: .text, .data, et .bss plus une table de symboles et une table de chaînes de caractères.

  • COFF

    Le format objet SVR3. L'entête comprend une table de section, de telle sorte que vous avez plus de sections qu'uniquement .text, .data et .bss.

  • elf(5)

    Le successeur de COFF, qui permet des sections multiples et des valeurs possibles de 32 bits et 64 bits. Un inconvénient majeur: ELF a aussi été conçu en supposant qu'il y aurait qu'un seul ABI par architecture système. Cette hypothèse est en fait assez incorrecte, et même dans le monde SYSV (qui a au moins trois ABIs: SVR4, Solaris, SCO) cela ne se vérifie pas.

    FreeBSD essaye de contourner ce problème en fournissant un utilitaire pour marquer un exécutable connu ELF avec des informations sur l'ABI qui va avec. Consultez la page de manuel de brandelf(1) pour plus d'informations.

FreeBSD vient du camp ``classique'' et a utilisé le format a.out(5), une technologie employée et éprouvée à travers des générations de BSDs, jusqu'aux débuts de la branche 3.X. Bien qu'il fut possible de compiler et d'exécuter des binaires natifs ELF (et noyaux) sous FreeBSD avant cela, FreeBSD a initialement résisté à la ``pression'' de passer à ELF comme format par défaut. Pourquoi? Bien, quand le camp Linux ont fait leur pénible transition vers ELF, ce n'est pas tant fuir le format a.out qui rendait difficile la construction de bibliothèques partagée pour les développeurs mais le mécanisme de bibliothèques partagées basé sur des tables de sauts inflexible. Puisque les outils ELF disponibles offraient une solution au problème des bibliothèques partagées et étaient perçus comme ``le chemin à suivre'' de toute façon, le coût de la migration a été accepté comme nécessaire, et la transition a été réalisée. Le mécanisme FreeBSD de bibliothèques partagées se rapproche plus du style de mécanisme de bibliothèques partagées de SunOS™ de Sun, et est très simple à utiliser.

Pourquoi existe-t-il tant de formats différents?

Dans un obscure et lointain passé, il y avait du matériel simple. Ce matériel simple supportait un simple petit système. a.out était complètement adapté pour représenter les binaires sur ce système simple (un PDP-11). Au fur et à mesure que des personnes portaient UNIX à partir de ce système simple, ils ont maintenus le format a.out parce qu'il était suffisant pour les premiers portages d'UNIX sur des architectures comme le Motorola 68k, les VAX, etc.

Alors un certain ingénieur matériel brillant a décidé qu'il pourrait forcer le matériel à faire des choses bizarre, l'autorisant ainsi à réduire le nombre de portes logiques et permettant au coeur du CPU de fonctionner plus rapidement. Bien qu'on l'a fait fonctionner avec ce nouveau type de matériel (connu de nos jour sous le nom de RISC), a.out n'était pas adapté à ce matériel, aussi beaucoup de formats ont été développés pour obtenir de meilleures performances de ce matériel que ce que pouvait offrir le simple et limité format qu'était a.out. Des choses comme COFF, ECOFF, et quelques autres obscures formats ont été inventé et leur limites explorées avant que les choses ne se fixent sur ELF.

En outre, les tailles des programmes devenaient énormes alors que les disques (et la mémoire physique) étaient toujours relativement petits, aussi le concept de bibliothèque partagée est né. Le système de VM (mémoire virtuelle) est également devenu plus sophistiqué. Tandis que chacune de ces avancées était faites en utilisant le format a.out, son utilité a été élargie de plus en plus avec chaque nouvelle fonction. De plus les gens ont voulu charger dynamiquement des choses à l'exécution, ou se débarrasser de partie de leur programme après l'initialisation pour économiser de l'espace mémoire et de pagination. Les langages sont devenus plus sophistiqués et les gens ont voulu du code appelé automatiquement avant la partie principale du programme. Beaucoup de modifications ont été apportées au format a.out pour rendre possible toutes ces choses, et cela a fonctionné pendant un certain temps. Avec le temps, a.out n'était plus capable de gérer tous ces problèmes sans une augmentation toujours croissante du code et de sa complexité. Tandis ELF résolvait plusieurs de ces problèmes, il aurait été pénible de quitter un système qui a fonctionné. Ainsi ELF a dû attendre jusqu'au moment où il était plus pénible de rester avec a.out que d'émigrer vers ELF.

Cependant, avec le temps, les outils de compilation desquels ceux de FreeBSD sont dérivés (l'assembleur et le chargeur tout spécialement) ont évolué en parallèle. Les développeurs FreeBSD ajoutèrent les bibliothèques partagées et corrigèrent quelques bogues. Les gens de chez GNU qui ont à l'origine écrit ces programmes, les récrivirent et ajoutèrent un support plus simple pour la compilation multi-plateformes, avec différents formats à volonté, et ainsi de suite. Lorsque beaucoup de personnes ont voulu élaborer des compilateurs multi-plateformes pour FreeBSD, elles n'eurent pas beaucoup de chance puisque les anciennes sources que FreeBSD avait pour as et ld n'étaient pas adaptées à cette tâche. Le nouvel ensemble d'outils de GNU (binutils) supporte la compilation multi-plateformes, ELF, les bibliothèques partagées, les extensions C++, etc. De plus, de nombreux vendeurs de logiciels fournissent des binaires ELF, et c'est une bonne chose pour permettre leur exécution sous FreeBSD.

ELF est plus expressif qu'a.out et permet plus d'extensibilité dans le système de base. Les outils ELF sont mieux maintenus, et offrent un support pour la compilation multi-plateformes, ce qui est important pour de nombreuses personnes. ELF peut être légèrement plus lent qu'a.out, mais tenter de mesurer cette différence n'est pas aisé. Il y a également de nombreux détails qui diffèrent entre les deux dans la façon dont ils mappent les pages mémoire, gère le code d'initialisation, etc. Dans le futur, le support a.out sera retiré du noyau GENERIC, et par la suite retiré des sources du noyau une fois que le besoin d'exécuter d'anciens programmes a.out aura disparu.


3.13. Pour plus d'information

3.13.1. Les pages de manuel

La documentation la plus complète sur FreeBSD est sous la forme de pages de manuel. Presque chaque programme sur le système est fournit avec un court manuel de référence expliquant l'utilisation de base et les diverses options. Ces manuels peuvent être visualisés avec la commande man. L'utilisation de la commande man est simple:

% man command

command est le nom de la commande à propos de laquelle vous désirez en savoir plus. Par exemple, pour en savoir plus au sujet de la commande ls tapez:

% man ls

Les manuels en ligne sont divisés en sections numérotées:

  1. Commandes utilisateur.

  2. Appels système et numéros d'erreur.

  3. Fonctions des bibliothèques C.

  4. Pilotes de périphérique.

  5. Formats de fichier.

  6. Jeux et autres divertissements.

  7. Information diverse.

  8. Commandes de maintenance et d'utilisation du système.

  9. Information de développement du noyau.

Dans certains cas, le même sujet peut apparaître dans plus d'une section du manuel en ligne. Par exemple, il existe une commande utilisateur chmod et un appel système chmod(). Dans ce cas, vous pouvez préciser à la commande man laquelle vous désirez en spécifiant la section:

% man 1 chmod

Cela affichera la page de manuel de la commande utilisateur chmod. Les références à une section particulière du manuel en ligne sont traditionnellement placées entre parenthèses, ainsi chmod(1) se rapporte à la commande utilisateur chmod et chmod(2) se rapporte à l'appel système.

C'est parfait si vous connaissez le nom de la commande et vous souhaitez simplement savoir comment l'utiliser, mais qu'en est-il si vous ne pouvez pas vous rappelez du nom de la commande? Vous pouvez utiliser man pour rechercher des mots-clés dans les descriptions de commandes en employant l'option -k:

% man -k mail

Avec cette commande on vous affichera la liste des commandes qui ont le mot-clé ``mail'' dans leurs descriptions. C'est en fait équivalent à l'utilisation de la commande apropos.

Ainsi, vous regardez toutes ces commandes fantaisistes contenues dans /usr/bin mais vous n'avez pas la moindre idée de ce quelles font vraiment? Faites simplement:

% cd /usr/bin
% man -f *

ou

% cd /usr/bin
% whatis *

ce qui fait la même chose.


3.13.2. Fichiers GNU Info

FreeBSD inclut beaucoup d'applications et d'utilitaires produit par la Fondation pour le Logiciel Libre ( Free Software Foundation). En plus des pages de manuel, ces programmes sont fournis avec des documents hypertexte appelés fichiers info qui peuvent être lus avec la commande info ou, si vous avez installé emacs, dans le mode info d'emacs.

Pour utiliser la commande info(1), tapez simplement:

% info

Pour une brève introduction, tapez h. Pour une référence rapide sur la commande, tapez ?.


Chapitre 4. Installer des applications: les logiciels pré-compilés et les logiciels portés

Version française de Marc Fonvieille .


4.1. Synopsis

FreeBSD est livré avec une riche collection d'outils en tant que partie du système de base. Beaucoup de choses peuvent être faites avant d'avoir besoin de recourir à l'installation d'une application tiers pour effectuer un travail précis. FreeBSD fournit deux technologies complémentaires pour installer des logiciels tiers sur votre système: le Catalogue des logiciels portés de FreeBSD (pour une installation à partir des sources), et les logiciels pré-compilés ou “paquetages” (pour installer des binaires pré-compilés). N'importe laquelle de ces deux méthodes peut être utilisée pour installer les nouvelles versions de vos applications favorites à partir d'un support local ou directement depuis le réseau.

Après la lecture de ce chapitre, vous saurez:

  • Comment installer des logiciels tiers pré-compilés.

  • Comment compiler des logiciels tiers à partir des sources en utilisant le catalogue de logiciels portés.

  • Comment effacer les logiciels pré-compilés ou portés précédemment installés.

  • Comment modifier les paramètres par défaut utilisés par le catalogue des logiciels portés.

  • Comment trouver l'application recherchée.

  • Comment mettre à jour vos applications.


4.2. Généralités sur l'installation de logiciels

Si vous avez utilisé auparavant un système UNIX vous saurez que la procédure typique pour installer les logiciels tiers ressemble à ceci:

  1. Télécharger le logiciel, qui peut être distribué sous forme de code source, ou sous forme d'un binaire.

  2. Extraire le logiciel de son format de distribution (généralement une archive tar compressée soit avec compress(1), soit avec gzip(1), ou encore bzip2(1)).

  3. Recherchez la documentation (peut être un fichier INSTALL ou README, ou des fichiers dans un sous répertoire doc/) et lisez les informations sur comment installer le logiciel.

  4. Si le logiciel était distribué sous forme de sources, compilez-le. Cela peut impliquer l'édition d'un Makefile, ou l'exécution d'une procédure configure, et d'autres activités.

  5. Tester et installer le logiciel.

Et cela si seulement tout se passe bien. Si vous installez un logiciel qui n'a pas été spécialement porté pour FreeBSD, il se peut que vous deviez éditer le code source pour le faire fonctionner correctement.

Si vous le voulez, vous pouvez continuer d'installer des logiciels suivant la méthode ``traditionnelle'' sous FreeBSD. Cependant, FreeBSD fournit deux technologies avec lesquelles vous pouvez vous économiser beaucoup d'efforts: les logiciels pré-compilés et le catalogue des logiciels portés. A l'heure de l'écriture de ces lignes, plus de 20,000 applications tierces sont ainsi mises à disposition.

Pour n'importe quelle application donnée, le logiciel pré-compilé FreeBSD pour cette application est un unique fichier à télécharger. Il contient les copies pré-compilées de toutes les commandes de l'application, ainsi que tous fichiers de configuration et documentation. Un logiciel pré-compilé téléchargé peut être manipulé avec les commandes FreeBSD de gestion des logiciels pré-compilés, comme pkg_add(1), pkg_delete(1), pkg_info(1), et ainsi de suite. L'installation d'une nouvelle application peut être effectuée grâce à une unique commande.

Un logiciel porté pour FreeBSD est un ensemble de fichiers conçus pour automatiser le processus de compilation d'une application à partir du code source.

Rappelez-vous qu'il y a un certain nombre d'étapes que vous effectueriez si vous compiliez un programme vous-même (téléchargement, extraction, application de correctifs, compilation, installation). Les fichiers qui composent un logiciel porté contiennent toute l'information nécessaire pour permettre au système de faire cela pour vous. Vous lancez une poignée de commandes simples et le code source de l'application est automatiquement téléchargé, extrait, corrigé, compilé, et installé pour vous.

En fait, le catalogue des logiciels portés peut être utilisé pour générer ce qui pourra plus tard être manipulé avec pkg_add et d'autres commandes de gestion des logiciels pré-compilés qui seront présentés sous peu.

Les logiciels pré-compilés et le catalogue des logiciels portés comprennent la notion de dépendances. Supposez que vous voulez installer une application qui dépend de l'installation d'une bibliothèque particulière. L'application et la bibliothèque ont été toutes deux rendues disponibles sous forme de logiciel porté pour FreeBSD ou de logiciel pré-compilé. Si vous utilisez la commande pkg_add ou le catalogue des logiciels portés pour ajouter l'application, tous les deux remarqueront que la bibliothèque n'a pas été installée, et installeront automatiquement en premier la bibliothèque.

Etant donné que les deux technologies sont presque semblables, vous pourriez vous demander pourquoi FreeBSD s'ennuie avec les deux. Les logiciels pré-compilés et le catalogue de logiciels portés ont chacun leurs propres forces, et celle que vous emploierez dépendra de votre préférence.

Avantages des logiciels pré-compilés

  • L'archive compressée d'un logiciel pré-compilé est généralement plus petite que l'archive compressée contenant le code source de l'application.

  • Les logiciels pré-compilés ne nécessitent pas de compilation supplémentaire. Pour les grosses applications, comme Mozilla, KDE, ou GNOME cela peut s'avérer important, particulièrement si vous êtes sur un système lent.

  • Les logiciels pré-compilés ne demandent pas une compréhension du processus impliqué dans la compilation de logiciels sous FreeBSD.

Avantages du catalogue des logiciels portés

  • Les logiciels pré-compilés sont normalement compilés avec des options conservatrices, parce qu'ils doivent pouvoir tourner sur le plus grand nombre de systèmes. En installant à partir du catalogue des logiciels portés, vous pouvez ajuster les options de compilation pour (par exemple) générer du code spécifique au Pentium 4 ou à l'Athlon.

  • Certaines applications ont des options de compilation concernant ce qu'elles peuvent faire et ne pas faire. Par exemple, Apache peut être configuré avec une très large variété d'options intégrées différentes. En compilant à partir du catalogue des logiciels portés vous n'avez pas à accepter les options par défaut, et vous pouvez les configurez vous-même.

    Dans certains cas, de multiples logiciels pré-compilés existeront pour la même application pour spécifier certaines configurations. Par exemple, Ghostscript est disponible comme logiciel pré-compilé ghostscript et ghostscript-nox11 , en fonction de si vous avez installé ou non un serveur X11. Ce type d'arrangement est possible avec les logiciels pré-compilés, mais devient rapidement impossible si une application a plus d'une ou deux options de compilation.

  • Les licences de certains logiciels interdisent les distributions binaires. Ils doivent être distribués sous forme de code source.

  • Certaines personnes ne font pas confiance aux distributions binaires. Au moins avec le code source, vous pouvez (en théorie) le parcourir et chercher les problèmes potentiels par vous-même.

  • Si vous avez des correctifs locaux, vous aurez besoin du code source afin de les appliquer.

  • Certaines personnes aiment avoir le code source à portée de main, ainsi elles peuvent le lire si elles s'ennuient, le modifier, y faire des emprunts (si la licence le permet bien sûr), etc...

Pour suivre les mises à jour du catalogue des logiciels portés, inscrivez-vous à la liste de diffusion à propos du catalogue des logiciels portés de FreeBSD et la liste de diffusion à propos des rapports de bogue concernant le catalogue des logiciels portés de FreeBSD.

Avertissement : Avant d'installer une application, vous devriez consulter http://vuxml.freebsd.org/ à la recherche de problème de sécurité concernant votre application.

Vous pouvez également installer ports-mgmt/portaudit qui contrôlera automatiquement toutes les applications installées à la recherche de vulnérabilités connues, un contrôle sera également effectué avant toute compilation de logiciel porté. De même, vous pouvez utiliser la commande portaudit -F -a après avoir installé des logiciels pré-compilés.

Le reste de ce chapitre expliquera comment utiliser les logiciels pré-compilés et le catalogue des logiciels portés et la gestion des logiciels tiers sous FreeBSD.


4.3. Trouver votre application

Avant que vous puissiez installer des applications vous devez savoir ce que vous voulez, et comment se nomment les applications.

La liste des applications disponibles pour FreeBSD augmente de jours en jours. Heureusement, il y a plusieurs façons de trouver ce que vous désirez:

  • Le site web de FreeBSD maintient à jour une liste, dans laquelle on peut effectuer des recherches, de toutes les applications disponibles à l'adresse http://www.FreeBSD.org/ports/. Le catalogue des logiciels portés est divisé en catégories, et vous pouvez soit chercher une application par son nom (si vous le connaissez), soit lister toutes les applications disponibles dans une catégorie.

  • Dan Langille maintient FreshPorts, à l'adresse http://www.FreshPorts.org/. FreshPorts suit les modifications des applications dans le catalogue des logiciels portés, vous permet de ``surveiller'' un ou plusieurs logiciels portés, et peut vous envoyer un courrier électronique quand ils sont mis à jour.

  • Si vous ne connaissez pas le nom de l'application que vous voulez, essayez d'utiliser un site comme FreshMeat (http://www.freshmeat.net/) pour trouver une application, ensuite vérifiez sur le site de FreeBSD si l'application a déjà été portée.

  • Si vous connaissez le nom exact du logiciel, vous devez juste déterminer dans quelle catégorie il se trouve, vous pouvez utiliser la commande whereis(1) pour cela. Tapez simplement whereis filefile est le programme que vous voulez installer. S'il est trouvé sur le système, on vous indiquera où il se trouve, de la manière suivante:

    # whereis lsof
    lsof: /usr/ports/sysutils/lsof
    

    Cela nous indique que lsof (un utilitaire système) peut être trouvé dans le répertoire /usr/ports/sysutils/lsof.

  • Vous pouvez également utiliser une simple commande echo(1) pour déterminer où se trouve un logiciel porté dans le catalogue de logiciels portés. Par exemple:

    # echo /usr/ports/*/*lsof*
    /usr/ports/sysutils/lsof
    

    Notez que cette commande retournera tout fichier téléchargé du répertoire /usr/ports/distfiles correspondant à ce motif de recherche.

  • Encore une autre façon de trouver un logiciel porté particulier est d'utiliser le mécanisme de recherche interne du catalogue des logiciels portés. Pour utiliser la fonction de recherche, vous devrez vous trouver dans le répertoire /usr/ports. Une fois dans ce répertoire, lancez make search name=program-nameprogram-name représente le nom du programme que vous voulez localiser. Par exemple, si vous recherchiez lsof:

    # cd /usr/ports
    # make search name=lsof
    Port:   lsof-4.56.4
    Path:   /usr/ports/sysutils/lsof
    Info:   Lists information about open files (similar to fstat(1))
    Maint:  obrien@FreeBSD.org
    Index:  sysutils
    B-deps:
    R-deps:
    

    La partie du message de sortie à laquelle vous devez prêter attention est la ligne ``Path:'', car cela vous indique où trouver le logiciel porté. Les autres informations ne sont pas nécessaires afin d'installer le logiciel porté, aussi on en parlera pas ici.

    Pour une recherche plus en profondeur vous pouvez également utiliser make search key=stringstring est le texte à rechercher. Cela recherche les noms de logiciels portés, les commentaires, les descriptions et les dépendances et peut être utilisé pour trouver des logiciels portés se rapportant à un sujet particulier si vous ne connaissez pas le nom du programme que vous cherchez.

    Dans les deux cas, la chaîne de caractère de recherche n'est pas sensible à la casse des caractères. Rechercher ``LSOF'' mènera aux même résultats que la recherche de ``lsof''.


4.4. Utiliser le système des logiciels pré-compilés

Contribution de Chern Lee.

Il existe plusieurs outils utilisés pour la gestion des logiciels pré-compilés sur FreeBSD

  • L'utilitaire sysinstall peut être invoqué à partir d'un système en fonctionnement pour installer, supprimer et afficher les logiciels disponibles et installés. Pour plus d'information, consultez la Section 2.10.11.

  • Les outils de gestion en ligne de commande des logiciels pré-compilés, qui sont le sujet de la suite de cette section.


4.4.1. Installation d'un logiciel pré-compilé

Vous pouvez utiliser l'utilitaire pkg_add(1) pour installer un logiciel pré-compilé FreeBSD à partir d'un fichier local ou d'un serveur sur le réseau.

Exemple 4-1. Télécharger un logiciel pré-compilé à la main puis l'installer localement

# ftp -a ftp2.FreeBSD.org
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230-     This machine is in Vienna, VA, USA, hosted by Verio.
230-         Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /pub/FreeBSD/ports/packages/sysutils/
250 CWD command successful.
ftp> get lsof-4.56.4.tgz
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************| 92375       00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
ftp> exit
# pkg_add lsof-4.56.4.tgz

Si vous ne disposez pas d'une source locale de logiciels pré-compilés (comme l'ensemble de CDROM de FreeBSD) alors il sera probablement plus facile d'utiliser l'option -r de pkg_add(1). Cela fera déterminer automatiquement à l'utilitaire le format objet et la version corrects et ensuite récupérer et installer le logiciel pré-compilé à partir d'un site FTP.

# pkg_add -r lsof

L'exemple ci-dessus téléchargera le logiciel pré-compilé correct sans plus d'intervention de l'utilisateur. Si vous désirez indiquer un autre miroir FreeBSD pour les logiciels pré-compilés à la place du site de distribution principal, vous devez positionner en conséquence la variable d'environnement PACKAGESITE, pour remplacer les paramètres par défaut. pkg_add(1) utilise fetch(3) pour télécharger les fichiers, qui respecte diverses variables d'environnement, dont FTP_PASSIVE_MODE, FTP_PROXY, et FTP_PASSWORD. Il se peut que vous ayez besoin de configurer une ou plusieurs de ces dernières si vous êtes derrière un coupe-feu, ou devez utiliser un proxy FTP/HTTP. Consultez la page de manuel fetch(3) pour la liste complète des variables. Vous pouvez également remarquer que dans l'exemple ci-dessus lsof est utilisé au lieu de lsof-4.56.4. Quand la fonction de récupération à distance est utilisée, le numéro de version doit être retiré. pkg_add(1) téléchargera automatiquement la toute dernière version de l'application.

Note : pkg_add(1) téléchargera la dernière version de votre application si vous êtes sous FreeBSD-CURRENT ou FreeBSD-STABLE. Si vous utilisez une version -RELEASE, il récupérera la version compilée avec votre version lors de sa publication. Il est possible de modifier ce comportement en surchargeant la variable d'environnement PACKAGESITE. Par exemple, si vous utilisez un système FreeBSD 8.1-RELEASE, par défaut pkg_add(1) tentera de récupérer les applications pré-compilées à partir de ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/. Si vous désirez forcer pkg_add(1) à télécharger les versions des logiciels pré-compilés pour FreeBSD 8-STABLE, positionnez la variable PACKAGESITE à ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/.

Les logiciels pré-compilés sont distribués dans les formats .tgz et .tbz. Vous pouvez les trouver sur ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/, ou sur le CDROM de distribution de FreeBSD. Chaque CD de l'ensemble de 4-CD de FreeBSD (et le PowerPak, etc...) contient des logiciels pré-compilés dans le répertoire /packages. L'organisation des logiciels pré-compilés est semblable à celle de l'arborescence /usr/ports. Chaque catégorie possède son propre répertoire, et chaque logiciel pré-compilé peut être trouvé dans le répertoire All.

La structure de répertoires du système de logiciels pré-compilés correspond à celle du catalogue des logiciels portés; ils travaillent ensemble pour former l'intégralité du système de logiciels pré-compilés/portés.


4.4.2. Gestion des logiciels pré-compilés

pkg_info(1) est un utilitaire qui liste et décrit les divers logiciels pré-compilés installés.

# pkg_info
cvsup-16.1          A general network file distribution system optimized for CV
docbook-1.2         Meta-port for the different versions of the DocBook DTD
...

pkg_version(1) est un utilitaire qui récapitule les versions de tous les logiciels pré-compilés installés. Il compare la version du logiciel pré-compilé avec la version actuelle trouvée dans le catalogue des logiciels portés.

# pkg_version
cvsup                       =
docbook                     =
...

Les symboles dans la seconde colonne indiquent l'âge relatif de la version installée et de la version disponible dans le catalogue des logiciels portés local.

Symbole Signification
= La version du logiciel pré-compilé installée est équivalente à celle de celui trouvé dans le catalogue des logiciels portés local.
< La version installée est plus ancienne que celle disponible dans le catalogue des logiciels portés.
> La version installée est plus récente que celle trouvée dans le catalogue local des logiciels portés. (le catalogue local des logiciels portés est probablement ancien)
? Le logiciel pré-compilé ne peut être trouvé dans l'index du catalogue des logiciels portés. (Cela peut se produire quand, par exemple, un logiciel installé est supprimé du catalogue des logiciels portés ou renommé.)
* Il y a de multiples versions de ce logiciel pré-compilé.
! Le logiciel installé existe dans l'index mais pour une raison inconnue, pkg_version a été incapable de comparer le numéro de version du paquetage installé avec l'entrée correspondante dans l'index.

4.4.3. Effacer un logiciel pré-compilé

Pour désinstaller un logiciel pré-compilé précédemment installé, utilisez l'utilitaire pkg_delete(1).

# pkg_delete xchat-1.7.1

Notez que pkg_delete