Manuel FreeBSD

Groupe de Documentation FreeBSD

Version: 45102

Copyright

Redistribution and use in source (XML DocBook) and 'compiled' forms (XML, HTML, PDF, PostScript, RTF and so forth) with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code (XML DocBook) must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified.

  2. Redistributions in compiled form (transformed to other DTDs, converted to PDF, PostScript, RTF and other formats) must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

Important:

THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD DOCUMENTATION PROJECT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD DOCUMENTATION PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

FreeBSD is a registered trademark of the FreeBSD Foundation.

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

3ware is a registered trademark of 3ware Inc.

ARM is a registered trademark of ARM Limited.

Adaptec is a registered trademark of Adaptec, Inc.

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

Apple, AirPort, FireWire, iMac, iPhone, iPad, Mac, Macintosh, Mac OS, Quicktime, and TrueType are trademarks of Apple Inc., registered in the U.S. and 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, 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, Centrino, Core, 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.

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.

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.

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.

Sun, Sun Microsystems, Java, Java Virtual Machine, JDK, JRE, JSP, JVM, Netra, OpenJDK, Solaris, StarOffice, SunOS and VirtualBox are trademarks or registered trademarks of Sun Microsystems, Inc. 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.

2014-06-22 par blackend.
Résumé

Bienvenue à FreeBSD! Ce manuel décrit l'installation et l'utilisation quotidienne de FreeBSD 8.4-RELEASE, FreeBSD 9.3-RELEASE et FreeBSD 10.0-RELEASE. Ce manuel est en constante évolution et 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 site Web de 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.

[ Multiples pages HTML / Page HTML unique ]

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. Installer FreeBSD 9.X et versions suivantes
3.1. Synopsis
3.2. Matériel nécessaire
3.3. Tâches de pré-installation
3.4. Lancer l'installation
3.5. Présentation de bsdinstall
3.6. Installation à partir du réseau
3.7. Allouer l'espace disque
3.8. Procéder à l'installation
3.9. Post-Installation
3.10. Dépannage
3.11. Utilisation du CD Live
4. Quelques bases d'UNIX
4.1. Synopsis
4.2. Consoles virtuelles & terminaux
4.3. Permissions
4.4. Organisation de l'arborescence des répertoires
4.5. Organisation des disques
4.6. Monter et démonter des systèmes de fichiers
4.7. Processus
4.8. Daemons, signaux, et comment tuer un processus
4.9. Interpréteurs de commandes - “Shells”
4.10. Editeurs de texte
4.11. Périphériques et fichiers spéciaux de périphérique
4.12. Le format des fichiers binaires
4.13. Pour plus d'information
5. Installer des applications: les logiciels pré-compilés et les logiciels portés
5.1. Synopsis
5.2. Généralités sur l'installation de logiciels
5.3. Trouver votre application
5.4. Utiliser le système des logiciels pré-compilés
5.5. Utiliser le catalogue des logiciels portés
5.6. Activités de post-installation
5.7. Que faire avec les logiciels portés ne fonctionnant pas?
6. Le système X Window
6.1. Synopsis
6.2. Comprendre X
6.3. Installer X11
6.4. Configuration d'X11
6.5. Utilisation des polices de caractères sous X11
6.6. Le gestionnaire de procédures de connexions graphiques - “X Display Manager”
6.7. Environnements de travail
II. Tâches courantes
7. Bureautique
7.1. Synopsis
7.2. Navigateurs
7.3. Productivité
7.4. Lecteurs de document
7.5. Finance
7.6. Résumé
8. Multimédia
8.1. Synopsis
8.2. Configurer une carte son
8.3. Fichiers MP3
8.4. Lecture des Vidéos
8.5. Configuration des cartes TV
8.6. Scanners
9. Configurer le noyau de FreeBSD
9.1. Synopsis
9.2. Pourquoi compiler un noyau sur mesure?
9.3. Compiler et installer un noyau sur mesure
9.4. Le fichier de configuration
9.5. Si quelque chose se passe mal
10. Imprimer
10.1. Synopsis
10.2. Introduction
10.3. Configuration de base
10.4. Configuration avancée de l'imprimante
10.5. Using Printers ** Traduction en Cours **
10.6. Alternatives to the Standard Spooler ** Traduction en Cours **
10.7. Troubleshooting ** Traduction en Cours **
11. Compatibilité binaire avec Linux
11.1. Synopsis
11.2. Installation
11.3. Installer Mathematica®
11.4. Installer Maple
11.5. Installer MATLAB®
11.6. Installer Oracle®
11.7. Installer SAP® R/3®
11.8. Sujets avancés
III. Administration Système
12. Configuration et optimisation
12.1. Synopsis
12.2. Configuration initiale
12.3. Configuration principale
12.4. Configuration des applications
12.5. Démarrer des services
12.6. Configuration de l'utilitaire cron
12.7. Utilisation du système rc sous FreeBSD
12.8. Configuration des cartes réseaux
12.9. Hôtes virtuels
12.10. Fichiers de configuration
12.11. Optimisation avec sysctl
12.12. Optimiser les disques
12.13. Optimisation des limitations du noyau
12.14. Ajouter de l'espace de pagination
12.15. Gestion de l'énergie et des ressources
12.16. Utiliser et déboguer l'ACPI sous FreeBSD
13. Processus de démarrage de FreeBSD
13.1. Synopsis
13.2. Le problème du démarrage
13.3. Le gestionnaire de démarrage et les étapes de démarrage
13.4. Interaction avec le noyau au démarrage
13.5. “Device Hints”—Paramétrage des périphériques
13.6. Init: Initialisation de la gestion des processus
13.7. Séquence d'arrêt du système
14. Gestion des comptes et des utilisateurs
14.1. Synopsis
14.2. Introduction
14.3. Le compte super-utilisateur
14.4. Comptes système
14.5. Comptes utilisateur
14.6. Modifier des comptes
14.7. Mettre en place des restrictions pour les utilisateurs
14.8. Groupes
15. Sécurité
15.1. Synopsis
15.2. Introduction
15.3. Securing FreeBSD ** Traduction en Cours **
15.4. DES, MD5, et chiffrement
15.5. Mots de passe non réutilisables
15.6. L'encapsuleur TCP (« TCP Wrappers »)
15.7. Kerberos
15.8. Kerberos5 ** Traduction en Cours **
15.9. OpenSSL
15.10. IPsec
15.11. OpenSSH
15.12. Listes de contrôle d'accès au système de fichiers
15.13. Surveillance des problèmes de sécurité relatifs aux programmes tierce-partie
15.14. Avis de sécurité de FreeBSD
15.15. Comptabilité des processus
16. Environnements jail
16.1. Synopsis
16.2. Termes relatifs aux environnements jail
16.3. Introduction
16.4. Création et contrôle de l'environnement jail
16.5. Optimisation et administration
17. Mandatory Access Control ** Traduction en Cours **
17.1. Synopsis
17.2. Key Terms in this Chapter
17.3. Explanation of MAC
17.4. Understanding MAC Labels
17.5. Module Configuration
17.6. The MAC bsdextended Module
17.7. The MAC ifoff Module
17.8. The MAC portacl Module
17.9. MAC Policies with Labeling Features
17.10. The MAC partition Module
17.11. The MAC Multi-Level Security Module
17.12. The MAC Biba Module
17.13. The MAC LOMAC Module
17.14. Implementing a Secure Environment with MAC
17.15. Another Example: Using MAC to Constrain a Web Server
17.16. Troubleshooting the MAC Framework
18. Audit des événements relatifs à la sécurité du système
18.1. Synopsis
18.2. Mots-clés utilisés dans ce chapitre
18.3. Installation du support pour les audits
18.4. Configuration de l'audit
18.5. Administration du système d'audit
19. Stockage des données
19.1. Synopsis
19.2. Noms des périphériques
19.3. Ajouter des disques
19.4. RAID
19.5. Périphériques de stockage USB
19.6. Création et utilisation de supports optiques (CDs)
19.7. Création et utilisation de supports optiques (DVDs)
19.8. Création et utilisation de disquettes
19.9. Créer et utiliser les bandes magnétiques
19.10. Sauvegardes sur disquettes
19.11. Stratégies de sauvegarde
19.12. Sauvegardes
19.13. Systèmes de fichiers réseaux, en mémoire et sauvegardés sur fichier
19.14. Instantané (“Snapshot”) d'un système de fichiers
19.15. Quotas d'utilisation des disques
19.16. Chiffrer les partitions d'un disque
19.17. Chiffrage de l'espace de pagination
20. GEOM: architecture modulaire de gestion des disques
20.1. Synopsis
20.2. Introduction à GEOM
20.3. RAID0 - « Striping »
20.4. RAID1 - « mirroring »
20.5. Périphériques réseau « GEOM Gate »
20.6. Ajouter un label à un disque
21. Le gestionnaire de volume Vinum
21.1. Synopsis
21.2. Les disques sont trop petits
21.3. Les goulots d'étranglement d'accès aux données
21.4. Intégrité des données
21.5. Objets Vinum
21.6. Quelques exemples
21.7. Appellation des objets
21.8. Configuration de Vinum
22. Virtualisation
22.1. Synopsis
22.2. FreeBSD comme système d'exploitation invité
22.3. FreeBSD comme système d'exploitation hôte
23. Localisation - Utilisation et configuration de l'I18N/L10N
23.1. Synopsis
23.2. Les bases
23.3. Utiliser la localisation
23.4. Compiler des programmes I18N
23.5. Localiser FreeBSD pour des langues spécifiques
24. Mise à jour de FreeBSD
24.1. Synopsis
24.2. Mise à jour de FreeBSD
24.3. Portsnap: un outil de mise à jour du catalogue des logiciels portés
24.4. Suivre une branche de développement
24.5. Synchroniser vos sources
24.6. Recompiler le système
24.7. Suivre les mises à jour pour plusieurs machines
25. DTrace
25.1. Synopsis
25.2. Des différences de mise en oeuvre
25.3. Activer la prise en charge de DTrace
25.4. Utiliser DTrace
25.5. Le langage D
IV. Réseau
26. Serial Communications ** Traduction en Cours **
26.1. Synopsis
26.2. Introduction
26.3. Terminals
26.4. Dial-in Service
26.5. Dial-out Service
26.6. Setting Up the Serial Console
27. PPP et SLIP
27.1. Synopsis
27.2. Using User PPP ** Traduction en Cours **
27.3. Utiliser PPP intégré au noyau
27.4. Utiliser PPP sur Ethernet (PPPoE)
27.5. Utiliser PPP sur ATM (PPPoA)
27.6. Utiliser SLIP
28. Courrier électronique
28.1. Synopsis
28.2. Utilisation du courrier électronique
28.3. Configuration de sendmail
28.4. Changer votre agent de transfert de courrier
28.5. Dépannage
28.6. Sujets avancés
28.7. SMTP avec UUCP
28.8. Configuration pour l'envoi seul
28.9. Utiliser le courrier électronique avec une connexion temporaire
28.10. Authentification SMTP
28.11. Clients de messagerie
28.12. Utiliser fetchmail
28.13. Utiliser procmail
29. Serveurs réseau
29.1. Synopsis
29.2. Le “super-serveur” inetd
29.3. Système de fichiers réseau (NFS)
29.4. Services d'information réseau (NIS/YP)
29.5. Configuration réseau automatique (DHCP)
29.6. Serveurs de noms (DNS)
29.7. Serveur HTTP Apache
29.8. Protocole de transfert de fichiers (FTP)
29.9. Serveur de fichiers et d'impression pour clients Microsoft® Windows® (Samba)
29.10. Synchronisation de l'horloge avec NTP
30. Firewalls ** Traduction en Cours **
30.1. Introduction
30.2. Firewall Concepts
30.3. Firewall Packages
30.4. The OpenBSD Packet Filter (PF) and ALTQ
30.5. The IPFILTER (IPF) Firewall
30.6. IPFW
31. Administration réseau avancée
31.1. Synopsis
31.2. Passerelles et routes
31.3. Réseau sans fil
31.4. Bluetooth
31.5. Bridging
31.6. Système sans disque dur
31.7. ISDN
31.8. Translation d'adresses
31.9. IP sur liaison parallèle (PLIP)
31.10. IPv6
31.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
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
3.1. Menu du chargeur FreeBSD
3.2. Résultats typiques de la détection du matériel
3.3. Sélection du mode d'utilisation du support d'installation
3.4. Changement de la table de clavier
3.5. Menu de sélection de la table de clavier
3.6. Configuration du nom de machine
3.7. Sélection des composants à installer
3.8. Installation à partir du réseau
3.9. Sélection d'un miroir
3.10. Sélection du partitionnement guidé ou manuel
3.11. Sélection parmi plusieurs disques
3.12. Sélection de l'intégralité du disque ou d'une partition
3.13. Vérification des partitions créés
3.14. Créer manuellement les partitions
3.15. Créer manuellement les partitions
3.16. Créer manuellement les partitions
3.17. Confirmation finale
3.18. Récupération des fichiers de distribution
3.19. Vérification des fichiers de distribution
3.20. Décompression des fichiers de distribution
3.21. Saisie du mot de passe root
3.22. Choix d'une interface réseau
3.23. Recherche des points d'accès sans-fil
3.24. Sélection d'un réseau sans-fil
3.25. Configuration WPA2
3.26. Sélection d'un fonctionnement réseau en IPv4
3.27. Sélection de la configuration IPv4 avec DHCP
3.28. Configuration IPv4 en statique
3.29. Sélection d'un réseau IPv6
3.30. Sélection de la configuration IPv6 SLAAC
3.31. Configuration IPv6 en statique
3.32. Configuration du DNS
3.33. Sélection d'une horloge locale ou UTC
3.34. Sélectionner une région
3.35. Sélection d'un pays
3.36. Sélection d'un fuseau horaire
3.37. Confirmation du fuseau horaire
3.38. Sélection de services supplémentaires à activer
3.39. Activer les crash dumps
3.40. Ajout de comptes utilisateur
3.41. Entrée des informations utilisateur
3.42. Quitter la gestion des utilisateurs et des groupes
3.43. Configuration finale
3.44. Configuration manuelle
3.45. Achever l'installation
21.1. Organisation par concaténation
21.2. Organisation segmentée
21.3. Organisation RAID-5
21.4. Un simple volume Vinum
21.5. Un volume Vinum en mode miroir
21.6. Un volume Vinum segmenté
21.7. Un volume Vinum en mode miroir segmenté
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. Tables de partitionnement
4.1. Codes des périphériques disques
19.1. Conventions de nom pour les disques physiques
21.1. Organisations de plex Vinum
31.1. Câblage d'un câble parallèle pour réseau
31.2. Adresses IPv6 réservées
Liste des exemples
2.1. Utilisation d'une partition existante
2.2. Redimensionner une partition existante
3.1. Utilisation d'une partition existante
3.2. Réduire une partition existante
3.3. Création d'un système traditionnel de partitions pour systèmes de fichiers séparés
4.1. Exemples d'appellation de disques, tranches et partitions
4.2. Modèle conceptuel d'un disque
5.1. Télécharger un logiciel pré-compilé à la main puis l'installer localement
12.1. Créer un fichier de pagination sous FreeBSD
13.1. Ecran de boot0
13.2. Ecran de boot2
13.3. Une console non sécurisée dans /etc/ttys
14.1. Ajouter un utilisateur sous FreeBSD
14.2. Suppression interactive de compte avec rmuser
14.3. chpass interactif par le super-utilisateur
14.4. chpass interactif par un utilisateur ordinaire
14.5. Modifier votre mot de passe
14.6. Modifier le mot de passe d'un autre utilisateur en tant que super-utilisateur
14.7. Ajouter un groupe en utilisant pw(8)
14.8. Ajouter quelqu'un dans un groupe en utilisant pw(8)
14.9. Utilisation de id(1) pour déterminer l'appartenance à un groupe
15.1. Utiliser SSH pour créer un tunnel sécurisé pour SMTP
19.1. Utiliser dump(8) sur ssh
19.2. Utiliser dump sur ssh avec la variable RSH positionnée
19.3. Procédure de création d'une disquette de démarrage
19.4. Utilisation de mdconfig pour monter une image d'un système de fichiers
19.5. Création d'un nouveau disque sauvegardé sur fichier avec mdconfig
19.6. Création et montage d'un disque sauvegardé sur fichier avec mdmfs
19.7. Création d'un disque mémoire avec mdconfig
19.8. Création d'un disque mémoire avec mdmfs
28.1. Configuration de la base de données d'accès de sendmail
28.2. Exemple de base de données d'alias
28.3. Exemple de correspondance de domaine virtuel de courrier
29.1. Recharger le fichier de configuration d'inetd
29.2. Monter un systèmes de fichiers exporté avec amd
31.1. Réseau d'agence ou à domicile
31.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, Bibliographie.

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:

  • Chapitre 12, Configuration et optimisation, le chapitre « Configuration et optimisation », a été augmenté avec des informations nouvelles sur la gestion ACPI des ressources et de l'énergie, sur l'utilitaire système cron, et sur d'autres d'options supplémentaires d'optimisation du noyau.

  • Chapitre 15, Sécurité, le chapitre « Sécurité », a été augmenté avec de nouvelles informations sur les réseaux privés virtuels (VPNs), les listes de contrôle d'accès au système de fichiers (ACLs), et sur les avis de sécurité.

  • Chapitre 17, Mandatory Access Control ** Traduction en Cours **, « Le contrôle d'accès obligatoire » (MAC) est un nouveau chapitre ajouté avec cette édition. Il explique ce qu'est le MAC et comment ce mécanisme peut être utilisé pour sécuriser un système FreeBSD.

  • Chapitre 19, Stockage des données, le chapitre « Stockage des données », a bénéficié de l'ajout de nouvelles sections concernant les périphériques de stockage USB, les instantanés de systèmes de fichiers, les quotas d'utilisation des disques, les systèmes de fichiers réseaux et sauvegardés sur fichier, et le chiffrage de partitions.

  • Chapitre 21, Le gestionnaire de volume Vinum, « Vinum », est un nouveau chapitre apparaissant avec cette édition. Il décrit l'utilisation de Vinum, un gestionnaire de volume qui permet la création de disques logiques indépendants du périphérique, et l'utilisation de systèmes RAID-0, RAID-1 et RAID-5 logiciels.

  • Une section dépannage a été ajoutée au chapitre Chapitre 27, PPP et SLIP, PPP et SLIP.

  • Chapitre 28, Courrier électronique, le chapitre « Courrier électronique », bénéficie de nouvelles sections sur l'utilisation d'agents de transfert de courrier alternatifs, sur l'authentification SMTP, l'UUCP, fetchmail, procmail, et d'autres sujets avancés.

  • Chapitre 29, Serveurs réseau, le chapitre « Serveurs réseau », apparaît avec cette édition. Ce chapitre traite de la configuration du serveur HTTP Apache, de ftpd, et celle d'un serveur pour clients Microsoft® Windows® à l'aide de Samba. Certaines sections du chapitre Chapitre 31, Administration réseau avancée, « Administration réseau avancée » ont été déplacées vers ce nouveau chapitre.

  • Chapitre 31, Administration réseau avancée, le chapitre « Administration réseau avancée » a été complété avec des informations sur l'utilisation des périphériques Bluetooth® sous FreeBSD, la configuration de réseaux sans fil, et sur le mode de transfert réseau asynchrone (ATM).

  • Un glossaire a été ajouté pour centraliser les définitions des termes techniques employés tout au long de cet ouvrage.

  • La présentation des tableaux et des figures a été améliorée.

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, Introduction

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

Chapitre 2, Installer FreeBSD, 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 4, Quelques bases d'UNIX, 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 5, Installer des applications: les logiciels pré-compilés et les logiciels portés, 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 6, Le système X Window, 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 7, Bureautique, 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 8, Multimédia, 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 9, Configurer le noyau de FreeBSD, 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 10, Imprimer, 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 11, Compatibilité binaire avec Linux, 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 12, Configuration et optimisation, 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 13, Processus de démarrage de FreeBSD, 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 14, Gestion des comptes et des utilisateurs, 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 15, Sécurité, Sécurité

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

Chapitre 16, Environnements jail, 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 17, Mandatory Access Control ** Traduction en Cours **, 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 18, Audit des événements relatifs à la sécurité du système, 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 19, Stockage des données, 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 20, GEOM: architecture modulaire de gestion des disques, GEOM

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

Chapitre 21, Le gestionnaire de volume Vinum, 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 22, Virtualisation, Virtualisation

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

Chapitre 23, Localisation - Utilisation et configuration de l'I18N/L10N, Localisation

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

Chapitre 24, Mise à jour de FreeBSD, 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 26, Serial Communications ** Traduction en Cours **, Communications série

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

Chapitre 27, PPP et SLIP, 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 28, Courrier électronique, 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 29, Serveurs réseau, 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 30, Firewalls ** Traduction en Cours **, 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 31, Administration réseau avancée, 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, 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, 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, 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, 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.

Partie 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.

Table des matières
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. Installer FreeBSD 9.X et versions suivantes
3.1. Synopsis
3.2. Matériel nécessaire
3.3. Tâches de pré-installation
3.4. Lancer l'installation
3.5. Présentation de bsdinstall
3.6. Installation à partir du réseau
3.7. Allouer l'espace disque
3.8. Procéder à l'installation
3.9. Post-Installation
3.10. Dépannage
3.11. Utilisation du CD Live
4. Quelques bases d'UNIX
4.1. Synopsis
4.2. Consoles virtuelles & terminaux
4.3. Permissions
4.4. Organisation de l'arborescence des répertoires
4.5. Organisation des disques
4.6. Monter et démonter des systèmes de fichiers
4.7. Processus
4.8. Daemons, signaux, et comment tuer un processus
4.9. Interpréteurs de commandes - “Shells”
4.10. Editeurs de texte
4.11. Périphériques et fichiers spéciaux de périphérique
4.12. Le format des fichiers binaires
4.13. Pour plus d'information
5. Installer des applications: les logiciels pré-compilés et les logiciels portés
5.1. Synopsis
5.2. Généralités sur l'installation de logiciels
5.3. Trouver votre application
5.4. Utiliser le système des logiciels pré-compilés
5.5. Utiliser le catalogue des logiciels portés
5.6. Activités de post-installation
5.7. Que faire avec les logiciels portés ne fonctionnant pas?
6. Le système X Window
6.1. Synopsis
6.2. Comprendre X
6.3. Installer X11
6.4. Configuration d'X11
6.5. Utilisation des polices de caractères sous X11
6.6. Le gestionnaire de procédures de connexions graphiques - “X Display Manager”
6.7. Environnements de travail

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, Se procurer FreeBSD 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 9.3-RELEASE, est sortie en Septembre 2013. 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 10.0-RELEASE, est sortie en Janvier 2014. 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, Ressources sur Internet 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 24,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 5, Installer des applications: les logiciels pré-compilés et les logiciels portés.

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, « Préparer les supports de démarrage ».

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, « Matériel supporté ») 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 Athlon™64-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, « Matériel supporté »).

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ériqueIRQPort(s) d'E/SNotes
Premier disque durN/AN/A40 Go, fabriqué par Seagate, premier disque IDE maître
CDROMN/AN/APremier disque IDE esclave
Second disque durN/AN/A20 Go, fabriqué par IBM, second disque IDE maître
Premier contrôleur IDE140x1f0 
Carte réseauN/AN/AIntel® 10/100
ModemN/AN/A3Com® 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, « Préparer les supports de démarrage »).

Si vous n'avez pas récupéré les fichiers d'installation de FreeBSD vous devriez aller directement à la Section 2.13, « Préparer votre propre support d'installation » 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, « Préparer les supports de démarrage ».

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 10.0-RELEASE sont disponibles à partir de l'adresse ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/10.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, « Préparer les supports de démarrage » 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
    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, « Préparer les supports de démarrage » 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, « Résultats typiques de la détection du matériel », 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, « Menu de sélection du pays ». 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
Menu de sélection du pays

Figure 2.4. Quitter sysinstall
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, « Sélection de l'entrée Usage dans le menu principal de sysinstall », 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
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
Sélectionner le menu de documentation

Cela affichera le menu de documentation.

Figure 2.7. Menu de documentation de sysinstall
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
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
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
Menu principal de sysinstall

Figure 2.11. Options de sysinstall
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
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, « Sélection du disque pour FDisk » 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
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, « Partitions Fdisk typiques avant édition ».

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
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, « Partionnement Fdisk utilisant l'intégralité du disque ». 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
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
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
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
PartitionSystème de fichiersTailleDescription
a/512 MoC'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 /
bN/A2-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/var256 Mo à 1024nbsp;MoLe 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/usrLe 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
PartitionSystème de fichiersTailleDescription
bN/AVoir descriptionComme 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/disquenle reste du disqueLe 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, « L'éditeur Disklabel de sysinstall » 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
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, « L'éditeur Disklabel de sysinstall en mode automatique ». 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
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, « Espace libre pour la partition racine »). 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
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, « Edition de la taille de la partition racine ». Puis appuyez sur [ OK ].

Figure 2.21. Edition de la taille de la partition racine
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, « Choisir le type de la partition racine ». 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
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, « Choisir le point de montage de la partition racine ». 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
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, « Editeur Disklabel de sysinstall », bien que vos valeurs puissent être différentes. Appuyez sur Q pour terminer.

Figure 2.24. Editeur Disklabel de sysinstall
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 6, Le système X Window.

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 9, Configurer le noyau de FreeBSD.

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, « Choix de l'ensemble de distribution » 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
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 5, Installer des applications: les logiciels pré-compilés et les logiciels portés 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 10.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 24,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
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
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é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 29.5, « Configuration réseau automatique (DHCP) » 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
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 29.2.1, « Généralités » 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
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 15.11, « OpenSSH ».

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 15, Sécurité.

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, « Configurer les services Internet ». 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
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
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 29.3, « Système de fichiers réseau (NFS) » 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
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
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
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
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
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
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 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
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
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
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
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
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
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
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
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
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
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
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é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
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
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
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, « Démarrage de FreeBSD » 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
Configuration réseau

La première option, Interfaces, a été précédemment abordée dans la Section 2.10.1, « Configuration réseau », 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
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 29.3, « Système de fichiers réseau (NFS) » 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
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
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 13.1, « Synopsis ».

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, « Préparer les supports de démarrage ».

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 fichierContenu
    version-RELEASE-arch-bootonly.isoTout 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.isoTout 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.isoAutant de logiciels tiers pré-compilés que l'espace sur le disque le permet.
    version-RELEASE-arch-docs.isoLa 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 5, Installer des applications: les logiciels pré-compilés et les logiciels portés) 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 19.6, « Création et utilisation de supports optiques (CDs) » pour plus d'informations (en particulier les Section 19.6.3, « burncd » et Section 19.6.4, « cdrecord »).

    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 10.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 10.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. Installer FreeBSD 9.X et versions suivantes

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.
Mis à jour pour bsdinstall par Gavin Atkinson et Warren Block.

Version française de Marc Fonvieille .

3.1. Synopsis

FreeBSD est fourni avec un programme d'installation en mode texte facile d'emploi. FreeBSD 9.0-RELEASE et les versions suivantes utilisent un programme d'installation appelé bsdinstall, alors que les versions précédentes à FreeBSD 9.0-RELEASE emploient sysinstall pour l'installation. Ce chapitre décrit l'utilisation de bsdinstall. Celle de sysinstall est abordée dans la Chapitre 2, Installer FreeBSD.

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

  • Comment créer un support d'installation de FreeBSD.

  • Comment FreeBSD subdivise et accède aux disques durs.

  • Comment lancer bsdinstall.

  • Les questions que bsdinstall 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:

Par défaut, ces instructions d'installation sont écrites pour l'architecture i386™ (« compatible PC »). Où elles seront applicables, les instructions spécifiques à d'autres plateformes seront indiquées. Vous pourrez constater des différences mineures entre le programme d'installation et ce qui est montré ici, il est donc suggéré d'utiliser ce chapitre comme un guide général plutôt comme un manuel d'installation à suivre à la ligne près.

3.2. Matériel nécessaire

3.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 sur cette configuration sont données dans les sections suivantes. En fonction de la méthode que vous avez choisie pour installer FreeBSD, vous pourrez avoir besoin d'un lecteur de CDROM supporté, et dans certains cas d'une carte réseau. Cela sera abordé dans la Section 3.3.5, « Préparer le support d'installation ».

3.2.1.1. Architecture FreeBSD/i386

FreeBSD/i386 nécessite un processeur 486 ou plus performant et au moins 64 Mo de RAM. Au moins un 1.1 Go d'espace libre sur le disque dur est nécessaire pour l'installation la plus réduite.

Note:

Sur d'anciens ordinateurs, augmenter la RAM et l'espace disque est en général plus efficace dans l'amélioration des performances que l'installation d'un processeur plus rapide.

3.2.1.2. Architecture FreeBSD/amd64

Il existe deux classes de processeurs en mesure d'utiliser FreeBSD/amd64. La première est composée des processeurs AMD64, comprenant les processeurs AMD Athlon™64, AMD Athlon™64-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 processeurs Intel® Core™ 2 Duo, Quad, et Extreme, et la série des processeurs Intel® Xeon™ 3000, 5000, et 7000, et enfin les processeurs Intel® Core™ i3, i5 et i7.

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.

3.2.1.3. Architecture FreeBSD/powerpc Apple® Macintosh®

Tous les systèmes Apple® Macintosh® de type « New World » avec l'USB intégré sont supportés. Un fonctionnement multi-processeurs est supporté sur les machines dotées de plusieurs processeurs.

Un noyau 32bits ne peut utiliser que les 2 premiers Go de RAM. Le FireWire® n'est supporté que sur les PowerMac bleu et blanc.

3.2.1.4. Architecture FreeBSD/sparc64

Les systèmes supportés par FreeBSD/sparc64 sont listés sur la page du projet FreeBSD/sparc64.

Un disque dur dédié sera nécessaire pour FreeBSD/sparc64. Il n'est pas, pour l'instant, possible de partager un disque dur avec un autre système d'exploitation.

3.2.2. Matériel supporté

Le matériel et les architectures supportés par une version de FreeBSD sont listés dans la liste de compatibilité matérielle. Généralement nommé HARDWARE.TXT, ce document peut être trouvé sur la racine du support d'installation. La liste du matériel supporté peut également être trouvée sur la page d'Information sur les versions du site Web de FreeBSD.

3.3. Tâches de pré-installation

3.3.1. Sauvegardez vos données

Sauvegardez toutes les données importantes présentes sur l'ordinateur sur lequel FreeBSD sera installé. Testez ces sauvegardes avant de poursuivre. Le programme d'installation de FreeBSD vous sollicitera avant d'écrire sur le disque, mais une fois le processus lancé, il ne sera pas possible de revenir en arrière.

3.3.2. Où installer FreeBSD?

Si FreeBSD sera le seul système d'exploitation installé, et qu'il utilisera l'intégralité du disque dur, vous pouvez passer cette section. Mais si FreeBSD doit partager le disque avec d'autres systèmes d'exploitation, une connaissance de l'organisation des disques durs sera utile pendant l'installation.

3.3.2.1. Organisation des disques pour les architectures FreeBSD/i386 et FreeBSD/amd64

Les disques durs peuvent être divisés en plusieurs portions. Ces portions sont appelées partitions.

Il existe deux manières pour diviser un disque en partitions. Le Master Boot Record (MBR) traditionnel contient une table de partitions définissant jusqu'à quatre partitions primaires. (Pour des raisons historiques, FreeBSD appelle les partitions primaires slices ou tranches.) Une limite à quatre partitions est handicapant dans le cas de gros disques durs, aussi une de ces partitions peut devenir une partition étendue. Plusieurs partitions logiques pourront alors être créées dans la partition étendue. Cela peut sembler un peu lourd, c'est le cas.

La table de partitionnement GUID (GUID Partition Table ou GPT) est une méthode nouvelle et plus simple pour partitionner un disque. GPT est bien plus polyvalente que la table de partitionnement MBR traditionnelle. Les implémentations classiques de GPT autorisent jusqu'à 128 partitions par disque, supprimant ainsi le recours à des solutions problématiques comme les partitions logiques.

Avertissement:

Certains anciens systèmes d'exploitation comme Windows® XP ne sont pas compatibles avec le système de partitions GPT. Si FreeBSD sera amené à partager un disque avec un tel système d'exploitation, un partitionnement MBR sera alors nécessaire.

Le chargeur d'amorçage de FreeBSD a besoin soit d'une partition primaire soit d'une partition GPT (Consulter Chapitre 13, Processus de démarrage de FreeBSD pour plus d'information sur le processus d'amorçage de FreeBSD). Si toutes les partitions primaires ou GPT sont déjà utilisées, l'une d'entre elles devra être libérée pour FreeBSD.

Une installation minimale de FreeBSD nécessite 1 Go d'espace disque. Cependant, c'est vraiment une installation minimale, ne laissant presque aucun espace libre. Un minimum plus réaliste est 3 Go sans environnement graphique, et 5 Go ou plus si une interface graphique sera utilisée. Les applications tierce-partie auront besoin de plus de place.

De nombreux outils de partionnement gratuits et commerciaux existent. GParted Live est un CD Live gratuit qui comprend l'éditeur de partition GParted. GParted est également disponible sur d'autres CDs Live Linux.

Avertissement:

Les applications de partitionnement de disques peuvent détruire les données. Effectuez une sauvegarde complète et vérifiez son intégrité avant de modifier les partitions du disque.

Redimensionner des partitions Microsoft® Vista peut être complexe. Un CDROM d'installation de Vista peut être utile quand on tente une telle opération.

Exemple 3.1. Utilisation d'une partition existante

Soit un ordinateur sous Windows® avec un seul disque de 40 Go qui a été divisé en deux partitions de 20 Go. Windows® les appelle C: et D:. La partition C: contient 10 Go de données, et la partition D: 5 Go de données.

Déplacer les données de D: vers C: libérera la deuxième partition pour FreeBSD.


Exemple 3.2. Réduire une partition existante

Soit un ordinateur sous Windows® disposant d'un seul disque de 40 Go sur lequel il y a une seule grande partition occupant tout le disque. Windows® fait apparaître cette partition de 40 Go comme un seul lecteur C:. 15 Go d'espace est utilisé. L'objectif est de limiter Windows® à une partition de 20 Go, et avoir une autre partition de 20 Go pour FreeBSD.

Il y a deux façons de procéder:

  1. Sauvegardez vos données Windows®. Puis réinstaller Windows®, en utilisant une partition de 20 G à l'installation.

  2. Utiliser un outil de redimensionnement de partition comme GParted pour réduire la partition Windows® et créer une nouvelle partition dans l'espace libéré pour FreeBSD.


Disposer de différentes partitions contenant chacune un système d'exploitation différent permet de lancer au choix un de ces systèmes. Une autre méthode qui permet l'exécution simultanée de plusieurs systèmes d'exploitation est abordée dans le Chapitre 22, Virtualisation.

3.3.3. Récupérer les informations relatives au réseau

Certaines méthodes d'installation de FreeBSD requièrent une connexion réseau pour télécharger des fichiers. Pour se connecter à un réseau Ethernet (ou à un modem câble ou ADSL avec une interface Ethernet), le programme d'installation demandera certaines informations au sujet du réseau.

Le protocole DHCP est communément utilisé pour fournir une configuration réseau automatique. Si la configuration par DHCP n'est pas possible, les informations relatives au réseau pourront être obtenu auprès de l'administrateur réseau ou du fournisseur d'accès:

Information réseau
  1. Adresse IP

  2. Masque de sous-réseau

  3. Adresse IP de la passerelle par défaut

  4. Nom de domaine du réseau local

  5. Adresse(s) IP du serveur DNS

3.3.4. Vérifier l'Errata FreeBSD

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 pouvant affecter l'installation.

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

3.3.5. Préparer le support d'installation

Une installation de FreeBSD est lancée en démarrant l'ordinateur avec un CD, DVD, ou clé USB d'installation de FreeBSD. Le programme d'installation n'est pas un programme qui peut être exécuté à partir d'un autre système d'exploitation.

En plus des supports standards d'installation qui contiennent une copie de l'ensemble des fichiers d'installation de FreeBSD, il existe une variante dite bootonly. Le support d'installation bootonly ne comprend pas les fichiers d'installation, mais les téléchargera à partir du réseau lors de l'installation. Le CD d'installation bootonly est donc plus petit, et réduit la bande passante utilisée lors de l'installation en ne téléchargeant que les fichiers nécessaires.

Des exemplaires des supports d'installation de FreeBSD sont disponibles sur le site Web de FreeBSD. Téléchargez également le fichier CHECKSUM.SHA256 à partir du même répertoire et utilisez-le pour contrôler l'intégralité des fichiers en calculant une somme de contrôle ou checksum. FreeBSD fournit sha256(1) à cet effet, les autres systèmes d'exploitation proposent des outils similaires. Comparez la somme de contrôle calculée avec celle donnée dans le fichier CHECKSUM.SHA256. Les sommes de contrôle doivent être identiques. Si une des sommes ne correspond pas, le fichier est corrompu et devra être téléchargé à nouveau.

Astuce:

Si vous avez déjà une copie de FreeBSD sur CDROM, DVD, ou clé USB, cette section peut être ignorée.

Les images CD et DVD de FreeBSD sont des fichiers ISO « bootable ». Seul un CD ou DVD est nécessaire pour l'installation. Gravez l'image ISO sur un CD ou DVD en utilisant un logiciel de gravure disponible pour votre système d'exploitation actuel. Sous FreeBSD, la gravure est possible avec cdrecord(1) du logiciel porté sysutils/cdrtools, installé à partir du catalogue des logiciels portés.

Pour créer une clé USB bootable, suivez les étapes suivantes:

  1. Obtenir l'image de la clé USB

    Les images de clés USB pour FreeBSD 9.0-RELEASE et versions ultérieures peuvent être téléchargées à partir du répertoire ISO-IMAGES/ à l'adresse ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/arch/ISO-IMAGES/version/FreeBSD-version-RELEASE-arch-memstick.img. Remplacer arch et version par respectivement l'architecture et le numéro de version que vous voulez installer. Par exemple, les images de clés USB Pour FreeBSD/i386 9.0-RELEASE sont disponibles à partir de ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/ISO-IMAGES/9.0/FreeBSD-9.0-RELEASE-i386-memstick.img.

    Astuce:

    Un chemin de répertoire différent est utilisé pour FreeBSD 8.X et les versions antérieures. Des informations sur le téléchargement et l'installation de FreeBSD 8.X et des versions antérieures sont données dans le Chapitre 2, Installer FreeBSD.

    L'image de la clé USB a l'extension .img. Le répertoire ISO-IMAGES/ contient un certain nombre d'images différentes, et celle à employer dépend de la version de FreeBSD à installer, et dans certains cas, du matériel cible de l'installation.

    Important:

    Avant de continuer, sauvegardez les données présentes sur la clé USB, en effet l'écriture de l'image détruira toutes les données.

  2. Ecrire le fichier image sur la clé USB

    Procédure 3.1. Utiliser FreeBSD pour écrire l'image

    Avertissement:

    L'exemple ci-dessous prend /dev/da0 comme périphérique cible sur lequel l'image sera écrite. Vérifiez que le périphérique utilisé comme cible est bien le bon, ou vous risquer de détruire les données existantes.

    • Ecrire l'image avec dd(1)

      Le fichier .img n'est pas un fichier classique. C'est une image de l'intégralité du contenu de la clé. Il ne peut pas être simplement copié comme n'importe quel fichier, mais doit être écrit directement sur le périphérique cible avec dd(1):

      # dd if=FreeBSD-9.0-RELEASE-i386-memstick.img of=/dev/da0 bs=64k
    Procédure 3.2. Utiliser Windows® pour écrire l'image

    Avertissement:

    Assurez-vous de préciser le bon lecteur comme cible, ou vous risquez d'écraser et détruire les données existantes.

    1. Récupérer Image Writer for Windows®

      Image Writer for Windows® est une application gratuite pour écrire une image sur une clé USB. Téléchargez-la depuis et décompressez-la dans un répertoire.

    2. Ecrire l'image avec Image Writer

      Double-cliquez sur l'icone Win32DiskImager pour lancer le programme. Vérifez que le lecteur affiché sous Device est celui de la clé USB. Cliquer sur l'icone répertoire et sélectionner l'image à écrire sur la clé. Cliquer sur [ Save ] pour accepter le nom du fichier image. Vérifiez que tout est correct, et qu'il n'y a pas de répertoires présents sur la clé USB ouverts dans d'autres fenêtres. Puis quand tout est prêt, cliquer sur [ Write ] pour écrire le fichier image sur la clé USB.

Note:

L'installation à partir de disquettes n'est plus supportée.

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

3.4. Lancer 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:

Your changes will now be written to disk.  If you
have chosen to overwrite existing data, it will
be PERMANENTLY ERASED. Are you sure you want to
commit your changes?

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 ce point sans aucun risque.

3.4.1. Démarrage

3.4.1.1. Démarrage pour les architectures i386™ et amd64

  1. Si vous avez préparé une clé USB « bootable », comme décrit dans la Section 3.3.5, « Préparer le support d'installation », branchez alors votre clé USB avant d'allumer l'ordinateur.

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

  2. Configurez votre machine pour qu'elle démarre soit à partir du CDROM ou de l'USB, en fonction du support utilisé pour l'installation. Le BIOS permet la sélection d'un périphérique de démarrage spécifique. La plupart des systèmes proposent également la sélection du périphérique d'amorçage au démarrage, généralement en appuyant sur F10, F11, F12, ou encore Escape.

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

    1. Les disques n'ont pas été insérés suffisamment tôt lors du processus de démarrage. Laissez-les, et essayez de redémarrer votre ordinateur.

    2. Soit les modifications du BIOS effectuées juste avant n'ont pas fonctionné correctement. Vous devrez repasser par cette étape jusqu'à trouver la bonne option.

    3. Soit votre BIOS ne supporte pas l'amorçage à partir du support désiré. Le gestionnaire de démarrage Plop peut être utilisé pour démarrer les anciens ordinateurs à partir de supports comme un CD ou une clé USB.

  4. FreeBSD démarre. Si vous démarrez à partir du CDROM vous verrez un affichage similaire à ceci (information sur la version omise):

    Booting from CD-ROM...
    645MB medium detected
    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.02
    Consoles: internal video/keyboard
    BIOS CD is cd0
    BIOS drive C: is disk0
    BIOS drive D: is disk1
    BIOS 636kB/261056kB 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]
    \
  5. Le chargeur FreeBSD est alors affiché:

    Figure 3.1. Menu du chargeur FreeBSD
    Menu du chargeur FreeBSD

    Attendez dix secondes, ou appuyez sur Entrée.

3.4.1.2. Démarrage pour l'architecture Macintosh® PowerPC®

Sur la plupart des machines, maintenir la touche C enfoncée lors du démarrage provoquera l'amorçage du CD. Sinon appuyez sur Command+Option+O+F, ou Windows+Alt+O+F dans le cas des claviers non-Apple®. A l'invite 0 >, entrez:

boot cd:,\ppc\loader cd:0

Pour les machines Xserve sans clavier, consultez le site de support d'Apple® au sujet du démarrage avec Open Firmware.

3.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 à 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. Cela 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.

3.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 3.2, « Résultats typiques de la détection du matériel », bien que le texte sera différent en fonction des périphériques que vous avez dans votre ordinateur.

Figure 3.2. Résultats typiques de la détection du matériel
Copyright (c) 1992-2011 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.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 9.0-RELEASE #0 r225473M: Sun Sep 11 16:07:30 BST 2011
    root@psi:/usr/obj/usr/src/sys/GENERIC amd64
CPU: Intel(R) Core(TM)2 Duo CPU     T9400  @ 2.53GHz (2527.05-MHz K8-class CPU)
  Origin = "GenuineIntel"  Id = 0x10676  Family = 6  Model = 17  Stepping = 6
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x8e3fd<SSE3,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1>
  AMD Features=0x20100800<SYSCALL,NX,LM>
  AMD Features2=0x1<LAHF>
  TSC: P-state invariant, performance statistics
real memory  = 3221225472 (3072 MB)
avail memory = 2926649344 (2791 MB)
Event timer "LAPIC" quality 400
ACPI APIC Table: <TOSHIB A0064   >
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s)
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0: Changing APIC ID to 1
ioapic0 <Version 2.0> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <TOSHIB A0064> on motherboard
acpi0: Power Button (fixed)
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, b6690000 (3) failed
Timecounter "ACPI-safe" frequency 3579545 Hz quality 850
acpi_timer0: <24-bit timer at 3.579545MHz> port 0xd808-0xd80b on acpi0
cpu0: <ACPI CPU> on acpi0
ACPI Warning: Incorrect checksum in table [ASF!] - 0xFE, should be 0x9A (20110527/tbutils-282)
cpu1: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
vgapci0: <VGA-compatible display> port 0xcff8-0xcfff mem 0xff400000-0xff7fffff,0xe0000000-0xefffffff irq 16 at device 2.0 on pci0
agp0: <Intel GM45 SVGA controller> on vgapci0
agp0: aperture size is 256M, detected 131068k stolen memory
vgapci1: <VGA-compatible display> mem 0xffc00000-0xffcfffff at device 2.1 on pci0
pci0: <simple comms> at device 3.0 (no driver attached)
em0: <Intel(R) PRO/1000 Network Connection 7.2.3> port 0xcf80-0xcf9f mem 0xff9c0000-0xff9dffff,0xff9fe000-0xff9fefff irq 20 at device 25.0 on pci0
em0: Using an MSI interrupt
em0: Ethernet address: 00:1c:7e:6a:ca:b0
uhci0: <Intel 82801I (ICH9) USB controller> port 0xcf60-0xcf7f irq 16 at device 26.0 on pci0
usbus0: <Intel 82801I (ICH9) USB controller> on uhci0
uhci1: <Intel 82801I (ICH9) USB controller> port 0xcf40-0xcf5f irq 21 at device 26.1 on pci0
usbus1: <Intel 82801I (ICH9) USB controller> on uhci1
uhci2: <Intel 82801I (ICH9) USB controller> port 0xcf20-0xcf3f irq 19 at device 26.2 on pci0
usbus2: <Intel 82801I (ICH9) USB controller> on uhci2
ehci0: <Intel 82801I (ICH9) USB 2.0 controller> mem 0xff9ff800-0xff9ffbff irq 19 at device 26.7 on pci0
usbus3: EHCI version 1.0
usbus3: <Intel 82801I (ICH9) USB 2.0 controller> on ehci0
hdac0: <Intel 82801I High Definition Audio Controller> mem 0xff9f8000-0xff9fbfff irq 22 at device 27.0 on pci0
pcib1: <ACPI PCI-PCI bridge> irq 17 at device 28.0 on pci0
pci1: <ACPI PCI bus> on pcib1
iwn0: <Intel(R) WiFi Link 5100> mem 0xff8fe000-0xff8fffff irq 16 at device 0.0 on pci1
pcib2: <ACPI PCI-PCI bridge> irq 16 at device 28.1 on pci0
pci2: <ACPI PCI bus> on pcib2
pcib3: <ACPI PCI-PCI bridge> irq 18 at device 28.2 on pci0
pci4: <ACPI PCI bus> on pcib3
pcib4: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci5: <ACPI PCI bus> on pcib4
cbb0: <RF5C476 PCI-CardBus Bridge> at device 11.0 on pci5
cardbus0: <CardBus bus> on cbb0
pccard0: <16-bit PCCard bus> on cbb0
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
ahci0: <Intel ICH9M AHCI SATA controller> port 0x8f58-0x8f5f,0x8f54-0x8f57,0x8f48-0x8f4f,0x8f44-0x8f47,0x8f20-0x8f3f mem 0xff9fd800-0xff9fdfff irq 19 at device 31.2 on pci0
ahci0: AHCI v1.20 with 4 3Gbps ports, Port Multiplier not supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich1: <AHCI channel> at channel 1 on ahci0
ahcich2: <AHCI channel> at channel 4 on ahci0
acpi_lid0: <Control Method Lid Switch> on acpi0
battery0: <ACPI Control Method Battery> on acpi0
acpi_button0: <Power Button> on acpi0
acpi_acad0: <AC Adapter> on acpi0
acpi_toshiba0: <Toshiba HCI Extras> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
attimer0: <AT timer> port 0x40-0x43 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model GlidePoint, device ID 0
atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0
Event timer "RTC" frequency 32768 Hz quality 0
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 950
Event timer "HPET" frequency 14318180 Hz quality 450
Event timer "HPET1" frequency 14318180 Hz quality 440
Event timer "HPET2" frequency 14318180 Hz quality 440
Event timer "HPET3" frequency 14318180 Hz quality 440
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ppc0: cannot reserve I/O port range
est0: <Enhanced SpeedStep Frequency Control> on cpu0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
p4tcc1: <CPU Frequency Thermal Control> on cpu1
Timecounters tick every 1.000 msec
hdac0: HDA Codec #0: Realtek ALC268
hdac0: HDA Codec #1: Lucent/Agere Systems (Unknown)
pcm0: <HDA Realtek ALC268 PCM #0 Analog> at cad 0 nid 1 on hdac0
pcm1: <HDA Realtek ALC268 PCM #1 Analog> at cad 0 nid 1 on hdac0
usbus0: 12Mbps Full Speed USB v1.0
usbus1: 12Mbps Full Speed USB v1.0
usbus2: 12Mbps Full Speed USB v1.0
usbus3: 480Mbps High Speed USB v2.0
ugen0.1: <Intel> at usbus0
uhub0: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
ugen1.1: <Intel> at usbus1
uhub1: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1
ugen2.1: <Intel> at usbus2
uhub2: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus2
ugen3.1: <Intel> at usbus3
uhub3: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus3
uhub0: 2 ports with 2 removable, self powered
uhub1: 2 ports with 2 removable, self powered
uhub2: 2 ports with 2 removable, self powered
uhub3: 6 ports with 6 removable, self powered
ugen2.2: <vendor 0x0b97> at usbus2
uhub8: <vendor 0x0b97 product 0x7761, class 9/0, rev 1.10/1.10, addr 2> on usbus2
ugen1.2: <Microsoft> at usbus1
ada0 at ahcich0 bus 0 scbus1 target 0 lun 0
ada0: <Hitachi HTS543225L9SA00 FBEOC43C> ATA-8 SATA 1.x device
ada0: 150.000MB/s transfers (SATA 1.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 238475MB (488397168 512 byte sectors: 16H 63S/T 16383C)
ada0: Previously was known as ad4
ums0: <Microsoft Microsoft 3-Button Mouse with IntelliEyeTM, class 0/0, rev 1.10/3.00, addr 2> on usbus1
SMP: AP CPU #1 Launched!
cd0 at ahcich1 bus 0 scbus2 target 0 lun 0
cd0: <TEAC DV-W28S-RT 7.0C> Removable CD-ROM SCSI-0 device
cd0: 150.000MB/s transfers (SATA 1.x, ums0: 3 buttons and [XYZ] coordinates ID=0
UDMA2, ATAPI 12bytes, PIO 8192bytes)
cd0: cd present [1 x 2048 byte records]
ugen0.2: <Microsoft> at usbus0
ukbd0: <Microsoft Natural Ergonomic Keyboard 4000, class 0/0, rev 2.00/1.73, addr 2> on usbus0
kbd2 at ukbd0
uhid0: <Microsoft Natural Ergonomic Keyboard 4000, class 0/0, rev 2.00/1.73, addr 2> on usbus0
Trying to mount root from cd9660:/dev/iso9660/FREEBSD_INSTALL [ro]...

Vérifiez les résultats de la détection 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é. Les modules du noyau vous permettent d'ajouter le support pour des périphériques qui ne sont pas présents dans le noyau GENERIC.

Après la détection du matériel, apparaîtra l'écran Figure 3.3, « Sélection du mode d'utilisation du support d'installation ». Le support d'installation peut être utilisé de trois manières différentes: pour installer FreeBSD, comme "CD live", ou tout simplement pour obtenir un accès à un interpréteur de commandes sous FreeBSD. Utilisez les touches fléchées pour sélectionner une de ces options, et Enter pour valider le choix.

Figure 3.3. Sélection du mode d'utilisation du support d'installation
Sélection du mode d'utilisation du support d'installation

Sélectionner [ Install ] permettra d'entrer dans le programme d'installation.

3.5. Présentation de bsdinstall

bsdinstall est un programme d'installation en mode texte de FreeBSD écrit par Nathan Whitehorn et introduit en 2011 sous FreeBSD 9.0.

Note:

Le programme pc-sysinstall de Kris Moore est présent dans PC-BSD, et peut également être utilisé pour installer FreeBSD. Parfois confondu avec bsdinstall, ces deux programmes n'ont pas de rapport.

Le système de menu de bsdinstall est contrôlé à l'aide des touches fléchées, Entrée, Tab, Espace, et quelques autres touches.

3.5.1. Sélectionner le menu des tables de clavier

En fonction de la console utilisée, bsdinstall peut, au départ, demander de choisir un clavier non-standard.

Figure 3.4. Changement de la table de clavier
Changement de la table de clavier

Si [ YES ] est sélectionné, le menu suivant de sélection du clavier sera affiché. Sinon, le menu de sélection n'apparaîtra pas, et une table de clavier par défaut sera utilisée.

Figure 3.5. Menu de sélection de la table de clavier
Menu de sélection de la table de clavier

Choisissez la table qui est la plus proche du clavier attaché au système en utilisant les flèches haut et bas et en appuyant sur Entrée.

Note:

Un appui sur Echap provoquera l'utilisation de la table par défaut. Choisir United States of America ISO-8859-1 est également conseillé si le choix n'est pas clair.

3.5.2. Configurer le nom de la machine

Ensuite, bsdinstall demandera le nom de machine à donner au nouveau système.

Figure 3.6. Configuration du nom de machine
Configuration du nom de machine

Le nom de machine entré doit être un nom de machine complet comme machine3.example.com

3.5.3. Choisir les composants à installer

Ensuite, bsdinstall demandera de choisir les composants optionnels à installer.

Figure 3.7. Sélection des composants à installer
Sélection des composants à installer

Décider quels composants installer dépendra principalement de l'utilisation prévue du système et de l'espace disque disponible. Le noyau FreeBSD et les utilitaires de base (formant ensemble le « système de base ») sont toujours installés.

Selon le type d'installation, certains de ces composants peuvent ne pas apparaître.

Composants optionnels
  • doc - Documentation supplémentaire d'un intérêt principalement historique. La documentation fournie par le projet de documentation FreeBSD pourra être installée plus tard.

  • games - Plusieurs jeux BSD classiques, dont fortune, rot13, et d'autres.

  • lib32 - Bibliothèques de compatibilité pour l'exécution d'applications 32bits sur une version 64bits de FreeBSD.

  • ports - Le catalogue des logiciels portés pour FreeBSD.

    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 5, Installer des applications: les logiciels pré-compilés et les logiciels portés discute de l'utilisation du catalogue des logiciels portés.

    Avertissement:

    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.

  • src - Code source du système.

    FreeBSD est livré avec le code source complet du noyau et du système de base. Bien que n'étant pas requis pour la majorité des applications, il peut être nécessaire pour compiler certains logiciels (par exemple, les pilotes de périphériques ou les modules du noyau), ou pour développer FreeBSD.

    L'arborescence complète des sources demande 1 Go d'espace disque, et la recompilation du système FreeBSD complet nécessite 5 Go d'espace supplémentaire.

3.6. Installation à partir du réseau

Le support d'installation bootonly ne contient pas de copie des fichiers d'installation. Lorsqu'une méthode d'installation de type bootonly est utilisée, les fichiers doivent être récupérés par l'intermédiaire d'une connexion réseau.

Figure 3.8. Installation à partir du réseau
Installation à partir du réseau

Après que la connexion réseau ait été configurée comme montré dans Section 3.9.2, « Configuration du réseau », un site miroir est sélectionné. Les sites miroirs maintiennent des copies des fichiers FreeBSD. Choisissez un site miroir situé dans la même région du monde que l'ordinateur sur lequel FreeBSD doit être installé. Les fichiers peuvent être récupérés plus rapidement quand le miroir est proche de l'ordinateur cible, et les temps d'installation réduits.

Figure 3.9. Sélection d'un miroir
Sélection d'un miroir

L'installation se poursuivra comme si les fichiers d'installation étaient présents en local.

3.7. Allouer l'espace disque

Il existe trois manières pour allouer l'espace disque pour FreeBSD. Le partionnement guidé (Guided) fixe automatiquement les partitions disque, alors que le partionnement manuel (Manual) permet aux utilisateurs avancés de créer des partitions sur mesures. Enfin, il y a la possibilité de lancer un interpréteur de commandes dans lequel les programmes en ligne de commande comme gpart(8), fdisk(8), et bsdlabel(8) pourront être utilisés directement.

Figure 3.10. Sélection du partitionnement guidé ou manuel
Sélection du partitionnement guidé ou manuel

3.7.1. Partitionnement guidé

Si plusieurs disques sont connectés, choisissez celui sur lequel FreeBSD doit être installé.

Figure 3.11. Sélection parmi plusieurs disques
Sélection parmi plusieurs disques

L'intégralité ou juste une portion du disque peut être allouée pour FreeBSD. Si [ Entire Disk ] est sélectionné, une partition recouvrant la totalité du disque est créée. Sélectionner [ Partition ] créé une partition dans l'espace inutilisé du disque.

Figure 3.12. Sélection de l'intégralité du disque ou d'une partition
Sélection de l'intégralité du disque ou d'une partition

Une fois les partitions créés, vérifiez attentivement le résultat. Si une erreur a été faite, sélectionner [ Revert ] permettra de revenir au partionnement de départ, ou [ Auto ] créera les partitions FreeBSD automatiquement. Les partitions peuvent être créées, modifiées, ou supprimées manuellement. Quand le partionnement est correct, sélectionner [ Finish ] pour poursuivre l'installation.

Figure 3.13. Vérification des partitions créés
Vérification des partitions créés

3.7.2. Partitionnement manuel

Le partionnement manuel envoie directement dans l'éditeur de partitions.

Figure 3.14. Créer manuellement les partitions
Créer manuellement les partitions

Sélectionner un disque (ada0 dans cet exemple) et [ Create ] permet d'afficher un menu pour le choix du type de table de partitionnement.

Figure 3.15. Créer manuellement les partitions
Créer manuellement les partitions

Le partionnement GPT est généralement le choix le plus approprié pour les ordinateurs de type PC. Les systèmes d'exploitation anciens ne sont pas compatibles avec GPT et peuvent nécessiter à la place un partitionnement de type MBR. Les autres systèmes de partitionnement sont en général utilisés pour les ordinateurs anciens ou particuliers.

Tableau 3.1. Tables de partitionnement
AbbréviationDescription
APMTable de partion Apple, utilisée par le PowerPC® Macintosh®.
BSDPartitions BSD (BSD Labels) sans MBR, parfois appelé dangerously dedicated mode ou « mode dédié ». Consulter la page de manuel bsdlabel(8).
GPTTable de partition GUID.
MBRMaster Boot Record.
PC98Variante du MBR, utilisée par les ordinateurs de type NEC PC-98.
VTOC8Volume Table Of Contents, utilisé par les ordinateurs Sun SPARC64 et UltraSPARC.

Après avoir choisi et créé le partitionnement, sélectionner à nouveau [ Create ] créera les nouvelles partitions.

Figure 3.16. Créer manuellement les partitions
Créer manuellement les partitions

Une installation standard de FreeBSD avec GPT utilise au moins trois partitions:

Partitionnement GPT standard sous FreeBSD
  • freebsd-boot - Code de démarrage FreeBSD.

  • freebsd-ufs - Une système de fichiers UFS FreeBSD.

  • freebsd-swap - Espace de pagination pour FreeBSD.

Un autre type de partition qui vaut la peine d'être mentionné freebsd-zfs, employé pour des partitions qui contiendront un système de fichiers FreeBSD ZFS. Voir linkend="filesystems-zfs" . La page de manuel gpart(8) liste d'autres types de partitions disponibles pour GPT.

Des partitions avec plusieurs systèmes de fichiers peuvent être utilisées, certaines personnes peuvent préférer une organisation plus traditionnelle avec des partitions séparées pour les systèmes de fichiers /, /var, /tmp, et /usr. Consulter Exemple 3.3, « Création d'un système traditionnel de partitions pour systèmes de fichiers séparés », pour un exemple.

Les tailles peuvent être entrées avec les abréviations courantes: K for kilooctet, M pour mégaoctets, ou G pour gigaoctets.

Astuce:

Un alignement correct des secteurs sur le disque permet de meilleures performances, et créer des partitions de tailles multiples de 4K permet de s'assurer de l'alignement sur les disques à secteur de 512 octets ou 4 Koctets. Généralement, employer des tailles de partition qui sont des multiples d'1M ou 1G est le moyen le plus simple de garantir que chaque partition débute sur un multiple de 4K. Une exception: à présent, la partition freebsd-boot ne devrait pas dépasser 512K en raison de limitations du code de démarrage.

Un point de montage est nécessaire si cette partition contiendra un système de fichiers. Si une seule partition UFS unique sera créée, le point de montage devra être /.

Un label est également demandé. Un label (ou étiquette) est le nom par lequel la partition sera connue. Les noms ou numéros de disques peuvent varier si le disque est connecté à un contrôleur ou port différent, mais le label de partition ne changera pas. Se référer aux labels plutôt qu'aux noms de disques et numéros de partitions dans les fichiers comme /etc/fstab rend le système plus tolérant aux changements de matériel. Les labels GPT apparaissent dans le répertoire /dev/gpt/ lorsqu'un disque est attaché au système. Les autres systèmes de partitionnement présentent d'autres possibilités au niveau des labels, et leur labels apparaissent sous différentes répertoires dans /dev/.

Astuce:

Employez un label unique pour chaque système de fichiers pour éviter les conflits avec les labels identiques. Quelques lettres du nom du l'ordinateur, de son rôle, ou de son emplacement peuvent être ajoutées au label. Par exemple, labroot ou rootfs-lab pour la partition UFS racine de l'ordinateur du laboratoire.

Exemple 3.3. Création d'un système traditionnel de partitions pour systèmes de fichiers séparés

Pour une organisation traditionnelle de partitions dans laquelle les répertoires /, /var, /tmp, et /usr sont des systèmes de fichiers séparés ayant chacun leur propre partition, créer une table de partition GPT, puis créer les partitions comme montré ci-après. Les tailles de partitions indiquées sont celles typiques pour un disque de 20G. Si plus d'espace est disponible sur le disque cible, une partition de pagination ou une partition /var plus importantes peuvent être utiles. Les labels utilisés ici sont préfixés par ex pour « exemple », mais le lecteur peut utiliser un autre label unique comme décrit plus haut.

Par défaut, le programme gptboot de FreeBSD s'attend à ce que la première partition UFS trouvée soit la partition /.

Type de partitionTaillePoint de montageLabel
freebsd-boot512K  
freebsd-ufs2G/exrootfs
freebsd-swap4G exswap
freebsd-ufs2G/varexvarfs
freebsd-ufs1G/tmpextmpfs
freebsd-ufsvaleur proposée par défaut (le reste du disque)/usrexusrfs

Après la création des partitions, sélectionnez [ Finish ] pour poursuivre l'installation.

3.8. Procéder à l'installation

C'est la dernière chance pour annuler l'installation et empêcher l'écriture sur le disque dur.

Figure 3.17. Confirmation finale
Confirmation finale

Sélectionner [ Commit ] et appuyer sur Enter pour poursuivre. Si des modifications doivent être effectuées, choisir [ Back ] pour retourner dans l'éditeur de partitions. [ Revert & Exit ] fera quitter le programme d'installation sans qu'aucun changement n'ait été appliqué au disque dur.

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.

En premier lieu, le programme d'installation écrira la table de partitions sur le disque, et effectuera un newfs pour initialiser les partitions.

Si l'installation se fait par le réseau, bsdinstall téléchargera alors les fichiers de distribution requis.

Figure 3.18. Récupération des fichiers de distribution
Récupération des fichiers de distribution

Ensuite, l'intégrité des fichiers de distribution est vérifiée, pour s'assurer qu'ils n'ont pas été corrompus durant le téléchargement ou leur lecture à partir du support d'installation.

Figure 3.19. Vérification des fichiers de distribution
Vérification des fichiers de distribution

Enfin, les fichiers contrôlés sont décompressés sur le disque.

Figure 3.20. Décompression des fichiers de distribution
Décompression des fichiers de distribution

Une fois que tous les fichiers de distribution sélectionnés ont été décompressés, bsdinstall passera directement aux étapes de post-installation (Voir Section 3.9, « Post-Installation »).

3.9. Post-Installation

La configuration de diverses options suit une installation réussie de FreeBSD. Une option peut être configurée en retournant dans les options de configuration à partir du menu final avant de démarrer sur le système FreeBSD tout nouvellement installé.

3.9.1. Définir le mot de passe de root

Le mot de passe de l'utilisateur root doit être défini. Notez que lors de la saisie du mot de passe, les caractères tapés ne sont pas affichés sur l'écran. Après sa saisie, le mot de passe devra être entré une deuxième fois. Cela permet d'éviter les erreurs de frappe.

Figure 3.21. Saisie du mot de passe root
Saisie du mot de passe root

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

3.9.2. Configuration du réseau

Note:

Dans le cas d'une installation de type bootonly si la configuration réseau a déjà été effectuée cette partie sera alors passée.

Une liste de l'ensemble des interfaces réseaux trouvées sur l'ordinateur sera affichée. Sélectionner celle à configurer.

Figure 3.22. Choix d'une interface réseau
Choix d'une interface réseau

3.9.2.1. Configuration d'une interface réseau sans-fil

Si une interface réseau sans-fil est choisie, les paramètres d'identification et de sécurité sans-fil doivent être entrés pour permettre la connexion au réseau.

Les réseaux sans-fil sont identifiés par un Service Set Identifier, ou SSID. Le SSID est un nom court et unique donné à chaque réseau.

La plupart des réseaux sans-fil chiffrent les données transmises afin de les protéger d'une écoute non-autorisée. Le chiffrement WPA2 est fortement recommandé. Les chiffrements de types plus anciens, comme le WEP, n'offrent que peu de sécurité.

La première étape pour se connecter à un réseau sans-fil est de rechercher les points d'accès sans-fil.

Figure 3.23. Recherche des points d'accès sans-fil
Recherche des points d'accès sans-fil

Les SSIDs trouvés durant la recherche sont affichés, suivis par une description des types de chiffrement disponibles pour chaque réseau. Si le SSID désiré n'apparaît pas dans la liste, sélectionner [ Rescan ] pour rechercher à nouveau. Si le réseau désiré n'apparaît toujours pas, vérifiez qu'il n'y a pas de problèmes d'antenne ou essayez de rapprocher l'ordinateur du point d'accès. Rescannez après chaque modification.

Figure 3.24. Sélection d'un réseau sans-fil
Sélection d'un réseau sans-fil

Les informations de chiffrement pour se connecter au réseau choisi sont saisies après la sélection du réseau. Avec WPA2, seul un mot de passe (également connu sous le nom de Pre-Shared Key, ou PSK) est nécessaire. Les caractères tapés dans la boîte de saisie apparaissent sous la forme d'astérisques pour plus de sécurité.

Figure 3.25. Configuration WPA2
Configuration WPA2

La configuration du réseau se poursuit après la sélection du réseau sans-fil et l'entrée des informations de connexion.

3.9.2.2. Configuration du réseau en IPv4

Indiquez si un réseau en IPv4 sera utilisé. C'est le type de réseau le plus courant.

Figure 3.26. Sélection d'un fonctionnement réseau en IPv4
Sélection d'un fonctionnement réseau en IPv4

Il existe deux méthodes de configuration IPv4. En DHCP l'interface réseau sera configurée automatiquement, c'est la méthode préférée. Une configuration statique requiert la saisie manuelle des informations de configuration du réseau.

Note:

N'entrez pas de paramètres réseau au hasard, cela ne fonctionnera pas. Récupérez les paramètres affichés dans Section 3.3.3, « Récupérer les informations relatives au réseau » auprès de l'administrateur réseau ou du fournisseur d'accès.

3.9.2.2.1. Configuration réseau IPv4 avec DHCP

Si un serveur DHCP est disponible, sélectionner [ Yes ] pour configurer automatiquement l'interface réseau.

Figure 3.27. Sélection de la configuration IPv4 avec DHCP
Sélection de la configuration IPv4 avec DHCP

3.9.2.2.2. Configuration réseau IPv4 en statique

La configuration en statique de l'interface réseau demande la saisie d'informations relative à la configuration IPv4.

Figure 3.28. Configuration IPv4 en statique
Configuration IPv4 en statique

  • IP Address - L'adresse IPv4 entrée à la main devant être assignée à cette ordinateur. Cette adresse doit être unique et ne pas être déjà utilisée par un autre équipement sur le réseau local.

  • Subnet Mask - Le masque de sous-réseau utilisé par le réseau local. En général, c'est 255.255.255.0.

  • Default Router - L'adresse IP du routeur par défaut pour ce réseau. En général c'est l'adresse du routeur ou tout autre équipement réseau qui connecte le réseau local à l'Internet. Egalement désigné sous le terme de passerelle par défaut.

3.9.2.3. Configuration du réseau en IPv6

L'IPv6 est une nouvelle méthode de configuration réseau. Si l'IPv6 est disponible et désiré, choisir [ Yes ] pour le sélectionner.

Figure 3.29. Sélection d'un réseau IPv6
Sélection d'un réseau IPv6

Un réseau IPv6 peut également être configuré suivant deux méthodes. SLAAC , ou autoconfiguration sans état (StateLess Address AutoConfiguration), configurera automatiquement et correctement l'interface réseau. La configuration statique, quant à elle, demande la saisie manuelle des informations réseau.

3.9.2.3.1. Autoconfiguration sans état IPv6

La méthode SLAAC permet à un composant réseau IPv6 de demander les informations de configuration automatique à un routeur local. Consulter RFC4862 pour plus d'information.

Figure 3.30. Sélection de la configuration IPv6 SLAAC
Sélection de la configuration IPv6 SLAAC

3.9.2.3.2. Configuration réseau IPv6 en statique

La configuration en statique de l'interface réseau demande la saisie des information de configuration du réseau IPv6.

Figure 3.31. Configuration IPv6 en statique
Configuration IPv6 en statique

  • IPv6 Address - L'adresse IP entrée à la main devant être assignée à cette ordinateur. Cette adresse doit être unique et ne pas être déjà utilisée par un autre équipement sur le réseau local.

  • Default Router - L'adresse IPv6 du routeur par défaut pour ce réseau. En général c'est l'adresse du routeur ou tout autre équipement réseau qui connecte le réseau local à l'Internet. Egalement désigné sous le terme de passerelle par défaut.

3.9.2.4. Configuration du DNS

Le système de résolution Domain Name System (or DNS) convertit les noms de machine en adresses réseau et inversement. Si la méthode du DHCP ou du SLAAC a été utilisée pour configurer automatiquement la carte réseau, les valeurs de configuration du système de résolution de noms (Resolver Configuration) pourront déjà être présentes. Dans le cas contraire, entrer le nom de domaine du réseau local dans le champ Search. DNS #1 et DNS #2 sont les adresses IP des serveurs DNS locaux. Au moins un serveur DNS est nécessaire.

Figure 3.32. Configuration du DNS
Configuration du DNS

3.9.3. 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.

Figure 3.33. Sélection d'une horloge locale ou UTC
Sélection d'une horloge locale ou UTC

Selectionner [ Yes ] ou [ No ] en fonction de la configuration de l'horloge de la machine et appuyer sur Entrée. Si vous ne savez pas si le système est réglé sur l'horaire UTC ou local, sélectionnez [ No ] pour choisir le fuseau local utilisé généralement.

Figure 3.34. Sélectionner une région
Sélectionner une région

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

Figure 3.35. Sélection d'un pays
Sélection d'un pays

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

Figure 3.36. Sélection d'un fuseau horaire
Sélection d'un fuseau horaire

Le fuseau horaire approprié est choisie en utilisant les touches fléchées, puis en appuyant sur Entrée.

Figure 3.37. Confirmation du fuseau horaire
Confirmation du fuseau horaire

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

3.9.4. Sélection des services à activer

Des services système supplémentaires qui seront lancés au démarrage peuvent être activés. Tous ces services sont optionnels.

Figure 3.38. Sélection de services supplémentaires à activer
Sélection de services supplémentaires à activer

Services supplémentaires
  • sshd - démon Secure Shell (SSH) pour l'accès à distance sécurisé.

  • moused - permet l'utilisation de la souris en console.

  • ntpd - démon du protocole d'heure réseau (Network Time Protocol) (NTP) pour la synchronisation automatique de l'horloge.

  • powerd - utilitaire de contrôle de la gestion de l'énergie du système pour le contrôle de la consommation en énergie.

3.9.5. Activation des crash dumps

bsdinstall vous demandera si la sauvegarde de l'état de la mémoire lors d'un plantage (crash dump) doit être activée sur le système. Activer les crash dumps peut s'avérer très utile pour déboguer les problèmes, aussi les utilisateurs sont encouragés à activer les crash dumps dès que c'est possible. Sélectionner [ Yes ] pour les activer, ou [ No ] pour poursuivre sans l'activation des crash dumps.

Figure 3.39. Activer les crash dumps
Activer les crash dumps

3.9.6. Ajouter des utilisateurs

Ajouter au moins un utilisateur lors de l'installation permet l'utilisation du système sans être attaché en tant que root. Quand on utilise une session root, il n'existe aucune limite ou protection quant à ce qui peut être fait. Ouvrir une session en tant qu'utilisateur normal est plus sûr et plus sécurisé.

Sélectionner [ Yes ] pour ajouter de nouveaux utilisateurs.

Figure 3.40. Ajout de comptes utilisateur
Ajout de comptes utilisateur

Saisissez les informations pour l'utilisateur à ajouter.

Figure 3.41. Entrée des informations utilisateur
Entrée des informations utilisateur

Informations utilisateur
  • Username - Le nom d'utilisateur ou identifiant que l'utilisateur entrera pour ouvrir une session. Souvent la première lettre de leur prénom associé à leur nom.

  • Full name - Le nom complet de l'utilisateur.

  • Uid - L'identifiant numérique pour cet utilisateur. En général, ce champ est laissé vide de façon à ce que le système assigne par lui-même une valeur.

  • Login group - Le groupe de l'utilisateur. Généralement laissé vide pour accepter le choix par défaut.

  • Invite user into other groups? - Groupes supplémentaires pour lesquels l'utilisateur sera également ajouté comme membre.

  • Login class - Généralement laissé vide pour accepter la valeur par défaut.

  • Shell - L'interpréteur de commande de l'utilisateur. Dans l'exemple, csh(1) a été choisi.

  • Home directory - Le répertoire de l'utilisateur. La valeur par défaut est, en général, correcte.

  • Home directory permissions - Les permissions sur le répertoire utilisateur. La valeur par défaut est, en général, correcte.

  • Use password-based authentication? - En général yes.

  • Use an empty password? - En général no.

  • Use a random password? - En général no.

  • Enter password - Le mot de passe pour cet utilisateur. Les caractères tapés n'apparaîtront pas sur l'écran.

  • Enter password again - Le mot de passe doit à nouveau être saisi pour vérification.

  • Lock out the account after creation? - En général no.

Après avoir tout saisi, un résumé est affiché, et le système demande si c'est correct. Si une erreur a été faite durant la saisie, entrez no et recommencez. Si tout est correct, entrez yes pour créer ce nouvel utilisateur.

Figure 3.42. Quitter la gestion des utilisateurs et des groupes
Quitter la gestion des utilisateurs et des groupes

S'il y a d'autres utilisateurs à ajouter, répondez yes à la question Add another user?. Entrez no pour terminer l'ajout d'utilisateurs et continuer l'installation.

Pour plus d'information sur l'ajout d'utilisateurs et leur gestion, consultez Section 14.1, « Synopsis ».

3.9.7. Configuration finale

Après avoir tout installé et configuré, une dernière chance de modifier les réglages est proposée.

Figure 3.43. Configuration finale
Configuration finale

Utilisez ce menu pour effectuer des changements ou toute configuration supplémentaire avant de terminer l'installation.

Options de configuration finale

Une fois la configuration finale achevée, sélectionnez Exit pour quitter l'installation.

Figure 3.44. Configuration manuelle
Configuration manuelle

bsdinstall demandera s'il y a des éléments supplémentaires à configurer avant le redémarrage sur le nouveau système. Sélectionner [ Yes ] pour quitter vers un interpréteur de commande, ou [ No ] pour passer à la dernière étape d'installation.

Figure 3.45. Achever l'installation
Achever l'installation

Si d'autre configuration ou une configuration spécifique est nécessaire, choisir [ Live CD ] permettra de démarrer dans le mode du CD Live.

Lorsque l'installation est achevée, sélectionnez [ Reboot ] pour redémarrer l'ordinateur et démarrer le nouveau système FreeBSD. N'oubliez pas de retire le CD, DVD ou la clé USB d'installation de FreeBSD ou l'ordinateur risque de redémarrer dessus à nouveau.

3.9.8. Démarrage et arrêt de FreeBSD

3.9.8.1. Démarrage de FreeBSD/i386

Lors du démarrage de FreeBSD, de nombreux messages d'information sont affichés. La plupart défileront et disparaîtront de l'écran, c'est normal. Une fois que le système a achevé son démarrage, une invite de session est affichée. Les messages qui ont défilé hors de l'écran peuvent être à nouveau visualisés en appuyant sur Scroll-Lock (ou Arrêt défil) pour activer le défilement arrière du tampon des messages. Les touches PgUp, PgDn, et les touches fléchées pourront être utilisées pour remonter dans les messages. L'appui à nouveau sur Scroll-Lock déverrouillera l'écran et fera revenir à l'affichage normal.

A l'invite login:, saisissez le nom d'utilisateur ajouté lors de l'installation, asample dans l'exemple. Evitez d'ouvrir des sessions en tant que root excepté quand cela est nécessaire.

Le tampon des messages examiné ci-dessus est limité en taille, aussi tout les messages peuvent ne pas être visibles. Après l'ouverture d'une session, la plupart d'entre eux peuvent être visualisés à partir de la ligne de commande en tapant dmesg | less à l'invite. Appuyez sur q pour retourner à l'invite de commande après la visualisation.

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

Copyright (c) 1992-2011 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.
FreeBSD is a registered trademark of The FreeBSD Foundation.

    root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
CPU: Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz (3007.77-MHz K8-class CPU)
  Origin = "GenuineIntel"  Id = 0x10676  Family = 6  Model = 17  Stepping = 6
  Features=0x783fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE,SSE2>
  Features2=0x209<SSE3,MON,SSSE3>
  AMD Features=0x20100800<SYSCALL,NX,LM>
  AMD Features2=0x1<LAHF>
real memory  = 536805376 (511 MB)
avail memory = 491819008 (469 MB)
Event timer "LAPIC" quality 400
ACPI APIC Table: <VBOX   VBOXAPIC>
ioapic0: Changing APIC ID to 1
ioapic0 <Version 1.1> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <VBOX VBOXXSDT> on motherboard
acpi0: Power Button (fixed)
acpi0: Sleep Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <32-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
cpu0: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
isab0: <PCI-ISA bridge> at device 1.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xd000-0xd00f at device 1.1 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
vgapci0: <VGA-compatible display> mem 0xe0000000-0xe0ffffff irq 18 at device 2.0 on pci0
em0: <Intel(R) PRO/1000 Legacy Network Connection 1.0.3> port 0xd010-0xd017 mem 0xf0000000-0xf001ffff irq 19 at device 3.0 on pci0
em0: Ethernet address: 08:00:27:9f:e0:92
pci0: <base peripheral> at device 4.0 (no driver attached)
pcm0: <Intel ICH (82801AA)> port 0xd100-0xd1ff,0xd200-0xd23f irq 21 at device 5.0 on pci0
pcm0: <SigmaTel STAC9700/83/84 AC97 Codec>
ohci0: <OHCI (generic) USB controller> mem 0xf0804000-0xf0804fff irq 22 at device 6.0 on pci0
usbus0: <OHCI (generic) USB controller> on ohci0
pci0: <bridge> at device 7.0 (no driver attached)
acpi_acad0: <AC Adapter> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model IntelliMouse Explorer, device ID 4
attimer0: <AT timer> port 0x40-0x43,0x50-0x53 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
atrtc0: <AT realtime clock> at port 0x70 irq 8 on isa0
Event timer "RTC" frequency 32768 Hz quality 0
ppc0: cannot reserve I/O port range
Timecounters tick every 10.000 msec
pcm0: measured ac97 link rate at 485193 Hz
em0: link state changed to UP
usbus0: 12Mbps Full Speed USB v1.0
ugen0.1: <Apple> at usbus0
uhub0: <Apple OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
cd0 at ata1 bus 0 scbus1 target 0 lun 0
cd0: <VBOX CD-ROM 1.0> Removable CD-ROM SCSI-0 device
cd0: 33.300MB/s transfers (UDMA2, ATAPI 12bytes, PIO 65534bytes)
cd0: Attempt to query device size failed: NOT READY, Medium not present
ada0 at ata0 bus 0 scbus0 target 0 lun 0
ada0: <VBOX HARDDISK 1.0> ATA-6 device
ada0: 33.300MB/s transfers (UDMA2, PIO 65536bytes)
ada0: 12546MB (25694208 512 byte sectors: 16H 63S/T 16383C)
ada0: Previously was known as ad0
Timecounter "TSC" frequency 3007772192 Hz quality 800
Root mount waiting for: usbus0
uhub0: 8 ports with 8 removable, self powered
Trying to mount root from ufs:/dev/ada0p2 [rw]...
Setting hostuuid: 1848d7bf-e6a4-4ed4-b782-bd3f1685d551.
Setting hostid: 0xa03479b2.
Entropy harvesting: interrupts ethernet point_to_point kickstart.
Starting file system checks:
/dev/ada0p2: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/ada0p2: clean, 2620402 free (714 frags, 327461 blocks, 0.0% fragmentation)
Mounting local file systems:.
vboxguest0 port 0xd020-0xd03f mem 0xf0400000-0xf07fffff,0xf0800000-0xf0803fff irq 20 at device 4.0 on pci0
vboxguest: loaded successfully
Setting hostname: machine3.example.com.
Starting Network: lo0 em0.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
        inet 127.0.0.1 netmask 0xff000000
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 08:00:27:9f:e0:92
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
Starting devd.
Starting Network: usbus0.
DHCPREQUEST on em0 to 255.255.255.255 port 67
DHCPACK from 10.0.2.2
bound to 192.168.1.142 -- renewal in 43200 seconds.
add net ::ffff:0.0.0.0: gateway ::1
add net ::0.0.0.0: gateway ::1
add net fe80::: gateway ::1
add net ff02::: gateway ::1
ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib
32-bit compatibility ldconfig path: /usr/lib32
Creating and/or trimming log files.
Starting syslogd.
No core dumps found.
Clearing /tmp (X related).
Updating motd:.
Configuring syscons: blanktime.
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:
10:a0:f5:af:93:ae:a3:1a:b2:bb:3c:35:d9:5a:b3:f3 root@machine3.example.com
The key's randomart image is:
+--[RSA1 1024]----+
|    o..          |
|   o . .         |
|  .   o          |
|       o         |
|    o   S        |
|   + + o         |
|o . + *          |
|o+ ..+ .         |
|==o..o+E         |
+-----------------+
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:
7e:1c:ce:dc:8a:3a:18:13:5b:34:b5:cf:d9:d1:47:b2 root@machine3.example.com
The key's randomart image is:
+--[ DSA 1024]----+
|       ..     . .|
|      o  .   . + |
|     . ..   . E .|
|    . .  o o . . |
|     +  S = .    |
|    +  . = o     |
|     +  . * .    |
|    . .  o .     |
|      .o. .      |
+-----------------+
Starting sshd.
Starting cron.
Starting background file system checks in 60 seconds.

Thu Oct  6 19:15:31 MDT 2011

FreeBSD/amd64 (machine3.example.com) (ttyv0)

login:

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, et seulement si sshd a été configuré pour démarrer automatiquement. Les démarrages suivants seront plus rapides.

FreeBSD n'installe pas d'environnement graphique par défaut, mais de nombreux sont disponibles. Consultez Chapitre 6, Le système X Window pour plus d'information.

3.9.9. Arrêt de FreeBSD

Arrêter proprement un ordinateur sous FreeBSD aide à protéger les données et même le matériel de tout dommage. Ne coupez pas directement l'alimentation. Si l'utilisateur est membre du groupe wheel, passez en super-utilisateur en tapant su sur la ligne de commande et en entrant le mot de passe de root. Sinon, ouvrez une session en tant que root et utilisez la commande shutdown -p now. Le système se fermera proprement et s'éteindra lui-même.

La combinaison de touches Ctrl+Alt+Del peut être employée pour redémarrer le système, mais n'est pas recommandée en utilisation normale.

3.10. Dépannage

La section suivante couvre le dépannage basique de l'installation, comme les problèmes courants rencontrés.

3.10.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é de 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ésents 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. La plupart des constructeurs de cartes mères ou d'ordinateur disposent d'un site web où peuvent être trouvées les mises à jour et les informations de mises à jour.

Les fabricants déconseillent fortement de mettre à jour le BIOS de la carte mère à moins d'avoir une bonne raison de le faire, comme une mise à jour critique. Le processus de mise à jour peut mal se passer, laissant un BIOS incomplet et l'ordinateur inutilisable.

3.10.2. Questions et réponses de dépannage

3.10.2.1. Mon système se bloque au démarrage pendant la détection du matériel, ou se comporte de manière étrange lors de l'installation.

3.10.2.1.

Mon système se bloque au démarrage pendant la détection du matériel, ou se comporte de manière étrange lors de l'installation.

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'ACPI peut être désactivé en positionnant le paramètre hint.acpi.0.disabled pour le chargeur de démarrage:

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 13.1, « Synopsis ».

3.11. Utilisation du CD Live

Un CD « live » de FreeBSD est disponible sur le même CD contenant le programme d'installation. C'est utile pour ceux qui se demandent si FreeBSD est le bon choix et désirent tester certaines fonctionnalités avant l'installation.

Note:

Les points suivants devront être pris en compte lors de l'utilisation du CD live:

  • Pour utiliser le système, une authentification est nécessaire. Le nom d'utilisateur est root, sans mot de passe.

  • Etant donné que le système s'exécute directement à partir du CD, le système sera bien plus lent que s'il était installé sur un disque dur.

  • Le CD live propose une invite de commande et pas d'interface graphique.

Chapitre 4. Quelques bases d'UNIX

Réécrit par Chris Shumway.

Version française de Marc Fonvieille .

4.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.

4.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.

4.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.

4.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.

4.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.

4.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).

4.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 13.6.2, « Mode mono-utilisateur ». 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.

4.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"

4.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:

ValeurPermissionContenu du répertoire
0Pas d'accès en lecture, pas d'accès en écriture, pas d'accès en exécution---
1Pas d'accès en lecture, pas d'accès en écriture, exécution--x
2Pas d'accès en lecture, écriture, pas d'accès en exécution-w-
3Pas d'accès en lecture, écriture, exécution-wx
4Lecture, pas d'accès en écriture, pas d'accès en exécutionr--
5Lecture, pas d'accès en écriture, exécutionr-x
6Lecture, écriture, pas d'accès en exécutionrw-
7Lecture, écriture, exécutionrwx

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).

4.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:

OptionLettreReprésente
(qui)uUtilisateur
(qui)gGroupe
(qui)oAutre
(qui)aTous (« le monde entier »)
(action)+Ajouter des permissions
(action)-Retirer des permissions
(action)=Fixe les permissions de façon explicite
(permissions)rLecture
(permissions)wEcriture
(permissions)xExécution
(permissions)tbit collant (sticky)
(permissions)sExé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

4.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.

4.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 4.5, « Organisation des disques ». 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 4.6.1, « Le fichier fstab ».

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épertoireDescription
/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/portsLe 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/ypTables NIS.

4.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.

PartitionConvention
aContient normalement le système de fichiers racine
bContient normalement l'espace de pagination
cNormalement 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.
dLa 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 4.1, « Codes des périphériques disques ».

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 4.1, « Exemples d'appellation de disques, tranches et partitions ».

L'Exemple 4.2, « Modèle conceptuel d'un disque » 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 4.1. Codes des périphériques disques
CodeSignification
adDisque ATAPI (IDE)
daDisque SCSI
acdCDROM ATAPI (IDE)
cdCDROM SCSI
fdLecteur de disquette

Exemple 4.1. Exemples d'appellation de disques, tranches et partitions
NomSignification
ad0s1aPremière partition (a) sur la première tranche (s1) du premier disque IDE (ad0).
da1s2eCinquième partition (e) sur la seconde tranche (s2) du deuxième disque SCSI (da1).

Exemple 4.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.


4.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.

4.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 19.2, « Noms des périphériques ».

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.

4.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.

4.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.

4.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.

4.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:

Procédure 4.1. 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.

4.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:

VariableDescription
USERLe nom d'utilisateur de la personne actuellement attachée au système.
PATHLa liste des répertoires, séparés par deux points, pour la recherche des programmes.
DISPLAYLe nom réseau de l'affichage X11 auquel on peut se connecter, si disponible.
SHELLLe nom de l'interpréteur de commandes actuellement utilisé.
TERMLe nom du type de terminal de l'utilisateur. Utilisé pour déterminer les capacités du terminal.
TERMCAPL'entrée de la base de données des codes d'échappement pour permettre l'exécution de diverses fonctions du terminal.
OSTYPEType du système d'exploitation, e.g. FreeBSD.
MACHTYPEL'architecture du CPU sur lequel tourne actuellement le système.
EDITORL'éditeur de texte préferé de l'utilisateur.
PAGERLe visualisateur de page de texte préferré de l'utilisateur.
MANPATHLa 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.

4.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.

4.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.

4.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.

4.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.

4.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.

4.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.

4.13. Pour plus d'information

4.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.

4.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 ?.



[1] C'est ce que signifie i386. Notez que même si vous ne faites pas tourner FreeBSD sur un CPU Intel 386, cela sera i386. Ce n'est pas le type de votre microprocesseur, mais “l'architecture” du microprocesseur qui est donnée ici.

[2] Les procédures de démarrage sont des programmes qui sont exécutés automatiquement par FreeBSD au démarrage. Leur fonction principale est de configurer le système pour permettre l'exécution de tout programme, et de démarrer tout service que vous avez configuré pour tourner en tâche de fond et exécuter des choses utiles.

[3] Une description assez technique et précise de tous les détails de la console FreeBSD et des pilotes de clavier peut être trouvée dans les pages de manuel de syscons(4), atkbd(4), vidcontrol(1) et kbdcontrol(1). Nous ne nous étendrons pas en détails ici, mais le lecteur intéressé peut toujours consulter les pages de manuel pour explication plus détaillée et plus complète sur le fonctionnement des choses.

[4] Ce n'est pas tout à fait vrai—il y a quelques cas où les choses ne peuvent être interrompues. Par exemple, si le processus est en train d'essayer de lire un fichier qui est sur un autre ordinateur sur le réseau, et que l'autre ordinateur n'est plus accessible pour quelque raison (a été éteint, ou le réseau a un problème), alors le processus est dit “non interruptible”. Par la suite le processus entrera en pause, typiquement après deux minutes. Dès que cette pause sera effective le processus sera tué.

Chapitre 5. Installer des applications: les logiciels pré-compilés et les logiciels portés

Version française de Marc Fonvieille .

5.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.

5.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 24,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.

5.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”.

5.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, « Installer des logiciels pré-compilés - “packages” ».

  • Les outils de gestion en ligne de commande des logiciels pré-compilés, qui sont le sujet de la suite de cette section.

5.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 5.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.

5.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.

SymboleSignification
=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.

5.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(1) a besoin du nom complet du paquetage et du numéro de version; la commande précédente n'aurait pas fonctionné avec xchat à la place de xchat-1.7.1. It est cependant facile de retrouver la version du paquetage installé à l'aide de la commande pkg_version(1). Vous pouvez à la place simplement utiliser un joker:

# pkg_delete xchat\*

dans ce cas, tous les logiciels dont le nom commence par xchat seront supprimés.

5.4.4. Divers

Toute l'information sur les logiciels pré-compilés est stockée dans le répertoire /var/db/pkg. La liste des fichiers installés pour chaque logiciel pré-compilé peut être trouvée dans des fichiers de ce répertoire.

5.5. Utiliser le catalogue des logiciels portés

Les sections suivantes fournissent des instructions de base sur l'utilisation du catalogue des logiciels portés pour installer et désinstaller des programmes sur votre système. Une description détaillée des cibles make et de variables d'environnement est disponible dans la page de manuel ports(7).

5.5.1. Obtenir le catalogue des logiciels portés

Avant que vous puissiez installer des logiciels portés, vous devez d'abord récupérer le catalogue des logiciels portés— qui est essentiellement un ensemble de Makefiles, de correctifs, et de fichiers de description habituellement placés dans /usr/ports.

Quand vous avez installé votre système FreeBSD, sysinstall vous a demandé si vous aimeriez installer le catalogue des logiciels portés. Si vous avez choisi non, vous pouvez suivre ces instructions pour obtenir le catalogue des logiciels portés:

Procédure 5.1. La méthode CVSup

C'est une méthode rapide pour récupérer le catalogue des logiciels portés en utilisant le protocole CVSup. Si vous voulez en apprendre plus au sujet de CVSup, lisez la section Utiliser CVSup.

Note:

L'implémentation du protocole CVSup présente dans le système de base de FreeBSD se nomme csup.

Assurez-vous que le répertoire /usr/ports est vide avant d'utiliser csup pour la première fois. Si vous avez déjà un catalogue des logiciels portés, obtenu à partir d'une autre source, csup n'effacera pas les correctifs qui ont été supprimés.

  1. Exécuter la commande csup:

    # csup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile

    Remplacez cvsup.FreeBSD.org avec un serveur CVSup proche de vous. Voir Sites CVSup (Section A.5.7, « Sites CVSup ») pour une liste complète des sites miroirs.

    Note:

    Certains peuvent vouloir utiliser leur propre ports-supfile, par exemple pour éviter d'avoir à passer le serveur CVSup sur la ligne de commande.

    1. Dans ce cas, en tant que root, copier /usr/share/examples/cvsup/ports-supfile à un nouvel emplacement, comme /root ou votre répertoire d'utilisateur.

    2. Editez ports-supfile.

    3. Remplacez CHANGE_THIS.FreeBSD.org avec un serveur CVSup proche de vous. Voir Sites CVSup (Section A.5.7, « Sites CVSup ») pour une liste complète des sites miroirs.

    4. Maintenant pour lancer csup, utilisez ce qui suit:

      # csup -L 2 /root/ports-supfile
  2. L'exécution ultérieure de csup(1) téléchargera et appliquera tous les changements récents à votre catalogue des logiciels portés sans pour autant recompiler vos logiciels.

Procédure 5.2. La méthode Portsnap

Portsnap est un système alternatif de distribution du catalogue des logiciels portés. Veuillez vous reporter à la section Utiliser Portsnap pour une description détaillée de toutes les caractéristiques de Portsnap.

  1. Téléchargez un instantané compressé du catalogue des logiciels portés dans le répertoire /var/db/portsnap. Vous pouvez vous déconnecter de l'Internet, si vous le désirez, après cette opération:

    # portsnap fetch
  2. Si vous exécutez Portsnap pour la première fois, il faut extraire l'instantané dans le répertoire /usr/ports:

    # portsnap extract

    Si votre répertoire /usr/ports contient déjà une version du catalogue des logiciels portés et que vous désirez juste mettre à jour, utilisez plutôt la commande:

    # portsnap update
Procédure 5.3. La méthode Sysinstall

Cette méthode implique l'utilisation de sysinstall pour installer le catalogue des logiciels portés à partir du disque d'installation. Il faut noter que la version du catalogue qui sera installée est la version datant de la publication de votre disque d'installation. Si vous disposez d'un accès à l'Internet, vous devriez toujours utiliser une des méthodes précédemment exposées.

  1. En tant que root, lancez sysinstall comme montré ci-dessous:

    # sysinstall
  2. Faites défiler l'écran vers le bas et sélectionnez Configure, appuyez sur Entrée.

  3. Faites défiler l'écran vers le bas et sélectionnez Distributions, appuyez sur Entrée.

  4. Faites défiler l'écran vers le bas jusqu'à ports, appuyez sur Espace.

  5. Remontez jusqu'à Exit, appuyez sur Entrée.

  6. Choisissez le support d'installation désiré, comme un CDROM, par FTP, etc.

  7. Remontez jusqu'à Exit et appuyez sur Enter.

  8. Appuyez sur la touche X pour quitter sysinstall.

5.5.2. Installation de logiciels portés

La première chose qui devrait être expliquée quand on aborde le catalogue des logiciels portés est ce que l'on entend par “squelette”. En bref, un squelette est un ensemble minimal de fichiers qui indique à votre système FreeBSD comment compiler et installer proprement un programme. Chaque squelette contient:

  • Un fichier Makefile. Le fichier Makefile contient les diverses déclarations qui indiquent comment l'application devrait être compilée et où elle devrait être installée sur votre système.

  • Un fichier distinfo. Ce fichier contient l'information à propos des fichiers qui doivent être téléchargés pour compiler le logiciel, et leurs sommes de contrôle (en utilisant sha256(1)), pour s'assurer que ces fichiers n'ont pas été corrompus durant le téléchargement.

  • Un répertoire files. Ce répertoire contient les correctifs pour permettre la compilation et l'installation du programme sur votre système FreeBSD. Les correctifs sont à la base de petits fichiers qui indiquent des modifications sur des fichiers particuliers. Ils sont sous forme de fichiers texte, qui disent “Effacer la ligne 10” ou “Modifier la ligne 26 par...”. Les correctifs sont également connus sous le nom de “diffs” car ils sont générés par le programme diff(1).

    Ce répertoire peut également contenir d'autres fichiers utilisés pour la compilation du logiciel porté.

  • Un fichier pkg-descr. C'est une description plus détaillée du programme, souvent en plusieurs lignes.

  • Un fichier pkg-plist. C'est une liste de tous les fichiers qui seront installés par le logiciel porté. Il indique également au système des logiciels portés quels fichiers sont à effacer lors d'une désinstallation.

Certains logiciels portés utilisent d'autres fichiers, comme pkg-message. Le catalogue des logiciels portés utilise ces fichiers pour faire face à certaines situations spéciales. Si vous désirez plus de détails au sujet de ces fichiers, et sur les logiciels portés en général, consultez le Manuel du développeur de logiciels portés.

Le logiciel porté contient les instructions pour compiler le code source, mais ne contient pas le code source. Vous pouvez obtenir le code source à partie d'un CDROM ou de l'Internet. Le code source est distribué de la façon dont l'auteur le désire. Fréquemment c'est une archive tar compressée avec gzip, mais elle pourra être compressée avec un autre outil ou même non compressée. Le code source d'un programme, peu importe la forme sous laquelle il est distribué, est appelé un fichier “distfile”. Les deux méthodes pour l'installation d'un logiciel porté pour FreeBSD sont décrites ci-dessous.

Note:

Vous devez avoir ouvert une session sous l'utilisateur root pour installer des logiciels portés.

Avertissement:

Avant d'installer un logiciel porté, vous devez vous assurer d'avoir un catalogue des logiciels portés à jour et vous devez consulter http://vuxml.freebsd.org/ pour les problèmes de sécurité relatifs à votre logiciel.

Un contrôle des problèmes de sécurité peut être effectué automatiquement par portaudit avant toute nouvelle installation d'application. Cet outil peut être trouvé dans le catalogue des logiciels porté (security/portaudit). Vous pouvez lancer portaudit -F avant l'installation d'un nouveau logiciel porté, pour télécharger la base de données actualisée des vulnérabilités. Un audit de sécurité et une mise à jour de la base de données sera effectuée lors du contrôle quotidien de sécurité de la machine. Pour plus d'informations, lisez les pages de manuel portaudit(1) et periodic(8).

Le catalogue des logiciels portés suppose que vous disposez d'une connection active à l'Internet. Si ce n'est pas le cas, vous devez placer manuellement une copie du distfile dans le répertoire /usr/ports/distfiles.

Pour commencer, rendez-vous dans le répertoire du logiciel porté que vous voulez installer:

# cd /usr/ports/sysutils/lsof

Une fois à l'intérieur du répertoire lsof vous verrez le squelette du logiciel porté. L'étape suivante est de compiler (également appelé la “construction”) le logiciel porté. Cela est fait en tapant simplement make à l'invite. Une fois que c'est fait, vous devriez voir quelque chose comme ceci:

# make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.
===>  Extracting for lsof-4.57
...
[extraction output snipped]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===>  Patching for lsof-4.57
===>  Applying FreeBSD patches for lsof-4.57
===>  Configuring for lsof-4.57
...
[configure output snipped]
...
===>  Building for lsof-4.57
...
[compilation output snipped]
...
#

Notez qu'une fois la compilation terminée, vous vous retrouvez face à l'invite. L'étape suivante est d'installer le logiciel porté. Afin de l'installer, vous devez juste ajouter un mot à la commande make, et ce mot est install:

# make install
===>  Installing for lsof-4.57
...
[installation output snipped]
...
===>   Generating temporary packing list
===>   Compressing manual pages for lsof-4.57
===>   Registering installation for lsof-4.57
===>  SECURITY NOTE:
      This port has installed the following binaries which execute with
      increased privileges.
#

Une fois de retour à l'invite, vous devriez être en mesure d'exécuter l'application que vous venez juste d'installer. Comme lsof est un programme qui tourne avec des privilèges accrus, un avertissement sur la sécurité est affiché. Durant la compilation et l'installation de logiciels portés, vous devriez faire attention à tout avertissement qui pourrait apparaître.

Il est conseillé de supprimer le sous-répertoire de travail, qui contient tous les fichiers temporaires utilisés lors de la compilation. Non seulement cela consomme de l'espace disque, mais cela posera problème plus tard lors de la mise à jour vers une nouvelle version du logiciel porté.

# make clean
===>  Cleaning for lsof-4.57
#

Note:

Vous pouvez vous économiser deux étapes supplémentaires en lançant juste make install clean à la place de make, make install et make clean sous la forme de trois étapes séparées.

Note:

Certains interpréteurs de commandes maintiennent un cache des commandes qui sont disponibles dans les répertoires listés dans la variable d'environnement PATH, pour accélérer les opérations de recherche des fichiers exécutables de ces commandes. Si vous utilisez un de ces interpréteurs de commandes, vous pourrez avoir à utiliser la commande rehash après l'installation d'un logiciel porté, avant que la commande fraîchement installée ne puisse être utilisée. Cette commande fonctionnera pour les interpréteurs de commandes comme tcsh. Utilisez la commande hash -r pour les interpréteurs tels que sh. Consultez la documentation de votre interpréteur de commandes pour plus d'information.

Certains DVD-ROMs comme le FreeBSD Toolkit de FreeBSD Mall contiennent des distfiles. Ils peuvent être utilisés avec le catalogue des logiciels portés. Montez le DVD-ROM sous /cdrom. Si vous utilisez un point de montage différent, positionnez la variable make(1) CD_MOUNTPTS. Les distfiles nécessaires seront automatiquement utilisés s'ils sont présent sur le disque.

Note:

Soyez conscient que les licences de quelques logiciels portés n'autorisent pas leur présence sur le CD-ROM. Cela peut être dû à la nécessité de remplir un formulaire d'enregistrement avant le téléchargement, ou que la redistribution n'est pas permise, ou toute autre raison. Si vous désirez installer un logiciel porté qui n'est pas disponible sur le CD-ROM, vous devrez vous connecter afin de récupérer les fichiers nécessaires.

Le catalogue des logiciels portés utilise fetch(1) 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.

Pour les utilisateurs qui ne peuvent rester connectés à l'Internet indéfiniment, il existe la commande make fetch. Exécutez cette commande à la base du catalogue des logiciels portés (/usr/ports) et les fichiers nécessaires seront téléchargés. Cette commande fonctionnera également dans les sous-répertoires du catalogue, par exemple: /usr/ports/net. Notez que si un logiciel porté dépend de bibliothèques particulières ou d'autres logiciels portés, cette commande de récupérera pas les sources de ces logiciels. Remplacez fetch par fetch-recursive si vous voulez récupérer également les sources des logiciels dont dépend un logiciel porté.

Note:

Vous pouvez compiler tous les logiciels d'une catégorie ou de l'ensemble du catalogue en exécutant la commande make dans un répertoire de base, juste comme la commande make fetch précédente. C'est, cependant, une idée dangereuse étant donné que certains logiciels portés ne peuvent coexister. Dans d'autres cas, certains logiciels portés peuvent installer des fichiers différents ayant le même nom.

Dans de rares cas les utilisateurs peuvent vouloir récupérer les archives à partir d'un site différent du MASTER_SITES par défaut (l'emplacement par défaut à partir duquel les fichiers sont téléchargés). Vous pouvez surcharger l'option MASTER_SITES avec la commande suivante:

# cd /usr/ports/répertoire
# make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch

Dans cet exemple nous modifions la valeur par défaut de l'option MASTER_SITES pour ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.

Note:

Certains logiciels portés autorisent (ou même nécessitent) des options de compilation qui permettent l'activation/désactivation de parties de l'application qui ne sont pas nécessaires, de certaines options de sécurité, et autres personnalisations. Quelques noms de logiciels viennent immédiatement à l'esprit: www/mozilla, security/gpgme, et mail/sylpheed-claws. Un message sera affiché quand de telles options sont disponibles.

5.5.2.1. Modifier les répertoires par défaut des logiciels portés

Il est parfois utile (ou obligatoire) d'utiliser des répertoires de travail ou cible différents. Les variables WRKDIRPREFIX et PREFIX permettent de modifier les répertoires par défaut. Par exemple:

# make WRKDIRPREFIX=/usr/home/example/ports install

compilera le logiciel dans le répertoire /usr/home/example/ports et installera tout dans /usr/local.

# make PREFIX=/usr/home/example/local install

le compilera dans /usr/ports et l'installera dans /usr/home/example/local.

Et bien sûr

# make WRKDIRPREFIX=../ports PREFIX=../local install

combinera les deux (c'est trop long pour tenir sur cette page, mais cela devrait vous donner une idée générale).

Alternativement, ces variables peuvent également être configurées dans votre environnement. Consultez la page de manuel de votre interpréteur de commandes pour des instructions sur la procédure à suivre.

5.5.2.2. Travailler avec imake

Certains logiciels portés qui utilisent imake (une partie du système X Window) ne fonctionnent pas correctement avec la variable PREFIX, et insisteront pour s'installer sous /usr/X11R6. De façon similaire, certains logiciels Perl ignorent PREFIX et s'installent dans l'arborescence Perl. Faire en sorte que ces logiciels portés respectent PREFIX est une tâche difficile voire impossible.

5.5.2.3. Reconfigurer les logiciels portés

Lors de la compilation de certains logiciels portés, un menu ncurses(3) pourra s'afficher et à partir de celui-ci vous pourrez sélectionner certaines options de compilation. Il n'est pas inhabituel pour les utilisateurs de vouloir revoir ce menu pour ajouter, supprimer, ou modifier ces options après la compilation d'un logiciel. Il y a plusieurs manières pour y parvenir. Une possibilité est de se rendre dans le répertoire contenant le logiciel porté et de taper make config, qui affichera à nouveau le menu avec les mêmes options sélectionnées. Une autre possibilité est d'utiliser make showconfig qui vous affichera toutes les options de configuration pour le logiciel porté. Enfin, une autre possibilité est d'exécuter make rmconfig qui supprimera toutes les options sélectionnées et permettra donc de repartir à zéro. Toutes ces options, et bien d'autres, sont détaillées dans la page de manuel ports(7).

5.5.3. Supprimer des logiciels portés installés

Maintenant que vous savez comment installer des logiciels portés, vous vous demandez probablement comment les effacer, juste au cas où vous en installez un et plus tard vous vous apercevez que vous n'avez pas installé le bon logiciel porté. Nous désinstallerons notre exemple précédent (qui était lsof pour ceux d'entre vous qui n'ont pas suivi). Les logiciels portés sont supprimés de la même manière que pour les logiciels pré-compilés (comme décrit dans la section Utiliser le système des logiciels pré-compilés) en utilisant la commande pkg_delete(1):

# pkg_delete lsof-4.57

5.5.4. Mise à jour des logiciels portés

Tout d'abord, listez les logiciels portés périmés dont une nouvelle version est disponible dans le catalogue des logiciels portés à l'aide de la commande pkg_version(1):

# pkg_version -v

5.5.4.1. /usr/ports/UPDATING

Une fois que vous avez mis à jour le catalogue des logiciels portés, avant de tenter la mise à jour d'un logiciel porté, vous devrez consulter le fichier /usr/ports/UPDATING. Ce fichier décrit les divers problèmes et les étapes supplémentaires que les utilisateurs pourront rencontrer ou devront effectuer lors de la mise à jour un logiciel porté, comme la modification de format de fichiers, le changement des emplacements des fichiers de configuration, ou des incompatibilités avec les versions antérieures.

Si le contenu du fichier UPDATING prime même s'il est en est en contradiction avec des informations présentées ici.

5.5.4.2. Mise à jour des logiciels portés à l'aide de portupgrade

Le logiciel portupgrade a été conçu pour une mise à jour aisée des logiciels portés installés. Il est disponible via le logiciel porté ports-mgmt/portupgrade. Installez-le de la même manière que pour n'importe quel autre logiciel en employant la commande make install clean:

# cd /usr/ports/ports-mgmt/portupgrade
# make install clean

Ensuite, parcourez la liste des logiciels installés avec la commande pkgdb -F et corrigez toutes les inconsistances qu'il signale. C'est une bonne idée d'effectuer ce contrôle régulièrement avant chaque mise à jour.

En lançant portupgrade -a, portupgrade mettra à jour tous les logiciels portés périmés installés sur votre système. Ajoutez l'indicateur -i si vous voulez être consulté pour confirmer chaque mise à jour individuelle.

# portupgrade -ai

Si vous désirez mettre à jour qu'une seule application bien particulière et non pas l'intégralité des applications, utilisez la commande: portupgrade nom_du_logiciel_porté. Ajoutez l'option -R si portupgrade doit mettre à jour en premier lieu tous les logiciels portés nécessaires à l'application.

# portupgrade -R firefox

Pour utiliser les versions pré-compilées plutôt que les logiciels portés pour l'installation, utilisez l'option -P. Avec cette option portupgrade cherche les répertoires locaux listé dans la variable PKG_PATH, ou récupère les paquetages à partir d'un site distant s'ils ne sont pas trouvés localement. Si les paquetages ne peuvent pas être trouvés localement ou récupérés à distance, portupgrade utilisera les logiciels portés. Pour éviter l'usage des logiciels portés, spécifiez l'option -PP.

# portupgrade -PP gnome2

Pour juste récupérer les sources (ou les paquetages, si l'option -P est utilisée) sans compiler ni installer quelque chose, utilisez -F. Pour plus d'informations consultez la page de manuel portupgrade(1).

5.5.4.3. Mise à jour des logiciels portés à l'aide de Portmanager

Portmanager est un autre utilitaire de mise à jour aisée des logiciels portés installés. Il est disponible via le logiciel portés ports-mgmt/portmanager:

# cd /usr/ports/ports-mgmt/portmanager
# make install clean

Tous les logiciels portés installés peuvent être mis à jour en utilisant cette simple commande:

# portmanager -u

Vous pouvez ajouter l'option -ui pour être sollicité pour une confirmation à chaque opération qu'effectuera Portmanager. Portmanager peut également être employé pour installer de nouveaux logiciels portés sur le système. Contrairement à la commande make install clean habituelle, il mettra à jour toutes les dépendances avant de compiler et d'installer le logiciel sélectionné.

# portmanager x11/gnome2

Si des problèmes concernant les dépendances du logiciel porté sélectionné apparaissent, vous pouvez utiliser Portmanager pour toutes les recompiler dans le bon ordre. Cette recompilation achevée, le logiciel porté en question peut alors être à son tour recompilé.

# portmanager graphics/gimp -f

Pour plus d'information, consultez la page de manuel de Portmanager.

5.5.4.4. Mise à jour des logiciels portés à l'aide de Portmaster

Portmaster est un autre utilitaire destiné à la mise à jour des logiciels installés. Portmaster a été conçu pour utiliser les outils présents dans le système de « base » (il ne dépend pas d'un autre logiciel porté) et utilise les informations contenues dans le répertoire /var/db/pkg/ pour déterminer quel logiciel doit être mis à jour. Il est disponible à partir du logiciel porté ports-mgmt/portmaster:

# cd /usr/ports/ports-mgmt/portmaster
# make install clean

Portmaster répartit les logiciels portés en quatre catégories:

  • logiciels dits « Root » (pas de dépendance, aucun logiciel n'en dépend);

  • logiciels dits « Trunk » (pas de dépendance, d'autres logiciels en dépendent);

  • logiciels dits « Branch » (ont des dépendances, d'autres logiciels en dépendent);

  • logiciels dits « Leaf » (ont des dépendances, aucun logiciel n'en dépend).

Vous pouvez lister tous les logiciels installés et rechercher les mises à jour en utilisant l'option -L:

# portmaster -L
===>>> Root ports (No dependencies, not depended on)
===>>> ispell-3.2.06_18
===>>> screen-4.0.3
        ===>>> New version available: screen-4.0.3_1
===>>> tcpflow-0.21_1
===>>> 7 root ports
...
===>>> Branch ports (Have dependencies, are depended on)
===>>> apache-2.2.3
        ===>>> New version available: apache-2.2.8
...
===>>> Leaf ports (Have dependencies, not depended on)
===>>> automake-1.9.6_2
===>>> bash-3.1.17
        ===>>> New version available: bash-3.2.33
...
===>>> 32 leaf ports

===>>> 137 total installed ports
        ===>>> 83 have new versions available

L'ensemble des logiciels portés installés peut être mis à jour en utilisant cette simple commande:

# portmaster -a

Note:

Par défaut Portmaster fera une sauvegarde avant la suppression d'un logiciel porté. Si l'installation de la nouvelle version se passe correctement, Portmaster supprimera la sauvegarde. L'option -b demandera à Portmaster de ne pas supprimer automatiquement la sauvegarde. L'ajout de l'option -i lancera Portmaster en mode interactif, vous serez alors sollicité avant la mise à jour de chaque logiciel.

Si vous rencontrez des erreurs lors du processus de mise à jour, vous pouvez utiliser l'option -f pour mettre à jour ou recompiler tous les logiciels installés:

# portmaster -af

Vous pouvez également employer Portmaster pour installer de nouveaux logiciels portés en mettant à jour toutes les dépendances avant la compilation et l'installation du nouveau logiciel:

# portmaster shells/bash

Pour plus d'information veuillez consulter la page de manuel portmaster(8).

5.5.5. Logiciels portés et espace disque

A la longue, l'utilisation du catalogue des logiciels portés consommera rapidement votre espace disque. Après la compilation et l'installation de logiciels à partir du catalogue des logiciels portés, vous devriez toujours penser à supprimer les répertoires de travail temporaires, work, en utilisant la commande make clean. Vous pouvez balayer l'intégralité du catalogue des logiciels portés pour supprimer tous les répertoires temporaires oubliés précédement, employez alors la commande suivante:

# portsclean -C

Avec le temps, vous accumulerez beaucoup de fichiers sources obsolètes dans le répertoire distfiles. Vous pouvez les supprimer manuellement, ou vous pouvez utiliser la commande suivante pour effacer toutes les sources qui ne correspondent plus à des logiciels portés d'actualité:

# portsclean -D

Ou pour supprimer les fichiers sources ne correspondant à aucun logiciel installé sur votre systèmes.

Note:

L'utilitaire portsclean fait partie de la suite portupgrade.

Pensez à supprimer les logiciels portés installés que vous n'utilisez plus. Un outil qui permet d'automatiser cette tâche est disponible via le logiciel porté ports-mgmt/pkg_cutleaves.

5.6. Activités de post-installation

Après l'installation d'une nouvelle application vous voudrez normalement lire la documentation qui a pu être également installée, éditer les fichiers de configuration nécessaires, vérifier que l'application est lancée au démarrage (si c'est un daemon), et ainsi de suite.

Les étapes que vous devez suivre pour configurer chaque application seront bien évidemment différentes. Cependant, si vous venez juste d'installer une nouvelle application et que vous vous demandez “Et maintenant?” les astuces suivantes pourront vous aider:

  • Utilisez pkg_info(1) pour déterminer quels fichiers ont été installés et à quel endroit. Par exemple, si vous venez juste d'installer FooPackage version 1.0.0, alors la commande

    # pkg_info -L foopackage-1.0.0 | less

    affichera tous les fichiers installés par le logiciel pré-compilé. Portez une attention toute particulière aux fichiers dans les répertoires man/, qui seront des pages de manuel, dans les répertoires etc/ , qui seront des fichiers de configuration, et dans doc/ qui seront de la documentation plus complète.

    Si vous n'êtes pas sûr de la version de l'application qui vient juste d'être installée, une commande comme

    # pkg_info | grep -i foopackage

    déterminera tous les logiciels pré-compilés installés qui ont foopackage dans leur nom. Remplacez foopackage dans votre ligne de commande par ce qui convient.

  • Une fois que vous avez identifié où les pages de manuel de l'application ont été installées, consultez-les en utilisant la commande man(1). De même, jetez un coup d'oeil aux exemples de fichiers de configuration, et toute autre documentation additionnelle qui peut avoir été fournie.

  • Si l'application a un site web, consultez-le pour de la documentation supplémentaire, des listes de questions fréquemment posées, etc. Si vous n'êtes pas sûr de l'adresse du site web, elle peut être affichée dans le résultat de la commande:

    # pkg_info foopackage-1.0.0

    La ligne WWW:, si elle est présente, devrait donner l'URL du site web de l'application.

  • Les logiciels qui doivent être lancés au démarrage (comme les serveurs Internet) installent généralement un exemple de procédure de lancement dans le répertoire /usr/local/etc/rc.d. Vous devriez contrôler si ce fichier est correct et l'éditer ou le renommer si nécessaire. Consultez la section Démarrer des services pour plus d'informations.

5.7. Que faire avec les logiciels portés ne fonctionnant pas?

Si vous rencontrez un portage qui ne fonctionne pas, il y a certaines choses que vous pouvez faire:

  1. Vérifiez s'il n'y a pas de correctif en attente pour le logiciel porté dans la base des rapports de bogue. Si c'est le cas, il se peut que vous puissiez utiliser le correctif proposé.

  2. Demandez l'aide du responsable du logiciel porté. Tapez la commande make maintainer ou lisez le fichier Makefile pour trouver l'adresse électronique du responsable. Pensez à préciser le nom et la version du logiciel porté (envoyer la ligne $FreeBSD: du fichier Makefile) et les messages d'erreurs quand vous écrivez au responsable.

    Note:

    Certains logiciels portés ne sont pas maintenus par une personne mais par une liste de diffusion. Plusieurs, si ce n'est toutes, les adresses de ces listes ressemblent à . Veuillez prendre cela en compte en rédigeant vos questions.

    En particulier, les logiciels portés apparaissant comme maintenus par ne sont en fait maintenus par personne. Correctifs et aide, s'ils y en a, provient de la communauté qui est abonnée à cette liste de diffusion. Des volontaires supplémentaires sont toujours les bienvenus!

    Si vous n'obtenez pas de réponse, vous pouvez utiliser send-pr(1) pour soumettre un rapport de bogue (consultez Ecrire des rapports de bogue pour FreeBSD).

  3. Corrigez le problème! Le Manuel du développeur de logiciels portés inclut des informations détaillées sur l'infrastructure des logiciels portés vous permettant de corriger le portage éventuellement défectueux ou même soumettre le votre!

  4. Récupérez la version pré-compilée sur un serveur FTP proche de vous. Le catalogue de “référence” des logiciels pré-compilés se trouve sur ftp.FreeBSD.org dans le répertoire packages, mais vérifiez d'abord votre miroir local! Il y a globalement plus de chances que cela marche, que d'essayez de compiler à partir des sources, et cela va également beaucoup plus vite. Utilisez le programme pkg_add(1) pour installer le logiciel pré-compilé sur votre système.

Chapitre 6. Le système X Window

Mis à jour pour le serveur X11 d'X.Org par Ken Tom et Marc Fonvieille.

Version française de Marc Fonvieille .

6.1. Synopsis

FreeBSD utilise X11 pour fournir aux utilisateurs une interface graphique puissante. X11 est une version libre du système X Window qui est implémentée dans Xorg et XFree86 (et d'autres logiciels qui ne seront pas abordés ici). Les versions de FreeBSD jusqu'à FreeBSD 5.2.1-RELEASE utilisent par défaut XFree86, le serveur X11 publié par le projet XFree86™. Depuis FreeBSD 5.3-RELEASE, la version officielle par défaut d'X11 a été remplacée par Xorg, le serveur X11 de la fondation X.Org qui est disponible sous une license semblable à celle de FreeBSD. Des serveurs X commerciaux pour FreeBSD sont également disponibles.

Ce chapitre couvrira l'installation et la configuration d'X11 avec en insistant sur Xorg version 7.7. Pour des informations sur la configuration d'XFree86 (c'est à dire sur d'anciennes versions de FreeBSD où XFree86 était la distribution X11 par défaut) ou d'anciennes versions de Xorg, il est toujours possible de consulter les versions archivées de ce manuel à l'adresse http://docs.FreeBSD.org/doc/.

Pour plus d'informations sur le matériel vidéo supporté par X11, consultez le site d'Xorg.

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

  • Les divers composants du système X Window et comment ils fonctionnent ensemble.

  • Comment installer et configurer X11.

  • Comment installer et utiliser différents gestionnaires de fenêtres.

  • Comment utiliser les polices de caractères TrueType® sous X11.

  • Comment configurer votre système pour l'utilisation de procédures de connexions graphiques (XDM).

Avant de lire ce chapitre, vous devrez:

6.2. Comprendre X

Utiliser X pour la première fois peut être en quelque sorte un choc pour quelqu'un de familier avec d'autres environnements graphiques, tels que Microsoft® Windows® ou Mac OS®.

Alors qu'il n'est pas nécessaire de comprendre tout le détail des divers composants de X ni comment ils interagissent entre eux, une certaine connaissance des bases permet de tirer profit des points forts d'X.

6.2.1. Pourquoi X?

X n'est pas le premier système de fenêtrage écrit pour UNIX®, mais c'est le plus populaire d'entre eux. L'équipe originelle de développement d'X avait travaillé sur un autre système de fenêtrage avant d'écrire X. Le nom de ce système était « W » (pour « Window » - fenêtre). X était juste la lettre suivante dans l'alphabet romain.

X peut être appelé “X”, “Système X Window”, « X11 », et sous d'autres noms. Il se peut que vous puissiez trouver que nommer X11 « X Windows » peut être offensant pour certaines personnes; consultez X(7) pour un peu plus d'éclairements sur la question.

6.2.2. Le modèle client/serveur d'X

X a été conçu dès le départ autour de la notion de réseau, et adopte un modèle « client-serveur ».

Dans le modèle X, le “serveur X” tourne sur l'ordinateur sur lequel sont branchés le clavier, le moniteur, et la souris. Le serveur est responsable de tâches telles que la gestion de l'affichage, des entrées en provenance du clavier et de la souris, et d'autres périphériques d'entrée ou de sortie (une « tablette » peut être utilisée comme périphérique d'entrée et un vidéo-projecteur peut être un périphérique de sortie alternatif). Chaque application X (comme XTerm, ou Netscape®) est un “client”. Un client envoie des messages au serveur comme “Dessines une fenêtre aux coordonnées suivantes”, et le serveur envoie au client des messages du type “L'utilisateur vient de cliquer sur le bouton OK”.

Chez soi ou dans un petit bureau, le serveur X et les clients X tourneront presque toujours sur le même ordinateur. Cependant, il est parfaitement possible de faire tourner le serveur X sur un ordinateur de bureau moins puissant, et les applications X (les clients) sur, par exemple, la machine puissante et chère du service. Dans ce scénario la communication entre le client X et le serveur se fera par l'intermédiaire du réseau.

Cela jette le trouble chez certaines personnes, parce que la technologie X est exactement le contraire de ce à quoi ils s'attendent. Ils s'attendent à ce que le “serveur X” soit la grosse machine puissante au fond du couloir, et le “client X” la machine sur leur bureau.

Il est important de se souvenir que le serveur X est la machine avec le moniteur et le clavier, et les clients X sont les programmes qui affichent les fenêtres.

Il n'y a rien dans le protocole qui force les machines clientes et serveurs d'utiliser le même système d'exploitation, ou même de tourner sur le même type d'ordinateur. Il est certainement possible de faire fonctionner un serveur X sur Microsoft® Windows® ou Mac OS® d'Apple, et il existe diverses applications gratuites et commerciales qui font exactement cela.

6.2.3. Le gestionnaire de fenêtres

La philosophie de conception d'X est comme celle d'UNIX®, “des outils, pas de contraintes”. Cela signifie qu'X n'essaye pas de dicter comment une tâche doit être accomplie. A la place, les outils sont fournis à l'utilisateur, et c'est à lui de décider comment utiliser ces outils.

Cette philosophie va jusqu'à pousser X à ne pas contrôler l'aspect des fenêtres à l'écran, comment les déplacer avec la souris, quelles combinaisons de touches devraient être utilisées pour passer de l'une à l'autre (i.e., Alt+Tab, dans le cas de Microsoft® Windows®), comment devraient être les barres de titre de chaque fenêtres, qu'elles aient ou pas des boutons de fermetures, etc...

Au lieu de cela, X délègue cette responsabilité à une application appelée un “Window Manager” - gestionnaire de fenêtres. Il existe des douzaines de gestionnaires de fenêtres disponibles pour X: AfterStep, Blackbox, ctwm, Enlightenment, fvwm, Sawfish, twm, Window Maker, et bien plus. Chacun de ces gestionnaires de fenêtres fournit une apparence et une prise en main différente; certains d'entre eux supportent les “bureaux virtuels”; d'autres permettent de personnaliser les combinaisons de touches de gestion du bureau; certains ont un bouton “Démarrer” ou quelque chose d'identique; certains possèdent un système de “thèmes”, permettant un changement complet d'apparence et de prise en main en sélectionnant un nouveau thème. Ces gestionnaires de fenêtres, et bien plus, sont disponibles dans la catégorie x11-wm du catalogue des logiciels portés.

De plus, les environnements de travail KDE et GNOME ont leur propre gestionnaire de fenêtres qui s'intègre avec l'environnement.

Chaque gestionnaire de fenêtres possède également un mécanisme de configuration propre; certains demandent un fichier de configuration écrit à la main, d'autres disposent d'outils graphiques pour la plupart des tâches de configuration; et au moins un (Sawfish) utilise un fichier de configuration écrit dans un dialecte du langage LISP.

Politique de focus:

Une autre fonction dont est responsable le gestionnaire de fenêtre est la “politique de focus” de la souris. Chaque système de fenêtrage a besoin de méthodes de choix de la fenêtre qui doit recevoir les frappes au clavier, et devrait également indiquer visiblement quelle fenêtre est active.

Une politique de focus commune est appelée “click-to-focus” (cliquer pour obtenir le focus). C'est le mode utilisé sous Microsoft® Windows®, dans lequel une fenêtre devient active quand elle reçoit un clic de la souris.

X ne supporte aucune politique de focus particulière. Au lieu de cela, le gestionnaire de fenêtres contrôle quelle fenêtre a le focus à n'importe quel moment. Différents gestionnaires de fenêtres supporteront différentes méthodes de focus. Tous supportent le clic pour obtenir le focus, une grande majorité supporte d'autres méthodes.

Les politiques de focus les plus populaires sont:

“focus-follows-mouse” - le focus suit la souris

La fenêtre qui est sous le pointeur de la souris est la fenêtre qui a le focus. Ce n'est pas nécessairement la fenêtre qui est au-dessus des autres. Le focus est modifié en pointant une autre fenêtre, là il n'y pas besoin de cliquer sur la fenêtre.

“sloppy-focus” - focus relâché

Cette politique est version dérivée du “focus-follows-mouse”. Avec “focus-follows-mouse”, si la souris est déplacée sur la fenêtre racine (ou fond de l'écran) alors aucune fenêtre n'a le focus, et les frappes au clavier sont tout simplement perdues. Avec le focus relâché, le focus n'est modifié que si le pointeur passe sur une nouvelle fenêtre, et non pas quand il quitte la fenêtre actuelle.

“click-to-focus” - cliquer pour obtenir le focus

La fenêtre active est sélectionnée par clic de la souris. La fenêtre peut être ramenée au premier plan. Toutes les frappes au clavier seront désormais dirigées vers cette fenêtre, même si le curseur est déplacé vers une autre fenêtre.

De nombreux gestionnaires de fenêtres supportent d'autres politiques, comme des variations de celles-ci. Assurez-vous de consulter la documentation du gestionnaire de fenêtres.

6.2.4. “Widgets” - Eléments graphiques

L'approche d'X d'offrir uniquement des outils s'étend aux éléments graphiques que l'on voit à l'écran dans chaque application.

“Widget” est un terme pour désigner tous les éléments de l'interface utilisateur qui peuvent être cliqués ou manipulés d'une façon ou d'une autre; boutons, boîtes à cocher, boutons radio, icônes, listes, etc... Microsoft® Windows® appelle ces derniers des “contrôles”.

Microsoft® Windows® et Mac OS® d'Apple ont tous deux une politique très rigide au niveaux des éléments graphiques. Les développeurs d'applications sont supposés s'assurer que leurs applications partagent une apparence et une prise en main commune. Avec X, on n'a pas considéré comme sensible d'exiger un style graphique particulier, ou ensemble d'éléments graphiques à respecter.

En conséquence, ne vous attendez pas à ce que les applications X aient une apparence et une prise en main communes. Il a plusieurs ensembles populaires d'éléments graphiques et leurs variations, dont l'ensemble d'éléments original Athena du MIT, Motif® (d'après lequel fût modelé l'ensemble d'éléments graphiques de Microsoft® Windows®, tous les bords biseautés et trois nuances de gris), OpenLook, et d'autres.

La plupart des nouvelles applications X, aujourd'hui utiliseront un ensemble d'éléments graphiques à l'apparence moderne, soit Qt, utilisé par KDE, soit GTK+, utilisé par le projet GNOME. A cet égard, il y a une certaine convergence dans l'apparence et la prise en main de l'environnement de travail UNIX®, qui facilite certainement les choses pour l'utilisateur débutant.

6.3. Installer X11

Xorg est l'implémentation par défaut d'X11 sous FreeBSD. Xorg est le serveur X de l'implémentation open source du système X Window publiée par la fondation X.Org. Xorg est basée sur le code de XFree86™ 4.4RC2 et d'X11R6.6. la version d'Xorg actuellement disponible dans le catalogue des logiciels portés de FreeBSD est la 7.7.

Pour compiler et installer Xorg à partir du catalogue des logiciels portés:

# cd /usr/ports/x11/xorg
# make install clean

Note:

Pour compiler Xorg dans son intégralité, assurez-vous de disposer d'au moins 4 Go d'espace libre.

D'autre part, X11 peut être directement installée à partir de paquetages. Une version pré-compilée à utiliser avec l'outil pkg_add(1) est également disponible pour X11. Quand la fonction de récupération à distance de pkg_add(1) 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.

Donc pour récupérer et installer la version pré-compilée d'Xorg, tapez simplement:

# pkg_add -r xorg

Note:

Les exemples ci-dessus installeront la distribution complète d'X11 comprenant les serveurs, les clients, les polices de caractères, etc. Des paquetages et des logiciels portés séparés pour les différentes parties d'X11 sont également disponibles.

Le reste de ce chapitre expliquera comment configurer X11, et comment installer un environnement de travail productif.

6.4. Configuration d'X11

Contribution de Christopher Shumway.

6.4.1. Avant de commencer

Avant de configurer X11, les informations sur le système cible sont nécessaires:

  • Caractéristiques du moniteur

  • Circuit graphique présent sur la carte vidéo

  • Quantité de mémoire présente sur la carte vidéo

Les caractéristiques du moniteur sont utilisées par X11 pour déterminer la résolution et le taux de rafraîchissement à utiliser. Ces caractéristiques sont généralement obtenues sur la documentation fournie avec le moniteur ou sur le site web du constructeur. Il y a deux intervalles de nombres nécessaires, les fréquences de balayage horizontale et les fréquences de synchronisation verticale.

La circuit graphique présent sur la carte vidéo définit quel pilote de périphérique X11 utilise pour communiquer avec le matériel graphique. Avec la plupart des circuits, cela peut être détecté automatiquement, mais il est toujours utile de connaître le type dans le cas où la détection automatique ne fonctionnerait pas correctement.

La quantité de mémoire graphique sur la carte vidéo détermine la résolution et la profondeur de couleurs qui pourront être utilisées. C'est important de le savoir afin que l'utilisateur soit au courant des limitations du système.

6.4.2. Configurer X11

Avec la version 7.3, Xorg peut, la plupart du temps, fonctionner sans aucun fichier de configuration en tapant simplement à l'invite:

% startx

Si cela ne fonctionne pas, ou si la configuration par défaut n'est pas satisfaisante, X11 peut être configuré manuellement. La configuration d'X11 est un processus en plusieurs étapes. La première étape est de générer un fichier de configuration. En tant que super utilisateur, lancez simplement:

# Xorg -configure

Cela générera, dans le répertoire /root, un squelette de fichier de configuration pour X11 appelé xorg.conf.new (que vous utilisiez su(1) ou ouvrez directement une session, cela affecte la variable d'environnement $HOME du super-utilisateur, et donc le répertoire utilisé pour écrire ce fichier). Le programme X11 tentera de sonder le matériel graphique présent sur le système et écrira un fichier de configuration pour charger les pilotes de périphériques corrects pour le matériel détecté sur le système cible.

L'étape suivante est de tester la configuration existante pour vérifier que Xorg peut fonctionner avec le matériel graphique présent sur le système cible. Pour effectuer ce test, lancez:

# Xorg -config xorg.conf.new

Si une grille grise et noire et un curseur de souris en forme de X apparaissent, la configuration fonctionne correctement. Pour quitter le test, appuyez simplement sur les touches Ctrl+Alt+Backspace simultanément.

Note:

Si la souris ne fonctionne pas, vous devrez, avant toute autre chose, la configurer. Consultez la Section 2.10.10, « Configuration de la souris » dans le chapitre sur l'installation de FreeBSD.

Ensuite, optimisez le fichier de configuration xorg.conf.new selon vos goûts. Ouvrez le fichier dans un éditeur de texte comme emacs(1) ou ee(1). Tout d'abord, ajoutez les fréquences pour le moniteur du système cible. Celles-ci sont généralement exprimées sous la forme de fréquences de synchronisation horizontale et verticale. Ces valeurs sont ajoutées dans le fichier xorg.conf.new dans la section "Monitor":

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        HorizSync    30-107
        VertRefresh  48-120
EndSection

Les termes HorizSync et VertRefresh peuvent être absents du fichier de configuration. Si c'est le cas, ils doivent être ajoutés, avec les fréquences horizontales correctes placées après le terme HorizSync et les fréquences verticales après le terme VertRefresh. Dans l'exemple ci-dessus les fréquences du moniteur ont été entrées.

X autorise l'utilisation des caractéristiques DMPS (Energy Star) avec les moniteurs qui en sont capables. Le programme xset(1) contrôle les délais et peut forcer la mise en veille, l'arrêt, ou les modes d'extinction. Si vous souhaitez activer les fonctions DMPS de votre moniteur, vous devez ajouter la ligne suivante dans la section concernant le moniteur:

        Option       "DPMS"

Pendant que le fichier de configuration xorg.conf.new est toujours ouvert dans un éditeur, sélectionnez la résolution par défaut et la profondeur de couleurs désirée. Cela est défini dans la section "Screen":

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultDepth 24
        SubSection "Display"
                Viewport  0 0
                Depth     24
                Modes     "1024x768"
        EndSubSection
EndSection

Le terme DefaultDepth indique la profondeur de couleurs utilisée par défaut. Cette valeur peut être outrepassée avec l'option -depth en ligne de la commande Xorg(1). Le terme Modes indique la résolution à utiliser pour la profondeur de couleurs donnée. Notez que seuls les modes standard VESA sont supportés comme définis par le matériel graphique du système cible. Dans l'exemple ci-dessus, la profondeur de couleurs par défaut est de vingt quatre bits par pixel. A cette profondeur de couleurs, la résolution acceptée est de 1024 par 768.

Pour fonctionner à une résolution de mille vingt quatre pixels par sept cent soixante huit pixels à vingt quatre bits par pixel, ajoutez le terme DefaultDepth avec la valeur vingt quatre, et ajoutez à la sous-section "Display" avec la valeur Depth désirée le terme Modes avec la résolution souhaitée par l'utilisateur. Notez que seuls les modes standard VESA sont supportés comme définis par le matériel graphique du système cible.

Enfin, sauvez le fichier de configuration et testez-le en utilisant la procédure de test donnée ci-dessus.

Note:

Un des outils disponibles pour vous aider en cas de problèmes sont les fichiers journaux d'X11, qui contiennent des informations sur chaque périphérique auquel le serveur X11 s'attache. Les noms des fichiers journaux d'Xorg suivent la forme /var/log/Xorg.0.log. Le nom exact du fichier peut aller de Xorg.0.log à Xorg.8.log et ainsi de suite.

Si tout se passe bien, le fichier de configuration doit être installé à un emplacement commun où Xorg(1) pourra le trouver. C'est typiquement soit /etc/X11/xorg.conf ou /usr/local/etc/X11/xorg.conf.

# cp xorg.conf.new /etc/X11/xorg.conf

La configuration de X11 est maintenant achevée. Xorg peut être maintenant lancé avec l'utilitaire startx(1). Le serveur X11 peut également être lancé à l'aide de xdm(1).

Note:

Il existe également un outil de configuration graphique, xorgcfg(1), qui est fourni avec la distribution X11. Il permet de définir intéractivement votre configuration en sélectionnant les pilotes de périphériques et les paramètres adéquats. Ce programme peut être invoqué à partir de la console, en tapant la commande xorgcfg -textmode. Pour plus de détails, consultez la page de manuel d'xorgcfg(1).

Alternativement, il existe également un outil appelé xorgconfig(1). Ce programme est un utilitaire en mode console moins convivial, mais qui peut fonctionner dans les situations où les autres ont échoué.

6.4.3. Sujets avancés de configuration

6.4.3.1. Configuration avec les circuits graphiques Intel® i810

La configuration avec les circuits intégrés graphiques Intel® i810 nécessite agpgart l'interface de programmation AGP pour X11 afin de piloter la carte. Consultez la page de manuel du pilote agp(4) pour plus d'information.

Cela permettra la configuration de ce matériel comme n'importe quelle autre carte graphique. Notez que sur les systèmes sans le pilote agp(4) compilé dans le noyau, tenter de charger le module à l'aide de kldload(8) ne fonctionnera pas. Ce pilote doit être dans le noyau au démarrage soit compilé dans le noyau soit en utilisant /boot/loader.conf.

6.4.3.2. Utilisation d'un écran large (Widescreen)

Cette section nécessite une maîtrise des configurations avancées. Si les tentatives d'utilisation des outils de configuration standards précédents n'ont pas donné lieu à une configuration fonctionnelle, il y a cependant suffisamment d'information dans les fichiers journaux pour parvenir à faire fonctionner votre équipement. L'utilisation d'un éditeur de texte sera également nécessaire.

Les écrans larges actuellement disponibles (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, et.al.) supportent les formats 16:10 et 10:9 ainsi que d'autres formats pouvant être problèmatiques. Les résolutions d'écran courantes pour les formats 16:10 sont:

  • 2560x1600

  • 1920x1200

  • 1680x1050

  • 1440x900

  • 1280x800

Dans certains cas, la configuration nécessitera de simplement ajouter une de ces résolutions comme Mode possible dans la Section "Screen":

Section "Screen"
Identifier "Screen0"
Device     "Card0"
Monitor    "Monitor0"
DefaultDepth 24
SubSection "Display"
	Viewport  0 0
	Depth     24
	Modes     "1680x1050"
EndSubSection
EndSection

Xorg est suffisamment intelligent pour obtenir auprès de l'écran les informations sur la résolution par l'intermédiaire des données I2C/DDC, de cette manière il connaît les fréquences et résolutions maximales que peut supporter le moniteur.

Si ces ModeLines ne sont pas présentes dans les pilotes, on pourra toujours aider Xorg dans ce sens. En examinant le contenu du fichier /var/log/Xorg.0.log, on peut en extraire suffisamment d'information pour créer manuellement une ModeLine qui fonctionnera. Recherchez les lignes du type:

(II) MGA(0): Supported additional Video Mode:
(II) MGA(0): clock: 146.2 MHz   Image Size:  433 x 271 mm
(II) MGA(0): h_active: 1680  h_sync: 1784  h_sync_end 1960 h_blank_end 2240 h_border: 0
(II) MGA(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1089 v_border: 0
(II) MGA(0): Ranges: V min: 48  V max: 85 Hz, H min: 30  H max: 94 kHz, PixClock max 170 MHz

Ce type de données est appelée information EDID. La création d'une ModeLine à partir de ces informations consiste juste à placer les différentes valeurs dans le bon ordre:

ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings>

Ainsi la ligne ModeLine de la Section "Monitor" pour cet exemple ressemblera à ceci:

Section "Monitor"
Identifier      "Monitor1"
VendorName      "Bigname"
ModelName       "BestModel"
ModeLine        "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
Option          "DPMS"
EndSection

Ces modifications effectuées, X devrait maintenant se lancer sans problème sur votre nouvel écran large.

6.5. Utilisation des polices de caractères sous X11

Contribution de Murray Stokely.

6.5.1. Polices de caractères Type1

Les polices de caractères livrées par défaut avec X11 sont loin d'être idéales pour des applications de type publication. Les grandes polices utilisées pour les présentations présentent un aspect en escalier et peu professionnel, et les petites polices sous Netscape® sont presque complètement illisibles. Cependant, il existe de nombreuses polices Type1 (PostScript®) gratuites, de hautes qualités qui peuvent être aisément utilisées avec X11. Par exemple, la collection de polices de caractères URW (x11-fonts/urwfonts) comprend une version haute qualité des polices de caractères standards type1 (Times Roman®, Helvetica®, Palatino® et autres). La collection Freefonts (x11-fonts/freefonts) comprend beaucoup plus de polices de caractères, mais la plupart d'entre elles sont destinées à être utilisées avec des logiciels graphiques comme The Gimp, et ne sont pas suffisamment complètes pour servir de polices de caractères d'affichage. De plus X11 peut être configuré pour utiliser les polices de caractères TrueType® avec un minimum d'effort. Pour plus de détails à ce sujet, consultez la page de manuel X(7) ou la section sur les polices de caractères TrueType®.

Pour installer les collections de polices de caractères Type1 précédentes à partir du catalogue des logiciels portés, lancez les commandes suivantes:

# cd /usr/ports/x11-fonts/urwfonts
# make install clean

Et de même pour la collection Freefont ou d'autres. Pour que le serveur X détecte ces polices, ajoutez une ligne appropriée au fichier de configuration du serveur X (/etc/X11/xorg.conf), du type:

FontPath "/usr/local/lib/X11/fonts/URW/"

Autre possibilité, en ligne de commande dans une session X lancez:

% xset fp+ /usr/local/lib/X11/fonts/URW
% xset fp rehash

Cela fonctionnera mais les effets seront perdus quand la session X sera fermée, à moins de l'ajouter dans le fichier de démarrage (~/.xinitrc pour une session startx classique, ou dans ~/.xsession quand on s'attache au système par l'intermédiaire d'un gestionnaire de session graphique comme XDM). Une troisième méthode est d'utiliser le nouveau fichier /usr/local/etc/fonts/local.conf: voir la section sur l'anticrénelage.

6.5.2. Polices de caractères TrueType®

Xorg dispose d'un support intégré pour le rendu des polices TrueType®. Il y a deux différents modules qui peuvent activer cette fonctionnalité. Le module freetype est utilisé dans cet exemple parce qu'il est plus compatible avec les autres moteurs de rendu des polices de caractères. Pour activer le module freetype ajoutez juste la ligne suivante dans la section "Module" du fichier /etc/X11/xorg.conf.

Load  "freetype"

Maintenant créez un répertoire pour les polices TrueType® (par exemple /usr/local/lib/X11/fonts/TrueType) et copiez toutes les polices TrueType® dans ce répertoire. Gardez à l'esprit que les polices TrueType® ne peuvent être directement prises d'un Macintosh; elles doivent être dans un format UNIX®/MS-DOS®/Windows pour être utilisées sous X11. Une fois les fichiers copiés dans ce répertoire, utilisez ttmkfdir pour créer un fichier fonts.dir, de façon à ce que le moteur d'affichage des polices d'X sache que de nouveaux fichiers ont été installés. ttmkfdir est disponible dans le catalogue des logiciels portés de FreeBSD sous x11-fonts/ttmkfdir.

# cd /usr/local/lib/X11/fonts/TrueType
# ttmkfdir -o fonts.dir

Maintenant ajoutez le répertoire des polices TrueType® au chemin des polices de caractères. Cela est identique à ce qui est décrit ci-dessus pour les polices Type1, c'est à dire, utiliser

% xset fp+ /usr/local/lib/X11/fonts/TrueType
% xset fp rehash

ou ajouter une ligne FontPath au fichier xorg.conf.

Voilà. Désormais Netscape®, Gimp, StarOffice, et toutes les autres applications X devraient maintenant reconnaître les polices de caractères TrueType®. Les polices très petites (comme le texte de page web visualisé sur un écran haute résolution) et les très grandes polices (dans StarOffice) auront un rendu bien meilleur maintenant.

6.5.3. Polices de caractères anticrénelage

Mis à jour par Joe Marcus Clarke.

L'anticrénelage est disponible sous X11 depuis XFree86 4.0.2. Cependant, la configuration des polices de caractères était relativement lourde avant l'arrivée d'XFree86 4.3.0. Depuis XFree86 4.3.0, toutes les polices sous X11 se trouvant dans les répertoires /usr/local/lib/X11/fonts/ et ~/.fonts/ sont automatiquement disponibles pour l'anticrénelage avec les applications compatibles Xft. Toutes les applications ne sont pas compatibles Xft, mais de nombreuses ont été dotées du support Xft. Par exemple, les applications utilisant Qt 2.3 et versions suivantes (la boîte à outils pour l'environnement de travail KDE), GTK+ 2.0 et suivantes (la boîte à outils de l'environnement de travail GNOME), et Mozilla 1.2 et versions suivantes.

Afin de contrôler quelles polices de caractères sont anticrénelées, ou pour configurer les propriétés de l'anticrénelage, créez (ou éditez, s'il existe déjà) le fichier /usr/local/etc/fonts/local.conf. Plusieurs caractéristiques avancées du système de fontes Xft peuvent être ajustées par l'intermédiaire de ce fichier; cette section ne décrit que des possibilités simples. Pour plus de détails, consultez la page de manuel fonts-conf(5).

Ce fichier doit être dans le format XML. Faites attention à la casse des caractères, et assurez-vous que toutes les balises sont correctement fermées. Le fichier débute avec l'entête XML classique suivie par une définition DOCTYPE, puis de la balise <fontconfig>:

	<?xml version="1.0"?>
	<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
	<fontconfig>
      

Comme précisé précédemment, l'ensemble des polices de caractères du répertoire /usr/local/lib/X11/fonts/ comme du répertoire ~/.fonts/ sont disponibles pour les applications compatibles Xft. Si vous désirez ajouter un autre répertoire en dehors des ces deux là, ajoutez une ligne similaire à la suivante au fichier /usr/local/etc/fonts/local.conf:

<dir>/chemin/vers/mes/fontes</dir>

Après l'ajout de nouvelles fontes, et tout particulièrement de nouveaux répertoires de polices, vous devrez exécuter la commande suivante pour reconstituer le cache des polices de caractères:

# fc-cache -f

L'anticrénelage rend les bords légèrement flous, ce qui rend le texte très petit plus lisible et enlève l'effet “d'escalier” des grands textes, mais peut provoquer une fatigue visuelle si c'est appliqué au texte normal. Pour exclure les tailles de polices inférieures à 14 points de l'anticrénelage, ajoutez ces lignes:

	 <match target="font">
	  <test name="size" compare="less">
		<double>14</double>
	  </test>
	  <edit name="antialias" mode="assign">
		<bool>false</bool>
	  </edit>
	</match>
	<match target="font">
	  <test name="pixelsize" compare="less" qual="any">
		<double>14</double>
	  </test>
	  <edit mode="assign" name="antialias">
		<bool>false</bool>
	  </edit>
	</match>

L'espacement pour certaines polices de caractères à chasse fixe peut également être inapproprié avec l'anticrénelage. Cela semble être un problème avec KDE, en particulier. Une solution possible pour cela est de forcer l'espacement pour de telles polices de caractères à 100. Ajoutez les lignes suivantes:

	 <match target="pattern" name="family">
	  <test qual="any" name="family">
	    <string>fixed</string>
	  </test>
	  <edit name="family" mode="assign">
	    <string>mono</string>
	  </edit>
	</match>
	<match target="pattern" name="family">
	  <test qual="any" name="family">
	    <string>console</string>
	  </test>
	  <edit name="family" mode="assign">
	    <string>mono</string>
	  </edit>
	</match>

(ceci ajoute un alias "mono" pour les autres noms communs des polices de caractères fixes), puis ajoutez:

	 <match target="pattern" name="family">
	  <test qual="any" name="family">
	    <string>mono</string>
	  </test>
	  <edit name="spacing" mode="assign">
	    <int>100</int>
	  </edit>
	</match>

Certaines polices de caractères, comme Helvetica, peuvent présenter des problèmes lors de l'anticrénelage. Généralement cela se manifeste par l'impression que la fonte semble coupée en deux verticalement. Au pire cela peut provoquer des crashs avec certaines application comme Mozilla. Pour éviter cela, pensez à ajouter ce qui suit au fichier local.conf:

	 <match target="pattern" name="family">
	  <test qual="any" name="family">
	    <string>Helvetica</string>
	  </test>
	  <edit name="family" mode="assign">
	    <string>sans-serif</string>
	  </edit>
	</match>

Une fois l'édition de local.conf achevée, assurez-vous que le fichier se termine par la balise </fontconfig>. Si ce n'est pas le cas, tous vos changements seront ignorés.

L'ensemble de polices de caractères fourni par défaut avec X11 n'est pas très adapté pour l'anticrénelage. Un bien meilleur ensemble de fontes peut être trouvé dans le catalogue des logiciels portés: x11-fonts/bitstream-vera. Ce logiciel installera un fichier /usr/local/etc/fonts/local.conf si ce dernier n'existe pas déjà. Si le fichier existe, le logiciel porté créera un fichier nommé /usr/local/etc/fonts/local.conf-vera. Il fusionnera le contenu de ce fichier dans /usr/local/etc/fonts/local.conf, et les polices de caractères Bitstream remplaceront automatiquement les polices avec empattement (serif), sans empattement (sans-serif) et à chasse fixe d'X11.

Et enfin, les utilisateurs peuvent ajouter leurs propres paramètres par l'intermédiaire de leur fichier .fonts.conf. Pour cela, chaque utilisateur devrait créer un fichier ~/.fonts.conf. Ce fichier doit également être écrit en XML.

Un dernier point: avec un écran LCD, un échantillonnage “sub-pixel” peut être désiré. Fondamentalement, ceci traite les composantes rouge, verte et bleu séparément (horizontalement séparées) pour améliorer la résolution horizontale; les résultats peuvent être dramatiques. Pour activer cela, ajoutez quelque part dans le fichier local.conf les lignes:

	 <match target="font">
	  <test qual="all" name="rgba">
	    <const>unknown</const>
	  </test>
	  <edit name="rgba" mode="assign">
	    <const>rgb</const>
	  </edit>
	</match>
      

Note:

En fonction de type d'écran, le terme “rgb” pourra devoir être changé pour “bgr”, “vrgb” ou “vbgr”: expérimentez pour définir lequel fonctionne le mieux.

L'anticrénelage devrait être activé au prochain lancement du serveur X. Cependant, notez que les applications doivent savoir comment l'utiliser. A l'heure actuelle, le “toolkit” Qt le supporte, donc l'intégralité de l'environnement KDE peut utiliser des polices anticrénelées. GTK+ et GNOME peuvent également faire usage de l'anticrénelage via le système « Font » (voir la Section 6.7.1.3, « Polices de caractères anticrénelage avec GNOME » pour plus de détails). Par défaut, Mozilla 1.2 et versions suivantes utiliseront automatiquement l'anticrénelage. Pour désactiver cette caractéristique, recompilez Mozilla avec le paramètre -DWITHOUT_XFT.

6.6. Le gestionnaire de procédures de connexions graphiques - “X Display Manager”

Contribution de Seth Kingsley.

6.6.1. Généralités

Le gestionnaire de procédures de connexions graphiques - “X Display Manager” (XDM) est une partie optionnelle du système X Window qui est utilisée pour la gestion des procédures de connexion au système. C'est utile dans plusieurs types de situations, dont les “Terminaux X” minimaux, et les serveurs X d'affichage de grands réseaux. Comme le système X Window est indépendant du type de réseau et de protocole, il existe une large variété de configurations possibles pour faire fonctionner des clients et des serveurs X sur différentes machines connectées entre elles par un réseau. XDM fournit une interface graphique pour sélectionner à quel serveur d'affichage se connecter, et entrer des informations d'autorisation comme l'ensemble identifiant et mot de passe.

Il faut voir XDM comme fournissant les mêmes fonctionnalités à l'utilisateur que l'utilitaire getty(8) (voir la Section 26.3.2, « Configuration » pour plus de détails). C'est à dire, qu'il exécute les ouvertures de session sur le système sur lequel on se connecte et lance alors une session au nom de l'utilisateur (généralement un gestionnaire de fenêtres pour X). XDM attend alors que le programme se termine, signalant que l'utilisateur en a terminé et devrait être déconnecté du système. A ce moment, XDM peut afficher les écrans d'invite d'ouverture de session et de sélection de serveur pour le prochain utilisateur.

6.6.2. Utiliser XDM

Le “daemon” d'XDM est /usr/local/bin/xdm. Ce programme peut être lancé à n'importe quel moment en tant que root et il s'occupera de la gestion d'X sur la machine locale. Si XDM doit être exécuté à chaque démarrage de la machine, une manière pratique de le faire est d'ajouter une entrée dans /etc/ttys. Pour plus d'informations sur le format et l'utilisation de ce fichier, consultez la Section 26.3.2.1, « Adding an Entry to /etc/ttys ». Il existe une ligne dans le fichier /etc/ttys de défaut pour exécuter le “daemon” XDM sur un terminal virtuel:

ttyv8	"/usr/local/bin/xdm -nodaemon"	xterm	off secure

Par défaut cette entrée est désactivée; afin de la réactiver modifiez le cinquième champ de off à on et relancez init(8) en utilisant les indications de la Section 26.3.2.2, « Force init to Reread /etc/ttys ». Le premier champ, le nom du terminal que ce programme gérera, est ttyv8. Cela signifie que XDM démarrera sur le neuvième terminal virtuel.

6.6.3. Configurer XDM

Le répertoire de configuration d'XDM est situé dans /usr/local/lib/X11/xdm. Dans ce répertoire il y a de nombreux fichiers utilisés pour modifier le comportement et l'apparence d'XDM. Généralement les fichiers suivants seront présents:

FichierDescription
XaccessEnsemble de règles d'autorisation du client.
XresourcesFichier des ressources X par défaut.
XserversListe des écrans distants et locaux à gérer.
XsessionProcédure d'ouverture de session par défaut.
Xsetup_*Procédures utilisées pour exécuter des applications avant l'interface d'ouverture de session.
xdm-configConfiguration globale pour tous les affichages utilisants cette machine.
xdm-errorsErreurs générées par le programme serveur.
xdm-pidL'identifiant du processus exécutant actuellement XDM.

Dans ce répertoire se trouvent également quelques procédures et programmes utilisés pour configurer l'environnement quand XDM fonctionne. L'objet de chacun de ces fichiers sera brièvement décrit. La syntaxe exacte et l'utilisation de tous ces fichiers sont décrites dans la page de manuel xdm(1).

La configuration par défaut est une simple fenêtre rectangulaire d'ouverture de session avec le nom de la machine hôte affiché en haut dans une grande police de caractères et avec des invites “Login:” et “Password:” en-dessous. C'est un bon point de départ pour modifier l'apparence et la prise en main des écrans XDM.

6.6.3.1. Xaccess

Le protocole utilisé pour se connecter à des écrans contrôlés par XDM est appelé le “X Display Manager Connection Protocol” (XDMCP). Ce fichier est un ensemble de règles pour contrôler les connexions XDMCP à partir de machines distantes. Il est ignoré à moins que le fichier xdm-config ne soit modifié pour accepter les connexions distantes. Par défaut, il n'autorise pas ces connexions.

6.6.3.2. Xresources

C'est un fichier de paramètres par défaut pour la sélection du serveur et des écrans d'ouverture de sessions. C'est l'endroit où l'apparence du programme d'ouverture de session peut être modifié. Le format est identique au fichier de paramètres par défaut des applications décrit dans la documentation d'XFree86.

6.6.3.3. Xservers

C'est une liste de choix des serveurs distants que l'écran de sélection devrait fournir.

6.6.3.4. Xsession

C'est la procédure par défaut à exécuter par XDM après qu'un utilisateur ait ouvert une session. Normalement chaque utilisateur disposera d'une procédure de session dans ~/.xsession qui sera utilisée en lieu et place du fichier par défaut.

6.6.3.5. Xsetup_*

Cela sera exécuté automatiquement avant d'afficher les interfaces de sélection et d'ouverture de session. Il existe une procédure pour chaque écran utilisé, nommée Xsetup_ suivie par le numéro de l'écran local (par exemple Xsetup_0). Généralement ces procédures exécutent un ou deux programmes en tâche de fond comme xconsole.

6.6.3.6. xdm-config

Ce dernier contient les paramètres sous la forme de paramètres par défaut qui sont applicables à chaque écran que l'installation gère.

6.6.3.7. xdm-errors

Ce dernier contient les messages de sortie du serveur X qu'XDM essaye d'exécuter. Si un terminal qu'XDM essaye de démarrer se bloque pour quelque raison, c'est le bon endroit pour chercher les messages d'erreur. Ces messages sont également écrits dans le fichier ~/.xsession-errors de l'utilisateur à chaque session.

6.6.4. Exécuter un serveur d'affichage en réseau

Afin de permettre aux autres clients de se connecter au serveur gérant l'affichage, vous devez éditer les règles de contrôle d'accès, et activez l'auditeur de demandes de connexion. Par défaut ces règles sont sur des valeurs conservatrices. Pour faire écouter à XDM les demandes de connexion, tout d'abord commentez une ligne du fichier xdm-config:

! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
DisplayManager.requestPort:     0

et ensuite relancez XDM. Rappelez vous que les commentaires dans des fichiers de paramètres par défaut d'applications débutent avec un caractère “!”, et non pas par l'habituel “#”. Un contrôle d'accès plus strict peut être désiré — consultez les lignes d'exemple dans Xaccess, et référez-vous à la page de manuel xdm(1) pour plus d'information.

6.6.5. Remplacements pour XDM

Plusieurs remplacements pour le programme XDM de défaut existent. L'un d'eux, KDM (fourni avec KDE) est décrit plus loin dans son propre chapitre. KDM offre de nombreuses améliorations visuelles, ainsi que la fonction permettant aux utilisateurs de sélectionner leur gestionnaire de fenêtres au moment d'ouvrir la session.

6.7. Environnements de travail

Contribution de Valentino Vaschetto.

Cette section décrit les différents environnements de travail disponibles pour X sous FreeBSD. Le terme d'“environnement de travail” regroupe tout depuis le simple gestionnaire de fenêtres à la suite complète d'applications de bureau, comme KDE ou GNOME.

6.7.1. GNOME

6.7.1.1. A propos de GNOME

GNOME est un environnement de travail convivial qui permet aux utilisateurs d'utiliser et de configurer facilement leur ordinateur. GNOME comprend un panneau - “panel” (pour lancer des applications et afficher des états), un bureau (où les données et les applications peuvent prendre place), un ensemble d'outils standards de bureau et d'applications, et un ensemble de conventions qui rendent aisée la coopération entre application et leur cohérence. Les utilisateurs d'autres systèmes d'exploitation ou environnement devraient se sentir en terrain de connaissance en utilisant le puissant environnement graphique que fournit GNOME. Plus d'information concernant GNOME sous FreeBSD peut être trouvé sur le site du Projet FreeBSD GNOME. Le site contient également des FAQs très complètes sur l'installation, la configuration, et l'administration de GNOME.

6.7.1.2. Installer GNOME

Ce logiciel peut être facilement installé à partir d'une version pré-compilée ou du catalogue des logiciels portés:

Pour installer l'ensemble de logiciels pré-compilés GNOME à partir du réseau, tapez simplement:

# pkg_add -r gnome2

Pour compiler GNOME à partir des sources, utilisez le logiciel porté:

# cd /usr/ports/x11/gnome2
# make install clean

Une fois que GNOME est installé, on doit signaler au serveur X d'exécuter GNOME à la place du gestionnaire de fenêtre par défaut.

La manière la plus simple de lancer GNOME est d'utiliser GDM, le gestionnaire d'affichage de GNOME. GDM, qui est installé par défaut comme élément de l'environnement de travail GNOME (mais qui est désactivé par défaut), peut être activé en ajoutant la ligne gdm_enable="YES" au fichier /etc/rc.conf. Une fois que vous avez redémarré le système, GNOME sera lancé automatiquement dès que vous ouvrirez une session — aucune autre configuration n'est nécessaire.

GNOME peut être également lancé à partir de la ligne de commande en configurant correctement un fichier appelé .xinitrc. Si un fichier .xinitrc personnalisé est déjà en place, remplacez simplement la ligne qui lance le gestionnaire de fenêtres avec une qui exécute /usr/local/bin/gnome-session à la place. S'il n'y a rien de spécial à faire dans ce fichier de configuration, alors il est suffisant de taper:

% echo "/usr/local/bin/gnome-session" > ~/.xinitrc

Ensuite, tapez startx, et l'environnement de travail GNOME sera lancé.

Note:

Si un gestionnaire d'affichage plus ancien, comme XDM, est utilisé, cela ne fonctionnera pas. A la place, créez un fichier exécutable .xsession contenant la même commande. Pour cela, éditez le fichier et remplacez la commande correspondant au gestionnaire de fenêtres actuel avec /usr/local/bin/gnome-session:

% echo "#!/bin/sh" > ~/.xsession
% echo "/usr/local/bin/gnome-session" >> ~/.xsession
% chmod +x ~/.xsession

Une autre option est de configurer le gestionnaire d'affichage pour permettre la sélection du gestionnaire de fenêtres au moment de l'ouverture de session; la section de compléments sur KDE explique comment le faire pour kdm, le gestionnaire d'affichage de KDE.

6.7.1.3. Polices de caractères anticrénelage avec GNOME

X11 supporte l'anticrénelage par l'intermédiaire de son extension “RENDER“. GTK+ 2.0 et suivant (la boîte à outils utilisé par GNOME) peuvent utiliser cette fonctionnalité. La configuration de l'anticrénelage est décrite dans la Section 6.5.3, « Polices de caractères anticrénelage ». Aussi, avec des logiciels à jour, l'anticrénelage est possible dans l'environnement de travail GNOME. Aller dans le menu ApplicationsDesktop PreferencesFont, et sélectionnez soit Best shapes, soit Best contrast, ou Subpixel smoothing (LCDs). Pour une application GTK+ qui ne fait pas partie de l'environnement de travail GNOME, fixez la variable d'environement GDK_USE_XFT à 1 avant de lancer le programme.

6.7.2. KDE

6.7.2.1. A propos de KDE

KDE est un environnement de travail moderne facile d'emploi. Quelques unes des choses qu'apporte KDE aux utilisateurs sont:

  • Un magnifique bureau moderne

  • Une utilisation réseau complètement transparente

  • Un système d'aide intégré utile, pour un accès cohérent à l'aide sur l'utilisation de l'environnement KDE et ses applications

  • Une apparence et une prise en main commune pour toutes les applications KDE

  • Des menus, barres d'outils, combinaisons de touches, couleurs, etc., standardisées

  • Internationalisation: KDE est disponible dans plus de 40 langues

  • Un système centralisé de configuration de l'environnement

  • Un grand nombre d'applications KDE utiles

KDE est fourni avec un navigateur web appelé Konqueror, qui est un solide concurrent aux autres navigateurs web sous UNIX®. Plus d'information sur KDE peut être trouvé sur le site de KDE. Pour des informations et des ressources spécifiques à l'utilisation de KDE sous FreeBSD, consultez le site de l'équipe KDE sur FreeBSD.

Il existe deux versions de KDE sous FreeBSD. La version 3 est disponible depuis longtemps et présente une grande maturité. La version 4, la génération suivante, est également disponible dans le catalogue des logiciels portés. Ces deux versions peuvent être installées de paire.

6.7.2.2. Installer KDE

Juste comme avec GNOME ou tout autre environnement de travail, ce logiciel peut être aisément installé à partir des logiciels pré-compilés ou du catalogue des logiciels portés:

Pour installer la version pré-compilée de KDE3 à partir du réseau, tapez simplement:

# pkg_add -r kde

Pour installer la version pré-compilée de KDE4 à partir du réseau, tapez simplement:

# pkg_add -r kde4

pkg_add(1) récupérera automatiquement la dernière version de l'application.

Pour compiler KDE3 à partir des sources, utilisez le logiciel porté:

# cd /usr/ports/x11/kde3
# make install clean

Pour compiler KDE4 à partir des sources, utilisez le logiciel porté:

# cd /usr/ports/x11/kde4
# make install clean

Après que KDE ait été installé, on doit indiquer au serveur X de lancer cette application à la place du gestionnaire de fenêtres par défaut. Ceci est effectué en éditant le fichier .xinitrc:

Pour KDE3:

% echo "exec startkde" > ~/.xinitrc

Pour KDE4:

% echo "exec /usr/local/kde4/bin/startkde" > ~/.xinitrc

Maintenant, quand le système X Window est invoqué avec la commande startx, KDE sera l'environnement de travail utilisé.

Si un gestionnaire d'affichage comme XDM est utilisé, la configuration sera légèrement différente. Editez le fichier .xsession à la place. Les instructions concernant kdm seront données plus loin dans ce chapitre.

6.7.3. Plus de détails sur KDE

Maintenant que KDE est installé sur le système, la plupart des choses peuvent être découvertes à travers les pages d'aide, ou juste en pointant et cliquant sur les différents menus. Les utilisateurs de Windows® ou de Mac® se sentiront presque en terrain de connaissance.

La meilleure référence pour KDE est la documentation en ligne. KDE est livré avec son propre navigateur internet Konqueror, et des douzaines d'applications utiles, et une large documentation. Le reste de cette section traite d'éléments techniques qui sont difficiles à apprendre par une exploration au hasard.

6.7.3.1. Le gestionnaire d'affichage de KDE

L'administrateur d'un système multi-utilisateurs peut désirer avoir un écran graphique d'ouverture de session pour accueillir les utilisateurs. XDM peut être utilisé comme décrit plus tôt. Cependant, KDE inclus une alternative, kdm, qui est conçue pour paraître plus attractive et inclure plus d'options d'ouverture de session. En particulier, les utilisateurs peuvent facilement (par l'intermédiaire d'un menu) sélectionner quel environnement de travail (KDE, GNOME, ou quelque chose d'autre) exécuter après l'ouverture de session.

Pour activer kdm, la ligne ttyv8 du fichier /etc/ttys doit être modifiée. La ligne doit ressembler à:

Pour KDE3:

ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure

Pour KDE4:

ttyv8 "/usr/local/kde4/bin/kdm -nodaemon" xterm on secure

6.7.4. XFce

6.7.4.1. A propos d'XFce

XFce est un environnement de travail basé sur le “toolkit” GTK+ utilisé par GNOME, mais est plus léger et est destiné à ceux qui veulent un bureau simple, et efficace qui est néanmoins facile d'utilisation et de configuration. Visuellement, il ressemble énormément à CDE, que l'on trouve sur les systèmes UNIX® commerciaux. Quelques unes des caractéristiques d'XFce sont:

  • Un bureau de prise en main aisée et simple

  • Complètement configurable à la souris, avec glisser-déposer, etc.

  • Une barre principale similaire à CDE, avec des menus, des petites applications et des lanceurs d'applications

  • Un gestionnaire de fenêtre intégré, un gestionnaire de fichiers, un gestionnaire du son, un module de compatibilité GNOME, et bien plus

  • Personnalisable avec des thèmes (comme il utilise GTK+)

  • Rapide, léger et efficace: idéal pour les machines vieilles/lentes ou avec des limitations en mémoire

Plus d'information sur XFce peut être trouvé sur le site d'XFce.

6.7.4.2. Installer XFce

Une version pré-compilée d'XFce existe (au moment où ces lignes sont écrites). Pour installer, tapez simplement:

# pkg_add -r xfce4

Alternativement, pour compiler à partir des sources, utilisez le catalogue des logiciels portés:

# cd /usr/ports/x11-wm/xfce4
# make install clean

Maintenant, il faut indiquer au serveur X d'exécuter XFce au prochain démarrage d'X. Tapez ceci:

% echo "/usr/local/bin/startxfce4" > ~/.xinitrc

Au prochain démarrage d'X, XFce sera l'environnement de travail. Comme précédemment, si un gestionnaire d'affichage comme XDM est utilisé, créez un fichier .xsession, comme décrit dans la section sur GNOME, mais avec la commande /usr/local/bin/startxfce4; ou configurez le gestionnaire d'affichage pour permettre la sélection d'un environnement de travail au moment de la connexion, comme expliqué dans la section sur kdm.

Partie II. Tâches courantes

Maintenant que les bases sont maîtrisées, cette partie du Manuel FreeBSD traitera de certaines fonctionnalités de FreeBSD fréquemment utilisées. Ces chapitres:

  • Présentent des applications de bureautique populaires et utiles: des navigateurs, des outils de productivité, des lecteurs de documents, etc.

  • Présentent plusieurs outils multimédia disponibles pour FreeBSD.

  • Expliquent le processus de compilation d'un noyau FreeBSD personnalisé, pour permettre l'ajout de fonctionnalités supplémentaires à votre système.

  • Décrivent le système d'impression en détail, pour les configurations d'imprimante locale et en réseau.

  • Vous montrent comment exécuter des applications Linux sur votre système FreeBSD.

Certains de ces chapitres conseillent des lectures préalables, ceci est noté dans le synopsis au début de chaque chapitre.

Chapitre 7. Bureautique

Contribution de Christophe Juniet.

Version française de Marc Fonvieille .

7.1. Synopsis

FreeBSD peut faire fonctionner une large variété d'applications de bureautique, comme des navigateurs et des traitements de textes. La plupart de ces derniers sont disponibles sous forme pré-compilée ou peuvent être compilé automatiquement à partir du catalogue des logiciels portés. De nombreux utilisateurs s'attendent à trouver ces types d'applications dans leur environnement de travail. Ce chapitre vous montrera comment installer quelques unes des applications de bureautique les plus populaires sans trop d'effort, soit à partir de versions pré-compilées soit à partir du catalogue des logiciels portés.

Notez que lorsque l'on installe des programmes à partir du catalogue des logiciels portés, ils sont compilés à partir des sources. Cela peut prendre un temps relativement long, en fonction de ce que vous compilez et de la puissance de votre machine. Si la compilation à partir des sources requiert un temps prohibitif, vous pouvez installer la plupart des programmes de l'arbre des ports à partir de version pré-compilées.

Comme FreeBSD dispose d'un système de compatibilité avec les binaires Linux, de nombreuses applications développées à l'origine pour Linux sont disponibles pour votre environnement de travail. Il est vivement recommandé que vous lisiez le Chapitre 11, Compatibilité binaire avec Linux avant d'installer des applications Linux. De nombreux logiciels portés utilisant la compatibilité binaire Linux débutent avec le terme “linux-”. Souvenez-vous de cela quand vous recherchez un logiciel porté bien particulier, par exemple à l'aide de whereis(1). Dans le reste de ce chapitre on suppose que vous avez activé la compatibilité Linux avant d'installer des applications Linux.

Voici les catégories d'applications couvertes par ce chapitre:

  • Navigateurs (comme Mozilla, Opera, Firefox, Konqueror)

  • Productivité (comme KOffice, AbiWord, The GIMP, OpenOffice.org)

  • Lecteurs de document (comme Acrobat Reader®, gv, Xpdf, GQview)

  • Finance (comme GnuCash, Gnumeric, Abacus)

Avant de lire ce chapitre, vous devrez:

Pour des informations sur comment mettre en place un environnement multimédia, lisez le Chapitre 8, Multimédia. Si vous désirez configurer et utiliser le courrier électronique, veuillez vous référer au Chapitre 28, Courrier électronique.

7.2. Navigateurs

FreeBSD n'est pas livré avec un navigateur particulier installé. Au lieu de cela, le répertoire www du catalogue des logiciels portés contient de nombreux navigateurs prêts à être installés. Si vous n'avez pas le temps de tout compiler (cela peut prendre un temps relativement long dans certains cas) nombres d'entre eux sont disponibles sous forme pré-compilée.

KDE et GNOME fournissent déjà un navigateur HTML. Veuillez vous référer au Section 6.7, « Environnements de travail » pour plus d'information sur comment configurer ces environnements de travail.

Si vous êtes à la recherche de navigateurs légers, vous devriez consulter le catalogue des logiciels portés pour www/dillo, www/links, ou www/w3m.

Cette section couvre les applications suivantes:

Nom de l'applicationRessources nécessairesInstallation à partir du catalogue des logiciels portésDépendances principales
MozillaimportanteslourdeGtk+
OperafaibleslégèreVersion native FreeBSD et Linux disponibles. La version Linux dépend de la compatibilité binaire Linux et de linux-openmotif.
FirefoxmoyenneslourdeGtk+
KonquerormoyenneslourdeBibliothèques KDE

7.2.1. Mozilla

Mozilla est un navigateur moderne et stable, dont le portage FreeBSD est complet: il présente un moteur d'affichage HTML qui respecte vraiment les normes; il intègre un lecteur de courrier électronique et de forums de discussion. Il possède même un éditeur HTML si vous projetez d'écrire vous-même quelques pages Web. Les utilisateurs de Netscape® trouveront des similitudes avec la suite Communicator, étant donné que les deux navigateurs partagent certains développements passés.

Sur les machines lentes, avec une vitesse de processeur de moins de 233MHz ou avec moins de 64MO de RAM, Mozilla peut être trop consommateur en ressources pour être vraiment utilisable. Vous pourrez vouloir essayer à la place le navigateur Opera décrit plus tard dans ce chapitre.

Si vous ne pouvez ou ne voulez compiler Mozilla, pour une quelconque raison, l'équipe GNOME de FreeBSD l'a déjà fait pour vous. Installez juste la version pré-compilée à partir du réseau avec:

# pkg_add -r mozilla

Si la version pré-compilée n'est pas disponible, et que vous avez suffisamment de temps et d'espace disque, vous pouvez obtenir les sources pour Mozilla, le compiler et l'installer sur votre système. Cela s'effectue en faisant:

# cd /usr/ports/www/mozilla
# make install clean

Le logiciel porté Mozilla s'assure d'une initialisation correcte en exécutant la configuration de la base de registre chrome avec les privilèges de root privilèges. Cependant si vous désirez récupérer des modules additionnels comme “mouse gestures”, vous devez exécuter Mozilla en tant que root pour obtenir une installation correcte de ces modules.

Une fois que vous avez achevé l'installation de Mozilla, vous n'avez plus besoin d'être sous root. Vous pouvez lancer Mozilla en tant que navigateur en tapant:

% mozilla

Vous pouvez lancer directement les lecteurs de courrier électronique et de forums comme montré ci-dessous:

% mozilla -mail

7.2.2. Firefox

Firefox est la génération suivante de navigateurs basés sur le code de Mozilla. Mozilla est une suite complète d'applications, comme un navigateur, un client de messagerie, un client de discussion et bien plus. Firefox est juste un navigateur, ce qui le rend plus petit et plus rapide.

Installez la version pré-compilée du logiciel en tapant:

# pkg_add -r firefox

Vous pouvez également utiliser le catalogue des logiciels portés si vous désirez effectuer la compilation à partir des sources:

# cd /usr/ports/www/firefox
# make install clean

7.2.3. Firefox, Mozilla et le greffon Java

Note:

Dans cette section et la suivante, nous supposerons que vous avez déjà installé Firefox ou Mozilla.

La fondation FreeBSD a acquis auprès de Sun Microsystems une licence de distribution des binaires FreeBSD pour le Java Runtime Environment (JRE™) et le Java Development Kit (JDK™). Les paquetages binaires pour FreeBSD sont disponibles sur le site de la fondation FreeBSD.

Pour ajouter le support Java™ à Firefox ou Mozilla, vous devez installer tout d'abord le logiciel porté java/javavmwrapper. Ensuite, téléchargez le paquetage Diablo JRE à l'adresse http://www.freebsdfoundation.org/downloads/java.shtml, et installez-le à l'aide de pkg_add(1).

Lancez votre navigateur et tapez about:plugins dans la barre d'adresse et appuyez sur Entrée. Une page listant les greffons installés s'affichera; le greffon Java devrait désormais apparaître dans la liste. Si ce n'est pas le cas, en tant que root, exécutez la commande suivante:

# ln -s /usr/local/diablo-jre1.5.0/plugin/i386/ns7/libjavaplugin_oji.so \
  /usr/local/lib/browser_plugins/

puis relancez votre navigateur.

7.2.4. Firefox, Mozilla et le greffon Macromedia® Flash®

Le greffon Macromedia® Flash® n'est pas disponible pour FreeBSD. Cependant il existe une couche logicielle (« wrapper ») pour utiliser la version Linux du greffon. Ce « wrapper » supporte également les greffons Adobe® Acrobat®, RealPlayer® et plus.

Installez le logiciel porté www/nspluginwrapper. Ce logiciel nécessite emulators/linux_base qui occupe un espace relativement important.

L'étape suivante est l'installation du logiciel porté www/linux-flashplugin7. Une fois le logiciel installé, le greffon doit être installé par chaque utilisateur à l'aide de la commande nspluginwrapper:

% nspluginwrapper -v -a -i

Lancez ensuite votre navigateur, tapez about:plugins dans la barre d'adresse et appuyez sur Entrée. Une liste des greffons actuellement disponibles devrait apparaître.

7.2.5. Opera

Opera est un navigateur complet respectant les standards. Il intègre un lecteur de courrier électronique et de forums de discussion, un client IRC, un lecteur de flux RSS/Atom et beaucoup plus. Malgré cela, Opera reste relativement léger et très rapide. Il est disponible en deux versions: une version “native” pour FreeBSD et une version utilisant l'émulation Linux.

Pour naviguer sur le Web avec la version FreeBSD d'Opera, installez la version pré-compilée:

# pkg_add -r opera

Certains sites FTP n'ont pas toutes les versions pré-compilées, mais Opera peut également être obtenu avec le catalogue des logiciels portés en tapant:

# cd /usr/port/www/opera
# make install clean

Pour installer la version Linux d'Opera, utilisez linux-opera à la place d'opera dans les exemples précédents. La version Linux est utile dans les situations demandant l'utilisation de greffons qui sont uniquement disponibles pour Linux, comme Acrobat Reader®. Dans tous les autres aspects, les versions FreeBSD et Linux devraient être identiques.

7.2.6. Konqueror

Konqueror fait partie de KDE mais peut être également utilisé en dehors de KDE en installant x11/kdebase3. Konqueror est plus qu'un navigateur, c'est également un gestionnaire de fichiers et une visionneuse multimedia

Il existe également un ensemble de greffons pour Konqueror disponible dans misc/konq-plugins.

Konqueror supporte également Flash®; un tutorial pour avoir le support de Flash® sous Konqueror est disponible à l'adresse http://freebsd.kde.org/howto.php.

7.3. Productivité

Quand on parle de productivité, les nouveaux utilisateurs recherchent souvent une bonne suite bureautique ou un traitement de texte convivial. Bien que certains environnements de travail comme KDE fournissent déjà une suite de bureautique, il n'y a pas de logiciels de productivité par défaut. FreeBSD fournit tout ce qui est nécessaire, indépendamment de votre environnement de travail.

Cette section couvre les applications suivantes:

Nom de l'applicationRessources nécessairesInstallation à partir du catalogue des logiciels portésDépendances principales
KOfficelégèreslourdeKDE
AbiWordlégèreslourdeGtk+ ou GNOME
The GimplégèreslourdeGtk+
OpenOffice.orgimportantestrès lourdeJDK™ 1.4, Mozilla

7.3.1. KOffice

La communauté KDE propose son environnement de travail avec une suite de bureautique qui peut être utilisée en dehors de KDE. Elle comprend quatre composants standard que l'on peut trouver dans d'autres suites. KWord est le traitement de texte, KSpread est le tableur, KPresenter est le programme pour gérer des présentations, et Kontour vous permet de créer des documents graphiques.

Avant d'installer la dernière version de KOffice, soyez sûr d'avoir une version à jour de KDE.

Pour installer KOffice à partir de la version pré-compilée, utilisez la commande suivante:

# pkg_add -r koffice

Si la version pré-compilée n'est pas disponible, vous pouvez utiliser le catalogue des logiciels portés. Par exemple, pour installer KOffice pour KDE3, faites:

# cd /usr/ports/editors/koffice-kde3
# make install clean

7.3.2. AbiWord

AbiWord est un traitement de texte gratuit similaire au niveau de l'apparence et de la prise en main à Microsoft® Word. Il convient pour taper des lettres, des rapports, des mémos, et ainsi de suite. Il est très rapide, dispose de nombreuses fonctions, et très convivial.

AbiWord peut importer et exporter dans de nombreux formats de fichiers, dont certains formats propriétaires comme le .doc de Microsoft®.

AbiWord est disponible sous forme pré-compilée. Vous pouvez l'installer avec:

# pkg_add -r abiword

Si la version pré-compilée n'est pas disponible, il peut être compilé à partir du catalogue des logiciels portés. Le catalogue devra être plus à jour. Cela peut être fait de cette façon:

# cd /usr/ports/editors/abiword
# make install clean

7.3.3. The GIMP

Pour la création et la retouche d'image The GIMP est un programme de manipulation d'image très sophistiqué. Il peut être utilisé comme un simple programme de dessin ou comme une suite de retouche d'image de qualité photo. Il supporte un grand nombre de modules additionnels et présente une interface de création de procédures. The GIMP peut lire et écrire dans un très grand nombre de formats de fichiers. Il supporte l'interfaçage avec des scanners et des tablettes graphiques.

Vous pouvez installer la version pré-compilée en utilisant cette commande:

# pkg_add -r gimp

Si votre site FTP ne dispose pas de la version pré-compilée, vous pouvez utiliser le catalogue des logiciels portés. Le répertoire graphics du catalogue contient également le Manuel de The Gimp. Voici comment les installer:

# cd /usr/ports/graphics/gimp
# make install clean
# cd /usr/ports/graphics/gimp-manual-pdf
# make install clean

Note:

Le répertoire graphics du catalogue des logiciels portés contient la version de développement de The GIMP dans graphics/gimp-devel. Une version HTML du Manuel de The Gimp est disponible à partir de graphics/gimp-manual-html.

7.3.4. OpenOffice.org

OpenOffice.org comprend toutes les applications indispensables d'une suite de bureautique complète: un traitement de texte, un tableur, un programme de gestion de présentation, et un logiciel de dessin. Son interface utilisateur est très proche de celle d'autres suites de bureautique, et elle peut importer et exporter dans divers formats de fichiers populaires. Elle est disponible dans de nombreuses langues — l'interface, les correcteurs orthographiques, et les dictionnaires ont été internationalisés.

Le traitement de texte d'OpenOffice.org utilise un format de fichier natif en XML pour augmenter la portabilité et la flexibilité. Le tableur dispose d'un langage de macro et il peut être interfacé avec des bases de données extérieures. OpenOffice.org est déjà stable et fonctionne en natif sous Windows®, Solaris™, Linux, FreeBSD, et Mac OS® X. Plus d'information à propos d'OpenOffice.org peut être trouvé sur le site Web d'OpenOffice.org. Pour une information spécifique à FreeBSD, et pour télécharger directement les versions précompilées, utilisez le site Web de l'Equipe FreeBSD de portage d'OpenOffice.org.

Pour installer OpenOffice.org, faites:

# pkg_add -r openoffice.org

Note:

Cette commande devrait fonctionner si vous utilisez une version -RELEASE de FreeBSD. Si ce n'est pas le cas, vous devriez consulter le site de l'équipe de portage d'OpenOffice.org pour télécharger puis installer le paquetage adéquat en utilisant pkg_add(1). Les versions actuelles et de développement sont disponibles.

Une fois l'installation effective, vous avez juste à taper la commande suivante pour exécuter OpenOffice.org:

% openoffice.org

Note:

Lors de la première exécution, quelques questions vous seront posées et un répertoire .openoffice.org2 sera créé dans votre répertoire utilisateur.

Si les version pré-compilées d'OpenOffice.org ne sont pas disponibles, vous avez toujours la possibilité de compiler le logiciel porté. Cependant, vous devez garder à l'esprit que cela demande beaucoup d'espace disque et un temps de compilation relativement long.

# cd /usr/ports/editors/openoffice.org-2
# make install clean

Note:

Si vous désirez compiler une version localisée, remplacez la dernière ligne de commande avec la suivante:

# make LOCALIZED_LANG=votre_langage install clean

Vous devez remplacer votre_langage avec le code ISO de langage approprié. Une liste des codes de langage supportés est disponible dans le fichier files/Makefile.localized situé dans le répertoire du logiciel porté.

Une fois cela effectué, OpenOffice.org peut être lancé avec la commande:

% openoffice.org

7.4. Lecteurs de document

Certains nouveaux formats de documentation ont gagné en popularité depuis l'avènement d'UNIX®; les lecteurs standard qu'ils nécessitent peuvent ne pas être disponibles dans le système de base. Nous verrons, dans cette section, comment installer ces lecteurs de document.

Cette section couvre les applications suivantes:

Nom de l'applicationRessources nécessairesInstallation à partir du catalogue des logiciels portésDépendances principales
Acrobat Reader®faibleslégèreCompatibilité binaire Linux
gvfaibleslégèreXaw3d
XpdffaibleslégèreFreeType
GQviewfaibleslégèreGtk+ ou GNOME

7.4.1. Acrobat Reader®

De nombreux documents sont désormais distribués sous forme de fichiers PDF, qui signifie “Format Portable de Document” - Portable Document Format. Un des lecteurs recommandé est Acrobat Reader®, sorti par Adobe pour Linux. Comme FreeBSD peut exécuter les binaires Linux, il est également disponible pour FreeBSD.

Pour installer Acrobat Reader® 7, à partir du catalogue de logiciels portés, faire:

# cd /usr/ports/print/acroread7
# make install clean

Il n'existe pas de paquetage pour des raisons de licence.

7.4.2. gv

gv un lecteur de fichier PostScript® et PDF. Il est a l'origine basé sur ghostview mais présente un plus bel aspect grâce à la bibliothèque Xaw3d. Il est rapide et son interface est simple. gv possède de nombreuses fonctionnalités comme l'orientation, le format du papier, l'échelle, l'anticrénelage. Presque toutes les opérations peuvent être effectuées soit à partir du clavier soit à la souris.

Pour installer gv à partir de la version pré-compilée, faites:

# pkg_add -r gv

Si vous ne pouvez obtenir la version pré-compilée, vous pouvez utiliser le catalogue des logiciels portés:

# cd /usr/ports/print/gv
# make install clean

7.4.3. Xpdf

Si vous désirez un petit lecteur de fichiers PDF, Xpdf est léger et efficace. Il demande très peu de ressources et est très stable. Il utilise les polices de caractères standards de X et ne requiert pas Motif® ou tout autre ensemble d'éléments graphiques pour X.

Pour installer la version pré-compilée d'Xpdf utilisez la commande suivante:

# pkg_add -r xpdf

Si la version pré-compilée n'est pas disponible ou que vous préfériez utiliser le catalogue des logiciels portés, faites:

# cd /usr/ports/graphics/xpdf
# make install clean

Une fois l'installation achevée, vous pouvez lancer Xpdf et utiliser le bouton droit de la souris pour activer le menu.

7.4.4. GQview

GQview est un gestionnaire d'image. Vous pouvez visualiser un fichier avec un simple clic, lancer un éditeur externe, obtenir une pré-visualisation par vignettes, et bien plus. Il propose également un mode présentation et quelques possibilités d'opérations sur fichiers de base. Vous pouvez gérer des collections d'images et trouver facilement les doublons. GQview supporte l'affichage plein écran et l'internationalisation de l'interface.

Si vous désirez installer la version pré-compilée de GQview, faites:

# pkg_add -r gqview

Si la version pré-compilée n'est pas disponible ou que vous préférez utiliser le catalogue des logiciels portés, faites:

# cd /usr/ports/graphics/gqview
# make install clean

7.5. Finance

Si, pour diverses raisons, vous voudriez gérer vos finances personnelles sous FreeBSD, il existe quelques applications puissantes et simples d'emploi prêtes à être installées. Certaines d'entre elles sont compatibles avec des formats de fichiers très répandus comme ceux utilisés par Quicken ou Excel pour stocker des documents.

Cette section couvre les programmes suivants:

Nom de l'applicationRessources nécessairesInstallation à partir du catalogue des logiciels portésDépendances principales
GnuCashfaibleslourdeGNOME
GnumericfaibleslourdeGNOME
AbacusfaibleslégèreTcl/Tk
KMyMoneyfaibleslourdeKDE

7.5.1. GnuCash

GnuCash fait partie de l'effort GNOME en vue de fournir des applications puissantes et conviviales pour l'utilisateur final. Avec GnuCash, vous pouvez suivre vos crédits et débits, vos comptes bancaires, et vos actions. Il présente une interface intuitive tout en restant très professionnel.

GnuCash fournit un registre intelligent, un système hiérarchique pour les comptes, de nombreux raccourcis clavier et des systèmes d'autocomplémentation de la frappe au clavier. Il peut diviser une simple transaction en plusieurs étapes plus détaillées. GnuCash peut importer et fusionner des fichiers QIF de Quicken. Il supporte également la plupart des formats internationaux de date et de monnaies.

Pour installer GnuCash sur votre système, faites:

# pkg_add -r gnucash

Si la version pré-compilée n'est pas disponible, vous pouvez utiliser le catalogue des logiciels portés:

# cd /usr/ports/finance/gnucash
# make install clean

7.5.2. Gnumeric

Gnumeric est un tableur, faisant partie de l'environnement de travail GNOME. Il dispose d'un système automatique “devinant” le type d'entrée de l'utilisateur en fonction du format de la cellule avec un système de remplissage automatique pour de nombreuses séquences d'utilisation. Il peut importer des fichiers de nombreux formats populaires comme ceux d'Excel, Lotus 1-2-3, ou Quattro Pro. Gnumeric supporte l'affichage de graphiques grâce au programme de tracé math/guppi. Il dispose d'un grand nombre de fonctions intégrées et permet tous les formats de cellule habituels comme le format numérique, monétaire, date, temps, et bien plus.

Pour installer Gnumeric sous forme pré-compilée, tapez:

# pkg_add -r gnumeric

Si la version pré-compilée n'est pas disponible, vous pouvez utiliser le catalogue des logiciels portés en faisant:

# cd /usr/ports/math/gnumeric
# make install clean

7.5.3. Abacus

Abacus est un tableur léger et facile d'emploi. Il incorpore de nombreuses fonctions utiles dans plusieurs domaines comme les statistiques, la finance, et les mathématiques. Il peut importer et exporter en format Excel. Abacus peut produire des sorties en PostScript®.

Pour installer Abacus à partir de la version pré-compilée, faites:

# pkg_add -r abacus

Si la version pré-compilée n'est pas disponible, vous pouvez utiliser le catalogue des logiciels portés en faisant:

# cd /usr/ports/deskutils/abacus
# make install clean

7.5.4. KMyMoney

KMyMoney est un programme de comptabilité personnelle pour KDE. KMyMoney a pour objectif de fournir et d'incorporer toutes les fonctionnalités importantes que l'on retrouve dans les applications de comptabilité personnelle commerciales. Il met également l'accent sur la facilité d'utilisation et la mise en place d'une comptabilité en partie double. KMyMoney peut importer les fichiers au format Quicken (QIF), suivre des placements, gérer plusieurs monnaies et fournir une quantité de compte-rendus. La possibilité d'importer des fichiers au format OFX est également disponible à l'aide d'un greffon séparé.

Pour installer KMyMoney sous forme d'un paquetage:

# pkg_add -r kmymoney2

Si le paquetage n'est pas disponible, vous pouvez utiliser le catalogue des logiciels portés:

# cd /usr/ports/finance/kmymoney2
# make install clean

7.6. Résumé

Alors que FreeBSD est populaire parmi les fournisseurs d'accès à Internet pour ses performances et sa stabilité, il est quasiment prêt pour une utilisation quotidienne en tant que station de travail. Avec plusieurs milliers d'applications disponibles sous forme pré-compilées ou dans le catalogue des logiciels portés, vous pouvez vous construire l'environnement de travail qui vous conviendra le mieux.

Voici un bref rappel de toutes les applications abordées dans ce chapitre:

Nom de l'applicationNom du logiciel pré-compiléNom du logiciel porté
Mozillamozillawww/mozilla
Operaoperawww/opera
Firefoxfirefoxwww/firefox
KOfficekoffice-kde3editors/koffice-kde3
AbiWordabiwordeditors/abiword
The GIMPgimpgraphics/gimp
OpenOffice.orgopenofficeeditors/openoffice-1.1
Acrobat Reader®acroreadprint/acroread7
gvgvprint/gv
Xpdfxpdfgraphics/xpdf
GQviewgqviewgraphics/gqview
GnuCashgnucashfinance/gnucash
Gnumericgnumericmath/gnumeric
Abacusabacusdeskutils/abacus

Chapitre 8. Multimédia

Mise en forme par Ross Lippert.

Version française de Marc Fonvieille .

8.1. Synopsis

FreeBSD supporte une grande variété de cartes son, vous permettant d'obtenir un son haute fidélité à partir de votre ordinateur. Ceci inclut la possibilité d'enregistrer et de jouer les formats “MPEG Audio Layer 3” (MP3), WAV et Ogg Vorbis aussi bien que de nombreux autres formats. Le catalogue de logiciels portés de FreeBSD contient également des applications vous permettant d'éditer vos enregistrements, rajouter des effets sonores, et contrôler des périphériques MIDI.

Avec un peu d'expérimentation, FreeBSD pourra lire des fichiers vidéo et des DVDs. Le nombre d'applications pour encoder, convertir, et lire divers supports vidéo est plus limité que le nombre d'applications équivalentes dans le domaine du son. Par exemple au moment de l'écriture de ces lignes, il n'existe pas de bonne application d'encodage dans le catalogue des logiciels portés de FreeBSD, qui pourra être utilisée pour convertir d'un format à un autre, comme peut le faire pour le son le programme audio/sox. Cependant, le paysage logiciel dans ce domaine évolue rapidement.

Ce chapitre décrira les étapes nécessaires pour configurer votre carte son. La configuration et l'installation d'X11 (Chapitre 6, Le système X Window) ont déjà pris soin des problèmes matériel de votre carte vidéo, bien qu'il puisse y avoir quelques réglages à ajuster pour obtenir une meilleure lecture des vidéos.

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

  • Comment configurer votre système afin que votre carte son soit reconnue.

  • Les méthodes pour tester le fonctionnement de votre carte.

  • Comment faire face aux problèmes de configuration de votre carte son.

  • Comment jouer et encoder des MP3s.

  • Comment la vidéo est supportée par X11.

  • Quelques logiciels portés qui donnent de bon résultats pour lire/encoder de la vidéo.

  • Comment lire des DVDs, des fichiers .mpg et .avi.

  • Comment extraire l'information présente sur des CDs et des DVDs.

  • Comment configurer une carte TV.

  • Comment configurer un scanner.

Avant de lire ce chapitre, vous devrez:

Avertissement:

Essayer de monter des CDs audio avec la commande mount(8) aura pour résultat une erreur, au moins, et une panique du noyau, au pire. Ces supports ont des codages spécifiques qui diffèrent du système de fichiers ISO classique.

8.2. Configurer une carte son

Contribution de Moses Moore.
Augmentée pour FreeBSD 5.X par Marc Fonvieille.

8.2.1. Configuration du système

Avant que vous commenciez, vous devriez connaître le modèle de carte son que vous avez, la puce qu'elle utilise, et si c'est une carte PCI ou ISA. FreeBSD supporte une grande variété de cartes PCI et ISA. Consultez la liste des périphériques audio supportés des notes de compatibilité matériel pour voir si votre carte est supportée. Ces notes indiqueront également quel pilote supporte votre carte.

Pour utiliser votre carte son, vous devrez charger le pilote de périphérique approprié. Cela peut être fait de deux façons. La plus simple est de charger le module pour votre carte son avec kldload(8), ce qui peut être soit fait à partir de la ligne de commande:

# kldload snd_emu10k1

soit en ajoutant la ligne appropriée dans le fichier /boot/loader.conf comme cela:

snd_emu10k1_load="YES"

Ces exemples concernent la carte Creative SoundBlaster® Live!. Les autres modules son chargeables sont listés dans /boot/defaults/loader.conf. Si vous n'êtes pas sûr du pilote à utiliser, vous pouvez tenter de charger le pilote snd_driver:

# kldload snd_driver

C'est un méta-pilote chargeant directement les pilotes les plus courants. Cela accélère la recherche du pilote adapté. Il est également possible de charger l'intégralité des pilotes de cartes son en utilisant le système /boot/loader.conf.

Si vous voulez connaître le pilote sélectionné lors du chargement du méta-pilote snd_driver, vous pouvez consulter le fichier /dev/sndstat à cet effet, et cela à l'aide de la commande cat /dev/sndstat.

Une seconde méthode est de compiler le support pour votre carte son en statique dans votre noyau. La section ci-dessous fournit les informations nécessaires pour ajouter le support de votre matériel de cette manière. Pour plus d'informations au sujet de la recompilation de votre noyau, veuillez consulter le Chapitre 9, Configurer le noyau de FreeBSD.

8.2.1.1. Configurer un noyau sur mesure avec support du son

La première chose à effectuer est d'ajouter au noyau le pilote de périphérique audio générique sound(4); pour cela vous devrez ajouter la ligne suivante au fichier de configuration du noyau:

device sound

Ensuite, vous devez ajouter le support pour votre carte son. Par conséquent, vous devez savoir quel pilote supporte la carte. Consultez la liste des périphériques audio supportés des notes de compatibilité matériel pour déterminer le pilote correct pour votre carte son. Par exemple, une carte son Creative SoundBlaster® Live! est supportée par le pilote snd_emu10k1(4). Pour ajouter le support pour cette carte, utilisez ce qui suit:

device snd_emu10k1

Assurez-vous de lire la page de manuel du pilote pour la syntaxe à utiliser. La syntaxe de la configuration du noyau pour chaque pilote de carte son supportée peut être également trouvée dans le fichier /usr/src/sys/conf/NOTES.

Les cartes son ISA non-PnP pourront nécessiter de fournir au noyau des informations sur le paramétrage de la carte (IRQ, port d'E/S, etc.), comme c'est en général le cas pour toutes les cartes ISA non-PnP. Cela s'effectue par l'intermédiaire du fichier /boot/device.hints. Au démarrage du système, le chargeur (loader(8)) lira ce fichier et passera les paramètres au noyau. Par exemple, une vieille carte ISA non-PnP Creative SoundBlaster® 16 utilisera le pilote snd_sbc(4) de paire avec snd_sb16, on ajoutera alors la ligne suivante au fichier de configuration du noyau:

device snd_sbc
device snd_sb16

avec également ceci dans le fichier /boot/device.hints:

hint.sbc.0.at="isa"
hint.sbc.0.port="0x220"
hint.sbc.0.irq="5"
hint.sbc.0.drq="1"
hint.sbc.0.flags="0x15"

Dans ce cas, la carte utilise le port d'E/S 0x220 et l'IRQ 5.

La syntaxe utilisée dans le fichier /boot/device.hints est abordée dans la page de manuel du pilote sound(4) ainsi que celle du pilote spécifique à la carte son.

Les paramètres donnés ci-dessus sont ceux par défaut. Dans certains cas, vous pouvez avoir besoin de modifier l'IRQ ou tout autre paramètre en fonction de votre carte son. Consultez la page de manuel snd_sbc(4) pour plus d'informations au sujet de cette carte.

8.2.2. Tester la carte son

Après avoir redémarré avec le noyau modifié, ou après avoir chargé le module nécessaire, la carte son devrait apparaître dans le tampon des messages du système (dmesg(8)) d'un manière proche de la suivante:

pcm0: <Intel ICH3 (82801CA)> port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0
pcm0: [GIANT-LOCKED]
pcm0: <Cirrus Logic CS4205 AC97 Codec>

L'état de la carte son peut être contrôlée par l'intermédiaire du fichier /dev/sndstat:

# cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <Intel ICH3 (82801CA)> at io 0xd800, 0xdc80 irq 5 bufsz 16384
kld snd_ich (1p/2r/0v channels duplex default)

Le résultat pourra être différent sur votre système. Si aucun périphérique pcm n'apparaît, retournez en arrière et revoyez ce qui a été fait précédemment. Contrôlez à nouveau votre fichier de configuration du noyau et vérifiez que vous avez choisi le périphérique correct. Les problèmes courants sont listés dans la Section 8.2.2.1, « Problèmes courants ».

Si tout va bien, vous devriez avoir maintenant une carte son qui fonctionne. Si la sortie audio de votre lecteur de CD-ROM ou de DVD-ROM est correctement reliée à votre carte son, vous pouvez introduire un CD dans le lecteur et le jouer avec cdcontrol(1):

% cdcontrol -f /dev/acd0 play 1

Diverses applications, comme audio/workman offrent une meilleure interface. Vous pouvez vouloir installer une application comme audio/mpg123 pour écouter des fichiers audio MP3.

Une autre méthode rapide pour tester la carte est d'envoyer des données au /dev/dsp, de la manière suivante:

% cat filename > /dev/dsp

filename peut être n'importe quel fichier. Cette ligne de commande devrait produire des sons, confirmant le bon fonctionnement de la carte son.

Les niveaux du mixer de la carte son peuvent être modifiés par la commande mixer(8). Plus de détails peuvent être trouvés dans la page de manuel mixer(8).

8.2.2.1. Problèmes courants

ErreurSolution
sb_dspwr(XX) timed out

Le port d'E/S n'est pas configuré correctement.

bad irq XX

L'IRQ sélectionnée est incorrecte. Vérifiez que l'IRQ choisie et l'IRQ de la carte son sont les mêmes.

xxx: gus pcm not attached, out of memory

Il n'y a pas suffisamment de mémoire disponible pour utiliser ce périphérique.

xxx: can't open /dev/dsp!

Vérifiez avec la commande fstat | grep dsp si une autre application maintient le périphérique ouvert. Souvent à l'origine de ce type de problème on trouve esound et le support son de KDE.

8.2.3. Utiliser des sources sonores multiples

Contribution de Munish Chopra.

Il est souvent intéressant de pouvoir jouer simultanément du son à partir de multiples sources, comme lorsque esound ou artsd ne supportent pas le partage du périphérique son avec certaines applications.

FreeBSD vous permet de le faire par l'intermédiaire de Canaux Sonores Virtuels, qui peuvent être activés avec la fonction sysctl(8). Les canaux virtuels vous permettent de multiplexer la sortie de votre carte son en mixant le son au niveau du noyau.

Pour configurer le nombre de canaux virtuels, il existe deux paramètres de sysctl qui, si vous avez les privilèges de l'utilisateur root, peuvent être configurés comme ceci:

# sysctl hw.snd.pcm0.vchans=4
# sysctl hw.snd.maxautovchans=4

L'exemple ci-dessus alloue quatre canaux virtuels, ce qui est un nombre suffisant pour une utilisation classique. hw.snd.pcm0.vchans est le nombre de canaux virtuels que possède pcm0, et est configurable une fois que le périphérique a été attaché au système. hw.snd.maxautovchans est le nombre de canaux virtuels alloués à un nouveau périphérique audio quand il est attaché à l'aide de kldload(8). Comme le module pcm peut être chargé indépendamment des pilotes de périphériques, hw.snd.maxautovchans peut stocker combien de canaux virtuels seront alloués à chaque périphérique attaché par la suite.

Note:

Vous ne pouvez pas modifier le nombre de canaux virtuels pour un périphérique en cours d'utilisation. Quittez avant tout autre chose les programmes utilisant le périphérique en question, comme les lecteurs de fichiers sonores ou les « daemons » audios.

Si vous n'utilisez pas devfs(5), vous devrez faire pointer vos applications sur /dev/dsp0.x, où x est 0 à 3 si hw.snd.pcm.0.vchans est fixé à 4. Sur un système utilisant devfs(5), ce qui précède sera automatiquement effectué de façon transparente pour le programme qui réclame le périphérique /dev/dsp0.

8.2.4. Définir les valeurs par défaut du mixeur des différents canaux

Contribution de Josef El-Rayes.

Les valeurs par défaut du mixeur des différents canaux sont fixées en dur dans le code source du pilote pcm(4). Il existe plusieurs applications et “daemons” qui vous permettent de fixer les valeurs du mixeur qui seront mémorisées entre chaque invocation, mais ce n'est pas une solution idéale. Il est possible régler les valeurs par défaut au niveau du pilote — ceci se fait en définissant les valeurs adéquates dans le fichier /boot/device.hints. Par exemple:

hint.pcm.0.vol="50"

Cela fixera le volume du canal à une valeur par défaut de 50; dès que le module pcm(4) est chargé.

8.3. Fichiers MP3

Contribution de Chern Lee.

Les fichiers MP3 (MPEG Layer 3 Audio) donnent un son proche de la qualité d'un CD audio, il n'y a aucune raison pour que votre station de travail FreeBSD ne puisse pas en profiter.

8.3.1. Lecteurs de MP3s

De loin, le plus populaire des lecteurs MP3 pour X11 est XMMS (X Multimedia System). Les thèmes (skins) de Winamp peuvent être utilisés avec XMMS dès lors que l'interface est quasiment identique à celle du Winamp de Nullsoft. XMMS dispose aussi d'un support natif pour modules externes (plug-in).

XMMS peut être installé à partir du catalogue de logiciels portés multimedia/xmms ou de la version pré-compilée.

L'interface d'XMMS est intuitive, avec une liste de lecture, un égaliseur graphique, et plus. Ceux qui sont familiers avec Winamp trouveront XMMS simple d'utilisation.

Le logiciel porté audio/mpg123 est une alternative, un lecteur de MP3 en ligne de commande.

mpg123 peut être utilisé en spécifiant le périphérique sonore et le fichier MP3 sur la ligne de commande, comme montré ci-dessous:

# mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!





Playing MPEG stream from Foobar-GreastestHits.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo

/dev/dsp1.0 devrait être remplacé par le périphérique dsp correspondant sur votre système.

8.3.2. Extraire les pistes de CDs Audio

Avant d'encoder la totalité d'un CD ou une piste en MP3, les données audio doivent être extraites et transférées sur le disque dur. Cela se fait en copiant les données brutes CDDA (CD Digital Audio) en fichiers WAV.

L'utilitaire cdda2wav, qui fait partie de la suite sysutils/cdrtools, est utilisé pour extraire les données audio de CDs et les informations rattachées.

Avec le CD audio dans le lecteur, la commande suivante peut être utilisée (en tant que root) pour convertir l'intégralité d'un CD en fichiers WAV (un par piste):

# cdda2wav -D 0,1,0 -B

cdda2wav supportera également les lecteurs de CDROM ATAPI (IDE). Pour faire l'extraction à partir d'un lecteur IDE, précisez le nom du périphérique à la place de l'unité SCSI. Par exemple, pour extraite la piste 7 à partir d'un lecteur IDE:

# cdda2wav -D /dev/acd0 -t 7

Le -D 0,1,0 spécifie le périphérique SCSI 0,1,0, qui correspond à ce qui est donné par la commande cdrecord -scanbus.

Pour extraire des pistes individuelles, utilisez l'option -t comme ceci:

# cdda2wav -D 0,1,0 -t 7

Cet exemple extrait la septième piste du CD audio. Pour extraire un ensemble de pistes, par exemple, de la piste 1 à 7, précisez un intervalle:

# cdda2wav -D 0,1,0 -t 1+7

L'utilitaire dd(1) peut également être utilisé pour extraire des pistes audios à partir de lecteurs ATAPI, consultez la Section 19.6.5, « Dupliquer des CDs Audio » pour plus d'informations sur cette possibilité.

8.3.3. Encoder des MP3s

De nos jours, l'encodeur mp3 à utiliser est lame. Lame peut être trouvé dans le catalogue de logiciels portés: audio/lame.

En utilisant les fichiers WAV extraits, la commande suivante convertira le fichier audio01.wav en audio01.mp3:

# lame -h -b 128 \
--tt "La chanson XY" \
--ta "Artiste XY" \
--tl "Album XY" \
--ty "2001" \
--tc "Extrait et encodé par XY" \
--tg "Genre" \
audio01.wav audio01.mp3

128 kbits semble être le taux standard actuel du débit audio utilisé pour les MP3s. Nombreux sont ceux qui préfèrent des taux de haute qualité: 160 ou 192. Plus le débit audio est élevé plus l'espace disque utilisé par le fichier MP3 sera grand mais la qualité sera meilleure. L'option -h active le mode “haute qualité, mais un peu plus lent”. Les options commençant par --t indiquent des balises ID3, qui généralement contiennent les informations sur le morceau, devant être intégrées au fichier MP3. D'autres informations sur l'encodage peuvent être trouvées en consultant la page de manuel de Lame.

8.3.4. Décoder des MP3s

Afin de pouvoir graver un CD audio à partir de fichiers MP3, ces derniers doivent être convertis dans le format WAV non compressé. XMMS et mpg123 supportent tous les deux la sortie de fichiers MP3 en format de fichier non compressé.

Ecriture sur le disque avec XMMS:

  1. Lancez XMMS.

  2. Clic-droit sur la fenêtre pour faire apparaître le menu d'XMMS.

  3. Sélectionner Preference sous Options.

  4. Changez l'option “Output Plugin” pour “Disk Writer Plugin”.

  5. Appuyez sur Configure.

  6. Entrez (ou choisissez browse) un répertoire où va être écrit le fichier décompressé.

  7. Chargez le fichier MP3 dans XMMS comme à l'accoutumé, avec le volume à 100% et l'égaliseur (EQ settings) désactivé.

  8. Appuyez sur PlayXMMS devrait se comporter comme s'il jouait le MP3, mais aucun son ne sera audible. Il est en fait en train de “jouer” le MP3 dans un fichier.

  9. Vérifiez que vous avez rétabli l'option “Output Plugin” à sa valeur de départ afin de pouvoir écouter à nouveau des MP3s.

Ecriture sur le disque avec mpg123:

  • Lancez mpg123 -s audio01.mp3 > audio01.pcm

XMMS crée un fichier au format WAV, tandis que mpg123 convertit le fichier MP3 en données audio PCM brutes. Ces deux formats peuvent être utilisés avec cdrecord pour créer des CDs audio. Vous devez utiliser des fichiers PCM bruts avec burncd(8). Si vous utilisez des fichiers WAV, vous noterez un petit parasite au début de chaque piste, ce son est l'entête du fichier WAV. Vous pouvez simplement retirer l'entête d'un fichier WAV avec l'utilitaire SoX (il peut être installé à partir du logiciel porté audio/sox ou de la version pré-compilée):

% sox -t wav -r 44100 -s -w -c 2 track.wav track.raw

Lisez la Section 19.6, « Création et utilisation de supports optiques (CDs) » pour plus d'informations sur l'utilisation d'un graveur de CD sous FreeBSD.

8.4. Lecture des Vidéos

Contribution de Ross Lippert.

Les applications pour lire des vidéos sont assez récentes et se développent très rapidement. Soyez patient. Tout ne va pas fonctionner aussi bien que cela pu être le cas avec le son.

Avant que vous ne commenciez, vous devrez connaître le modèle de carte vidéo dont vous disposez ainsi que le circuit intégré qu'elle utilise. Alors qu'Xorg et XFree86 supportent une large variété de cartes vidéo, seul un petit nombre d'entre elles donne de bonnes performances en lecture de vidéos. Pour obtenir la liste des extensions supportées par le serveur X utilisant votre carte employez la commande xdpyinfo(1) durant le fonctionnement d'X11.

C'est une bonne idée d'avoir un court fichier MPEG qui pourra être utilisé comme fichier test pour évaluer divers lecteurs et leurs options. Comme certains programmes de lecture de DVD chercheront un support DVD sur /dev/dvd par défaut, ou ont ce périphérique fixé définitivement dans leur code, vous pourrez trouver utile de créer des liens symboliques vers les périphériques corrects:

# ln -sf /dev/acd0 /dev/dvd
# ln -sf /dev/acd0 /dev/rdvd

Notez qu'en raison de la nature du système devfs(5), les liens créés à la main comme les précédents ne seront pas conservés si vous redémarrez le système. Afin de créer automatiquement les liens symboliques dès que vous redémarrez votre système, ajoutez les lignes suivantes au fichier /etc/devfs.conf:

link acd0 dvd
link acd0 rdvd

De plus, le décodage de DVD, qui nécessite de faire appel à des fonctions spéciales du lecteur de DVD, demande d'avoir la permission d'écrire sur les périphériques DVD.

Pour augmenter la mémoire partagée pour l'interface X11, il est recommandé que les valeurs de certaines variables sysctl(8) soient augmentées:

kern.ipc.shmmax=67108864
kern.ipc.shmall=32768

8.4.1. Déterminer les capacités vidéo

Il y a plusieurs manières possibles pour afficher de la vidéo sous X11. Ce qui fonctionnera vraiment est énormément dépendant du matériel. Chaque méthode décrite ci-dessous donnera différents résultats en fonction du matériel. De plus, le rendu de la vidéo sous X11 est un sujet recevant beaucoup d'attention dernièrement, et avec chaque nouvelle version d'Xorg, ou d'XFree86, il pourra y avoir des améliorations significatives.

Une liste des interfaces vidéo communes:

  1. X11: sortie X11 classique utilisant de la mémoire partagée.

  2. XVideo: une extension de l'interface X11 qui supporte la vidéo sur n'importe quelle partie de l'écran contrôlé par X11.

  3. SDL: “Simple Directmedia Layer” - couche simple d'accès directe au média.

  4. DGA: “Direct Graphics Access” - accès direct au graphique.

  5. SVGAlib: couche graphique bas niveau pour la console.

8.4.1.1. XVideo

Xorg et XFree86™ 4.X disposent d'une extension appelée XVideo (également connue sous les termes Xvideo, Xv, ou xv) qui permet d'afficher directement de la vidéo à travers une accélération spécifique. Cette extension fournit une très bonne qualité de rendu même sur les machines bas de gamme.

Pour vérifier si l'extension fonctionne utilisez xvinfo:

% xvinfo

XVideo est supporté pour votre carte si le résultat de la commande ressemble à:

X-Video Extension version 2.2
screen #0
  Adaptor #0: "Savage Streams Engine"
    number of ports: 1
    port base: 43
    operations supported: PutImage
    supported visuals:
      depth 16, visualID 0x22
      depth 16, visualID 0x23
    number of attributes: 5
      "XV_COLORKEY" (range 0 to 16777215)
              client settable attribute
              client gettable attribute (current value is 2110)
      "XV_BRIGHTNESS" (range -128 to 127)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_CONTRAST" (range 0 to 255)
              client settable attribute
              client gettable attribute (current value is 128)
      "XV_SATURATION" (range 0 to 255)
              client settable attribute
              client gettable attribute (current value is 128)
      "XV_HUE" (range -180 to 180)
              client settable attribute
              client gettable attribute (current value is 0)
    maximum XvImage size: 1024 x 1024
    Number of image formats: 7
      id: 0x32595559 (YUY2)
        guid: 59555932-0000-0010-8000-00aa00389b71
        bits per pixel: 16
        number of planes: 1
        type: YUV (packed)
      id: 0x32315659 (YV12)
        guid: 59563132-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x30323449 (I420)
        guid: 49343230-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x36315652 (RV16)
        guid: 52563135-0000-0000-0000-000000000000
        bits per pixel: 16
        number of planes: 1
        type: RGB (packed)
        depth: 0
        red, green, blue masks: 0x1f, 0x3e0, 0x7c00
      id: 0x35315652 (RV15)
        guid: 52563136-0000-0000-0000-000000000000
        bits per pixel: 16
        number of planes: 1
        type: RGB (packed)
        depth: 0
        red, green, blue masks: 0x1f, 0x7e0, 0xf800
      id: 0x31313259 (Y211)
        guid: 59323131-0000-0010-8000-00aa00389b71
        bits per pixel: 6
        number of planes: 3
        type: YUV (packed)
      id: 0x0
        guid: 00000000-0000-0000-0000-000000000000
        bits per pixel: 0
        number of planes: 0
        type: RGB (packed)
        depth: 1
        red, green, blue masks: 0x0, 0x0, 0x0

Notez également que les formats listés (YUV2, YUV12, etc...) ne sont pas présents dans chaque implémentation d'XVideo et leur absence pourra gêner certains programmes.

Si le résultat ressemble à:

X-Video Extension version 2.2
screen #0
no adaptors present

Alors XVideo n'est probablement pas supporté pour votre carte.

Si XVideo n'est pas supporté pour votre carte, cela signifie seulement qu'il sera plus difficile pour votre système d'affichage de répondre aux demandes du rendu vidéo en termes de puissance de calcul. En fonction de votre carte vidéo et de votre processeur, vous pourriez encore obtenir de bons résultats. Vous devriez probablement vous documenter sur les méthodes pour améliorer les performances en lisant la Section 8.4.3, « Lectures supplémentaires ».

8.4.1.2. “Simple Directmedia Layer” - couche simple d'accès directe au média

La couche simple d'accès directe au média, SDL, a été prévue pour être une couche de portage entre Microsoft® Windows®, BeOS, et UNIX®, permettant à des applications “cross-platform” qui font un usage efficace du son et du graphique d'être développées. La couche SDL fournit une abstraction de bas niveau vers le matériel qui peut parfois être plus efficace que l'interface X11.

La bibliothèque SDL peut être trouvée dans devel/sdl12.

8.4.1.3. “Direct Graphics Access” - accès direct au graphique

L'accès direct au graphique est une extension X11 qui permet à un programme de bypasser le serveur X et d'accéder directement au matériel. Comme il repose sur une copie bas niveau de la mémoire, les programmes l'utilisant doivent être exécutés avec les privilèges de l'utilisateur root.

L'extension DGA et ses performances peuvent être testées avec dga(1). Quand dga est exécuté, il changera les couleurs de l'affichage à chaque appui sur une touche. Pour quitter, utilisez la touche q.

8.4.2. Logiciels portés et pré-compilés relatifs à la vidéo

Cette section traite des logiciels disponibles dans le catalogue des logiciels portés de FreeBSD qui peuvent être utilisés pour lire de la vidéo. Les applications vidéos sont un domaine de développement très actif, et les capacités de diverses applications seront sujettes à des divergences avec la description donnée ici.

Premièrement, il est important de savoir que plusieurs des applications vidéos fonctionnant sous FreeBSD ont été développées comme des applications pour Linux. Plusieurs de ces applications sont encore considérées comme étant de qualité bêta. Parmi les problèmes que l'on peut rencontrer avec les applications vidéos sous FreeBSD, nous trouvons:

  1. Une application ne peut pas lire un fichier produit par une autre application.

  2. Une application ne peut pas lire un fichier quelle a produit.

  3. La même application sur deux machines différentes, recompilée sur chaque machine pour la machine elle-même, jouera le fichier différemment.

  4. Un filtre apparemment insignifiant comme un changement d'échelle de l'image donne de très mauvais résultats en raison d'une routine de changement d'échelle boguée.

  5. Une application qui plante régulièrement.

  6. La documentation n'est pas installée avec le logiciel porté et peut être trouvée sur Internet ou dans le répertoire work du logiciel porté.

Parmin ces applications, nombreuses sont celles qui peuvent présenter des “Linuxismes”. Aussi, il y peut y avoir des problèmes résultants de la façon dont certaines bibliothèques standards sont implémentées dans les distributions Linux, ou certaines caractéristiques du noyau Linux qui ont été employées par les auteurs des applications. Ces problèmes ne sont pas toujours remarqués et contournés par les responsables du portage du logiciel ce qui peut mener vers quelques ennuis comme ceux-ci:

  1. L'utilisation de /proc/cpuinfo pour détecter les caractéristiques du processeur.

  2. Une mauvaise utilisation des “threads” qui provoque le blocage de programme au lieu de se terminer complètement.

  3. Des logiciels habituellement utilisés en conjonction avec l'application ne sont pas encore dans le catalogue des logiciels portés.

Jusqu'ici, les développeurs de ces applications ont été coopératifs avec les responsables des logiciels portés pour minimiser les modifications nécessaires au portage.

8.4.2.1. MPlayer

MPlayer est une application pour lire des vidéos récemment et rapidement développée. Les objectifs de l'équipe de MPlayer sont la rapidité et la flexibilité sur Linux et autre UNIX®. Le projet fut démarré quand le fondateur de l'équipe en eu assez des mauvaises performances en lecture des autres lecteurs disponibles. Certains diront que l'interface graphique a été sacrifiée pour une conception rationalisée. Cependant, une fois que vous avez les options en ligne de commande et les combinaisons de touches en main, cela fonctionne très bien.

8.4.2.1.1. Compiler MPlayer

MPlayer réside dans multimedia/mplayer. MPlayer effectue un certain nombre de contrôle du matériel durant le processus de compilation, il en résulte un binaire qui ne sera pas portable d'un système à l'autre. Ainsi il est important d'utiliser le logiciel porté et de ne pas utiliser un logiciel pré-compilé. En plus, un certain nombre d'options peuvent être spécifiées dans la ligne de commande make, comme décrit dans le fichier Makefile et au départ de la compilation:

# cd /usr/ports/multimedia/mplayer
# make
N - O - T - E

Take a careful look into the Makefile in order
to learn how to tune mplayer towards you personal preferences!
For example,
make WITH_GTK1
builds MPlayer with GTK1-GUI support.
If you want to use the GUI, you can either install
/usr/ports/multimedia/mplayer-skins
or download official skin collections from
http://www.mplayerhq.hu/homepage/dload.html

Les options par défaut du logiciel porté devraient être suffisantes pour la plupart des utilisateurs. Cependant si vous avez besoin du codec XviD, vous devez spécifier l'option WITH_XVID dans la ligne de commande. Le périphérique DVD par défaut peut également être défini avec l'option WITH_DVD_DEVICE, par défaut /dev/acd0 sera utilisé.

Au moment de l'écriture de ces lignes, le logiciel porté de MPlayer compilera sa documentation HTML et deux exécutables, mplayer et mencoder, qui est un outil pour ré-encoder de la vidéo.

La documentation HTML de MPlayer est très complète. Si le lecteur trouve l'information sur le matériel vidéo et les interfaces manquante dans ce chapitre, la documentation de MPlayer est une alternative très complète. Vous devriez certainement prendre le temps de lire la documentation de MPlayer, si vous êtes à la recherche d'informations sur le support vidéo sous UNIX®.

8.4.2.1.2. Utiliser MPlayer

Chaque utilisateur de MPlayer doit créer un sous-répertoire .mplayer dans son répertoire d'utilisateur. Pour créer ce sous-répertoire nécessaire, vous pouvez taper ce qui suit:

% cd /usr/ports/multimedia/mplayer
% make install-user

Les options de commande de mplayer sont données dans la page de manuel. Pour plus de détails il y a la documentation HTML. Dans cette section, nous décrirons que quelques unes des utilisations les plus courantes.

Pour lire à un fichier, comme testfile.avi en utilisant une des diverses interfaces vidéo utilisez l'option -vo:

% mplayer -vo xv testfile.avi
% mplayer -vo sdl testfile.avi
% mplayer -vo x11 testfile.avi
# mplayer -vo dga testfile.avi
# mplayer -vo 'sdl:dga' testfile.avi

Cela vaut la peine d'essayer toutes ces options, comme leur performance relative dépend de nombreux facteurs et variera de façon significative avec le matériel.

Pour lire un DVD, remplacez testfile.avi par dvd://N -dvd-device DEVICEN est le numéro du titre à jouer et DEVICE est le fichier spécial de périphérique correspondant au lecteur de DVD. Par exemple, pour jouer le titre 3 depuis /dev/dvd:

# mplayer -vo xv dvd://3 -dvd-device /dev/dvd

Note:

Le périphérique DVD par défaut peut être défini lors de la compilation du logiciel porté MPlayer par l'intermédiaire de l'option WITH_DVD_DEVICE. Par défaut, ce périphérique est /dev/acd0. Plus de détails peuvent être trouvés dans le Makefile du logiciel porté.

Pour arrêter, avancer, etc..., consultez les combinaisons de touches, qui sont données en exécutant mplayer -h ou lisez la page de manuel.

D'autres options importantes pour la lecture sont: -fs -zoom qui active le mode plein écran et -framedrop qui aide au niveau des performances.

Pour que la ligne de commande à taper ne devienne pas trop longue, l'utilisateur peut créer un fichier .mplayer/config et y fixer les options par défaut:

vo=xv
fs=yes
zoom=yes

Enfin, mplayer peut être utilisé pour extraire une piste du DVD dans un fichier .vob. Pour récupérer la seconde piste vidéo d'un DVD, tapez ceci:

# mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd

Le fichier de sortie, out.vob, sera du MPEG et peut être manipulé par les autres logiciels décrits dans cette section.

8.4.2.1.3. mencoder

Avant d'utiliser mencoder c'est une bonne idée de vous familiariser avec les options données par la documentation HTML. Il existe une page de manuel, mais elle n'est pas très utile sans la documentation en HTML. Il y a d'innombrables façons d'améliorer la qualité, diminuer le débit binaire, et modifier les formats, et certaines de ces options peuvent faire la différence entre de bonnes et mauvaises performances. Voici quelques exemples pour y arriver. Tout d'abord une simple copie:

% mencoder input.avi -oac copy -ovc copy -o output.avi

De mauvaises combinaisons d'options peuvent conduire à des fichiers illisibles même par mplayer. Aussi, si vous voulez juste extraire un fichier, restez sur l'option -dumpfile de mplayer.

Pour convertir input.avi au format MPEG4 avec un codage audio MPEG3 (audio/lame est nécessaire):

% mencoder input.avi -oac mp3lame -lameopts br=192 \
	 -ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.avi

Ceci a produit un fichier lisible par mplayer et xine.

input.avi peut être remplacé par dvd://1 -dvd-device /dev/dvd et exécuté en tant que root pour ré-encoder directement un titre DVD. Puisque vous êtes susceptible de ne pas être satisfait du résultat la première fois, il est recommandé d'extraire le titre vers un fichier et de travailler sur le fichier.

8.4.2.2. Le lecteur xine

Le lecteur xine est un projet de grande envergure visant non seulement à être une solution vidéo tout-en-un, mais également de produire une bibliothèque de base réutilisable et un exécutable modulaire qui peut être étendu grâce à des greffons. Il est fourni sous forme pré-compilée et de logiciel porté, multimedia/xine.

Le lecteur xine est encore un peu brut, mais c'est clairement un bon début. Dans la pratique, xine demande soit un processeur rapide avec une carte vidéo rapide, soit l'extension XVideo. L'interface graphique est utilisable, mais peu pratique.

Au moment de l'écriture de ces lignes, il n'y a pas de module d'entrée fourni avec xine qui lira les DVDs codés en CSS. Il existe des versions tiers qui ont des modules à cet effet intégrés, mais aucune de ces dernières ne se trouve dans le catalogue des logiciels portés de FreeBSD.

Comparé à MPlayer, xine fait plus pour l'utilisateur, mais au même moment, rend inaccessible à l'utilisateur certains contrôles bien précis. Le lecteur xine se comporte le mieux sur les interfaces XVideo.

Par défaut, le lecteur xine lancera une interface graphique. Les menus peuvent alors être utilisés pour ouvrir un fichier précis:

% xine

Alternativement, le lecteur peut être invoqué pour jouer directement un fichier sans l'interface graphique avec la commande:

% xine -g -p mymovie.avi

8.4.2.3. Les utilitaires transcode

Le logiciel transcode n'est pas un lecteur, mais une suite d'outils pour ré-encoder les fichiers audio et vidéo. Avec transcode, on a la capacité de fusionner des fichiers vidéos, réparer les fichiers endommagés, en utilisant les outils en ligne de commande avec des interfaces de flots stdin/stdout.

Un grand nombre d'options peut être précisé lors de la compilation du logiciel porté multimedia/transcode, nous recommandons d'utiliser la ligne de commande suivante pour compiler transcode:

# make WITH_OPTIMIZED_CFLAGS=yes WITH_LIBA52=yes WITH_LAME=yes WITH_OGG=yes \
WITH_MJPEG=yes -DWITH_XVID=yes

Le paramétrage proposé devrait convenir à la plupart des utilisateurs.

Pour illustrer les capacités de transcode, voici un exemple montrant comment convertir un fichier DivX en fichier MPEG-1 en standard PAL (VCD PAL):

% transcode -i input.avi -V --export_prof vcd-pal -o output_vcd
% mplex -f 1 -o output_vcd.mpg output_vcd.m1v output_vcd.mpa

Le fichier MPEG résultant, output_vcd.mpg, peut être directement lu avec MPlayer. Vous pourrez même le graver sur un CD pour créer ainsi un Vidéo CD; dans ce cas vous devrez installer et utiliser les programmes multimedia/vcdimager et sysutils/cdrdao.

Il existe une page de manuel pour transcode, mais il est conseillé de consulter également le wiki de transcode pour plus d'information et des exemples.

8.4.3. Lectures supplémentaires

Les différents logiciels vidéo pour FreeBSD se développent rapidement. Il est fort possible que dans un futur proche plusieurs des problèmes abordés ici seront résolus. Entre temps ceux qui veulent tirer partie des possibilités audio/vidéo de FreeBSD devront se débrouiller avec des connaissances extraites de plusieurs FAQs et guides et utiliser différentes applications. Cette section existe pour fournir au lecteur des références sur ces documentations additionnelles.

La documentation de MPlayer est techniquement très instructive. Ces documents devraient probablement être consultés par quiconque désirant obtenir un niveau élevé d'expertise sur la vidéo et UNIX®. La liste de diffusion de MPlayer est hostile à toute personne qui n'a pas pris la peine de lire la documentation, aussi si vous projetez de leur envoyer des rapports de bogue, lisez la documentation!

Le HOWTO de xine contient un chapitre sur l'amélioration des performances qui est général à tous les lecteurs de vidéo.

Et enfin, il y a quelques autres applications prometteuses que le lecteur devrait essayer:

8.5. Configuration des cartes TV

Contibution originale de Josef El-Rayes.
Augmentée et adaptée par Marc Fonvieille.

8.5.1. Introduction

Les cartes TV vous permettent de regarder sur votre ordinateur la télévision par voie hertzienne ou par câble. La plupart d'entre elles acceptent de la vidéo composite par l'intermédiaire de connecteurs RCA ou S-video et certaines de ces cartes disposent d'un tuner radio FM.

FreeBSD founit le support pour les cartes TV PCI utilisant un circuit de capture video Brooktree Bt848/849/878/879 ou Conexant CN-878/Fusion 878a à l'aide du pilote bktr(4). Vous devez également vous assurer que la carte dispose d'un tuner supporté, consultez la page de manuel bktr(4) pour une liste des tuners supportés.

8.5.2. Ajout du pilote de périphérique

Pour utiliser votre carte, vous devrez charger le pilote bktr(4), cela peut être effectué en ajoutant la ligne suivante au fichier /boot/loader.conf:

bktr_load="YES"

Alternativement, vous pouvez compiler en statique dans le noyau le support pour la carte TV, dans ce cas ajouter les lignes suivantes dans votre fichier de configuration du noyau:

device	 bktr
device	iicbus
device	iicbb
device	smbus

Ces pilotes de périphériques supplémentaires sont nécessaires étant donné que les composants de la carte sont interconnectés via un bus I2C. Compilez et installez, ensuite, un nouveau noyau.

Une fois que le support a été ajouté au système, vous devez redémarrer votre machine. Durant le processus de démarrage, votre carte TV devrait apparaître de cette manière:

bktr0: <BrookTree 848A> mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0
iicbb0: <I2C bit-banging driver> on bti2c0
iicbus0: <Philips I2C bus> on iicbb0 master-only
iicbus1: <Philips I2C bus> on iicbb0 master-only
smbus0: <System Management Bus> on bti2c0
bktr0: Pinnacle/Miro TV, Philips SECAM tuner.

Bien évidemment ces messages peuvent varier en fonction de votre matériel. Cependant assurez-vous que le tuner est correctement détecté; il est possible de forcer certains des paramètres détecté à l'aide du système sysctl(8) et d'options de configuration du noyau. Par exemple, si vous désirez forcer le tuner pour un tuner Philips SECAM, vous devrez ajouter la ligne suivante au fichier de configuration du noyau:

options OVERRIDE_TUNER=6

ou vous pouvez directement utiliser sysctl(8):

# sysctl hw.bt848.tuner=6

Consultez la page de manuel bktr(4) et le fichier /usr/src/sys/conf/NOTES pour plus de détails sur les options disponibles.

8.5.3. Applications utiles

Pour utiliser votre carte TV, vous devrez installer une des applications suivantes:

  • multimedia/fxtv qui permet de regarder la télévision et d'enregistrer des images, du son et de la vidéo.

  • multimedia/xawtv est également une application pour regarder la télévision avec les mêmes fonctionnalités que fxtv.

  • misc/alevt décode et affiche les informations Vidéotexte/Télétexte.

  • audio/xmradio, un programme pour utiliser le tuner FM fourni avec certaines cartes TV.

  • audio/wmtune, une application intégrable dans votre environnement de travail pour gérer les tuners radio.

Plus d'applications sont disponibles dans le catalogue des logiciels portés de FreeBSD.

8.5.4. En cas de problème

Si vous rencontrez un quelconque problème avec votre carte TV, vous devriez contrôler tout d'abord que le circuit de capture video et le tuner sont vraiment supportés par le pilote bktr(4) et si vous avez utilisé les bonnes options de configuration. Pour plus de support et pour les diverses questions que vous pouvez vous poser à propos de votre carte TV, vous pouvez contacter et utiliser les archives de la liste de diffusion freebsd-multimedia.

8.6. Scanners

Ecrit par Marc Fonvieille.

8.6.1. Introduction

Sous FreeBSD, l'accès aux scanners est possible grâce à l'API SANE (Scanner Access Now Easy) disponible dans le catalogue des logiciels portés. SANE utilisera également certains pilotes de périphériques FreeBSD pour accéder à la partie matérielle du scanner.

FreeBSD supporte les scanners SCSI et USB. Assurez-vous que votre scanner est supporté par SANE avant d'effectuer une quelconque configuration. SANE dispose d'une liste des périphériques supportés qui peut vous informer sur le support et son statut pour un scanner particulier. La page de manuel uscanner(4) donne également une liste des scanners USB supportés.

8.6.2. Configuration du noyau

Comme mentionné plus haut les interfaces SCSI et USB sont supportées. En fonction de l'interface de votre scanner, différents pilotes de périphérique sont nécessaires.

8.6.2.1. Interface USB

Le noyau GENERIC inclut par défaut les pilotes nécessaires au support des scanners USB. Si vous décidez d'utiliser un noyau personnalisé, assurez-vous que les lignes suivantes sont présentes dans votre fichier de configuration du noyau:

device usb
device uhci
device ohci
device uscanner

En fonction du contrôleur USB présent sur votre carte mère, vous n'avez besoin que d'une des deux lignes device uhci et device ohci, cependant avoir ces deux lignes simultanément dans la configuration du noyau est sans risque.

Si vous ne désirez pas recompiler votre noyau et que votre noyau n'est pas le GENERIC, vous pouvez directement charger le module du pilote uscanner(4) à l'aide de la commande kldload(8):

# kldload uscanner

Pour charger ce module à chaque démarrage du système, ajoutez la ligne suivante au fichier /boot/loader.conf:

uscanner_load="YES"

Après avoir redémarré avec le bon noyau, ou après avoir chargé le module nécessaire, branchez votre scanner USB. Une ligne montrant la détection de votre scanner devrait apparaître dans le tampon des messages du système (dmesg(8)):

uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2

Ceci nous indique que notre scanner utilise le fichier spécial de périphérique /dev/uscanner0.

8.6.2.2. Interface SCSI

Si votre scanner dispose d'une interface SCSI, il est important de connaître quelle carte contrôleur SCSI vous utiliserez. En fonction du contrôleur sur la carte, vous devrez adapter votre configuration du noyau. Le noyau GENERIC supporte les contrôleurs SCSI les plus courants. Assurez-vous d'avoir lu le fichier NOTES et ajoutez la ligne adéquate dans votre fichier de configuration du noyau. En plus du pilote de votre carte SCSI, vous avez besoin des lignes suivantes dans votre fichier de configuration du noyau:

device scbus
device pass

Une fois que votre noyau a été correctement compilé et installé, vous devriez être en mesure de voir les périphériques au démarrage:

pass2 at aic0 bus 0 target 2 lun 0
pass2: <AGFA SNAPSCAN 600 1.10> Fixed Scanner SCSI-2 device
pass2: 3.300MB/s transfers

Si votre scanner n'était pas alimenté au démarrage du système, il est encore possible de forcer sa détection, en en sondant le bus SCSI avec la commande camcontrol(8):

# camcontrol rescan all
Re-scan of bus 0 was successful
Re-scan of bus 1 was successful
Re-scan of bus 2 was successful
Re-scan of bus 3 was successful

Ensuite le scanner apparaîtra dans la liste des périphériques SCSI:

# camcontrol devlist
<IBM DDRS-34560 S97B>              at scbus0 target 5 lun 0 (pass0,da0)
<IBM DDRS-34560 S97B>              at scbus0 target 6 lun 0 (pass1,da1)
<AGFA SNAPSCAN 600 1.10>           at scbus1 target 2 lun 0 (pass3)
<PHILIPS CDD3610 CD-R/RW 1.00>     at scbus2 target 0 lun 0 (pass2,cd0)

Plus de détails sur les périphériques SCSI sont disponibles dans les pages de manuel scsi(4) et camcontrol(8).

8.6.3. Configuration de SANE

Le système SANE est divisé en deux parties: les « backend »s (graphics/sane-backends) et les « frontend »s (graphics/sane-frontends). Les « backend »s fournissent l'accès au scanner. La liste des périphériques supportés par SANE indique quel « backend » supportera votre scanner. Il est indispensable de déterminer correctement le « backend » relatif à votre scanner si vous voulez être en mesure d'utiliser votre périphérique. La partie « frontend »s fournie l'interface graphique de numérisation (xscanimage).

La première étape est d'installer le logiciel porté graphics/sane-backends ou sa version pré-compilée. Ensuite, utilisez la commande sane-find-scanner pour contrôler la détection du scanner par l'ensemble SANE:

# sane-find-scanner -q
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3

Le résultat de la commande affichera le type d'interface utilisée par le scanner et le fichier spécial de périphérique utilisé pour attacher le scanner au système. Le fabricant et le modèle peuvent ne pas apparaître, cela n'est pas important.

Note:

Certains scanners USB requièrent le chargement préalable d'un « firmware », cela est expliqué dans la page de manuel du « backend » utilisé. Vous devriez également consulter les pages de manuel de sane-find-scanner(1) et sane(7).

Nous devons maintenant vérifier si le scanner sera identifié par un « frontend » de numérisation. Par défaut, les « backend »s SANE sont fournies avec un outil en ligne de commande appelé scanimage(1). Cette commande vous permet de lister les périphériques et d'effectuer une acquisition d'image à partir de la ligne de commande. L'option -L est employée pour afficher les scanners présents sur le système:

# scanimage -L
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner

Aucun résultat, ou un message disant qu'aucun scanner n'a été identifié indiquent que scanimage(1) est incapable d'identifier le scanner. Si cela se produit, vous devrez éditer le fichier de configuration du « backend » du scanner et définir le type de scanner utilisé. Le répertoire /usr/local/etc/sane.d/ contient tous les fichiers de configurations des « backend »s. Ce problème d'identification apparaît essentiellement avec certains scanners USB.

Par exemple, avec le scanner USB utilisé dans la Section 8.6.2.1, « Interface USB », sane-find-scanner nous donne l'information suivante:

# sane-find-scanner -q
found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0

Le scanner est correctement détecté, il utilise l'interface USB et est attaché au fichier spécial de périphérique /dev/uscanner0. Nous pouvons maintenant vérifier si le scanner est correctement identifié:

# scanimage -L

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).

Comme le scanner n'est pas identifié, nous devons éditer le fichier /usr/local/etc/sane.d/epson.conf. Le scanner utilisé était un EPSON Perfection® 1650, nous en déduisons donc que ce scanner utilisera le « backend » epson. Assurez-vous de bien lire les commentaires d'aide présents dans les fichiers de configuration des « backend »s. Les modifications à faire sont relativement simples: commentez toutes les lignes concernant une interface différente de celle utilisée par votre scanner (dans notre cas, nous commenterons toutes les lignes débutant par le mot scsi étant donné que notre scanner utilise une interface USB), ajoutez ensuite à la fin du fichier une ligne indiquant l'interface et le fichier spécial de périphérique utilisé. Dans ce cas, nous ajoutons la ligne suivante:

usb /dev/uscanner0

Veuillez vous assurer de bien lire les commentaires fournis dans les fichiers de configurations des « backend »s ainsi que les pages de manuel correspondantes pour plus de détails concernant la syntaxe correcte à utiliser. Nous pouvons maintenant vérifier si le scanner est identifié:

# scanimage -L
device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scanner

Notre scanner a été identifié. Ce n'est pas important si la marque et le modèle ne correspondent pas au scanner. L'important est le champ `epson:/dev/uscanner0', qui nous donne le « backend » et le fichier spécial de périphérique corrects.

Une fois que la commande scanimage -L est en mesure d'identifier le scanner, la configuration est terminée. Le périphérique est prêt à effectuer sa première numérisation.

Bien que scanimage(1) permette d'effectuer une numérisation à partir de la ligne de commande, il est préférable d'utiliser une interface graphique. SANE offre une interface graphique simple mais efficace: xscanimage (graphics/sane-frontends).

Xsane (graphics/xsane) est une autre interface graphique de numérisation assez populaire. Ce programme offre des fonctions avancées comme différents mode de numérisation (photocopie, fax, etc.), la correction des couleurs, la numérisation par lots, etc. Ces deux applications sont utilisables comme greffon pour GIMP.

8.6.4. Donner l'accès au scanner aux autres utilisateurs

Toutes les opérations précédentes ont été effectuées avec les privilèges root. Vous pourrez, cependant, avoir besoin que d'autres utilisateurs puissent accéder au scanner. L'utilisateur devra avoir les permissions de lecture et d'écriture sur le fichier spécial de périphérique /dev/uscanner0 dont le propriétaire est le groupe operator. L'ajout de l'utilisateur joe au groupe operator lui autorisera l'accès au scanner:

# pw groupmod operator -m joe

Pour plus de détails, consultez la page de manuel de pw(8). Vous devez également fixer les permissions d'écriture correctes (0660 or 0664) sur le fichier spécial de périphérique /dev/uscanner0, par défaut le groupe operator n'a qu'un accès en lecture. Cela se fait en ajoutant les lignes suivantes au fichier /etc/devfs.rules:

[system=5]
add path uscanner0 mode 660

Ajoutez ensuite ce qui suit au fichier /etc/rc.conf et redémarrez la machine:

devfs_system_ruleset="system"

Plus d'information concernant ces lignes peut être trouvée dans la page de manuel devfs(8).

Note:

Bien sûr, pour des raisons de sécurité, vous devriez réfléchir à deux fois avant d'ajouter un utilisateur à n'importe quel groupe, tout particulièrement au groupe operator.

Chapitre 9. Configurer le noyau de FreeBSD

Mis à jour et restructuré par Jim Mock.
Contribution originale de Jake Hamby.

Version française de Marc Fonvieille .

9.1. Synopsis

Le noyau est le coeur du système d'exploitation FreeBSD. Il est responsable de la gestion de la mémoire, de la mise en application des contrôles de sécurité, du réseau, des accès disque, et bien plus. Bien que FreeBSD devienne de plus en plus configurable dynamiquement, il est toujours nécessaire occasionnellement de reconfigurer et recompiler votre noyau.

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

  • Pourquoi vous pourriez avoir besoin de compiler un noyau sur mesure.

  • Comment écrire un fichier de configuration du noyau, ou modifier un fichier de configuration existant.

  • Comment utiliser le fichier de configuration du noyau pour créer et recompiler un nouveau noyau.

  • Comment installer un nouveau noyau.

  • Que faire si quelque chose se passe mal.

Toutes les commandes listées dans les exemples de ce chapitre doivent être exécutées en tant que root afin de fonctionner.

9.2. Pourquoi compiler un noyau sur mesure?

Traditionnellement, FreeBSD a eu ce qui s'appelle un noyau “monolithique”. Cela signifie que le noyau était un gros programme, supportant une liste figée de périphériques, et si vous vouliez modifier le comportement du noyau alors vous deviez compiler un nouveau noyau, et ensuite redémarrer votre ordinateur avec le nouveau noyau.

Aujourd'hui, FreeBSD s'oriente rapidement vers un modèle où une grande partie des fonctions du noyau est contenue dans des modules qui peuvent être dynamiquement chargés et déchargés si nécessaire. Cela permet au noyau de s'adapter au nouveau matériel devenant soudainement disponible (comme les cartes PCMCIA dans un ordinateur portable), ou pour qu'une nouvelle fonctionnalité qui n'était pas nécessaire lors de la compilation du noyau y soit intégrée. On appelle cela un noyau modulaire.

En dépit de cela, il est encore nécessaire d'effectuer certaines configurations de noyau en statique. Dans certains cas c'est parce que la fonctionnalité est si proche du noyau qu'elle ne peut être rendue dynamiquement chargeable. Dans d'autres cas, cela peut tout simplement venir du fait que personne n'a encore pris le temps d'écrire un module dynamiquement chargeable pour cette fonctionnalité.

Compiler un noyau sur mesure est l'un des plus importants rites de passage que doit endurer tout utilisateur BSD. Cette opération, tout en prenant du temps, apportera de nombreuses améliorations à votre système FreeBSD. A la différence du noyau GENERIC, qui doit supporter une large gamme de matériels, un noyau sur mesure ne contient que le support pour votre configuration matérielle. Cela a de nombreux avantages, comme:

  • Un temps de démarrage plus court. Comme le noyau ne recherchera que le matériel présent sur votre système, le temps nécessaire au démarrage de votre système peut diminuer de façon importante.

  • Une utilisation plus faible de la mémoire. Un noyau sur mesure utilise souvent moins de mémoire que le noyau GENERIC, ce qui est important car le noyau doit toujours résider en mémoire. Pour cette raison, un noyau sur mesure est tout particulièrement utile sur un système dont les ressources mémoire sont limitées.

  • Le support de matériels supplémentaires. Un noyau sur mesure vous permet d'intégrer le support pour des périphériques, qui ne sont pas présents dans le noyau GENERIC comme les cartes son.

9.3. Compiler et installer un noyau sur mesure

Commençons par passer rapidement en revue le répertoire de configuration du noyau. Tous les chemins d'accès mentionnés seront relatifs au répertoire principal /usr/src/sys, qui est également accessible via le lien symbolique /sys. Il comporte un certain nombre de sous-répertoires correspondants à différentes parties du noyau, mais les plus importantes, en ce qui nous concerne, sont arch/conf, où vous éditerez votre fichier configuration personnalisé, et compile, qui est l'espace de travail où votre noyau sera compilé. arch représente une des architectures suivante: i386, soit alpha, amd64, ia64, powerpc, sparc64, ou encore pc98 (une branche alternative de développement de l'architecture PC, populaire au Japon). Tout ce qui se trouve dans un répertoire particulier à une architecture est propre uniquement à cette architecture; le reste du code est un code indépendant du type de machine et commun à toutes les plates-formes sur lesquelles FreeBSD pourrait être potentiellement porté. Remarquez l'organisation logique de l'arborescence des répertoires, où chaque périphérique, système de fichiers, et option supportés a son propre sous-répertoire.

Les exemples de ce chapitre supposent que vous utilisez l'architecture i386. Si ce n'est pas votre cas, effectuez les ajustements appropriés au niveau des chemins d'accès pour votre architecture.

Note:

S'il n'y a pas de répertoire /usr/src/sys sur votre système, alors c'est que les sources du noyau n'ont pas été installées. La manière la plus facile de les installer est d'exécuter sysinstall en tant que root, et sélectionner Configure, puis Distributions, src, puis base et sys. Si vous avez une aversion envers sysinstall et que vous disposez d'un CDROM “officiel” de FreeBSD, alors vous pouvez installer les sources depuis la ligne de commande:

# mount /cdrom
# mkdir -p /usr/src/sys
# ln -s /usr/src/sys /sys
# cat /cdrom/src/ssys.[a-d]* | tar -xzvf -
# cat /cdrom/src/sbase.[a-d]* | tar -xzvf -

Ensuite allez dans le répertoire arch/conf et copiez le fichier de configuration GENERIC dans un fichier qui portera le nom que vous voulez donner à votre noyau. Par exemple:

# cd /usr/src/sys/i386/conf
# cp GENERIC MONNOYAU

Par tradition, c'est un nom en majuscules, et si vous maintenez plusieurs machines FreeBSD avec des configurations matérielles différentes, c'est une bonne idée de lui donner le même nom que la machine. Nous l'appellerons MONNOYAU pour les besoins de cet exemple.

Astuce:

Conserver votre fichier de configuration du noyau directement sous /usr/src peut être une mauvaise idée. Si vous avez des problèmes il peut être tentant de juste effacer /usr/src et recommencer à nouveau. Après avoir fait cela ne prends que quelques secondes pour vous rendre compte que vous venez d'effacer votre fichier de configuration du noyau personnalisé. N'éditez pas, non plus, directement le fichier GENERIC, il peut être écrasé à la prochaine mise à jour de l'arborescence des sources, et vos modifications seraient perdues.

Vous voudrez peut être conserver votre fichier de configuration du noyau ailleurs et alors créer un lien symbolique vers le fichier dans le répertoire i386.

Par exemple:

# cd /usr/src/sys/i386/conf
# mkdir /root/noyaux
# cp GENERIC /root/noyaux/MONNOYAU
# ln -s /root/noyaux/MONNOYAU

Editez maintenant MONNOYAU avec votre éditeur de texte préféré. Si vous venez tout juste de finir l'installation, le seul éditeur disponible sera probablement vi, qui est trop complexe pour être décrit ici, mais est bien expliqué dans de nombreux ouvrages de la bibliographie. Cependant, FreeBSD offre un éditeur plus simple appelé ee qui, si vous êtes débutant, sera votre éditeur de choix. N'hésitez pas à modifier les commentaires d'entête pour y décrire votre configuration ou les modifications que vous avez apportés par rapport au noyau GENERIC.

Si vous avez déjà compilé un noyau sur SunOS™ ou tout autre système d'exploitation BSD, l'essentiel de fichier vous sera familier. Si vous venez d'un système d'exploitation comme DOS, à l'inverse, le fichier de configuration GENERIC vous paraîtra inintelligible, lisez alors lentement et attentivement la section sur le fichier de configuration.

Note:

Si vous synchronisez votre arborescence des sources avec les toutes dernières sources du projet FreeBSD, assurez-vous de toujours lire le fichier /usr/src/UPDATING avant d'effectuer une quelconque opération de mise à jour. Ce fichier décrit les problèmes importants ou les domaines demandant une attention particulière dans le code mis à jour. /usr/src/UPDATING correspond toujours à votre version des sources de FreeBSD, et est donc plus à jour que ce Manuel.

Vous devez maintenant compiler le code source du noyau.

Procédure 9.1. Compiler un noyau
  1. Passez dans le répertoire /usr/src.

    # cd /usr/src
  2. Compilez le noyau:

    # make buildkernel KERNCONF=MONNOYAU
  3. Installez le nouveau noyau:

    # make installkernel KERNCONF=MONNOYAU

Note:

Il est indispensable d'avoir l'intégralité des sources du système FreeBSD pour compiler le noyau.

Astuce:

Par défaut, quand vous compilez un noyau personnalisé, tous les modules seront également recompilés. Si vous désirez mettre à jour un noyau plus rapidement ou compiler que certains modules, vous devez éditer le fichier /etc/make.conf avant de compiler le noyau:

MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs

Cette variable définit une liste de modules à compiler à la place de l'intégralité des modules.

WITHOUT_MODULES = linux acpi sound/sound sound/driver/ds1 ntfs

Cette variable définit une liste de modules à exclure du processus de compilation. Pour d'autres variables qui peuvent être intéressantes pour le processus de compilation du noyau, consultez la page de manuel make.conf(5).

Le nouveau noyau sera copié dans le répertoire /boot/kernel avec le nom /boot/kernel/kernel et l'ancien noyau sera renommé en /boot/kernel.old/kernel. Maintenant, arrêtez le système et redémarrez pour utiliser votre nouveau noyau. Si quelque chose se passe mal, il y a quelques instructions de dépannage à la fin de ce chapitre que vous pourrez trouver utiles. Assurez-vous de lire la section qui explique comment revenir en arrière dans le cas où votre nouveau noyau ne démarre pas.

Note:

Les autres fichiers concernant le processus de démarrage, comme le chargeur (loader(8)) et la configuration du démarrage sont conservés dans le répertoire /boot. Les modules tiers et personnalisés peuvent être placés dans /boot/kernel, bien que les utilisateurs doivent être conscients que garder ses modules synchronisés avec le noyau compilé est très important. Les modules qui ne sont pas destinés à fonctionner avec le noyau compilé peuvent être instables et ne pas donner les résultats escomptés.

9.4. Le fichier de configuration

Mis à jour pour FreeBSD 6.X par Joel Dahl.

Le format général du fichier de configuration est assez simple. Chaque ligne est composée d'un mot-clé et d'un ou plusieurs arguments. Pour simplifier, la plupart des lignes ne contiennent qu'un seul argument. Tout ce qui suit le caractère # est considéré comme un commentaire et ignoré. Les sections suivantes décrivent chaque mot-clé, dans l'ordre où ils apparaissent dans le fichier GENERIC. Pour une liste exhaustive des options et périphériques dépendants de l'architecture utilisée, consultez le fichier NOTES présent dans le même répertoire que le fichier GENERIC. Pour les options ne dépendant pas de l'architecture, consultez le fichier /usr/src/sys/conf/NOTES.

Note:

Pour compiler un fichier contenant toutes les options possibles, en général pour effectuer des tests, exécutez la commande suivante en tant que root:

# cd /usr/src/sys/i386/conf && make LINT

Ce qui suit est un exemple de fichier de configuration du noyau GENERIC avec divers commentaires aux endroits nécessaires pour un peu plus de clarté. Cet exemple devrait correspondre de façon très proche à votre copie du fichier /usr/src/sys/i386/conf/GENERIC.

machine		i386

C'est l'architecture de la machine. Elle doit être alpha, amd64, i386, ia64, pc98, powerpc, ou encore sparc64.

cpu          I486_CPU
cpu          I586_CPU
cpu          I686_CPU

Ce qui précède définit le type de CPU présent dans votre système. Il peut y avoir plusieurs occurrences de la ligne CPU (si, par exemple, vous n'êtes pas sûr de devoir utiliser I586_CPU ou I686_CPU), cependant, pour un noyau personnalisé, il est mieux de spécifier uniquement le CPU que vous avez. Si vous n'êtes pas sûr du type, vous pouvez lister le fichier /var/run/dmesg.boot pour visualiser les messages de démarrage.

ident          GENERIC

C'est l'identification du noyau. Vous devriez changer cela pour le nom, quel qu'il soit, que vous donnez à votre noyau, par exemple MONNOYAU si vous avez suivi les instructions des exemples précédents. La valeur que vous donnez à la chaîne ident s'affichera au démarrage du noyau, il est donc utile de donner au nouveau noyau un nom différent si vous voulez le différencier de votre noyau habituel (e.g., vous voulez compiler un noyau expérimental).

#To statically compile in device wiring instead of /boot/device.hints
#hints          "GENERIC.hints"         #Default places to look for devices.

Le fichier device.hints(5) est utilisé pour configurer les paramètres des pilotes de périphériques. Le loader(8) recherchera le fichier /boot/device.hints au démarrage. En utilisant l'option hints vous pouvez compiler ces valeurs en statique dans votre noyau. Il n'est alors pas utile de créer de fichier device.hints dans /boot.

makeoptions     DEBUG=-g          #Build kernel with gdb(1) debug symbols

Le processus normal de compilation de FreeBSD inclut les informations de débogage lors de la compilation du noyau avec l'option -g, qui autorisera les informations de débogage quand le noyau sera passé à gcc(1).

options          SCHED_4BSD         # 4BSD scheduler

L'ordonnanceur (« scheduler ») traditionnel et par défaut de FreeBSD. Conservez cette ligne.

options          PREEMPTION         # Enable kernel thread preemption

Permet aux processus légers présents dans le noyau d'être devancés par des processus de priorité plus élevée. Cela améliore l'interactivité et permet aux processus d'interruption d'être exécutés le plus tôt possible au lieu d'attendre leur tour.

options          INET          #InterNETworking

Support réseau. Conservez-le, même si vous n'envisagez pas de vous connecter à un réseau. La plupart des programmes utilisent le réseau “en boucle” (i.e., établissent des connexions réseau avec le PC lui-même), cette option est donc quasiment obligatoire.

options          INET6          #IPv6 communications protocols

Ceci active les protocoles de communication IPv6.

options          FFS          #Berkeley Fast Filesystem 

C'est le système de fichiers de base sur disque dur. Gardez ces options si vous démarrez depuis le disque dur.

options          SOFTUPDATES  #Enable FFS Soft Updates support

Cette option rajoutera le support des « Soft Updates » dans le noyau, ce qui aidera l'accélération des accès en écriture sur les disques. Même quand cette fonction est fournit par le noyau, elle doit être activée sur chaque disque. Regardez le résultat de la commande mount(8) pour voir si les « Soft Updates » sont activées sur les disques de votre système. Si vous ne voyez pas apparaître l'option soft-updates alors vous devrez l'activer en utilisant les commandes tunefs(8) (pour les systèmes de fichiers existant) ou newfs(8) (pour les nouveaux systèmes de fichiers).

options          UFS_ACL      #Support for access control lists

Cette option active le support des listes de contrôle d'accès au système de fichiers (ACL). Elles reposent sur l'utilisation d'attributs étendus et d'UFS2, cette fonctionnalité est décrite dans la Section 15.12, « Listes de contrôle d'accès au système de fichiers ». Les ACLs sont activées par défaut, et leur support ne devraient pas être retiré du noyau si elles ont été précédemment utilisées sur un système de fichiers, étant donné que cela supprimera les listes de contrôle d'accès changeant alors la façon dont sont protégés les fichiers d'une manière imprévisible.

options          UFS_DIRHASH  #Improve performance on big directories

Cette option inclut certaines fonctions pour accélérer les opérations disque sur de gros répertoires, aux dépens d'employer de la mémoire supplémentaire. Vous conserverez normalement cela pour un gros serveur, ou une station de travail très active, et vous l'enlèverez si vous utilisez FreeBSD sur un petit système où la mémoire prime et la vitesse d'accès disque est moins importante, comme pour un coupe-feu.

options          MD_ROOT      #MD is a potential root device

Cette option active le support pour des disques virtuels en mémoire utilisés comme périphérique racine.

options          NFSCLIENT         # Network Filesystem Client
options          NFSSERVER         # Network Filesystem Server
options          NFS_ROOT          # NFS usable as /, requires NFSCLIENT

Le système de fichiers réseau. A moins que vous n'envisagiez de monter des partitions d'un serveur de fichiers UNIX® par l'intermédiaire d'un réseau TCP/IP, vous pouvez mettre en commentaire ces options.

options          MSDOSFS      #MSDOS Filesystem

Le système de fichiers MS-DOS®. A moins que vous n'envisagiez de monter une partition DOS d'un disque dur au démarrage, vous pouvez sans risque commenter cette option. Le module sera automatiquement chargé la première fois que vous monterez une partition DOS, comme décrit plus haut. Par ailleurs, l'excellent logiciel emulators/mtools vous permet d'accéder à des disquettes DOS sans avoir besoin de les monter (et ne requiert pas non plus MSDOSFS).

options          CD9660       #ISO 9660 Filesystem

Le système de fichiers ISO 9660 pour les CDROMs. Commentez ces options si vous n'avez pas de lecteur de CDROM ou que vous ne montez qu'occasionnellement des CDROMs (il sera chargé dynamiquement dès que vous monterez un CDROM). Les CDROMs audios n'ont pas besoin de ce système de fichiers.

options          PROCFS            # Process filesystem (requires PSEUDOFS)

Le système de fichiers pour les processus. C'est un “pseudo-système” de fichiers monté sur /proc qui permet à des programmes comme ps(1) de vous fournir plus d'informations sur les processus qui tournent sur le système. L'utilisation de PROCFS n'est pas nécessaire la plupart du temps, comme la majeur partie des outils de débogage et de monitoring ont été adaptés pour s'exécuter sans PROCFS: les nouvelles installations ne monteront pas par défaut ce système de fichiers.

options          PSEUDOFS     #Pseudo-filesystem framework

Les noyaux 6.X faisant usage du système PROCFS doivent également inclure le support pour PSEUDOFS.

options          GEOM_GPT          # GUID Partition Tables.

Cette option apporte la possibilité d'avoir un grand nombre de partitions sur un seul disque.

options          COMPAT_43    #Compatible with BSD 4.3 [KEEP THIS!]

Compatibilité avec 4.3BSD. Conservez cette option; certains programmes auront un comportement bizarre si vous la commentez.

options          COMPAT_FREEBSD4     #Compatible with FreeBSD4

Cette option est nécessaires aux systèmes i386™ et Alpha fonctionnant sous FreeBSD 5.X pour supporter les applications compilées sur d'anciennes version de FreeBSD qui utilisent d'anciennes interfaces d'appel système. Il est recommandé d'utiliser cette option sur tous les systèmes i386™ et Alpha susceptibles d'exécuter d'anciennes applications; les plateformes apparues sous FreeBSD 5.0, comme l'ia64 et SPARC64®, n'ont pas besoin de cette option.

options          COMPAT_FREEBSD5   # Compatible with FreeBSD5

Cette option est nécessaire sous FreeBSD 6.X et versions supérieures pour supporter les applications compilées sous FreeBSD 5.X et qui utilisent les interfaces d'appel système FreeBSD 5.X.

options          SCSI_DELAY=5000    #Delay (in ms) before probing SCSI

Cette option oblige le noyau à attendre 5 secondes avant de rechercher les périphériques SCSI présents sur votre système. Si vous n'avez que des disques IDE, vous pouvez l'ignorer, sinon vous pouvez essayer de diminuer cette valeur, pour accélérer le démarrage du système. Bien sûr, si vous le faites, et que FreeBSD a du mal à reconnaître vos périphériques SCSI, vous devrez l'augmenter à nouveau.

options          KTRACE              #ktrace(1) support

Ceci permet de tracer le processus du noyau, ce qui est utile pour le débogage.

options          SYSVSHM             #SYSV-style shared memory

Cette option implémente la mémoire partagée System V. L'usage le plus courant qui en est fait est l'extension XSHM d'X, dont de nombreux logiciels gourmants en graphique tireront automatiquement parti pour fonctionner plus vite. Si vous utilisez X, vous utiliserez absolument cette option.

options          SYSVMSG             #SYSV-style message queues

Support des messages System V. Cette option n'augmente que de quelques centaines d'octets la taille du noyau.

options          SYSVSEM             #SYSV-style semaphores

Support des sémaphores System V. D'un usage moins courant, mais n'augmente la taille du noyau que de quelques centaines d'octets.

Note:

L'option -p de la commande ipcs(1) donnera la liste des processus utilisant chacun de ces mécanismes System V.

options 	     _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions

Extensions temps-réel ajoutées dans la norme POSIX® 1993. Certaines applications du catalogue des logiciels portés les utilisent (comme StarOffice).

options          KBD_INSTALL_CDEV  # install a CDEV entry in /dev

Cette option concerne le clavier. Elle installe une entrée CDEV dans le répertoire /dev.

options          ADAPTIVE_GIANT    # Giant mutex is adaptive.

« Giant » est le nom d'un mécanisme d'exclusion mutuelle (un « mutex » dormant) qui protège l'accès à un ensemble important de ressources du noyau. Aujourd'hui c'est un goulot d'étranglement des performances inacceptable que l'on est en train de remplacer activement par des verrous qui protègent les ressources individuelles. L'option ADAPTIVE_GIANT permet à Giant d'être inclus dans l'ensemble des mutex lancés de manière adaptative. C'est à dire, quand un thread désire verrouiller le mutex Giant, mais que ce dernier est déjà verrouillé par un thread sur un autre CPU, le premier thread continuera à fonctionner et attendra la libération du verrou. Normalement, le thread retournera à l'état dormant et attendra une nouvelle chance de pouvoir s'exécuter. Si vous n'êtes pas sûr, laissez la configuration en l'état.

device          apic               # I/O APIC

Le périphérique apic active l'utilisation de l'E/S APIC pour l'acheminement des interruptions. Le périphérique apic peut être utilisé dans les noyaux UP (monoprocesseur) et SMP, mais est requis pour les noyaux SMP. Ajoutez options SMP pour inclure le support pour plusieurs processeurs.

Note:

Le périphérique apic n'existe que sur l'architecture i386, cette ligne de configuration ne doit pas être utilisée sur d'autres architectures.

device          eisa

Rajoutez cela si vous avez une carte mère EISA. Cela permet l'auto-détection et la configuration de tous les périphériques présents sur le bus EISA.

device          pci

Ajoutez cette option si vous avez une carte mère PCI. Cela permet l'auto-détection des cartes PCI et gère l'interface entre les bus PCI et ISA.

# Floppy drives
device          fdc

C'est le contrôleur de lecteur de disquettes.

# ATA and ATAPI devices
device          ata

Ce pilote supporte tous les périphériques ATA et ATAPI. Vous n'avez besoin que d'une seule ligne device ata pour que le noyau détecte tous les périphériques PCI ATA/ATAPI sur les machines modernes.

device          atadisk                 # ATA disk drives

Ceci est requis avec device ata pour les disques ATA.

device          ataraid                 # ATA RAID drives

Ceci est nécessaire avec device ata pour les disques RAID ATA.


device          atapicd                 # ATAPI CDROM drives

Ceci est nécessaire avec device ata pour le support des lecteurs de CDROM ATAPI.

device          atapifd                 # ATAPI floppy drives

Ceci est nécessaire avec device ata pour le support des lecteurs de disquettes ATAPI.

device          atapist                 # ATAPI tape drives

Ceci est nécessaire avec device ata pour le support des lecteurs de bande ATAPI.

options         ATA_STATIC_ID           #Static device numbering

Cela rend la numérotation des périphériques statique, sans cela l'allocation des numéros de périphériques sera dynamique.

# SCSI Controllers
device          ahb        # EISA AHA1742 family
device          ahc        # AHA2940 and onboard AIC7xxx devices
options         AHC_REG_PRETTY_PRINT    # Print register bitfields in debug
                                        # output.  Adds ~128k to driver.
device          ahd        # AHA39320/29320 and onboard AIC79xx devices
options         AHD_REG_PRETTY_PRINT    # Print register bitfields in debug
                                        # output.  Adds ~215k to driver.
device          amd        # AMD 53C974 (Teckram DC-390(T))
device          isp        # Qlogic family
#device         ispfw      # Firmware for QLogic HBAs- normally a module
device          mpt        # LSI-Logic MPT-Fusion
#device         ncr        # NCR/Symbios Logic
device          sym        # NCR/Symbios Logic (newer chipsets + those of `ncr')
device          trm        # Tekram DC395U/UW/F DC315U adapters

device          adv        # Advansys SCSI adapters
device          adw        # Advansys wide SCSI adapters
device          aha        # Adaptec 154x SCSI adapters
device          aic        # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
device          bt         # Buslogic/Mylex MultiMaster SCSI adapters

device          ncv        # NCR 53C500
device          nsp        # Workbit Ninja SCSI-3
device          stg        # TMC 18C30/18C50

Contrôleurs SCSI. Mettez en commentaires ceux que vous n'avez pas sur votre système. Si vous n'avez qu'un système IDE, vous pouvez supprimer toutes ces lignes. Les lignes *_REG_PRETTY_PRINT sont des options de débogage pour leur pilote respectif.

# SCSI peripherals
device          scbus      # SCSI bus (required for SCSI)
device          ch         # SCSI media changers
device          da         # Direct Access (disks)
device          sa         # Sequential Access (tape etc)
device          cd         # CD
device          pass       # Passthrough device (direct SCSI access)
device          ses        # SCSI Environmental Services (and SAF-TE)

Périphériques SCSI. A nouveau, mettez en commentaires tous ceux que vous n'avez pas, ou si vous n'avez que du matériel IDE, vous pouvez tous les supprimer.

Note:

Le pilote USB umass(4) et quelques autres pilotes utilisent le sous-système SCSI même si ce ne sont pas de véritables périphériques SCSI. Par conséquent assurez-vous de ne pas retirer le support SCSI si un tel pilote fait partie de la configuration du noyau.

# RAID controllers interfaced to the SCSI subsystem
device          amr        # AMI MegaRAID
device          arcmsr     # Areca SATA II RAID
device          asr        # DPT SmartRAID V, VI and Adaptec SCSI RAID
device          ciss       # Compaq Smart RAID 5*
device          dpt        # DPT Smartcache III, IV - See NOTES for options
device          hptmv      # Highpoint RocketRAID 182x
device          rr232x     # Highpoint RocketRAID 232x
device          iir        # Intel Integrated RAID
device          ips        # IBM (Adaptec) ServeRAID
device          mly        # Mylex AcceleRAID/eXtremeRAID
device          twa        # 3ware 9000 series PATA/SATA RAID

# RAID controllers
device          aac        # Adaptec FSA RAID
device          aacp       # SCSI passthrough for aac (requires CAM)
device          ida        # Compaq Smart RAID
device          mfi        # LSI MegaRAID SAS
device          mlx        # Mylex DAC960 family
device          pst        # Promise Supertrak SX6000
device          twe        # 3ware ATA RAID

Contrôleurs RAID supportés. Si vous n'avez aucun de ces derniers dans votre système, vous pouvez les mettre en commentaires ou les supprimer.

# atkbdc0 controls both the keyboard and the PS/2 mouse
device          atkbdc     # AT keyboard controller

Le contrôleur du clavier (atkbdc) permet de gérer les E/S du clavier AT et des périphériques de pointage PS/2. Ce contrôleur est nécessaire au pilote de périphérique du clavier (atkbd) et celui des périphériques de pointage PS/2 (psm).

device          atkbd      # AT keyboard

Le pilote de périphérique atkbd, associé au contrôleur atkbdc, fournit un accès au clavier AT 84 touches ou au clavier AT étendu qui est connecté au contrôleur de clavier de la machine.

device          psm        # PS/2 mouse

Utilisez ce périphérique si votre souris se branche sur le port PS/2.

device          kbdmux        # keyboard multiplexer

Support de base pour le multiplexage de claviers. Si vous n'avez pas l'intention d'utiliser sur le système plus d'un clavier, vous pouvez supprimer cette ligne sans risque.

device          vga        # VGA video card driver

Pilote de la carte graphique.

device          splash     # Splash screen and screen saver support

Ecran/bannière de démarrage. Les économiseurs d'écran ont également besoin de ce pseudo-périphérique.

# syscons is the default console driver, resembling an SCO console
device          sc

sc est le pilote par défaut pour la console, qui ressemble à une console SCO. Comme la plupart des programmes en mode plein-écran accèdent à la console par l'intermédiaire d'une base de données de description des terminaux comme termcap, cela n'a guère d'importance que vous choisissiez ce pilote ou vt, le pilote compatible VT220. Quand vous ouvrez une session, positionnez votre variable d'environnement TERM à scoansi si vous avez des problèmes pour utiliser des programmes en mode plein-écran avec cette console.

# Enable this for the pcvt (VT220 compatible) console driver
#device          vt
#options         XSERVER          # support for X server on a vt console
#options         FAT_CURSOR       # start with block cursor

C'est le pilote de console compatible VT220, et, rétrospectivement, compatible VT100/102. Il fonctionne bien sur certains ordinateurs portables qui sont matériellement incompatibles avec le pilote sc. Comme précédemment, positionnez la variable d'environnement TERM lorsque que vous ouvrez une session, mais cette fois-ci à vt100 ou vt220. Ce pilote peut aussi s'avérer utile quand vous vous connectez à un grand nombre de machines différentes par le réseau sur lesquelles les entrées pour le périphérique sc ne sont souvent pas définies dans leurs fichiers termcap ou terminfo — alors que le terminal vt100 devrait être disponible sur pratiquement toutes les plates-formes.

device          agp

Ajoutez cette option si vous avez une carte AGP dans votre système. Cela activera le support AGP, et l'AGP GART pour les cartes qui ont cette fonction.

# Power management support (see NOTES for more options)
device          apm

“Advanced Power Management support” - gestion avancée de l'énergie. Utile pour les ordinateurs portables, ceci est cependant désactivé par défaut dans le noyau GENERIC sous FreeBSD 5.X et versions suivantes

# Add suspend/resume support for the i8254.
device           pmtimer

Pilote du périphérique de gestion du temps pour les événements de la gestion de l'énergie, comme l'APM ou l'ACPI.

# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
device          cbb               # cardbus (yenta) bridge
device          pccard            # PC Card (16-bit) bus
device          cardbus           # CardBus (32-bit) bus

Support PCMCIA. Vous en avez besoin si vous utilisez un ordinateur portable.

# Serial (COM) ports
device          sio               # 8250, 16[45]50 based serial ports

Cela représente les ports séries, appelés ports COM dans le monde MS-DOS®/Windows®.

Note:

Si vous avez un modem interne sur le port COM4 et un port série COM2, vous devrez changer l'IRQ du modem en 2 (pour d'obscures raisons techniques, IRQ 2 = IRQ 9) pour y accéder avec FreeBSD. Si vous avez une carte série multi-ports, consultez la page de manuel de sio(4) pour plus d'informations sur les bonnes valeurs à ajouter à votre fichier /boot/device.hints. Certaines cartes vidéo (notamment celle à base de circuits S3) utilisent des adresses d'E/S sous la forme 0x*2e8, et comme de nombreuses cartes séries bon marché de décodent pas complètement l'espace d'adresse d'E/S 16 bits, il y a aura des conflits avec ces cartes, rendant le port COM4 pratiquement inutilisable.

Chaque port série doit avoir une IRQ unique (à moins que vous n'utilisiez une carte multi-ports qui autorise le partage d'interruption), donc les IRQs par défaut pour les ports COM3 et COM4 ne peuvent être utilisées.

# Parallel port
device          ppc

C'est l'interface parallèle du bus ISA.

device          ppbus      # Parallel port bus (required)

Fournit le support pour le bus du port parallèle.

device          lpt        # Printer

Support pour les imprimantes parallèles.

Note:

Les trois lignes précédentes sont nécessaires pour permettre le support des imprimantes parallèles.

device          plip       # TCP/IP over parallel

C'est le pilote pour l'interface réseau sur port parallèle.

device          ppi        # Parallel port interface device

Port d'E/S d'usage général (“geek port”) + port d'E/S IEEE1284.

#device         vpo        # Requires scbus and da

Ceci est pour le lecteur Zip de Iomega. Les options scbus et da sont également requises. Les meilleures performances sont obtenues avec les ports configurés dans le mode EPP 1.9.

#device         puc

Décommentez ce périphérique si vous disposez d'une carte PCI série ou parallèle « idiote » qui est supportée par le pilote puc(4).

# PCI Ethernet NICs.
device          de         # DEC/Intel DC21x4x (« Tulip »)
device          em         # Intel PRO/1000 adapter Gigabit Ethernet Card
device          ixgb       # Intel PRO/10GbE Ethernet Card
device          txp        # 3Com 3cR990 (« Typhoon »)
device          vx         # 3Com 3c590, 3c595 (« Vortex »)

Divers pilotes de cartes réseaux PCI. Mettez en commentaires ou supprimer les lignes de celles qui ne sont pas présentes sur votre système.

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device          miibus     # MII bus support

Le support du bus MII est nécessaire pour certaines cartes Ethernet PCI 10/100, à savoir celles qui utilisent des interfaces compatibles MII ou implémentent une gestion de l'interface opérant comme le bus MII. Ajouter device miibus à la configuration du noyau intègre le support pour l'API miibus générique et tous les pilotes d'interfaces PHY, incluant un pilote générique pour les interfaces PHYs qui ne sont pas spécifiquements gérées par un pilote individuel.

device          bce        # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device          bfe        # Broadcom BCM440x 10/100 Ethernet
device          bge        # Broadcom BCM570xx Gigabit Ethernet
device          dc         # DEC/Intel 21143 and various workalikes
device          fxp        # Intel EtherExpress PRO/100B (82557, 82558)
device          lge        # Level 1 LXT1001 gigabit ethernet
device          msk        # Marvell/SysKonnect Yukon II Gigabit Ethernet
device          nge        # NatSemi DP83820 gigabit ethernet
device          nve        # nVidia nForce MCP on-board Ethernet Networking
device          pcn        # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
device          re         # RealTek 8139C+/8169/8169S/8110S
device          rl         # RealTek 8129/8139
device          sf         # Adaptec AIC-6915 (« Starfire »)
device          sis        # Silicon Integrated Systems SiS 900/SiS 7016
device          sk         # SysKonnect SK-984x & SK-982x gigabit Ethernet
device          ste        # Sundance ST201 (D-Link DFE-550TX)
device          stge       # Sundance/Tamarack TC9021 gigabit Ethernet
device          ti         # Alteon Networks Tigon I/II gigabit Ethernet
device          tl         # Texas Instruments ThunderLAN
device          tx         # SMC EtherPower II (83c170 « EPIC »)
device          vge        # VIA VT612x gigabit ethernet
device          vr         # VIA Rhine, Rhine II
device          wb         # Winbond W89C840F
device          xl         # 3Com 3c90x (« Boomerang », « Cyclone »)

Pilotes qui utilisent le code du contrôleur du bus MII.

# ISA Ethernet NICs.  pccard NICs included.
device          cs         # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
device          ed         # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device          ex         # Intel EtherExpress Pro/10 and Pro/10+
device          ep         # Etherlink III based cards
device          fe         # Fujitsu MB8696x based cards
device          ie         # EtherExpress 8/16, 3C507, StarLAN 10 etc.
device          lnc        # NE2100, NE32-VL Lance Ethernet cards
device          sn         # SMC's 9000 series of Ethernet chips
device          xe         # Xircom pccard Ethernet

# ISA devices that use the old ISA shims
#device         le

Pilotes pour les cartes Ethernet ISA. Consultez le fichier /usr/src/sys/i386/conf/NOTES pour savoir quelles cartes sont supportées et par quel pilote.

# Wireless NIC cards
device          wlan            # 802.11 support

Support 802.11 générique. Cette ligne est nécessaire pour le réseau sans fil.

device          wlan_wep        # 802.11 WEP support
device          wlan_ccmp       # 802.11 CCMP support
device          wlan_tkip       # 802.11 TKIP support

Support pour le chiffrage pour les périphériques 802.11. Ces lignes sont nécessaires si vous avez l'intention d'utiliser le chiffrage et les protocoles de sécurité 802.11i.

device          an         # Aironet 4500/4800 802.11 wireless NICs.
device          ath             # Atheros pci/cardbus NIC's
device          ath_hal         # Atheros HAL (Hardware Access Layer)
device          ath_rate_sample # SampleRate tx rate control for ath
device          awi        # BayStack 660 and others
device          ral        # Ralink Technology RT2500 wireless NICs.
device          wi         # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device         wl         # Older non 802.11 Wavelan wireless NIC.

Support pour diverses cartes réseau sans fil.

# Pseudo devices
device   loop          # Network loopback

C'est l'interface générique en boucle de TCP/IP. Si vous employez telnet ou FTP sur localhost (aussi connu en tant qu'adresse 127.0.0.1) la réponse vous parviendra via ce pseudo-périphérique. Ceci est obligatoire.

device   random        # Entropy device

Générateur de nombres aléatoire sécurisé pour les applications de chiffrement.

device   ether         # Ethernet support

ether ne sert que si vous avez une carte Ethernet. Cela intègre le code générique pour le protocole Ethernet.

device   sl            # Kernel SLIP

sl est le support pour le protocole SLIP. Il a été presque entièrement supplanté par le protocole PPP, plus facile à mettre en oeuvre, mieux adapté aux connexions par modem, et aussi plus puissant.

device   ppp           # Kernel PPP

C'est le support intégré au noyau du protocole PPP pour les connexions par modem. Il y a aussi une version de PPP sous forme de programme utilisateur qui utilise tun et offre plus de souplesse et de possibilités comme la connexion à la demande.

device   tun           # Packet tunnel.

Ceci est utilisé par le programme PPP en mode utilisateur. Voyez la section PPP de ce manuel pour plus d'informations.


device   pty           # Pseudo-ttys (telnet etc)

C'est un “pseudo-terminal” ou un port simulant une session. Il est utilisé par les sessions telnet et rlogin entrantes, par xterm, et d'autres applications comme Emacs.

device   md            # Memory « disks »

Pseudo-périphérique de disque mémoire.

device   gif     # IPv6 and IPv4 tunneling

Ceci implémente l'encapsulation du protocole IPv6 par dessus l'IPv4, l'IPv4 par dessus l'IPv6, l'encapsulation IPv4 par dessus l'IPv4, et IPv6 par dessus IPv6. Le périphérique gif « s'auto-duplique », et créera les fichiers spéciaux de périphérique en fonction des besoins.

device   faith   # IPv6-to-IPv4 relaying (translation)

Ce pseudo-périphérique capture les paquets qui lui sont envoyés et les détourne vers le “daemon” de translation IPv4/IPv6.

# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device   bpf           # Berkeley packet filter

C'est le filtre de paquets de Berkeley. Ce pseudo-périphérique permet de placer les interfaces en mode “promiscuous” (indiscret), pour capturer chaque paquet sur réseau de diffusion (e.g., un réseau Ethernet). Ces paquets peuvent être enregistrés sur le disque et/ou examinés avec le programme tcpdump(1).

Note:

Le périphérique bpf(4) est également utilisé par dhclient(8) pour obtenir une adresse IP du routeur par défaut (passerelle) et ainsi de suite. Si vous utilisez DHCP, conservez cette ligne non commentée.

# USB support
device          uhci          # UHCI PCI->USB interface
device          ohci          # OHCI PCI->USB interface
device          ehci          # EHCI PCI->USB interface (USB 2.0)
device          usb           # USB Bus (required)
#device         udbp          # USB Double Bulk Pipe devices
device          ugen          # Generic
device          uhid          # « Human Interface Devices »
device          ukbd          # Keyboard
device          ulpt          # Printer
device          umass         # Disks/Mass storage - Requires scbus and da
device          ums           # Mouse
device          ural          # Ralink Technology RT2500USB wireless NICs
device          urio          # Diamond Rio 500 MP3 player
device          uscanner      # Scanners
# USB Ethernet, requires mii
device          aue           # ADMtek USB Ethernet
device          axe           # ASIX Electronics USB Ethernet
device          cdce          # Generic USB over Ethernet
device          cue           # CATC USB Ethernet
device          kue           # Kawasaki LSI USB Ethernet
device          rue           # RealTek RTL8150 USB Ethernet

Support pour divers périphériques USB.

# FireWire support
device          firewire      # FireWire bus code
device          sbp           # SCSI over FireWire (Requires scbus and da)
device          fwe           # Ethernet over FireWire (non-standard!)

Support pour divers périphériques Firewire.

Pour plus d'informations et pour avoir la liste de périphériques supplémentaires supportés par FreeBSD, voyez le fichier /usr/src/sys/i386/conf/NOTES.

9.4.1. Configurations mémoire importantes (PAE)

Les machines à configuration mémoire importante ont besoin de pouvoir accéder à plus d'espace mémoire utilisateur et noyau que la limite des 4 gigaoctets de l'espace d'adresse noyau+utilisateur (“Kernel Virtual Address”—KVA). En raison de cette limite, Intel a ajouté le support d'adresses physiques sur 36 bits pour l'espace d'adresses dans les familles de microprocesseurs Pentium® Pro et suivantes.

L'extension de l'adressage physique—,“Physical Address Extension” (PAE) est une caractéristique des microprocesseurs Intel® Pentium® Pro et suivants autorisant les configurations mémoires jusqu'à 64 gigaoctets. FreeBSD fournit un support pour cette caratéristique via l'option de configuration du noyau PAE, disponible sous toutes les versions actuelles de FreeBSD. En raison des limitations de l'architecture mémoire Intel®, aucune distinction n'est faite entre la mémoire au-dessus et en-dessous de 4 gigaoctets. La mémoire allouée au-dessus de 4 gigaoctets est simplement ajoutée à l'ensemble de la mémoire disponible.

Pour activer le support PAE dans le noyau, ajoutez simplement la ligne suivante dans votre fichier de configuration du noyau:

options		PAE

Note:

Le support PAE sous FreeBSD est uniquement disponible pour les processeurs IA-32 d'Intel®. Il doit être noté que le support PAE sous FreeBSD n'a pas été énormément testé, et devrait être considéré comme bêta comparé aux autres fonctionnalités stables de FreeBSD.

Le support PAE sous FreeBSD a quelques limitations:

  • Un processus est incapable d'accéder à plus de 4 gigaoctets d'espace mémoire.

  • Les modules KLD ne peuvent être chargés dans un noyau avec PAE activé, en raison des différences entre la structure d'un module et du noyau.

  • Les pilotes de périphériques qui n'utilisent pas l'interface bus_dma(9) seront à l'origine de corruption de données avec un noyau PAE et ne sont pas recommandés. Pour cette raison, le fichier de configuration du noyau avec support PAE qui est fourni avec FreeBSD exclut tous les pilotes connus pour ne pas fonctionner avec un noyau avec support PAE.

  • Certains paramètres modifiables du système déterminent l'utilisation des ressources mémoire par la quantité de la mémoire physique disponible. De tels paramètres peuvent être inutilement sur-alloués en raison de la grande quantité de mémoire d'un système PAE. Un bon exemple est le “sysctl” kern.maxvnodes, qui contrôle le nombre maximal de “vnodes” alloués par le noyau. Il est recommandé d'ajuster ce dernier et les autres paramètres du même genre à des valeurs raisonnables.

  • Il pourra être nécessaire d'augmenter l'espace d'adressage virtuel du noyau (“kernel virtual address”—KVA) ou de réduire le montant de la ressource spécifique du noyau qui est fortement utilisée (voir plus haut) afin d'éviter l'épuisement de l'espace KVA. L'option du noyau KVA_PAGES peut être employée pour augmenter l'espace KVA.

Pour des considérations de performance et de stabilité, il est recommandé de consulter la page de manuel tuning(7). La page de manuel pae(4) contient des informations à jour sur le support PAE sous FreeBSD.

9.5. Si quelque chose se passe mal

Il y a cinq types de problèmes qui peuvent survenir lors de la compilation d'un noyau sur mesure. Ce sont:

La commande config échoue:

Si la commande config(8) échoue quand vous lui passez en paramètre la description de votre noyau, vous avez probablement fait une simple erreur quelque part. Heureusement config(8) affichera le numéro de la ligne qui lui a posé problème, vous pouvez donc localiser rapidement la ligne contenant l'erreur. Par exemple, si vous avez:

config: line 17: syntax error

Vérifiez que la ligne est correctement écrite, en le comparant avec le noyau GENERIC ou une autre référence.

La commande make échoue:

Si la commande make échoue, cela signale habituellement une erreur dans la description de votre noyau, mais qui n'est pas suffisamment sérieuse pour que la commande config(8) la détecte. A nouveau, vérifiez votre fichier de configuration, et si vous n'arrivez toujours pas à résoudre le problème, envoyez un courrier électronique à la liste de diffusion pour les questions d'ordre général à propos de FreeBSD en joignant votre fichier de configuration du noyau, le diagnostic devrait être rapide.

Le noyau ne démarre pas:

Si votre nouveau noyau ne démarre pas, ou ne reconnaît pas vos périphériques, ne paniquez pas! Heureusement, FreeBSD dispose d'un excellent mécanisme pour récupérer si le noyau ne fonctionne pas. Sélectionnez simplement le noyau, à partir duquel vous désirez démarrer, à l'invite du chargeur de FreeBSD. Vous pouvez y accéder quand le menu de démarrage apparaît. Sélectionner l'option 6, « Escape to a loader prompt ». A l'invite, tapez unload kernel et ensuite boot /boot/kernel.old/kernel, ou le nom de fichier d'un autre noyau qui pourra démarrer proprement. Quand on reconfigure un noyau, il est toujours bon de conserver à portée de la main un noyau dont on sait qu'il fonctionne.

Après avoir démarré avec un noyau en état de marche, vous pouvez revérifier votre fichier de configuration et essayer de recompiler à nouveau votre noyau. Une ressource utile est le fichier /var/log/messages qui enregistre, entre autres, tous les messages du noyau à chaque démarrage réussi. En outre, la commande dmesg(8) affichera les messages du noyau pour le dernier démarrage.