2157 lines
93 KiB
Text
2157 lines
93 KiB
Text
<!--
|
|
The FreeBSD Documentation Project
|
|
The FreeBSD French Documentation Project
|
|
|
|
$FreeBSD$
|
|
$Id: chapter.sgml,v 1.8 2003-05-25 14:37:40 blackend Exp $
|
|
Original revision: 1.95
|
|
-->
|
|
|
|
<chapter id="basics">
|
|
<chapterinfo>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Chris</firstname>
|
|
<surname>Shumway</surname>
|
|
<contrib>Réécrit par </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
<!-- 10 Mar 2000 -->
|
|
</chapterinfo>
|
|
|
|
<title>Quelques bases d'Unix</title>
|
|
&trans.a.fonvieille;
|
|
|
|
<sect1 id="basics-synopsis">
|
|
<title>Synopsis</title>
|
|
<indexterm><primary>bases</primary></indexterm>
|
|
|
|
|
|
<para>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.</para>
|
|
|
|
<para>Après la lecture de ce chapitre, vous saurez:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Comment les permissions de fichier d'Unix
|
|
fonctionnent.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Ce que sont les <acronym>ACL</acronym>s et comment
|
|
les utiliser.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Ce que sont les processus, daemons et signaux.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Ce qu'est un interpréteur de commande, et comment changer
|
|
votre environnement de session par défaut.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Comment utiliser les éditeurs de texte de base.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Comment lire les pages de manuel pour plus
|
|
d'information.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="permissions">
|
|
<title>Permissions</title>
|
|
<indexterm><primary>Unix</primary></indexterm>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>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 deux 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:</para>
|
|
|
|
<indexterm><primary>permissions</primary></indexterm>
|
|
<indexterm>
|
|
<primary>permissions de fichier</primary>
|
|
</indexterm>
|
|
<informaltable frame="none">
|
|
<tgroup cols="3">
|
|
<thead>
|
|
<row>
|
|
<entry>Valeur</entry>
|
|
<entry>Permission</entry>
|
|
<entry>Contenu du répertoire</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>0</entry>
|
|
<entry>Pas d'accès en lecture, pas d'accès en
|
|
écriture,
|
|
pas d'accès en exécution</entry>
|
|
<entry><literal>---</literal></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>1</entry>
|
|
<entry>Pas d'accès en lecture, pas d'accès en
|
|
écriture, exécution</entry>
|
|
<entry><literal>--x</literal></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>2</entry>
|
|
<entry>Pas d'accès en lecture, écriture, pas
|
|
d'accès en exécution</entry>
|
|
<entry><literal>-w-</literal></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>3</entry>
|
|
<entry>Pas d'accès en lecture, écriture,
|
|
exécution</entry>
|
|
<entry><literal>-wx</literal></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>4</entry>
|
|
<entry>Lecture, pas d'accès en écriture, pas
|
|
d'accès en exécution</entry>
|
|
<entry><literal>r--</literal></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>5</entry>
|
|
<entry>Lecture, pas d'accès en écriture,
|
|
exécution</entry>
|
|
<entry><literal>r-x</literal></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>6</entry>
|
|
<entry>Lecture, écriture, pas d'accès en
|
|
exécution</entry>
|
|
<entry><literal>rw-</literal></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>7</entry>
|
|
<entry>Lecture, écriture, exécution</entry>
|
|
<entry><literal>rwx</literal></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
<indexterm>
|
|
<primary><command>ls</command></primary>
|
|
</indexterm>
|
|
<indexterm><primary>répertoires</primary></indexterm>
|
|
|
|
<para>Vous pouvez utiliser l'option <option>-l</option> avec la
|
|
commande &man.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. Voici
|
|
comment est divisée la première colonne de l'affichage
|
|
généré par <command>ls -l</command>:</para>
|
|
|
|
<screen>-rw-r--r--</screen>
|
|
|
|
<para>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, <literal>-</literal>
|
|
indique un fichier normal. Les trois caractères suivants,
|
|
<literal>rw-</literal> dans cet exemple, donnent les
|
|
permissions pour le propriétaire du fichier. Les trois
|
|
caractères qui suivent, <literal>r--</literal>, donnent les
|
|
permissions pour le groupe auquel appartient le fichier.
|
|
Les trois derniers caractères, <literal>r--</literal>,
|
|
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 <literal>644</literal>, où chaque chiffre
|
|
représente les
|
|
trois parties des permissions du fichier.</para>
|
|
|
|
<para>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 <filename>/dev</filename>.</para>
|
|
|
|
<para>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 que l'on peut se déplacer dedans, i.e. il est possible
|
|
d'utiliser “cd”. Ceci signifie également qu'à
|
|
l'intérieur du répertoire il est possible d'accéder
|
|
aux fichiers dont les noms sont connues (en fonction, bien sûr,
|
|
des permissions sur les fichiers eux-mêmes).</para>
|
|
|
|
<para>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 <emphasis>et</emphasis> d'exécution
|
|
sur le répertoire contenant le fichier.</para>
|
|
|
|
<para>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
|
|
&man.chmod.1;.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="fs-acl">
|
|
<sect1info>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Tom</firstname>
|
|
<surname>Rhodes</surname>
|
|
<contrib>Contribution de </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
</sect1info>
|
|
<indexterm>
|
|
<primary>ACL</primary>
|
|
</indexterm>
|
|
<title>Listes de contrôle d'accès au système de
|
|
fichiers</title>
|
|
|
|
<para>Avec les améliorations des systèmes de fichiers
|
|
comme les “snapshots”, FreeBSD 5.0 et versions
|
|
suivantes offrent une nouveauté en matière de
|
|
sécurité: les listes de contrôle d'accès
|
|
au système de fichiers (<acronym>ACL</acronym>s -
|
|
“Access Control Lists”).</para>
|
|
|
|
<para>Les listes de contrôle d'accès étendent
|
|
le système de permission standard d'UNIX d'une manière
|
|
hautement compatible (POSIX.1e). Cette caractéristique
|
|
permet à un administrateur d'utiliser avantageusement
|
|
un modèle de sécurité plus
|
|
sophistiqué.</para>
|
|
|
|
<para>Pour activer le support <acronym>ACL</acronym> pour les
|
|
systèmes de fichiers <acronym>UFS</acronym>, ce qui
|
|
suit:</para>
|
|
|
|
<programlisting>options UFS_ACL</programlisting>
|
|
|
|
<para>doit être compilé dans le noyau. Si cette option
|
|
n'a pas été ajoutée, un avertissement sera
|
|
affiché lors d'une tentative de montage d'un système
|
|
de fichiers supportant les <acronym>ACL</acronym>s.
|
|
Cette option est présente dans le noyau
|
|
<filename>GENERIC</filename>. Les <acronym>ACL</acronym>s
|
|
reposent sur des attributs étendus rajoutés
|
|
au système de fichiers. Les attributs étendus sont
|
|
nativement supportés par la prochaine
|
|
génération du système de fichiers UNIX,
|
|
<acronym>UFS2</acronym>.</para>
|
|
|
|
<note>
|
|
<para>Un supplément de travail d'administration est requis
|
|
pour configurer les attributs étendus sous
|
|
<acronym>UFS1</acronym> par rapport à
|
|
<acronym>UFS2</acronym>. Les performances des attributs
|
|
étendus sous <acronym>UFS2</acronym> sont sensiblement
|
|
meilleures également. Il en résulte donc, que
|
|
l'<acronym>UFS2</acronym> est généralement
|
|
récommandé par rapport à
|
|
l'<acronym>UFS1</acronym> pour une utilisation des listes
|
|
de contôle d'accès.</para>
|
|
</note>
|
|
|
|
<para>Les <acronym>ACL</acronym>s sont activés grâce
|
|
l'option utilisée lors du montage, <option>acls</option>,
|
|
qui peut être ajouté dans le fichier
|
|
<filename>/etc/fstab</filename>. Cette option de montage peut
|
|
être également automatiquement fixée
|
|
d'une manière définitive en utilisant &man.tunefs.8;
|
|
pour modifier l'indicateur <acronym>ACL</acronym> du
|
|
“superblock” dans l'entête du système de
|
|
fichiers. Il est en général préférable
|
|
d'utiliser cet indicateur pour plusieurs raisons:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>L'option de montage pour les <acronym>ACL</acronym>s ne
|
|
peut être modifiée par un simple remontage
|
|
(&man.mount.8; <option>-u</option>), mais uniquement par un
|
|
&man.umount.8; complet et suivi d'un &man.mount.8;. Cela
|
|
signifie que les <acronym>ACL</acronym>s ne peuvent
|
|
être activées sur le système de fichiers
|
|
racine après le démarrage. Cela signifie
|
|
également que vous ne pouvez pas modifier la
|
|
disposition d'un système de fichier une fois que
|
|
c'est activé.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Positionner l'indicateur du “superblock”
|
|
fera que le système de fichiers sera toujours monté
|
|
avec les <acronym>ACL</acronym>s activées même
|
|
s'il n'y a pas d'entrée dans le fichier
|
|
<filename>fstab</filename>, ou s'il y a une réorganisation
|
|
des périphériques. Cela prévient
|
|
le montage accidentel du système de fichiers sans les
|
|
<acronym>ACL</acronym>s activées, ce qui peut provoquer
|
|
une activation impropre des <acronym>ACL</acronym>s et
|
|
par conséquent des problèmes de
|
|
sécurité.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<note>
|
|
<para>Nous pourrions modifier le comportement des
|
|
<acronym>ACL</acronym>s pour permettre l'activation de
|
|
l'indicateur sans le besoin d'un nouveau &man.mount.8;
|
|
complet, mais nous considerons qu'il est préférable
|
|
d'éviter un montage accidentel sans les
|
|
<acronym>ACL</acronym>s activées, parce que vous pouvez
|
|
vous “tirer facilement dans les pieds”
|
|
si vous activez les <acronym>ACL</acronym>s, puis
|
|
les désactivez, et ensuite les réactivez à
|
|
nouveau sans réinitialiser les attributs étendus.
|
|
En général, une fois que vous avez activé
|
|
les <acronym>ACL</acronym>s sur un système de fichiers,
|
|
elles ne devraient pas être désactivées
|
|
étant donné que les protections de fichiers
|
|
résultantes peuvent ne pas être compatible avec
|
|
celles prévues par les utilisateurs du système,
|
|
et réactiver les <acronym>ACL</acronym>s peut
|
|
réaffecter les précédentes
|
|
<acronym>ACL</acronym>s aux fichiers qui ont depuis eût
|
|
leur permissions modifiées, avec pour résultat
|
|
un comportement imprévisible.</para>
|
|
</note>
|
|
|
|
<para>Les systèmes de fichiers avec les
|
|
<acronym>ACL</acronym>s activées présenteront un signe
|
|
<literal>+</literal> au niveau de leurs permissions
|
|
quand elles seront affichées. Par exemple:</para>
|
|
|
|
<programlisting>drwx------ 2 robert robert 512 Dec 27 11:54 private
|
|
drwxrwx---+ 2 robert robert 512 Dec 23 10:57 directory1
|
|
drwxrwx---+ 2 robert robert 512 Dec 22 10:20 directory2
|
|
drwxrwx---+ 2 robert robert 512 Dec 27 11:57 directory3
|
|
drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_html</programlisting>
|
|
|
|
<para>Ici nous voyons que les répertoires
|
|
<filename>directory1</filename>,
|
|
<filename>directory2</filename>, et
|
|
<filename>directory3</filename> utilisent les
|
|
<acronym>ACL</acronym>s. Ce n'est pas le cas du
|
|
répertoire <filename>public_html</filename>.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="dirstructure">
|
|
<title>Organisation de l'arborescence des répertoires</title>
|
|
<indexterm><primary>hiérarchie des répertoires</primary></indexterm>
|
|
|
|
<para>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 tous les autres systèmes de fichiers que
|
|
vous pourriez vouloir monter.</para>
|
|
|
|
<para>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 racine. Les points de montage standards incluent
|
|
<filename>/usr</filename>, <filename>/var</filename>,
|
|
<filename>/mnt</filename>, et <filename>/cdrom</filename>. Ces
|
|
répertoires sont en général
|
|
référencés par des entrées dans le
|
|
fichier <filename>/etc/fstab</filename>.
|
|
<filename>/etc/fstab</filename> 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
|
|
<filename>/etc/fstab</filename> sont montés automatiquement au
|
|
moment du démarrage par la procédure &man.rc.8; à
|
|
moins que
|
|
l'option <option>noauto</option> soit présente. Consultez la page
|
|
de manuel de &man.fstab.5; pour plus d'information sur le format
|
|
du fichier <filename>/etc/fstab</filename> et des options qu'il
|
|
contient.</para>
|
|
|
|
<para>Une description complète de l'arborescence du système de
|
|
fichiers est disponible dans la page de manuel &man.hier.7;. Pour
|
|
l'instant, une brève vue d'ensemble des répertoires les plus
|
|
courants suffira.</para>
|
|
|
|
<para>
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Répertoire</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry><filename class="directory">/</filename></entry>
|
|
<entry>Répertoire racine du système de
|
|
fichiers.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/bin/</filename></entry>
|
|
<entry>Programmes utilisateur fondamentaux aux deux modes
|
|
de fonctionnement mono et multi-utilisateurs.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/boot/</filename></entry>
|
|
<entry>Programmes et fichiers de configuration utilisés
|
|
durant le processus de démarrage du
|
|
système.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/boot/defaults/</filename></entry>
|
|
<entry>Fichiers de configuration par défaut du processus
|
|
de démarrage; voir la page de manuel
|
|
&man.loader.conf.5;.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/dev/</filename></entry>
|
|
<entry>Fichiers spéciaux de périphérique;
|
|
voir la page de manuel &man.intro.4;.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/etc/</filename></entry>
|
|
<entry>Procédures et fichiers de configuration du
|
|
système.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/etc/defaults/</filename></entry>
|
|
<entry>Fichiers de configuration du système par
|
|
défaut; voir la page de manuel &man.rc.8;.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/etc/mail/</filename></entry>
|
|
<entry>Fichiers de configuration pour les agents de
|
|
transport du courrier électronique comme
|
|
&man.sendmail.8;.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/etc/namedb/</filename></entry>
|
|
<entry>Fichiers de configuration de <command>named</command>;
|
|
voir la page de manuel &man.named.8;.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/etc/periodic/</filename></entry>
|
|
<entry>Procédures qui sont exécutées de
|
|
façon quotidienne, hebdomadaire et mensuelle par
|
|
l'intermédiaire de &man.cron.8;;
|
|
voir la page de manuel &man.periodic.8;.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/etc/ppp/</filename></entry>
|
|
<entry>Fichiers de configuration de <command>ppp</command>; voir
|
|
la page de manuel &man.ppp.8;.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/mnt/</filename></entry>
|
|
<entry>Répertoire vide habituellement utilisé
|
|
par les administrateurs système comme un point de
|
|
montage temporaire.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/proc/</filename></entry>
|
|
<entry>Le système de fichiers pour les processus; voir les
|
|
pages de manuel &man.procfs.5;, &man.mount.procfs.8;.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/root/</filename></entry>
|
|
<entry>Répertoire personnel du compte
|
|
<username>root</username>.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/sbin/</filename></entry>
|
|
<entry>Programmes systèmes et utilitaires systèmes
|
|
fondamentaux aux environnements mono et multi-utilisateurs.
|
|
</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/stand/</filename></entry>
|
|
<entry>Programmes utilisés dans un environnement
|
|
autonome.</entry>
|
|
</row>
|
|
|
|
|
|
<row>
|
|
<entry><filename class="directory">/tmp/</filename></entry>
|
|
<entry>Fichiers temporaires, généralement un
|
|
système de fichiers en mémoire &man.mfs.8;
|
|
(le contenu de <filename class="directory">/tmp</filename>
|
|
n'est en général PAS préservé
|
|
par un redémarrage du système).</entry>
|
|
</row>
|
|
|
|
|
|
<row>
|
|
<entry><filename class="directory">/usr/</filename></entry>
|
|
<entry>La majorité des utilitaires et applications
|
|
utilisateur.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/usr/bin/</filename></entry>
|
|
<entry>Utilitaires généraux, outils de
|
|
programmation, et applications.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/usr/include/</filename></entry>
|
|
<entry>Fichiers d'en-tête C standard.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/usr/lib/</filename></entry>
|
|
<entry>Ensemble des bibliothèques.</entry>
|
|
</row>
|
|
|
|
|
|
<row>
|
|
<entry><filename class="directory">/usr/libdata/</filename></entry>
|
|
<entry>Divers fichiers de données de service.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/usr/libexec/</filename></entry>
|
|
<entry>Utilitaires et daemons système
|
|
(exécutés par d'autres programmes).</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename
|
|
class="directory">/usr/local/</filename></entry>
|
|
|
|
<entry>Exécutables, bibliothèques, etc... Egalement
|
|
utilisé comme destination de défaut pour les
|
|
logiciels portés pour FreeBSD. Dans
|
|
<filename>/usr/local</filename>, l'organisation
|
|
générale
|
|
décrite par la page de manuel &man.hier.7; pour
|
|
<filename>/usr</filename> devrait être utilisée.
|
|
Exceptions faites du répertoire man qui est directement
|
|
sous <filename>/usr/local</filename> plutôt que sous
|
|
<filename>/usr/local/share</filename>, et la
|
|
documentation des logiciels portés est dans
|
|
<filename>share/doc/<replaceable>port</replaceable></filename>.
|
|
</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/usr/obj/</filename></entry>
|
|
<entry>Arborescence cible spécifique à une
|
|
architecture produite par la compilation de l'arborescence
|
|
<filename>/usr/src</filename>.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/usr/ports</filename></entry>
|
|
<entry>Le catalogue des logiciels portés
|
|
(optionnel).</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/usr/sbin/</filename></entry>
|
|
<entry>Utilitaires et daemons système
|
|
(exécutés par les utilisateurs).</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/usr/share/</filename></entry>
|
|
<entry>Fichiers indépendants de l'architecture.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/usr/src/</filename></entry>
|
|
<entry>Fichiers source FreeBSD et/ou locaux.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename
|
|
class="directory">/usr/X11R6/</filename></entry>
|
|
<entry>Exécutables, bibliothèques etc... de la
|
|
distribution d'X11R6 (optionnel).</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/var/</filename></entry>
|
|
<entry>Fichiers de traces, fichiers temporaires, et
|
|
fichiers tampons.
|
|
</entry>
|
|
</row>
|
|
|
|
|
|
<row>
|
|
<entry><filename class="directory">/var/log/</filename></entry>
|
|
<entry>Divers fichiers de trace du système.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/var/mail/</filename></entry>
|
|
<entry>Boîtes aux lettres des utilisateurs.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/var/spool/</filename></entry>
|
|
<entry>Divers répertoires tampons des systèmes
|
|
de courrier électronique et d'impression.
|
|
</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename class="directory">/var/tmp/</filename></entry>
|
|
<entry>Fichiers temporaires qui sont conservés durant les
|
|
redémarrages.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><filename>/var/yp</filename></entry>
|
|
<entry>Tables NIS.</entry>
|
|
</row>
|
|
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</para>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="mount-unmount">
|
|
<title>Monter et démonter des systèmes de fichiers</title>
|
|
|
|
<para>Le système de fichiers peut être vu comme un arbre
|
|
enraciné sur le répertoire <filename>/</filename>.
|
|
<filename>/dev</filename>, <filename>/usr</filename>, et les
|
|
autres répertoires dans le répertoire racine sont des
|
|
branches, qui peuvent avoir leurs propres branches, comme
|
|
<filename>/usr/local</filename>, et ainsi de suite.</para>
|
|
|
|
<indexterm><primary>système de fichiers racine</primary></indexterm>
|
|
<para>Il y a diverses raisons pour héberger certains de ces
|
|
répertoires sur des systèmes de fichiers
|
|
séparés.
|
|
<filename>/var</filename> contient les répertoires
|
|
<filename>log/</filename>, <filename>spool/</filename>, 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
|
|
<filename>/var</filename> de <filename>/</filename> est souvent
|
|
favorable.</para>
|
|
|
|
<para>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 <link linkend="network-nfs">systèmes de
|
|
fichiers réseau</link>, ou les lecteurs de CDROM.</para>
|
|
|
|
<sect2 id="disks-fstab">
|
|
<title>Le fichier <filename>fstab</filename></title>
|
|
<indexterm>
|
|
<primary>systèmes de fichiers</primary>
|
|
<secondary>montés avec fstab</secondary>
|
|
</indexterm>
|
|
|
|
<para>Durant le <link linkend="boot">processus de
|
|
démarrage</link>, les systèmes de fichiers listés
|
|
dans <filename>/etc/fstab</filename> sont automatiquement
|
|
montés (à moins qu'il ne soient listés avec
|
|
l'option <option>noauto</option>).</para>
|
|
|
|
<para>Le fichier <filename>/etc/fstab</filename> contient une
|
|
liste de lignes au format suivant:</para>
|
|
|
|
<programlisting><replaceable>device</replaceable> <replaceable>/mount-point</replaceable> <replaceable>fstype</replaceable> <replaceable>options</replaceable> <replaceable>dumpfreq</replaceable> <replaceable>passno</replaceable></programlisting>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><literal>device</literal></term>
|
|
<listitem>
|
|
<para>Un nom de périphérique (qui devrait exister),
|
|
comme expliqué dans la
|
|
<xref linkend="disks-naming">.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>mount-point</literal></term>
|
|
|
|
<listitem><para>Un répertoire (qui devrait exister), sur
|
|
lequel sera monté le système de fichier.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>fstype</literal></term>
|
|
|
|
<listitem><para>Le type de système de fichiers à
|
|
indiquer à
|
|
&man.mount.8;. Le système de fichiers par défaut de
|
|
FreeBSD est l'<literal>ufs</literal>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>options</literal></term>
|
|
|
|
<listitem><para>Soit <option>rw</option> pour des systèmes de
|
|
fichiers à lecture-écriture, soit
|
|
<option>ro</option> pour des systèmes de fichiers
|
|
à lecture seule, suivi par toute
|
|
option qui peut s'avérer nécessaire. Une option
|
|
courante est <option>noauto</option> 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 &man.mount.8;.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>dumpfreq</literal></term>
|
|
|
|
<listitem><para>C'est utilisé par &man.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.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>passno</literal></term>
|
|
|
|
<listitem>
|
|
<para>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
|
|
<literal>passno</literal> positionné à zéro.
|
|
Le système de fichiers racine (qui doit être
|
|
vérifié avant tout le reste) devrait avoir son
|
|
<literal>passno</literal> positionné à un,
|
|
et les options <literal>passno</literal> 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
|
|
<literal>passno</literal> alors &man.fsck.8; essaiera
|
|
de vérifier les systèmes de fichiers
|
|
en parallèle si c'est possible.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</sect2>
|
|
|
|
<sect2 id="disks-mount">
|
|
<title>La commande <command>mount</command></title>
|
|
<indexterm>
|
|
<primary>systèmes de fichiers</primary>
|
|
<secondary>montage</secondary>
|
|
</indexterm>
|
|
|
|
<para>La commande &man.mount.8; est ce qui est finalement
|
|
utilisé pour monter des systèmes de fichiers.</para>
|
|
|
|
<para>Dans sa forme la plus simple, vous utilisez:</para>
|
|
|
|
<informalexample>
|
|
<screen>&prompt.root; <userinput>mount <replaceable>device</replaceable> <replaceable>mountpoint</replaceable></userinput></screen>
|
|
</informalexample>
|
|
|
|
<para>Il y beaucoup d'options, comme mentionné dans la page de
|
|
manuel &man.mount.8;, mais les plus courantes sont:</para>
|
|
|
|
<variablelist>
|
|
<title>Options de montage</title>
|
|
|
|
<varlistentry>
|
|
<term><option>-a</option></term>
|
|
|
|
<listitem>
|
|
<para>Monte tous les systèmes de fichiers listés dans
|
|
<filename>/etc/fstab</filename>. Exception faite de ceux
|
|
marqués comme “noauto”, ou exclus par
|
|
le drapeau <option>-t</option>, ou encore ceux qui sont
|
|
déjà montés.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-d</option></term>
|
|
|
|
<listitem>
|
|
<para>Tout effectuer à l'exception de l'appel
|
|
système réel. Cette option est utile
|
|
conjointement avec le drapeau <option>-v</option> pour
|
|
déterminer ce que &man.mount.8; est en train
|
|
d'essayer de faire.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-f</option></term>
|
|
|
|
<listitem>
|
|
<para>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.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-r</option></term>
|
|
|
|
<listitem>
|
|
<para>Monte le système de fichiers en lecture seule. C'est
|
|
identique à l'utilisation de l'argument
|
|
<option>rdonly</option> avec l'option
|
|
<option>-o</option>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-t</option>
|
|
<replaceable>fstype</replaceable></term>
|
|
|
|
<listitem>
|
|
<para>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 <option>-a</option> est précisée.</para>
|
|
|
|
<para>“ufs” est le type de système de
|
|
fichiers par défaut.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-u</option></term>
|
|
|
|
<listitem>
|
|
<para>Mets à jour les options de montage sur le
|
|
système de fichiers.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-v</option></term>
|
|
|
|
<listitem>
|
|
<para>Rends la commande prolixe.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-w</option></term>
|
|
|
|
<listitem>
|
|
<para>Monte le système de fichiers en
|
|
lecture-écriture.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<para>L'option <option>-o</option> accepte une liste d'options
|
|
séparées par des virgules, dont les suivantes:</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>nodev</term>
|
|
|
|
<listitem>
|
|
<para>Ne pas prendre en compte les périphériques
|
|
spéciaux sur le système de fichiers. C'est une
|
|
option de sécurité utile.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>noexec</term>
|
|
|
|
<listitem>
|
|
<para>Ne pas autoriser l'exécution de binaires sur ce
|
|
système de fichiers. C'est également une
|
|
option de sécurité utile.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>nosuid</term>
|
|
|
|
<listitem>
|
|
<para>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.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</sect2>
|
|
|
|
<sect2 id="disks-umount">
|
|
<title>La commande <command>umount</command></title>
|
|
<indexterm>
|
|
<primary>systèmes de fichiers</primary>
|
|
<secondary>démontage</secondary>
|
|
</indexterm>
|
|
|
|
<para>La commande &man.umount.8; prend, comme paramètre, un des
|
|
points de montage, un nom de périphérique, ou
|
|
l'option <option>-a</option> ou <option>-A</option>.</para>
|
|
|
|
<para>Toutes les formes acceptent <option>-f</option> pour forcer
|
|
de démontage, et <option>-v</option> pour le mode
|
|
prolixe. Soyez averti que l'utilisation de <option>-f</option>
|
|
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.</para>
|
|
|
|
<para>Les options <option>-a</option> et <option>-A</option>
|
|
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 <option>-t</option>.
|
|
Cependant l'option <option>-A</option>, n'essaye pas de
|
|
démonter le système de fichiers racine.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="basics-processes">
|
|
<title>Processus</title>
|
|
|
|
<para>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 <firstterm>processus</firstterm>. 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.</para>
|
|
|
|
<para>Chaque processus est identifié de façon unique par
|
|
un nombre appelé <firstterm>process ID</firstterm> (identifiant de
|
|
processus), ou <firstterm>PID</firstterm>, 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é <command>init</command>. <command>init</command> est
|
|
toujours le premier processus, donc son PID est toujours 1.
|
|
<command>init</command> est lancé automatiquement par le noyau au
|
|
démarrage de FreeBSD.</para>
|
|
|
|
<para>Deux commandes sont particulièrement utiles pour voir les
|
|
processus sur le système, &man.ps.1; et &man.top.1;. La
|
|
commande &man.ps.1; 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 &man.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.</para>
|
|
|
|
<para>Par défaut, &man.ps.1; n'affiche que les commandes que vous
|
|
faites tourner et dont vous êtes le propriétaire. Par
|
|
exemple:</para>
|
|
|
|
<screen>&prompt.user; <userinput>ps</userinput>
|
|
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</screen>
|
|
|
|
<para>Comme vous pouvez le voir dans cet exemple, la sortie de
|
|
&man.ps.1; est organisée en un certain nombre de colonnes.
|
|
<literal>PID</literal> 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.
|
|
<literal>TT</literal> donne le terminal sur lequel tourne le
|
|
programme, et peut être pour le moment ignoré sans risque.
|
|
<literal>STAT</literal> affiche l'état du programme, peut
|
|
être également ignoré.
|
|
<literal>TIME</literal> est la durée d'utilisation du CPU—ce
|
|
n'est pas nécessairement le temps écoulé depuis
|
|
que vous avez lancé le programme, certains 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, <literal>COMMAND</literal> est la ligne de commande qui a
|
|
été utilisée lors du lancement du programme.</para>
|
|
|
|
<para>&man.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 <literal>auxww</literal>.
|
|
<option>a</option> affiche l'information au sujet de tous les
|
|
processus tournant, et pas seulement les vôtres.
|
|
<option>u</option> donne le nom de l'utilisateur du propriétaire
|
|
du processus, ainsi que l'utilisation de la mémoire.
|
|
<option>x</option> affiche des informations sur les processus
|
|
“daemon”, et <option>ww</option> oblige &man.ps.1; à
|
|
afficher la ligne de commande complète, plutôt que de la
|
|
tronquer quand elle est trop longue pour tenir à
|
|
l'écran.</para>
|
|
|
|
<para>La sortie de &man.top.1; est semblable. Un extrait de session
|
|
ressemble à ceci:</para>
|
|
|
|
<screen>&prompt.user; <userinput>top</userinput>
|
|
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
|
|
...</screen>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>En dessous il y a une série de colonnes contenant des
|
|
informations semblables à celles données par &man.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. &man.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 <application>Netscape</application> a
|
|
exigé presque 30 MO de RAM, mais
|
|
utilise actuellement seulement 9MO.</para>
|
|
|
|
<para>&man.top.1; actualise l'affichage toutes les deux secondes;
|
|
cela peut être modifié avec l'option
|
|
<option>s</option>.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="basics-daemons">
|
|
<title>Daemons, signaux, et comment tuer un processus</title>
|
|
|
|
<para>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 <firstterm>terminal</firstterm>.
|
|
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.</para>
|
|
|
|
<para>Nous appelons ces programmes des
|
|
<firstterm>daemons</firstterm> (démons). Les
|
|
“daemons” étaient des personnages de la mythologie
|
|
Grec; 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 courrier 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.</para>
|
|
|
|
<para>Il existe une convention pour nommer les programmes qui
|
|
fonctionnent normalement en tant que daemons qui est d'utiliser
|
|
une terminaison en “d”.
|
|
<application>BIND</application> est le “Berkeley Internet Name
|
|
Daemon” (et le programme réel qui est exécuté
|
|
s'appelle <command>named</command>), le programme
|
|
correspondant au serveur web <application>Apache</application> est
|
|
appelé <command>httpd</command>, le daemon de gestion de la file
|
|
d'attente de l'imprimante est <command>lpd</command>, 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
|
|
<application>Sendmail</application> est appelé
|
|
<command>sendmail</command>, et non pas <command>maild</command>,
|
|
comme vous pourriez l'imaginer.</para>
|
|
|
|
<para>Parfois vous devrez communiquer avec un processus daemon.
|
|
Ces communications sont appelées <firstterm>signaux</firstterm>, et
|
|
vous pouvez communiquez avec un daemon (ou avec tout processus en
|
|
fonctionnement) en lui envoyant 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 &man.kill.1;
|
|
ou &man.kill.2; vous obtiendrez un refus de permission. Il existe
|
|
une exception à cela: l'utilisateur <username>root</username>, qui
|
|
peut envoyer des signaux aux processus de chacun.</para>
|
|
|
|
<para>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
|
|
<firstterm>violation de segmentation</firstterm>
|
|
(<literal>SIGSEGV</literal>). Si une application a utilisé
|
|
l'appel système &man.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
|
|
(<literal>SIGALRM</literal>), et ainsi de suite.</para>
|
|
|
|
<para>Deux signaux peuvent être utilisés pour arrêter
|
|
un processus, <literal>SIGTERM</literal> et <literal>SIGKILL</literal>.
|
|
<literal>SIGTERM</literal> est la manière polie de tuer un
|
|
processus; le processus peut <emphasis>attraper</emphasis> 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
|
|
<literal>SIGTERM</literal> s'il est au milieu d'une tâche qui ne
|
|
peut être interrompue.</para>
|
|
|
|
<para><literal>SIGKILL</literal> 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
|
|
<literal>SIGKILL</literal> à un processus alors FreeBSD
|
|
stoppera le processus<footnote>
|
|
<para>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é.</para>
|
|
</footnote>.</para>
|
|
|
|
<para>Les autres signaux que vous pourriez avoir envie d'utiliser
|
|
sont <literal>SIGHUP</literal>, <literal>SIGUSR1</literal>, et
|
|
<literal>SIGUSR2</literal>. Ce sont des signaux d'usage
|
|
général, et différentes applications se
|
|
comporteront différemment quand ils
|
|
sont envoyés.</para>
|
|
|
|
<para>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 <command>httpd</command>, 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 <literal>SIGHUP</literal> en relisant leur fichier de
|
|
configuration. Donc au lieu de tuer et relancer
|
|
<command>httpd</command> vous lui enverriez le signal
|
|
<literal>SIGHUP</literal>. 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.</para>
|
|
|
|
<para>Les signaux sont envoyés en utilisant la commande
|
|
&man.kill.1;, comme cet exemple le montre:</para>
|
|
|
|
<procedure>
|
|
<title>Envoyer un signal à un processus</title>
|
|
|
|
<para>cet exemple montre comment envoyer un signal à
|
|
&man.inetd.8;. Le fichier de configuration &man.inetd.8; est
|
|
<filename>/etc/inetd.conf</filename>, et &man.inetd.8; relira ce
|
|
fichier de configuration quand un signal
|
|
<literal>SIGHUP</literal> est envoyé.</para>
|
|
|
|
<step>
|
|
<para>Trouvez l'identifiant du processus (PID) auquel vous
|
|
voulez envoyer le signal. Faites-le en employant &man.ps.1;
|
|
et &man.grep.1;. La commande &man.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 &man.inetd.8; est lancé en tant que
|
|
<username>root</username>, donc les options <option>ax</option>
|
|
doivent être passées à &man.ps.1;.</para>
|
|
|
|
<screen>&prompt.user; <userinput>ps -ax | grep inetd</userinput>
|
|
198 ?? IWs 0:00.00 inetd -wW</screen>
|
|
|
|
<para>Donc le PID d'&man.inetd.8; est 198. Dans certains cas la
|
|
commande <literal>grep inetd</literal> pourrait aussi
|
|
apparaître dans le résultat. C'est à
|
|
cause de la façon dont
|
|
&man.ps.1; recherche la liste des processus en
|
|
fonctionnement.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Utilisez &man.kill.1; pour envoyer le signal. Etant donné
|
|
qu'&man.inetd.8; tourne sous les droits de l'utilisateur
|
|
<username>root</username> vous devez utilisez &man.su.1; pour
|
|
devenir, en premier lieu, <username>root</username>.</para>
|
|
|
|
<screen>&prompt.user; <userinput>su</userinput>
|
|
<prompt>Password:</prompt>
|
|
&prompt.root; <userinput>/bin/kill -s HUP 198</userinput></screen>
|
|
|
|
<para>Comme la plupart des commandes Unix, &man.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 <errorname>kill:
|
|
<replaceable>PID</replaceable>: Operation not
|
|
permitted</errorname>. 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 <errorname>kill:
|
|
<replaceable>PID</replaceable>: No such
|
|
process</errorname>.</para>
|
|
|
|
<note>
|
|
<title>Pourquoi utiliser <command>/bin/kill</command>?</title>
|
|
|
|
<para>De nombreux interpréteurs de commandes fournissent la
|
|
commande <command>kill</command> comme commande interne;
|
|
c'est à dire, que l'interpréteur de commandes enverra
|
|
directement le signal, plutôt que de lancer
|
|
<filename>/bin/kill</filename>. 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
|
|
<command>/bin/kill
|
|
<replaceable>...</replaceable></command>.</para>
|
|
</note>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para>Envoyer d'autres signaux est très semblable, substituez juste
|
|
<literal>TERM</literal> ou <literal>KILL</literal> dans la ligne
|
|
de commande si nécessaire.</para>
|
|
|
|
<important>
|
|
<para>Tuer au hasard des processus sur le système peut
|
|
être une mauvaise idée.
|
|
En particulier, &man.init.8;, processus à
|
|
l'identifiant 1, qui est très particulier. Lancer la commande
|
|
<command>/bin/kill -s KILL 1</command> est une manière
|
|
rapide d'arrêter votre système. Vérifiez
|
|
<emphasis>toujours</emphasis> à deux fois les arguments que vous
|
|
utilisez avec &man.kill.1; <emphasis>avant</emphasis> d'appuyer
|
|
sur <keycap>Entrée</keycap>.</para>
|
|
</important>
|
|
</sect1>
|
|
|
|
<sect1 id="shells">
|
|
<title>Interpréteurs de commandes - “Shells”</title>
|
|
<indexterm><primary>interpréteurs de commandes</primary></indexterm>
|
|
<indexterm><primary>ligne de commande</primary></indexterm>
|
|
|
|
<para>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 <command>sh</command>,
|
|
l'interpréteur de commandes Bourne, et <command>tcsh</command>,
|
|
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 <command>zsh</command> et
|
|
<command>bash</command>.</para>
|
|
|
|
<para>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 <command>tcsh</command>. Si vous venez du monde Linux ou que
|
|
vous êtes nouveau à l'interface en ligne de commande d'Unix
|
|
vous pourriez essayer <command>bash</command>. 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.</para>
|
|
|
|
<para>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 <keycap>Tab</keycap> du clavier. Voici un exemple.
|
|
Supposez que vous avez deux fichiers appelés respectivement
|
|
<filename>foobar</filename> et <filename>foo.bar</filename>.
|
|
Vous voulez effacer <filename>foo.bar</filename>. Donc ce
|
|
que vous devriez taper sur le clavier est: <command>rm
|
|
fo[<keycap>Tab</keycap>].[<keycap>Tab</keycap>]</command>.</para>
|
|
|
|
<para>L'interpréteur de commandes devrait afficher <command>rm
|
|
foo[BEEP].bar</command>.</para>
|
|
|
|
<para>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é. <filename>foobar</filename> et
|
|
<filename>foo.bar</filename> commencent tous les deux par
|
|
<literal>fo</literal>, mais il fut capable de compléter
|
|
jusqu'à <literal>foo</literal>. Si vous tapez
|
|
<literal>.</literal>, puis appuyez à nouveau sur
|
|
<keycap>Tab</keycap>, l'interpréteur de
|
|
commandes devrait pouvoir compléter le reste du nom du fichier
|
|
pour vous.</para>
|
|
<indexterm><primary>variables d'environnement</primary></indexterm>
|
|
|
|
<para>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:</para>
|
|
<indexterm><primary>variables d'environnement</primary></indexterm>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Variable</entry>
|
|
<entry>Description</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><envar>USER</envar></entry>
|
|
<entry>Le nom d'utilisateur de la personne actuellement
|
|
attachée au système.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><envar>PATH</envar></entry>
|
|
<entry>La liste des répertoires, séparés par
|
|
deux points, pour la recherche des programmes.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><envar>DISPLAY</envar></entry>
|
|
<entry>Le nom réseau de l'affichage X11 auquel on peut se
|
|
connecter, si disponible.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><envar>SHELL</envar></entry>
|
|
<entry>Le nom de l'interpréteur de commandes actuellement
|
|
utilisé.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><envar>TERM</envar></entry>
|
|
<entry>Le nom du terminal de l'utilisateur. Utilisé pour
|
|
déterminer les capacités du terminal.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><envar>TERMCAP</envar></entry>
|
|
<entry>L'entrée de la base de données des codes
|
|
d'échappement pour permettre l'exécution de
|
|
diverses fonctions du terminal.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><envar>OSTYPE</envar></entry>
|
|
<entry>Type du système d'exploitation, e.g. FreeBSD.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><envar>MACHTYPE</envar></entry>
|
|
<entry>L'architecture du CPU sur lequel tourne actuellement
|
|
le système.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><envar>EDITOR</envar></entry>
|
|
<entry>L'éditeur de texte préferé de
|
|
l'utilisateur.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><envar>PAGER</envar></entry>
|
|
<entry>Le visualisateur de page de texte préferré de
|
|
l'utilisateur.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><envar>MANPATH</envar></entry>
|
|
<entry>La liste des répertoires, séparés par
|
|
deux points, pour la recherche des pages de manuel.</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<indexterm><primary>Bourne shells</primary></indexterm>
|
|
<para>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
|
|
<command>tcsh</command> et <command>csh</command>, vous
|
|
utiliseriez <command>setenv</command> pour fixer le
|
|
contenu d'une variable d'environnement. Sous les interpréteurs de
|
|
commandes Bourne comme <command>sh</command> et
|
|
<command>bash</command>, vous utiliseriez
|
|
<command>export</command> pour configurer vos
|
|
variables d'environnement. Par exemple, pour fixer ou modifier la
|
|
variable d'environnement <envar>EDITOR</envar>, sous
|
|
<command>csh</command> ou <command>tcsh</command> une commande
|
|
comme la suivante fixera <envar>EDITOR</envar> à
|
|
<filename>/usr/local/bin/emacs</filename>:</para>
|
|
|
|
<screen>&prompt.user; <userinput>setenv EDITOR /usr/local/bin/emacs</userinput></screen>
|
|
|
|
<para>Sous les interpréteurs de commandes Bourne:</para>
|
|
|
|
<screen>&prompt.user; <userinput>export EDITOR="/usr/local/bin/emacs"</userinput></screen>
|
|
|
|
<para>Vous pouvez faire afficher à la plupart des
|
|
interpréteurs de commandes la variable d'environnement
|
|
en plaçant un caractère
|
|
<literal>$</literal> juste devant son nom sur la ligne
|
|
de commande. Par exemple, <command>echo $TERM</command> affichera
|
|
le contenu de <envar>$TERM</envar>, car l'interpréteur de commande
|
|
complète <envar>$TERM</envar> et passe la main à
|
|
<command>echo</command>.</para>
|
|
|
|
<para>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 <literal>*</literal>, 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 <command>echo *</command> est presque
|
|
la même chose
|
|
que taper <command>ls</command> parce que l'interpréteur de
|
|
commandes prendra tous les fichiers qui correspondent à
|
|
<literal>*</literal> et les passera à <command>echo</command> pour
|
|
les afficher.</para>
|
|
|
|
<para>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 (<literal>\</literal>) devant. <command>echo
|
|
$TERM</command> affichera votre type de terminal. <command>echo
|
|
\$TERM</command> affichera <envar>$TERM</envar> tel quel.</para>
|
|
|
|
<sect2 id="changing-shells">
|
|
<title>Changer d'interpréteur de commandes</title>
|
|
|
|
<para>La méthode la plus simple pour changer votre
|
|
interpréteur de commandes est d'utiliser la commande
|
|
<command>chsh</command>. En lançant <command>chsh</command>
|
|
vous arriverez dans l'éditeur
|
|
correspondant à votre variable d'environnement
|
|
<envar>EDITOR</envar>; si elle n'est pas fixée, cela sera
|
|
<command>vi</command>. Modifiez la ligne “Shell:”
|
|
en conséquence.</para>
|
|
|
|
<para>Vous pouvez également passer le paramètre
|
|
<option>-s</option> à <command>chsh</command>; cela modifiera
|
|
votre interpréteur de commandes sans avoir à utiliser
|
|
un éditeur. Par exemple, si
|
|
vous vouliez changer votre interpréteur de commandes pour
|
|
<command>bash</command>,
|
|
ce qui suit devrait faire l'affaire:</para>
|
|
|
|
<screen>&prompt.user; <userinput>chsh -s /usr/local/bin/bash</userinput></screen>
|
|
|
|
<para>Utiliser <command>chsh</command> sans paramètres et modifier
|
|
votre interpréteur de commandes directement à partir
|
|
de là devrait également fonctionner.</para>
|
|
|
|
<note>
|
|
<para>L'interpréteur de commandes que vous désirez
|
|
utiliser <emphasis>doit</emphasis> être présent dans
|
|
le fichier <filename>/etc/shells</filename>. Si vous avez
|
|
installé l'interpréteur de commandes à partir
|
|
du <link linkend="ports">catalogue des logiciels portés</link>,
|
|
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.</para>
|
|
|
|
<para>Par exemple, si vous avez installé <command>bash</command>
|
|
à la main et l'avez placé dans
|
|
<filename>/usr/local/bin</filename>, vous devrez faire:</para>
|
|
|
|
<screen>&prompt.root; <userinput>echo "/usr/local/bin/bash" >> /etc/shells</userinput></screen>
|
|
|
|
<para>Puis relancer <command>chsh</command>.</para>
|
|
</note>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="editors">
|
|
<title>Editeurs de texte</title>
|
|
<indexterm><primary>éditeurs de texte</primary></indexterm>
|
|
<indexterm><primary>éditeurs</primary></indexterm>
|
|
|
|
<para>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 de système de base,
|
|
et beaucoup d'autres sont disponibles dans le catalogue des logiciels
|
|
portés.</para>
|
|
|
|
<indexterm>
|
|
<primary><command>ee</command></primary>
|
|
</indexterm>
|
|
<para>L'éditeur de plus facile et le plus simple à apprendre
|
|
est un éditeur appelé <application>ee</application>,
|
|
qui signifie l'éditeur facile (easy editor). Pour lancer
|
|
<application>ee</application>, on taperait sur la ligne de
|
|
commande <command>ee fichier</command> où
|
|
<literal>fichier</literal> est le nom du fichier qui doit être
|
|
édité. Par exemple, pour éditer
|
|
<filename>/etc/rc.conf</filename>, tapez <command>ee
|
|
/etc/rc.conf</command>. Une fois sous <command>ee</command>, toutes
|
|
les commandes pour utiliser les fonctions de l'éditeur sont
|
|
affichées en haut de l'écran. Le caractère
|
|
<literal>^</literal>
|
|
représente la touche <keycap>Ctrl</keycap> sur le clavier, donc
|
|
<literal>^e</literal> représente la combinaison de touches
|
|
<keycombo
|
|
action="simul"><keycap>Ctrl</keycap><keycap>e</keycap></keycombo>.
|
|
Pour quitter <application>ee</application>, appuyez sur la touche
|
|
<keycap>Echap</keycap>, ensuite choisissez
|
|
“leave editor”. L'éditeur
|
|
vous demandera s'il doit sauver les changements si le fichier a
|
|
été modifié.</para>
|
|
|
|
<indexterm>
|
|
<primary><command>vi</command></primary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary>éditeurs</primary>
|
|
<secondary><command>vi</command></secondary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary><command>emacs</command></primary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary>éditeurs</primary>
|
|
<secondary><command>emacs</command></secondary>
|
|
</indexterm>
|
|
<para>FreeBSD est également fourni avec des éditeurs de texte
|
|
plus puissants comme <command>vi</command> en tant
|
|
qu'élément du
|
|
système de base, alors que d'autres éditeurs, comme
|
|
<command>emacs</command> et <command>vim</command>, en tant
|
|
qu'élément du catalogue des logiciels portés de
|
|
FreeBSD. 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
|
|
<command>vim</command> ou
|
|
<command>emacs</command> vous permettra d'économiser beaucoup plus
|
|
de temps à la longue.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="basics-devices">
|
|
<title>Périphériques et fichiers spéciaux de
|
|
périphérique</title>
|
|
|
|
<para>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
|
|
<filename>/var/run/dmesg.boot</filename>.</para>
|
|
|
|
<para>Par exemple, <devicename>acd0</devicename> est le premier
|
|
lecteur de CDROM IDE, tandis que <devicename>kbd0</devicename>
|
|
représente le clavier.</para>
|
|
|
|
<para>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 <filename>/dev</filename>.</para>
|
|
|
|
<sect2>
|
|
<title>Créer des fichiers spéciaux de
|
|
périphérique</title>
|
|
<para>Quand vous ajoutez un nouveau périphérique
|
|
à votre système, ou compilez le support pour des
|
|
périphériques supplémentaires, vous aurez
|
|
peut être besoin de créer un ou plusieurs fichiers
|
|
spéciaux de périphérique pour les nouveaux
|
|
périphériques.</para>
|
|
|
|
<sect3>
|
|
<title>MAKEDEV Script</title>
|
|
<para>Sur les systèmes sans <literal>DEVFS</literal> (cela concerne toutes les versions de FreeBSD antérieures à la 5.0), les
|
|
fichiers spéciaux
|
|
de périphérique doivent être
|
|
créés à l'aide de la procédure
|
|
&man.MAKEDEV.8; comme montré ci-dessous:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cd /dev</userinput>
|
|
&prompt.root; <userinput>sh MAKEDEV ad1</userinput>
|
|
</screen>
|
|
|
|
<para>Cet exemple devrait créer les fichiers spéciaux de
|
|
périphérique corrects pour le second disque IDE
|
|
quand il est installé.</para>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title><literal>DEVFS</literal> (“DEVice File System” -
|
|
Système de fichiers de périphérique)</title>
|
|
|
|
<para>Le système de fichiers de périphérique, ou
|
|
<literal>DEVFS</literal>, 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, <literal>DEVFS</literal>
|
|
maintient ce système de fichiers particulier pour vous.</para>
|
|
|
|
<para>Voir la page de manuel de &man.devfs.5; pour plus
|
|
d'information.</para>
|
|
|
|
<para><literal>DEVFS</literal> est utilisé par défaut
|
|
sous FreeBSD 5.0.</para>
|
|
</sect3>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="consoles">
|
|
<title>Consoles virtuelles & terminaux</title>
|
|
<indexterm><primary>consoles virtuelles</primary></indexterm>
|
|
<indexterm><primary>terminal</primary></indexterm>
|
|
|
|
<para>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 directemtent
|
|
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.</para>
|
|
|
|
<sect2 id="consoles-intro">
|
|
<title>La console</title>
|
|
<indexterm><primary>console</primary></indexterm>
|
|
|
|
<para>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 à:</para>
|
|
|
|
<screen>Additional ABI support:.
|
|
Local package initialization:.
|
|
Additional TCP options:.
|
|
|
|
Fri Sep 20 13:01:06 EEST 2002
|
|
|
|
FreeBSD/i386 (pc3.example.org) (ttyv0)
|
|
|
|
login:</screen>
|
|
|
|
<para>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:</para>
|
|
|
|
<programlisting>FreeBSD/i386 (pc3.example.org) (ttyv0)</programlisting>
|
|
|
|
<para>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<footnote>
|
|
<para>C'est ce que signifie <literal>i386</literal>. Notez
|
|
que même si vous faites tourner FreeBSD sur un CPU Intel
|
|
386, cela sera <literal>i386</literal>. Ce n'est pas le
|
|
type de votre microprocesseur, mais
|
|
“l'architecture” du microprocesseur qui est
|
|
donnée ici.</para>
|
|
</footnote>. Le nom de cette machine (chaque machine &unix;
|
|
a un nom) est <hostid>pc3.example.org</hostid>, et vous
|
|
regardez actuellement sa console système—le terminal
|
|
<devicename>ttyv0</devicename>.</para>
|
|
|
|
<para>Et enfin, la dernière ligne est toujours:</para>
|
|
|
|
<programlisting>login:</programlisting>
|
|
|
|
<para>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.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="consoles-login">
|
|
<title>Ouvrir une session sur un système FreeBSD</title>
|
|
|
|
<para>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/</para>
|
|
|
|
<para>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.</para>
|
|
|
|
<indexterm><primary>procédures de démarrage</primary></indexterm>
|
|
<para>Juste après que FreeBSD ait démarré et
|
|
en ait terminé avec l'exécution des procédures de
|
|
démarrage<footnote>
|
|
<para>Les procédures de démarrage sont des programmes
|
|
qui sont exécutés automatiquement pas 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.</para>
|
|
</footnote>, il présentera une invite et demandera un nom
|
|
d'utilisateur valide:</para>
|
|
|
|
<screen>login:</screen>
|
|
|
|
<para>Pour cet exemple, supposons que votre nom d'utilisateur
|
|
est <username>john</username>. Tapez
|
|
<username>john</username> à cette invite puis appuyez sur
|
|
<keycap>Entrée</keycap>. Alors vous devrez être
|
|
invité à entrer un “mot de passe”:</para>
|
|
|
|
<screen>login: <userinput>john</userinput>
|
|
Password:</screen>
|
|
|
|
<para>Tapez maintenant le mot de passe de <username>john</username>,
|
|
et appuyez sur <keycap>Entrée</keycap>. Le mot de passe
|
|
<emphasis>n'est pas affiché!</emphasis> Vous n'avez pas à
|
|
vous préoccuper de cela maintenant. Il suffit de penser que
|
|
cela est fait pour des raisons de sécurité.</para>
|
|
|
|
<para>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.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="consoles-virtual">
|
|
<title>Consoles multiples</title>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>Des combinaisons de touches spécifiques ont
|
|
été réservées par FreeBSD pour le
|
|
basculement entre consoles<footnote>
|
|
<para>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
|
|
&man.syscons.4;, &man.atkbd.4;, &man.vidcontrol.1;
|
|
et &man.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.</para>
|
|
</footnote>. Vous pouvez utiliser
|
|
<keycombo><keycap>Alt</keycap><keycap>F1</keycap></keycombo>,
|
|
<keycombo><keycap>Alt</keycap><keycap>F2</keycap></keycombo>,
|
|
jusqu'à
|
|
<keycombo><keycap>Alt</keycap><keycap>F8</keycap></keycombo>
|
|
pour basculer vers une console virtuelle différente sous
|
|
FreeBSD.</para>
|
|
|
|
<para>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.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="consoles-ttys">
|
|
<title>Le fichier <filename>/etc/ttys</filename></title>
|
|
|
|
<para>La configuration par défaut de FreeBSD démarre avec 8
|
|
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
|
|
<filename>/etc/ttys</filename>.</para>
|
|
|
|
<para>Vous pouvez utiliser le fichier
|
|
<filename>/etc/ttys</filename> 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
|
|
<literal>#</literal>) 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 9 consoles virtuelles,
|
|
et en active 8. Ce sont les lignes commençant avec le terme
|
|
<literal>ttyv</literal>:</para>
|
|
|
|
<programlisting># 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</programlisting>
|
|
|
|
<para>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 &man.ttys.5;.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="consoles-singleuser">
|
|
<title>Console en mode mono-utilisateur</title>
|
|
|
|
<para>Une description détaillée de ce qu'est
|
|
<quote>le mode mono-utilisateur</quote> peut être
|
|
trouvée dans <xref linkend="boot-singleuser">. Il est
|
|
important de noter qu'il n'y a qu'une console de disponible
|
|
quand vous exécuter 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
|
|
<filename>/etc/ttys</filename>. Recherchez la ligne qui
|
|
commence avec le mot <literal>console</literal>:</para>
|
|
|
|
<programlisting># 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</programlisting>
|
|
|
|
<note>
|
|
<para>Comme l'indiquent les commentaires au-dessus de la ligne
|
|
<literal>console</literal>, vous pouvez éditer cette ligne
|
|
et changer <literal>secure</literal> pour
|
|
<literal>insecure</literal>. Si vous faites cela, quand
|
|
FreeBSD démarrera en mode mono-utilisateur, il demandera le
|
|
mot de passe de <username>root</username>.</para>
|
|
|
|
<para><emphasis>Cependant faites attention quand vous modifiez
|
|
cela pour <literal>insecure</literal>.</emphasis> Si vous
|
|
oubliez le mot de passe de <username>root</username>, 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.</para>
|
|
</note>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="basics-more-information">
|
|
<title>Pour plus d'information</title>
|
|
|
|
<sect2 id="basics-man">
|
|
<title>Les pages de manuel</title>
|
|
<indexterm><primary>pages de manuel</primary></indexterm>
|
|
|
|
<para>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 <command>man</command>.
|
|
L'utilisation de la commande <command>man</command> est
|
|
simple:</para>
|
|
|
|
<screen>&prompt.user; <userinput>man <replaceable>command</replaceable></userinput></screen>
|
|
|
|
<para><literal>command</literal> 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
|
|
<command>ls</command> tapez:</para>
|
|
|
|
<screen>&prompt.user; <userinput>man ls</userinput></screen>
|
|
|
|
<para>Les manuels en ligne sont divisés en sections
|
|
numérotées:</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Commandes utilisateur.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Appels système et numéros d'erreur.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Fonctions des bibliothèques C.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Pilotes de périphérique.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Formats de fichier.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Jeux et autres divertissements.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Information diverse.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Commandes de maintenance et d'utilisation du
|
|
système.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Information de développement du noyau.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>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 <command>chmod</command> et un appel
|
|
système <function>chmod()</function>. Dans ce cas, vous pouvez
|
|
préciser à la commande <command>man</command> laquelle
|
|
vous désirez en spécifiant la section:</para>
|
|
|
|
<screen>&prompt.user; <userinput>man 1 chmod</userinput></screen>
|
|
|
|
<para>Cela affichera la page de manuel de la commande utilisateur
|
|
<command>chmod</command>. Les références à
|
|
une section particulière du manuel en ligne sont
|
|
traditionnellement placées entre parenthèses, ainsi
|
|
&man.chmod.1; se rapporte à la commande
|
|
utilisateur <command>chmod</command> et &man.chmod.2; se
|
|
rapporte à l'appel système.</para>
|
|
|
|
<para>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 <command>man</command> pour
|
|
rechercher des mots-clés dans les descriptions de commandes en
|
|
employant l'option <option>-k</option>:</para>
|
|
|
|
<screen>&prompt.user; <userinput>man -k mail</userinput></screen>
|
|
|
|
<para>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
|
|
<command>apropos</command>.</para>
|
|
|
|
<para>Ainsi, vous regardez toutes ces commandes fantaisistes
|
|
contenues dans <filename>/usr/bin</filename> mais vous n'avez
|
|
pas la moindre idée de ce quelles font vraiment? Faites
|
|
simplement:</para>
|
|
|
|
<screen>&prompt.user; <userinput>cd /usr/bin</userinput>
|
|
&prompt.user; <userinput>man -f *</userinput></screen>
|
|
|
|
<para>ou</para>
|
|
|
|
<screen>&prompt.user; <userinput>cd /usr/bin</userinput>
|
|
&prompt.user; <userinput>whatis *</userinput></screen>
|
|
|
|
<para>ce qui fait la même chose.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="basics-info">
|
|
<title>Fichiers GNU Info</title>
|
|
<indexterm><primary>Free Software Foundation</primary></indexterm>
|
|
<indexterm><primary>Fondation pour le Logiciel Libre</primary></indexterm>
|
|
|
|
<para>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
|
|
<literal>info</literal> qui peuvent être lus avec la commande
|
|
<command>info</command> ou, si vous avez installé
|
|
<application>emacs</application>, dans le mode info
|
|
d'<application>emacs</application>.</para>
|
|
|
|
<para>Pour utiliser la commande &man.info.1;, tapez simplement:</para>
|
|
|
|
<screen>&prompt.user; <userinput>info</userinput></screen>
|
|
|
|
<para>Pour une brève introduction, tapez <literal>h</literal>.
|
|
Pour une référence rapide sur la commande, tapez
|
|
<literal>?</literal>.</para>
|
|
</sect2>
|
|
</sect1>
|
|
</chapter>
|
|
<!--
|
|
Local Variables:
|
|
mode: sgml
|
|
sgml-declaration: "../chapter.decl"
|
|
sgml-indent-data: t
|
|
sgml-omittag: nil
|
|
sgml-always-quote-attributes: t
|
|
sgml-parent-document: ("../book.sgml" "part" "chapter")
|
|
End:
|
|
-->
|
|
|