MFen 1.187 --> 1.213
This commit is contained in:
parent
292d85dde9
commit
48a9810d46
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=20100
1 changed files with 170 additions and 623 deletions
|
@ -3,7 +3,7 @@
|
|||
The FreeBSD French Documentation Project
|
||||
|
||||
$FreeBSD$
|
||||
Original revision: 1.187
|
||||
Original revision: 1.213
|
||||
-->
|
||||
|
||||
<chapter id="ports">
|
||||
|
@ -43,13 +43,22 @@
|
|||
<para>Comment effacer les logiciels pré-compilés ou
|
||||
portés précédemment installés.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Comment modifier les paramètres par défaut
|
||||
utilisés par le catalogue des logiciels
|
||||
portés.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Comment mettre à jour vos logiciels
|
||||
portés.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="ports-overview">
|
||||
<title>Généralités sur l'installation de logiciels</title>
|
||||
|
||||
<para>Si vous avez utilisé auparavant un système Unix vous
|
||||
<para>Si vous avez utilisé auparavant un système &unix; vous
|
||||
saurez que la procédure typique pour installer les logiciels
|
||||
tiers ressemble à ceci:</para>
|
||||
|
||||
|
@ -63,7 +72,7 @@
|
|||
<step>
|
||||
<para>Extraire le logiciel de son format de distribution
|
||||
(généralement une archive tar compressée
|
||||
soit avec &man.compress.1; soit avec &man.gzip.1;).</para>
|
||||
soit avec &man.compress.1;, soit avec &man.gzip.1;, ou encore &man.bzip2.1;).</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
|
@ -109,9 +118,8 @@
|
|||
téléchargé peut être manipulé avec
|
||||
les commandes FreeBSD de gestion des logiciels
|
||||
pré-compilés, comme &man.pkg.add.1;,
|
||||
&man.pkg.delete.1;, &man.pkg.info.1;, et ainsi de suite.</para>
|
||||
|
||||
<para>L'installation d'une nouvelle application peut être
|
||||
&man.pkg.delete.1;, &man.pkg.info.1;, et ainsi de suite.
|
||||
L'installation d'une nouvelle application peut être
|
||||
effectuée grâce à une unique commande.</para>
|
||||
|
||||
<para>Un logiciel porté pour FreeBSD est un ensemble de fichiers
|
||||
|
@ -175,8 +183,8 @@
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Les logiciels pré-compilés ne demandent pas que vous
|
||||
compreniez le processus impliqué dans la compilation de
|
||||
<para>Les logiciels pré-compilés ne demandent pas une
|
||||
compréhension du processus impliqué dans la compilation de
|
||||
logiciels sous FreeBSD.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
@ -191,7 +199,7 @@
|
|||
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 III ou à l'Athlon.</para>
|
||||
spécifique au Pentium IV ou à l'Athlon.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
@ -378,6 +386,12 @@ local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
|
|||
<para>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 &os; pour les
|
||||
logiciels pré-compilés à la place du site
|
||||
de distribution principal, vous devez positionner en
|
||||
conséquence la variable d'environnement
|
||||
<envar>PACKAGESITE</envar>, pour remplacer les
|
||||
paramètres par défaut.
|
||||
&man.pkg.add.1; utilise &man.fetch.3; pour télécharger les
|
||||
fichiers, qui respecte diverses variables d'environnement, dont
|
||||
<envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar>, et
|
||||
|
@ -394,7 +408,7 @@ local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
|
|||
toute dernière version de l'application.</para>
|
||||
|
||||
<para>Les logiciels pré-compilés sont distribués
|
||||
dans le format <filename>.tgz</filename>. Vous pouvez les trouver
|
||||
dans les formats <filename>.tgz</filename> et <filename>.tbz</filename>. Vous pouvez les trouver
|
||||
sur <ulink
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/"></ulink>, ou
|
||||
sur le CDROM de distribution de FreeBSD. Chaque CD de
|
||||
|
@ -481,7 +495,9 @@ docbook =
|
|||
<row><entry>?</entry><entry>Le logiciel pré-compilé
|
||||
ne peut être
|
||||
trouvé dans l'index du catalogue des logiciels
|
||||
portés.</entry></row>
|
||||
portés. (Cela peut se produire quand, par exemple,
|
||||
un logiciel installé est supprimé du catalogue des logiciels
|
||||
portés ou renommé.)</entry></row>
|
||||
|
||||
<row><entry>*</entry><entry>Il y a de multiples versions de ce
|
||||
logiciel pré-compilé.</entry></row>
|
||||
|
@ -686,7 +702,8 @@ docbook =
|
|||
être téléchargés pour compiler le
|
||||
logiciel, et leurs sommes de contrôle, pour s'assurer que
|
||||
ces fichiers n'ont pas été
|
||||
corrompus durant le téléchargement.</para>
|
||||
corrompus durant le téléchargement en
|
||||
utilisant &man.md5.1;.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
@ -1024,6 +1041,128 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
|
|||
coupe-feu, ou devez utiliser un proxy FTP/HTTP.
|
||||
Consultez la page de manuel &man.fetch.3; pour la liste
|
||||
complète des variables.</para>
|
||||
|
||||
<para>Pour les utilisateurs qui ne peuvent rester
|
||||
connectés à l'Internet indéfiniment, il
|
||||
existe la commande <command>make
|
||||
<maketarget>fetch</maketarget></command>. Exécutez
|
||||
cette commande à la base du catalogue des logiciels
|
||||
portés (<filename
|
||||
role="directory">/usr/ports</filename>) et les fichiers
|
||||
nécessaires seront téléchargés.
|
||||
Cette commande fonctionnera également dans les
|
||||
sous-répertoires du catalogue, par exemple: <filename
|
||||
role="directory">/usr/ports/net</filename>. 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
|
||||
<emphasis>pas</emphasis> les sources de ces logiciels.
|
||||
Remplacez <maketarget>fetch</maketarget> par
|
||||
<maketarget>fetch-recursive</maketarget> si vous voulez
|
||||
récupérer également les sources des
|
||||
logiciels dont dépend un logiciel
|
||||
porté.</para>
|
||||
|
||||
<note>
|
||||
<para>Vous pouvez compiler tous les logiciels d'une
|
||||
catégorie ou de l'ensemble du catalogue en
|
||||
exécutant la commande <command>make</command> dans un
|
||||
répertoire de base, juste comme la commande
|
||||
<command>make <makevar>fetch</makevar></command>
|
||||
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.</para></note>
|
||||
|
||||
<para>Dans de rares cas les utilisateurs peuvent vouloir
|
||||
récupérer les archives à partir d'un
|
||||
site différent du <makevar>MASTER_SITES</makevar> par
|
||||
défaut (l'emplacement par défaut à
|
||||
partir duquel les fichiers sont
|
||||
téléchargés). Vous pouvez surcharger
|
||||
l'option <makevar>MASTER_SITES</makevar> avec la commande
|
||||
suivante:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>répertoire</replaceable></userinput>
|
||||
&prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \
|
||||
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
|
||||
|
||||
<para>Dans cet exemple nous modifions la valeur par
|
||||
défaut de l'option <makevar>MASTER_SITES</makevar>
|
||||
pour <hostid
|
||||
role="fqdn">ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</hostid>.</para>
|
||||
|
||||
<note>
|
||||
<para>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: <filename
|
||||
role="package">www/mozilla</filename>, <filename
|
||||
role="package">security/gpgme</filename>, et <filename
|
||||
role="package">mail/sylpheed-claws</filename>. Un message
|
||||
sera affiché quand de telles options sont
|
||||
disponibles.</para></note>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Modifier les répertoires par défaut des
|
||||
logiciels portés</title>
|
||||
|
||||
<para>Il est parfois utile (ou obligatoire) d'utiliser des
|
||||
répertoires différents pour les archives et le
|
||||
catalogue des logiciels portés. Les variables
|
||||
<makevar>PORTSDIR</makevar> et <makevar>PREFIX</makevar>
|
||||
permettent de modifier les répertoires par
|
||||
défaut. Par exemple:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make PORTSDIR=/usr/home/example/ports install</userinput></screen>
|
||||
|
||||
<para>compilera le logiciel dans le répertoire
|
||||
<filename
|
||||
role="directory">/usr/home/example/ports</filename> et
|
||||
installera tout dans <filename
|
||||
role="directrory">/usr/local</filename>.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make PREFIX=/usr/home/example/local install</userinput></screen>
|
||||
|
||||
<para>le compilera dans <filename
|
||||
role="directrory">/usr/ports</filename> et l'installera dans
|
||||
<filename
|
||||
role="directory">/usr/home/example/local</filename>.</para>
|
||||
|
||||
<para>Et bien sûr</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make PORTSDIR=../ports PREFIX=../local install</userinput></screen>
|
||||
|
||||
<para>combinera les deux (c'est trop long pour tenir sur cette
|
||||
page, mais cela devrait vous donner une idée
|
||||
générale).</para>
|
||||
|
||||
<para>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.</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Travailler avec <command>imake</command></title>
|
||||
|
||||
<para>Certains logiciels portés qui utilisent
|
||||
<command>imake</command> (une partie du système X
|
||||
Window) ne fonctionnent pas correctement avec la variable
|
||||
<makevar>PREFIX</makevar>, et insisteront pour s'installer
|
||||
sous <filename role="directory">/usr/X11R6</filename>. De
|
||||
façon similaire, certains logiciels Perl ignorent
|
||||
<makevar>PREFIX</makevar> et s'installent dans
|
||||
l'arborescence Perl. Faire en sorte que ces logiciels
|
||||
portés respectent <makevar>PREFIX</makevar> est une
|
||||
tâche difficile voire impossible.</para>
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
||||
|
@ -1031,8 +1170,8 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
|
|||
<title>Supprimer des logiciels portés installés</title>
|
||||
|
||||
<indexterm>
|
||||
<primary>logiciels portés</primary>
|
||||
<secondary>désinstallation</secondary>
|
||||
<primary>logiciels portés</primary>
|
||||
<secondary>désinstallation</secondary>
|
||||
</indexterm>
|
||||
<para>Maintenant que vous savez comment installer des logiciels
|
||||
portés, vous vous demandez probablement comment les effacer,
|
||||
|
@ -1223,7 +1362,7 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
|
|||
l'application qui vient juste d'être installée,
|
||||
une commande comme</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg_info | grep <replaceable>foopackage</replaceable></userinput></screen>
|
||||
<screen>&prompt.root; <userinput>pkg_info | grep -i <replaceable>foopackage</replaceable></userinput></screen>
|
||||
|
||||
<para>déterminera tous les logiciels
|
||||
pré-compilés installés qui
|
||||
|
@ -1255,615 +1394,24 @@ Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
|
|||
<para>La ligne <literal>WWW:</literal>, si elle est présente,
|
||||
devrait donner l'URL du site web de l'application.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>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 <filename
|
||||
role="directory">/usr/local/etc/rc.d</filename>. Vous devriez
|
||||
contrôler si ce fichier est correct et l'éditer
|
||||
ou le renommer si nécessaire. Consultez la section
|
||||
<link linkend="configtuning-starting-services">Démarrer
|
||||
des services</link> pour plus d'informations.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="ports-trouble">
|
||||
<title>Dépannage</title>
|
||||
|
||||
<para>Les sections suivantes couvrent certaines des questions les
|
||||
plus fréquemment posées à propos du catalogue des
|
||||
logiciels portés et certaines techniques de dépannage
|
||||
de base, et
|
||||
que faire si <link linkend="ports-broken">le portage d'un logiciel
|
||||
ne fonctionne pas</link>.</para>
|
||||
|
||||
<sect2 id="ports-questions">
|
||||
<title>Quelques questions et leurs réponses</title>
|
||||
|
||||
<qandaset>
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>Je pensais que cela allait être une discussion sur les
|
||||
modems??!</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Ah. Vous pensiez peut-être aux “ports”
|
||||
série sur la face arrière de votre ordinateur. Nous
|
||||
utilisons ici le terme “port” - logiciels
|
||||
portés - pour parler du résultat du
|
||||
“portage” d'un logiciel d'un système
|
||||
d'exploitation à un autre.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para id="ports-patch">Qu'est-ce qu'un “patch” -
|
||||
correctif?</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Un correctif (“patch”) est un petit fichier
|
||||
qui précise comment passer d'une version à une autre.
|
||||
Il contient du texte, qui dit des choses comme
|
||||
“effacer la ligne 23”, “ajouter ces deux
|
||||
lignes après la ligne 468”, et “modifier la
|
||||
ligne 197 comme ceci”. Ils sont aussi connus sont le
|
||||
nom de “diff” parce qu'ils sont
|
||||
générés par le
|
||||
programme &man.diff.1;.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<indexterm><primary>archive tar</primary></indexterm>
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para id="ports-tarball">Que sont les archives
|
||||
<command>tar</command>?</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>C'est un fichier dont l'extension est
|
||||
<filename>.tar</filename>, ou avec des variantes du style
|
||||
<filename>.tar.gz</filename>, <filename>.tar.Z</filename>,
|
||||
<filename>.tar.bz2</filename>, et même
|
||||
<filename>.tgz</filename>.</para>
|
||||
|
||||
<para>C'est essentiellement une arborescence de répertoires
|
||||
qui a été archivée en un seul fichier
|
||||
(<filename>.tar</filename>) et éventuellement
|
||||
compressé (<filename>.gz</filename>). Cette technique
|
||||
était à l'origine utilisée pour les
|
||||
“<emphasis>T</emphasis>ape” - bande -
|
||||
“<emphasis>AR</emphasis>chives” (d'où le nom de
|
||||
<command>tar</command>), mais c'est une méthode très
|
||||
utilisée pour distribuer du code source sur
|
||||
l'Internet.</para>
|
||||
|
||||
<para>Vous pouvez obtenir la liste des fichiers qu'elles
|
||||
contiennent, ou même les extraire vous-même en
|
||||
utilisant le programme Unix standard &man.tar.1;, qui fait
|
||||
partie du système de base de FreeBSD, comme ceci:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>tar tvzf foobar.tar.gz</userinput>
|
||||
&prompt.user; <userinput>tar xzvf foobar.tar.gz</userinput>
|
||||
&prompt.user; <userinput>tar tvf foobar.tar</userinput>
|
||||
&prompt.user; <userinput>tar xvf foobar.tar</userinput></screen>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<indexterm><primary>somme de contrôle</primary></indexterm>
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para id="ports-checksum">Et une somme de contrôle?</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>C'est un nombre généré en additionnant
|
||||
toutes les données que contient le fichier que vous voulez
|
||||
contrôler. Si un caractère change, la somme de
|
||||
contrôle ne
|
||||
sera plus la même, et une simple comparaison vous permettra
|
||||
de repérer la différence.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>J'ai suivi vos indications pour compiler des logiciels
|
||||
portés à partir d'un CDROM et cela a marché
|
||||
sans problème
|
||||
jusqu'à ce que j'essaye d'installer le logiciel porté
|
||||
<application>Kermit</application>.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make install</userinput>
|
||||
>> cku190.tar.gz doesn't seem to exist on this system.
|
||||
>> Attempting to fetch from ftp://kermit.columbia.edu/kermit/archives/.</screen>
|
||||
|
||||
<para>Pourquoi ne le trouve-t-il pas? Ai-je un CDROM
|
||||
endommagé?</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Comme expliqué dans la section <link
|
||||
linkend="ports-cd">Installer des logiciels portés à
|
||||
partir d'un CDROM</link>, certains logiciels portés ne
|
||||
peuvent être mis sur l'ensemble des CDROMs en raison des
|
||||
restrictions de la licence. <application>Kermit</application>
|
||||
en est un exemple. Les termes de la licence de
|
||||
<application>Kermit</application> ne nous permettent pas
|
||||
d'inclure l'archive sur le CDROM, vous devrez donc la
|
||||
récupérer par
|
||||
vous-même—désolé!</para>
|
||||
|
||||
<para>Vous avez obtenu tous ces messages d'erreur parce que
|
||||
vous n'étiez alors pas connecté à l'Internet.
|
||||
Une fois que
|
||||
vous l'avez téléchargé à partir d'un des
|
||||
<makevar>MASTER_SITES</makevar> - sites principaux (listés
|
||||
dans le fichier <filename>Makefile</filename>), vous pouvez
|
||||
relancer le processus d'installation.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>Je l'ai fait, mais quand j'ai essayé de la mettre dans
|
||||
<filename>/usr/ports/distfiles</filename>, j'ai eu des erreurs
|
||||
à propos de permissions que je n'avais pas.</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Le mécanisme des logiciels portés
|
||||
téléchargera les archives dans
|
||||
<filename>/usr/ports/distfiles</filename>, mais de nombreux
|
||||
administrateurs système créeront un lien
|
||||
symbolique entre ce répertoire et un serveur de fichiers
|
||||
distant ou un CDROM local sur lequel on ne peut que lire.
|
||||
Dans ce cas, vous devrez alors spécifier un répertoire
|
||||
différent pour stocker les “distfiles” avec la
|
||||
commande suivante:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make DISTDIR=<replaceable>/local/dir/with/write/permission</replaceable> install</userinput></screen>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>Le système des logiciels portés ne fonctionne-t-il
|
||||
qu'avec <filename>/usr/ports</filename>? Mon administrateur
|
||||
système veut que je mette tout dans
|
||||
<filename>/u/people/guests/wurzburger</filename>, mais cela
|
||||
ne semble pas fonctionner.</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Vous pouvez utiliser les variables
|
||||
<makevar>PORTSDIR</makevar> et <makevar>PREFIX</makevar>
|
||||
pour dire au mécanisme des logiciels portés
|
||||
d'utiliser des
|
||||
répertoires différents. Par exemple:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make PORTSDIR=/u/people/guests/wurzburger/ports install</userinput></screen>
|
||||
|
||||
<para>compilera le logiciel dans
|
||||
<filename>/u/people/guests/wurzburger/ports</filename> et
|
||||
installera tout dans <filename>/usr/local</filename>.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make PREFIX=/u/people/guests/wurzburger/local install</userinput></screen>
|
||||
|
||||
<para>le compilera dans <filename>/usr/ports</filename> et
|
||||
l'installera dans
|
||||
<filename>/u/people/guests/wurzburger/local</filename>.</para>
|
||||
|
||||
<para>Et bien sûr:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make PORTSDIR=../ports PREFIX=../local install</userinput></screen>
|
||||
|
||||
<para>combinera les deux (c'est trop long pour tenir
|
||||
entièrement sur la page, mais cela devrait vous donner
|
||||
l'idée générale).</para>
|
||||
|
||||
<indexterm><primary>imake</primary></indexterm>
|
||||
|
||||
<para>Certains logiciels portés qui utilisent &man.imake.1;
|
||||
(une partie du système X Window) ne fonctionnent pas bien
|
||||
avec la variable <makevar>PREFIX</makevar>, et insisteront
|
||||
pour s'installer sous <filename>/usr/X11R6</filename>. De
|
||||
façon similaire, certain logiciels Perl ignorent
|
||||
<makevar>PREFIX</makevar> et s'installent dans
|
||||
l'arborescence Perl. Faire en sorte que ces logiciels
|
||||
portés respectent <makevar>PREFIX</makevar> est une
|
||||
tâche difficile voire impossible.</para>
|
||||
|
||||
<para>Si vous ne voulez pas avoir à retaper tout cela à
|
||||
chaque fois que vous installez un logiciel porté,
|
||||
vous pouvez définir ces variables dans votre
|
||||
environnement par défaut. Lisez la page de manuel de votre
|
||||
interpréteur de commandes pour des instructions sur la
|
||||
manière de le faire.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>Je n'ai pas de CDROM FreeBSD, mais j'aimerais avoir
|
||||
toutes les archives sous la main sur mon système pour ne pas
|
||||
avoir à attendre la fin d'un téléchargement
|
||||
à chaque fois que j'installe un logiciel porté.
|
||||
Y-a-t-il une façon de les
|
||||
récupérer d'un coup?</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Pour récupérer toutes les archives du
|
||||
catalogue des logiciels, tapez:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/ports</userinput>
|
||||
&prompt.root; <userinput>make fetch</userinput></screen>
|
||||
|
||||
<para>Pour toutes les archives d'un sous-répertoire du
|
||||
catalogue, tapez:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput>
|
||||
&prompt.root; <userinput>make fetch</userinput></screen>
|
||||
|
||||
<para>et pour juste un seule logiciel porté—bon, vous
|
||||
avez probablement déjà deviné.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>Je sais qu'il est probablement plus rapide de
|
||||
récupérer les archives à partir de sites
|
||||
miroir FreeBSD proches. Existe-il un moyen de dire au logiciel
|
||||
porté de s'adresser à
|
||||
d'autres serveurs qu'à ceux listés dans la variable
|
||||
<makevar>MASTER_SITES</makevar>?</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Oui. Si vous savez que, par exemple, <hostid
|
||||
role="fqdn">ftp.FreeBSD.org</hostid> est plus près de vous
|
||||
que les sites listés dans <makevar>MASTER_SITES</makevar>,
|
||||
faites comme dans ce qui suit:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput>
|
||||
&prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \
|
||||
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>Je veux savoir de quels fichiers <command>make</command>
|
||||
aura besoin avant de le laisser essayer de les
|
||||
télécharger.</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para><command>make fetch-list</command> affichera une liste
|
||||
des fichiers nécessaires à un logiciel
|
||||
porté.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>Y-a-t-il un moyen d'empêcher un logiciel porté
|
||||
d'être compilé? Je veux faire quelques
|
||||
modifications sur le code
|
||||
source avant de l'installer, mais c'est fastidieux de
|
||||
surveiller ce qui se passe et taper à chaque fois
|
||||
<keycombo action="simul">
|
||||
<keycap>Ctrl</keycap>
|
||||
<keycap>C</keycap>
|
||||
</keycombo>.</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para><command>make extract</command> ne fera que
|
||||
récupérer et extraire le code source.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>J'essaye de faire mon propre portage et je voudrais
|
||||
qu'il ne soit pas compilé avant que j'ai pu vérifier
|
||||
que les correctifs aient été correctement
|
||||
appliqués. Y-a-t-il un équivalent à
|
||||
<command>make extract</command>, pour les correctifs?</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Oui, <command>make patch</command> est ce qu'il vous
|
||||
faut. Vous trouverez probablement l'option
|
||||
<makevar>PATCH_DEBUG</makevar> également utile. Et, au
|
||||
passage, merci de vos efforts!</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>J'ai entendu dire que certaines options du compilateur
|
||||
pouvaient être à l'origine de bogue. Est-ce exact?
|
||||
Comment puis-je être sûr que je compile les logiciels
|
||||
portés avec les bonnes options?</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Oui, avec la version 2.6.3 de <command>gcc</command> (la
|
||||
version livrée avec FreeBSD 2.1.0 et 2.1.5), l'option
|
||||
<option>-O2</option> pouvait générer du code
|
||||
bogué à moins que vous n'utilisiez également
|
||||
l'option <option>-fno-strength-reduce</option>. (La plupart des
|
||||
logiciels portés n'utilisent pas l'option
|
||||
<option>-O2</option>). Vous <emphasis>devriez</emphasis>
|
||||
pouvoir spécifiez les options du compilateur
|
||||
avec quelque chose comme:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make CFLAGS='-O2 -fno-strength-reduce' install</userinput></screen>
|
||||
|
||||
<para>ou en éditant <filename>/etc/make.conf</filename>,
|
||||
mais malheureusement tous les ports n'en tiennent pas
|
||||
compte. La méthode la plus sure est d'utiliser
|
||||
<command>make configure</command>, puis d'aller dans le
|
||||
répertoire des sources et de vérifier les
|
||||
fichiers <filename>Makefile</filename>s
|
||||
à la main, mais cela peut devenir fastidieux s'il y a de
|
||||
nombreux sous-répertoires, chacun avec leur propre
|
||||
<filename>Makefile</filename>s.</para>
|
||||
|
||||
<para>Les options par défaut du compilateur de FreeBSD sont
|
||||
assez conservatrices, donc si vous ne les avez pas
|
||||
modifiées vous ne devriez pas avoir de
|
||||
problème.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>Il y a tellement de logiciels portés qu'il est difficile
|
||||
de trouver celui que je veux. Y-a-t-il quelque part une
|
||||
liste des logiciels portés disponibles?
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Regardez dans le fichier <filename>INDEX</filename> dans
|
||||
<filename>/usr/ports</filename>. Si vous désirez chercher
|
||||
dans le catalogue des logiciels portés un mot-clé,
|
||||
vous pouvez également le faire.
|
||||
Par exemple, vous pouvez trouver
|
||||
les logiciels portés concernant le langage de programmation
|
||||
LISP en utilisant:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>cd /usr/ports</userinput>
|
||||
&prompt.user; <userinput>make search key=lisp</userinput></screen>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>J'ai lancé l'installation du logiciel
|
||||
<literal>foo</literal> mais le système a soudainement
|
||||
interrompu sa compilation et a commencé à compiler le
|
||||
logiciel <literal>bar</literal>. Que se passe-t-il?</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Le logiciel porté <literal>foo</literal> a besoin de
|
||||
quelque chose faisant partie de <literal>bar</literal>
|
||||
— par exemple, si <literal>foo</literal> utilise des
|
||||
graphiques, <literal>bar</literal> peut avoir une
|
||||
bibliothèque avec des sous-programmes graphiques utiles.
|
||||
Ou bien <literal>bar</literal> peut être un outil
|
||||
nécessaire à la compilation du logiciel porté
|
||||
<literal>foo</literal>. Une fois l'installation de
|
||||
<literal>bar</literal> terminée, votre système
|
||||
devrait automatiquement reprendre la compilation de
|
||||
<literal>foo</literal>.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para id="ports-remove">J'ai installé le programme
|
||||
<literal>grizzle</literal> à partir du catalogue et c'est
|
||||
franchement du gaspillage d'espace disque. Je veux
|
||||
l'effacer mais je ne sais pas où il a mis tous les fichiers.
|
||||
Des indications?</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Aucun problème, tapez simplement:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg_delete grizzle-6.5</userinput></screen>
|
||||
|
||||
<para>Une autre alternative est de taper:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd <replaceable>/usr/ports/somewhere/grizzle</replaceable></userinput>
|
||||
&prompt.root; <userinput>make deinstall</userinput></screen>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>Une minute, il faut connaître le numéro de
|
||||
version pour utiliser cette commande. Vous ne vous attendez pas
|
||||
sérieusement à ce que je l'ai retenu,
|
||||
n'est-ce pas?</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Absolument pas, vous pouvez le retrouver en faisant:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg_info -I 'grizzle*'</userinput>
|
||||
Information for grizzle-6.5:
|
||||
grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up
|
||||
arcade game.</screen>
|
||||
|
||||
<para>Le numéro de version peut être soit
|
||||
trouvé en utilisant <command>pkg_info</command> soit en
|
||||
tapant: <command>ls /var/db/pkg</command></para>
|
||||
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>En parlant d'espace disque, le catalogue des logiciels
|
||||
portés semble occuper énormément de place.
|
||||
Est-il prudent d'y faire un peu de ménage?</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Oui, si vous avez installé un programme et que vous
|
||||
êtes à peu près certain que vous n'aurez
|
||||
plus besoin des
|
||||
sources à nouveau, il n'y a aucune raison de les conserver.
|
||||
La meilleure façon de faire est:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/ports</userinput>
|
||||
&prompt.root; <userinput>make clean</userinput></screen>
|
||||
|
||||
<para>qui parcourra tous les sous-répertoires et effacera
|
||||
tout excepté les squelettes et cela pour chaque logiciel
|
||||
porté.</para>
|
||||
|
||||
<tip><para>Il est possible d'obtenir le même effet sans
|
||||
appeler récursivement chaque <filename>Makefile</filename>.
|
||||
Par exemple, vous pouvez effacer tous les sous-répertoires
|
||||
<filename>work/</filename> directement avec la commande
|
||||
suivante:
|
||||
<screen>&prompt.root; <userinput>find /usr/ports -depth -name work -exec rm -rf {} \;</userinput></screen></para>
|
||||
</tip>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>J'ai essayé cela et il reste toujours ces archives,
|
||||
quelque soit le nom que vous leur donniez, dans le
|
||||
répertoire <filename>distfiles</filename>. Puis-je
|
||||
également les effacer?</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Oui, si vous êtes sûr d'en avoir terminé
|
||||
avec elles, vous pouvez aussi les supprimer. Elles peuvent
|
||||
être effacer manuellement, ou en utilisant <command>make
|
||||
distclean</command>.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>J'aime avoir quantité de logiciels pour les tester.
|
||||
Y-a-t-il un moyen d'installer tous les logiciels portés d'un
|
||||
seul coup?</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Faites juste:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/ports</userinput>
|
||||
&prompt.root; <userinput>make install</userinput></screen>
|
||||
|
||||
<para>Faites attention, car certains logiciels portés
|
||||
peuvent installer des fichiers avec les même noms. Si
|
||||
vous installez deux logiciels graphiques et qu'ils
|
||||
installent tous les deux
|
||||
<filename>/usr/local/bin/plot</filename> alors vous aurez
|
||||
évidemment des ennuis.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>OK, j'ai essayé, mais comme j'ai pensé que cela
|
||||
allait prendre beaucoup de temps j'ai laissé travailler la
|
||||
machine et je suis allé me coucher. Ce matin quand j'ai
|
||||
jeté un coup d'oeil à l'ordinateur, il n'avait
|
||||
installé que
|
||||
trois logiciels et demi. Quelque chose s'est-il mal
|
||||
passé?</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Non, le problème est que certains logiciels portés
|
||||
doivent vous poser des questions auxquelles ils ne peuvent
|
||||
répondre à votre place (e.g., “Voulez-vous
|
||||
imprimer au
|
||||
format A4 ou au format légal US?”) et il faut donc que
|
||||
quelqu'un y réponde sur le moment.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>Je ne veux vraiment pas passer la journée planté
|
||||
devant l'écran. Une meilleure idée?</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>OK, tapez ceci avant d'aller au lit/travail/jardin
|
||||
public:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/ports</userinput>
|
||||
&prompt.root; <userinput>make -DBATCH install</userinput></screen>
|
||||
|
||||
<para>Cela installera tous les logiciels qui ne demandent
|
||||
<emphasis>pas</emphasis> d'intéraction avec l'utilisateur.
|
||||
Ensuite, à votre retour, faites:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/ports</userinput>
|
||||
&prompt.root; <userinput>make -DINTERACTIVE install</userinput></screen>
|
||||
|
||||
<para>pour terminer le travail.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>Au bureau, nous utilisons <literal>frobble</literal>,
|
||||
qui se trouve dans votre catalogue des logiciels portés,
|
||||
mais nous l'avons quelque peu modifié pour nos propres
|
||||
besoins. Y-a-t-il un moyen de générer notre propre
|
||||
version pré-compilées, pour le distribuer plus
|
||||
facilement sur nos sites?</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Pas de problème, en supposant que vous savez comment
|
||||
générer les correctifs pour vos modifications:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd <replaceable>/usr/ports/somewhere/frobble</replaceable></userinput>
|
||||
&prompt.root; <userinput>make extract</userinput>
|
||||
&prompt.root; <userinput>cd work/frobble-2.8</userinput>
|
||||
[Apply your patches]
|
||||
&prompt.root; <userinput>cd ../..</userinput>
|
||||
&prompt.root; <userinput>make package</userinput></screen>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>Ce système de logiciel est vraiment génial. Je
|
||||
désespère de comprendre comment vous avez fait. Quel
|
||||
est le secret?</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Il n'y a absolument aucun secret, jetez juste un coup
|
||||
d'oeil aux fichiers <filename>bsd.port.mk</filename> et
|
||||
<filename>bsd.port.subdir.mk</filename> dans le répertoire
|
||||
<filename>/usr/ports/Mk/</filename>.</para>
|
||||
|
||||
<para>(Cette lecture est déconseillée à ceux
|
||||
que les procédures de commandes compliquées
|
||||
rebutent.)</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
</qandaset>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="ports-broken">
|
||||
<title>A l'aide! Le portage d'un logiciel ne fonctionne
|
||||
pas!</title>
|
||||
<sect1 id="ports-broken">
|
||||
<title>Que faire avec les logiciels portés ne fonctionnant
|
||||
pas?</title>
|
||||
|
||||
<para>Si vous rencontrez un portage qui ne fonctionne pas, il y a
|
||||
certaines choses que vous pouvez faire:</para>
|
||||
|
@ -1905,7 +1453,7 @@ arcade game.</screen>
|
|||
sur <hostid role="fqdn">ftp.FreeBSD.org</hostid> dans le
|
||||
répertoire
|
||||
<ulink
|
||||
URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/">packages</ulink>,
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/">packages</ulink>,
|
||||
mais vérifiez <emphasis>d'abord</emphasis> votre miroir
|
||||
local! Il y a globalement plus de chances que cela marche,
|
||||
que d'essayez de compiler à partir des sources, et cela va
|
||||
|
@ -1914,7 +1462,6 @@ arcade game.</screen>
|
|||
pré-compilé sur votre système.</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
</chapter>
|
||||
|
|
Loading…
Reference in a new issue