Voici la traduction de pkg_basics.sgml

Merci d'avance pour vos relectures.

-- 
Simon Paillard
<!-- Subversion revision of original English document "5004" -->

<chapt id="pkg_basics">Les bases du syst�me de gestion des paquets Debian

<p>Ce chapitre touche aux m�canismes internes de bas niveau du syst�me de
gestion de paquets Debian. Si vous �tre avant tout int�ress�s par
l'<em>utilisation</em> des outils appropri�s, passez au chapitres <ref
id="pkgtools"> et <ref id="uptodate">.


<sect id="package">Qu'est ce qu'un paquet Debian&nbsp;?

<p>Les paquets contiennent g�n�ralement tous les fichiers n�cessaires pour
impl�menter un ensemble de commandes ou de fonctionnalit�s.

<p>Il y a deux sortes de paquets Debian&nbsp;:
<list>
  <item><em>Les paquets binaires</em> contenant les ex�cutables, les fichiers 
  de configuration, les pages de manuel ou d'info, les informations de 
copyright 
  et d'autres documentations. Ces paquets sont distribu�s sous un format 
d'archive 
  sp�cifique � Debian (voir <ref id="deb-format">). Ils sont habituellement 
reconnaissables 
  par l'extension �&nbsp;.deb&nbsp;�. Ils peuvent �tre install�s en utilisant 
l'utilitaire 
  <tt>dpkg</tt> (�ventuellement avec une interface comme <prgn/aptitude/)�;
  vous trouverez plus de d�tails dans les pages de manuel.
  
  <item><em>Les paquets sources</em> sont constitu�s d'un fichier <tt>.dsc</tt> 
d�crivant
  le paquet source (incluant le nom des fichiers suivants), un fichier 
<tt>.orig.tar.gz</tt>
  contenant les sources originales non modifi�s au format tar compress� et 
habituellement un 
  fichier <tt>.diff.gz</tt> contenant les modifications sp�cifiques � Debian 
par rapport au source
  original. L'utilitaire <tt>dpkg-source</tt> permet l'archivage et le 
d�sarchivage des sources 
  Debian&nbsp; vous trouverez plus de d�tails dans les pages de manuel.
  (Le programme <prgn/apt-get/ peut �tre utilis� comme une interface pour 
<tt>dpkg-source</tt>.)
</list>

<p>L'installation de logiciels par le syst�me de paquet utilise les d�pendances 
qui
sont d�finies avec attention par le responsable du paquet. Ces d�pendances sont
document�es dans le fichier <tt>control</tt> associ� � chaque paquet. Par 
exemple,
le paquet du compilateur GNU C (<package/gcc/) d�pend du paquet 
<package/binutils/ qui
contient l'�diteur de lien et l'assembleur. Si un utilisateur essaye 
d'installer <package/gcc/
sans avoir pr�alablement install� <package/binutils/, le syst�me de gestion de 
paquets (dpkg)
renverra un message d'erreur disant qu'il a aussi besoin de <package/binutils/ 
et arr�tera 
l'installation de <package/gcc/. (Cependant ceci peut �tre forc� par un 
utilisateur insistant,
voir <manref name="dpkg" section="8">). Pour plus d'informations, voir <ref 
id="depends"> plus
loin.

<p>Les outils de gestion de paquets Debian peuvent �tre utilis�s pour&nbsp;:
<list>
  <item>manipuler ou administrer les paquets ou une partie des paquets,
  <item>administrer les modifications locales (��overrides��) des fichiers d'un 
paquets,
  <item>aider les d�veloppeurs dans la construction de paquets et
  <item>aider les utilisateurs dans l'installation de paquets r�sidant sur un 
serveur
    FTP distant.
</list>

<sect id="deb-format">Quel est le format d'un paquet binaire Debian&nbsp;?

<p>Un paquet Debian ou un fichier d'archive Debian, contient les fichiers 
ex�cutables, 
les biblioth�ques, et la documentation li�e � une suite particuli�re de 
programme ou � 
un ensemble de programmes. Normalement, un fichier archive Debian a un nom se 
terminant
par <tt>.deb</tt>.

<p>Les m�canismes internes du format des paquets binaires Debian sont d�crits 
dans la page
de manuel de <manref name="deb" section="5">. Ce format interne est susceptible 
de changer
(entre chaque version principale de &debian;), donc utilisez toujours
<manref name="dpkg-deb" section="1"> si vous avez besoin d'effectuer des 
op�rations de
bas niveau sur des fichiers <tt>.deb</tt>.

<sect id="pkgname">Pourquoi les noms des paquets Debian sont-ils si longs&nbsp;?

<p>Le nom des paquets binaires Debian se conforme � la convention 
suivante&nbsp;:
&lt;foo&gt;_&lt;Num�roVersion&gt;-&lt;Num�roR�visionDebian&gt;_&lt;DebianArchitecture&gt;.deb

<p>Notez que <tt>foo</tt> est suppos� �tre le nom du paquet. On peut conna�tre 
le nom
associ� � un fichier d'archive Debian particulier (fichier .deb) d'une de ces 
mani�res&nbsp;:
<list>
  <item>inspecter le fichier �&nbsp;Packages&nbsp;� dans le r�pertoire o� il a 
�t� stock� sur un site 
  FTP d'archive Debian. Ce fichier contient une description pour chaque 
paquet&nbsp;; le premier
  champ de chaque description est le nom formel du paquet.
  <item>utiliser la commande <tt>dpkg --info foo_VVV-RRR_AAA.deb</tt> (o� VVV, 
RRR et AAA sont
  respectivement le num�ro de version, le num�ro de r�vision, et l'architecture 
du paquet en question). Ceci affiche,
  entre autre, le nom du paquet correspondant au fichier archive.
</list>

<p>Le composant <tt>VVV</tt> est le num�ro de version fournit par le 
d�veloppeur amont.
Il n'y a pas de standard ici, donc le num�ro de version peut avoir diff�rents 
formats
comme �&nbsp;19990513&nbsp;� ou �&nbsp;1.3.8pre1&nbsp;�.

<p>Le composant <tt>RRR</tt> est le num�ro de r�vision Debian et il est choisi 
par
le d�veloppeur Debian (ou un utilisateur s'il choisit de construire lui-m�me 
son paquet).
Ce num�ro correspond au niveau de r�vision du paquet Debian, ainsi, une 
nouvelle r�vision
signifie g�n�ralement des modifications du Makefile Debian 
(<tt>debian/rules</tt>), du 
fichier de contr�le Debian <tt>debian/control</tt>), des scripts d'installation 
ou de 
d�sinstallation (<tt>debian/p*</tt>) ou des fichiers de configurations utilis�s 
avec le paquet.

<p>Le composant <tt>AAA</tt> identifie le processeur pour lequel le paquet a 
�t� construit.
Il s'agit g�n�ralement de <tt>i386</tt>, pour les processeurs compatibles avec
l'Intel�386 et ult�rieurs.
La structure de l'archive Debian <ref id="dirtree"> montre les autres 
possibilit�s.
Pour plus de d�tails, consultez la description de ��l'architecture Debian��
dans la page de manuel <manref name="dpkg-architecture" section="1">.


<sect id="controlfile">Qu'est ce qu'un fichier de contr�le&nbsp;?

<p>Des d�tails concernant le contenu du fichier <tt>control</tt> Debian sont 
fournis dans la charte Debian,
au chapitre cinq, voir <ref id="debiandocs">.

<p>Bri�vement, un fichier <tt>control</tt> est montr� ci-dessous pour le paquet 
Debian hello&nbsp;:

<example>
Package: hello
Priority: optional
Section: devel
Installed-Size: 45
Maintainer: Adam Heath &lt;[EMAIL PROTECTED]&gt;
Architecture: i386
Version: 1.3-16
Depends: libc6 (>= 2.1)
Description: Le classique et bon exemple
 Le programme bonjour de GNU produit une salutation famili�re et amicale. Il
<!-- XXX below 'non-programmers' were better, but this is a verbatim copy -->
 permet � des non-programmeurs d'utiliser un outil classique d'informatique 
 qui leur serait autrement indisponible.
 .
 S�rieusement:  c'est un exemple sur comment faire un paquet Debian. 
 C'est la version Debian du programme du projet GNU �&nbsp;bonjour 
 le monde&nbsp;� (qui est lui-m�me un exemple pour le projet de GNU).
</example>

<p>Le champ �&nbsp;Package&nbsp;� contient le nom du paquet. C'est le nom 
par lequel les outils de gestion de paquet peuvent le manipuler. Il est 
habituellement similaire mais pas n�cessairement le m�me � la premi�re cha�ne
composant le nom de l'archive Debian.

<p>Le champ de �&nbsp;Version&nbsp;� donne le num�ro de version du d�veloppeur 
amont 
et (dans le dernier composant) le niveau de r�vision du paquet de Debian de ce 
programme
comme expliqu� dans <ref id="pkgname">. <!-- XXX missing name -->

<p>Le champ �&nbsp;Architecture&nbsp;� indique pour quel processeur ce binaire 
particulier a �t� compil�.

<p>Le champ �&nbsp;Depends&nbsp;� donne une liste des paquets qui doivent �tre 
install�s afin d'installer ce paquet avec succ�s.

<p>Le champ �&nbsp;Installed-Size&nbsp;� indique l'espace disque utilis� par le 
paquet 
une fois install�. Ceci est pr�vu pour �tre employ� par les programmes 
d'installation pour 
v�rifier s'il y a suffisamment d'espace disque disponible pour installer le 
programme.

<p>La ligne �&nbsp;Section&nbsp;� indique la section o� le paquet Debian est 
conserv� sur
les sites FTP de Debian.

<p>Le champ �&nbsp;Priority&nbsp;� indique l'importance d'un paquet pour 
l'installation, 
de sorte que des logiciels semi-intelligents comme dselect ou aptitude peuvent 
trier 
les paquets dans une cat�gorie par exemple les paquets install�s 
facultativement.
Voir <ref id="priority">.

<p>Le champ �&nbsp;Maintener&nbsp;� contient l'adresse �lectronique de la 
personne
actuellement responsable de la maintenance du paquet.

<p>Le champ �&nbsp;Description&nbsp;� fournit un bref r�sum� des fonctionnalit�s
du paquet.

<p>Pour plus d'informations sur les champs disponibles dans un paquet, 
reportez-vous
au chapitre 5 de la charte Debian, �&nbsp;Fichiers control et leurs champs 
&nbsp;�.

<sect id="conffile">Qu'est ce qu'un Debian conffile&nbsp;? 

<p>Conffiles est une liste de fichiers de configuration (habituellement plac�s 
dans <tt>/etc</tt>)
que le syst�me de gestion de paquet n'�crasera pas quand le paquet est mis � 
jour.
Ceci s'assure que les valeurs locales pour ces fichiers seront pr�serv�es, et 
c'est un 
dispositif critique permettant la mise � niveau des paquets sur un syst�me en 
fonctionnement.

<p>Pour d�terminer exactement quels fichiers sont pr�serv�s pendant la mise � 
jour, lancez&nbsp;:
<example>dpkg --status package</example> 
et regardez la section �&nbsp;Conffiles:&nbsp;�.

<sect id="maintscripts">Qu'est-ce qu'un script Debian preinst, postinst, prerm, 
et postrm&nbsp;?

<p>Ces fichiers sont des scripts ex�cutables qui sont lanc�s automatiquement 
avant
ou apr�s l'installation d'un paquet. Avec le fichier appel� <tt>control</tt>, 
tous
ces fichiers font partie de la section commande d'une archive Debian.

<p>Les fichiers individuels sont&nbsp;:
<taglist>
<tag/preinst/
  <item>Ce script est ex�cut� avant que le paquet soit d�sarchiv� du fichier 
archive (.deb).
  Beaucoup de scripts �&nbsp;preinst&nbsp;� arr�tent les services des paquets
  qui sont mis � jour jusqu'� ce que leurs installations ou leurs mises � jour
  soient termin�es (suivant le succ�s de l'ex�cution du script 
�&nbsp;postinst&nbsp;�).

<tag/postinst/
  <item>Ce script termine typiquement n'importe quelle configuration exig�e du 
paquet <tt>foo</tt> une 
  fois que <tt>foo</tt> a �t� d�sarchiv� � partir du fichier d'archive Debian 
(�&nbsp;deb&nbsp;�). 
  Souvent le script �&nbsp;postinst&nbsp;� demande � l'utilisateur des 
informations 
  et avertit l'utilisateur que s'il accepte les valeurs par d�faut, il devrait 
se souvenir 
  de revenir en arri�re et de reconfigurer le paquet lorsque la situation le 
demandera.
  Beaucoup de scripts �&nbsp;postinst&nbsp;� ex�cutent toutes les commandes 
n�cessaires
  au d�marrage ou au red�marrage d'un service une fois qu'un nouveau paquet a 
�t� 
  install� ou mis � jour.
<tag/prerm/
  <item>Ce script arr�te g�n�ralement tous les d�mons qui sont associ�s avec le 
paquet.
  Il est ex�cut� avant la suppression des fichiers associ�s au paquet.
  
<tag/postrm/
  <item>Ce script modifie g�n�ralement les liens ou les autres fichiers 
associ�s avec
  <tt>foo</tt> et/ou supprime les fichiers cr��s par le paquet (Voir aussi
  <ref id="virtual">.)
</taglist>

<p>Actuellement tous les fichiers de commande peuvent �tre trouv�s dans le 
r�pertoire
<tt>/var/lib/dpkg/info</tt>. Les fichiers concernant le paquet <tt>foo</tt> 
commencent 
par le nom "foo" et sont suivis par les extensions "preinst",  "postinst" etc. 
Le fichier 
<tt>foo.list</tt> dans ce r�pertoire liste tous les fichiers install�s par le 
paquet <tt>foo</tt>.
(Notez que l'emplacement de ces fichiers est interne � dpkg&nbsp;; vous ne 
devriez pas compter 
sur eux).

<sect id="priority">Qu'est ce qu'un paquet <em/Essential/, <em/Required/, 
<em/Important/, <em/Standard/,
  <em/Optional/ ou <em/Extra/&nbsp;?

<p>� chaque paquet Debian est assign�e une priorit� par les d�veloppeurs de la 
distribution, 
c'est une aide pour le syst�me de gestion de paquet. Les priorit�s sont&nbsp;:

<list>
  <item>N�cessaire (<strong>Required</strong>)&nbsp;: paquets n�cessaire pour 
le fonctionnement 
    correct du syst�me.
    <p>Ceci inclut tous les outils n�cessaires pour la r�paration d'un syst�me 
d�fectueux.
    Vous ne devez pas supprimer ces paquets ou votre syst�me risque de devenir 
    compl�tement instable et vous ne pourrez probablement pas utiliser dpkg 
pour corriger cela.
    Avec seulement les paquets n�cessaires, le syst�me sera probablement 
inutilisable mais
    il aura suffisamment de fonctionnalit�s pour permettre de d�marrer et 
d'installer plus 
    de logiciels.
  <item><strong>Important</strong>&nbsp;: paquets devant �tre pr�sents sur tous 
syst�mes de type Unix
    <p>Les autres paquets sans lesquels le syst�me ne fonctionnera pas 
correctement ou ne sera pas 
        utilisable ont cette priorit�. Ceci n'inclut <em>PAS</em> Emacs, X, TeX 
ou aucune autre
        grosse application. Ces paquets constituent seulement l'infrastructure 
de base.
  <item><strong>Standard</strong>&nbsp;: paquets pr�sents sur n'importe quel 
syst�me Linux, 
    y compris un syst�me raisonnablement petit mais pas limit� � un syst�me en  
mode console.
    Des outils sont disponibles pour naviguer sur Internet (en utilisant w3m),
    envoyer des courriels (avec mutt) et t�l�charger des fichiers depuis des
    serveurs FTP.
    <p> C'est ce qui sera install� par d�faut si les utilisateurs ne 
s�lectionnent 
    rien. Cela n'inclut pas les grosses applications, mais int�gre
    l'interpr�teur Python et certains serveurs comme OpenSSH (pour
    l'administration � distance), Exim (pour la livraison des courriels, m�me
    s'il peut �tre configur� en mode local uniquement), un serveur identd
    (pidentd) et le portmapper RPC (<tt>portmap</tt>). Sont �galement int�gr�es
    certaines documentations g�n�rales consid�r�es utiles par la plupart des
    utilisateurs.
  <item>Optionnel (<strong>Optional</strong>)&nbsp;: paquets incluant tous ce 
que vous
    pourriez raisonnablement vouloir installer si vous ne savez pas ce que 
c'est 
    ou si vous n'avez pas pr�cis� de condition.
    <p>Ceci inclut X, une distribution TeX compl�te et beaucoup d'applications.
  <item><strong>Extra</strong>&nbsp;: paquets qui entrent en conflit avec 
d'autres ayant 
    des priorit�s plus �lev�es ou ayant des conditions particuli�res qui les 
rendent peu
    convenables pour �tre optionnels. Ils sont utiles seulement si vous savez 
d�j� ce qu'ils font.
</list>

<p>Si vous faites une installation Debian par d�faut tous les paquets ayant une 
priorit� 
<strong>standard</strong> ou sup�rieur seront install�s sur votre syst�me. Si 
vous 
choisissez des t�ches pr�d�finies, vous obtiendrez aussi les paquets de 
priorit� plus faible.

<p>De plus, certain paquets sont marqu�s comme essentiel 
(<strong>Essential</strong>)
puisqu'ils sont absolument n�cessaire pour un fonctionnement correct du 
syst�me. Les outils
de gestion de paquets refuseront de les supprimer.

<sect id="virtual">Qu'est-ce qu'un paquet virtuel&nbsp;?

<p>Un paquet virtuel est un nom g�n�rique qui s'applique � n'importe quel 
groupe de paquets fournissant une fonctionnalit� de base semblable. 
Par exemple, les programmes <tt>tin</tt> et <tt>trn</tt> sont des programmes 
de lecture de nouvelles Usenet et devraient donc satisfaire n'importe quelle 
d�pendance d'un programme exigeant la pr�sence d'un programme de lecture de 
nouvelles  sur le  syst�me, afin de fonctionner ou pour �tre utiles. Les deux
sont donc capables de fournir le paquet virtuel appel� <tt>news-reader</tt>.

<p>De la m�me fa�on, <tt>smail</tt> et <tt>sendmail</tt> fournissent tous les 
deux
les fonctionnalit�s d'un agent de transport de courrier �lectronique. Les deux
sont donc capables de fournir le paquet virtuel <tt>mail-transport-agent</tt>.
Si l'un ou l'autre est install�, alors n'importe quel programme exigeant 
l'installation 
d'un agent de transport de courrier �lectronique sera satisfait par l'existence 
de ce
paquet virtuel.

<p>Debian fournit un m�canisme de sorte que, si plus d'un paquet fournissant 
le m�me paquet virtuel est install� sur le syst�me, alors les administrateurs 
peuvent choisir leur paquet pr�f�r�. La commande appropri�e est
<tt>update-alternatives</tt>, et est d�crite plus loin dans <ref id="diverse">.

<sect id="depends">Que signifie qu'un paquet d�pend (<em/Depends/), recommande 
(<em/Recommends/), 
  sugg�re (<em/Suggests/), est en conflit (<em/Conflicts/), remplace 
(<em/Replaces/)
  ou fournit (<em/Provides/) un autre paquet&nbsp;?

<p>Le syst�me de paquet Debian a une gamme de �&nbsp;d�pendances&nbsp;� sur les 
paquets
qui permet d'indiquer (avec un simple drapeau) � quel niveau un programme A 
peut 
fonctionner ind�pendamment de l'existence du programme B sur un syst�me 
donn�&nbsp;:

<list>
  <item>Le paquet A <em>d�pend</em> du paquet B si B doit absolument �tre 
install�
    pour pouvoir ex�cuter A. Dans certain cas, A d�pend non seulement de B mais
    d'une version de B. Dans ce cas, la d�pendance de version est une limite 
basse,
    dans le sens que A d�pend de toutes versions plus r�centes que celle 
sp�cifi�.
    <item>Le paquet A <em>recommande</em> le paquet B si le responsable du 
paquet pense que
    la plupart des utilisateurs ne voudraient pas A sans avoir �galement la 
fonctionnalit� fournie 
    par B.
  <item>Le paquet A <em>sugg�re</em> le paquet B si B contient des fichiers qui 
sont li�s aux 
    (et augmentent habituellement) fonctionnalit�s de A.
  <item>Le paquet A est en <em>conflit</em> avec le paquet B quand A ne peut 
pas 
    fonctionner si B est install� sur le syst�me. Le plus souvent les conflits
    sont des cas o� A contient des fichiers qui sont une am�lioration de ceux 
de B.
    Le conflit est souvent combin� avec le remplacement.
  <item>Le paquet A <em>remplace</em> le paquet B quand les fichiers install�s 
par
    B sont supprim�s et (dans certains cas) �cras�s par les fichiers de A.
  <item>Le paquet A <em>fournit</em> le paquet B quand tous les fichiers et 
toutes les fonctionnalit�s
    de B sont incorpor�s dans A.  Ce m�canisme fournit aux utilisateurs ayant 
une contrainte d'espace 
    disque un moyen d'obtenir seulement la partie du paquet dont ils ont 
vraiment besoin.
</list>

<p>Une information plus d�taill�e sur l'utilisation de chacun de ces termes 
peut �tre
trouv�e dans la charte Debian.

<sect id="pre-depends">Quel est le sens de �&nbsp;Pre-Depends&nbsp;�&nbsp;?

<p>�&nbsp;Pre-Depends&nbsp;� est une d�pendance particuil�re. Dans le cas de la 
plupart
des paquets, <tt>dpkg</tt> d�sarchivera les fichiers archives (c.-�-d. les 
fichiers 
<tt>.deb</tt>) ind�pendamment de l'existance sur le syst�me des fichiers dont 
il d�pend.
De mani�re simpliste, le d�sarchivage signifie que <tt>dpkg</tt> extraira
les fichiers � partir du fichier archive qui sont cens�s �tre install�s sur 
votre syst�me de fichiers, et les mettra en place. 
Si ces paquets d�pendent de l'existence de quelques autres paquets sur votre 
syst�me, 
<tt>dpkg</tt> refusera d'accomplir l'installation (par l'ex�cution de l'action 
de
configuration) jusqu'� ce que les autres paquets soient install�s.

<p>Cependant, pour certain paquets, <tt>dpkg</tt> refusera de les d�sarchiver
jusqu'� ce que certaines d�pendances soient r�solues. De tels paquets sont dits 
�&nbsp;Pr�-d�pendant&nbsp;� de la pr�sence de quelques autres paquets. Le 
projet 
Debian fournissait ce m�canisme pour g�rer la mise � jour de syst�me utilisant 
le 
format <tt>a.out</tt> vers le format <tt>ELF</tt>, o� l'ordre de d�sarchivage 
�tait critique.
Il y a d'autre situations de mise � jour o� cette m�thode est utile, par exemple
pour les paquets ayant une priorit� �&nbsp;required&nbsp;� et des d�pendances 
sur la libc.

<p>Comme ci-dessus, une information plus d�taill�e sur l'utilisation de ce terme
peut �tre trouv�e dans la charte Debian.

<sect id="pkgstatus">Quelle est la signification de <em/unknown/, <em/install/, 
<em/remove/,
  <em/purge/ et <em/hold/ dans le statut du paquet&nbsp;?

<p>Ces drapeaux indiquent ce que souhaite faire l'utilisateur avec un paquet
(ils sont positionn�s par les actions de l'utilisateur dans la section 
�&nbsp;Section&nbsp;� 
de <tt>dselect</tt> ou par des appels directs de <tt>dpkg</tt> par 
l'utilisateur). 

<p>Leurs significations sont&nbsp;:
<list>
  <item>unknown  - L'utilisateur n'a jamais indiqu� s'il souhaitait le paquet.
  <item>install  - L'utilisateur souhaite installer ou mettre � jour le paquet. 
  <item>remove   - L'utilisateur souhaite supprimer le paquet, mais ne d�sire 
pas
  effacer les fichiers de configuration existants.
  <item>purge    - L'utilisateur souhaite supprimer le paquet compl�tement, 
incluant 
  ses fichiers de configuration.
  <item>hold     - L'utilisateur ne souhaite pas traiter le paquet, c.-�-d. 
qu'il veut conserver
  la version courante avec l'�tat actuel de celui-ci.
</list>

<sect id="puttingonhold">Comment est-ce que je mets un paquet en 
�&nbsp;hold&nbsp;�&nbsp;?

<p>Il y a trois moyens de bloquer un paquet, avec dpkg, aptitude ou dselect.

<p>Avec dpkg, vous devez exporter la liste de s�lection des paquets, 
avec la commande&nbsp;:
  <example>dpkg --get-selections \* > selections.txt</example>
puis �diter le fichier <file/selections.txt/, changer la ligne contenant
le paquet que vous souhaitez conserver, par exemple pour <package/libc6/, de 
ceci&nbsp;:
  <example>libc6                                           install</example>
� ceci&nbsp;:
  <example>libc6                                           hold</example>
sauvegarder le fichier et le recharger dans la base de donn�es de dpkg 
avec&nbsp;:
  <example>dpkg --set-selections < selections.txt</example>

<p>Avec aptitude, vous pouvez conserver un paquet en faisant
  <example>aptitude hold package_name</example>
   et enlever le drapeau �&nbsp;hold&nbsp;� avec
  <example>aptitude unhold package_name</example>

<p>Avec dselect, vous devez entrer dans l'�cran [S]elect, trouver le paquet que 
vous souhaitez conserver dans l'�tat actuel, et appuyer sur la touche '=' (ou 
sur 'H').
Les changements seront pris en compte � la sortie de l'�cran [S]elect.

<sect id="sourcepkgs">Comment est-ce que j'installe un paquet source&nbsp;?

<p>Les paquets sources Debian ne peuvent pas �tre v�ritablement install�s, ils 
sont
seulement d�paquet�s dans n'importe quel r�pertoire o� vous voulez en 
construire les
paquets binaires.

<p>Les paquets sources sont distribu�s sur la plupart des serveurs o� vous 
pouvez
obtenir les paquets binaires.
Si vous configurez votre fichier <manref name="sources.list" section="5"> pour 
APT
en ajoutant la ligne �&nbsp;deb-src&nbsp;� appropri�e, vous pourrez facilement 
t�l�charger 
toutes les sources des paquets en lan�ant la commande

  <example>apt-get source foo</example>

<p>Pour vous aider r�ellement � la construction du paquet de source, Debian 
fournit 
un m�canisme pour les d�pendances de construction. Ceci signifie que le 
responsable du 
paquet tient une liste des autres paquets n�cessaires � la construction du 
paquet. 
Pour voir comment cela fonctione, ex�cutez 
  <example>apt-get build-dep foo</example>

avant de construire les sources.

<sect id="sourcebuild">Comment est-ce que je peux construire les paquets 
binaires depuis 
les paquets sources&nbsp;? 

<p>La m�thode recommand�e est d'utiliser les diff�rents outils de haut-niveau
(��wrappers��). Voici comment faire en utilisant les outils
<tt>devscripts</tt>. Installez le paquet si cela n'est pas d�j� fait.

<p>Maintenant, commencez par r�cup�rer le paquet source�:
 <example>apt-get source foo</example>

puis entrez dans l'arborescence source�:

 <example>cd foo-*</example>

Puis installez les d�pendances de construction n�cessaires (s'il y en a)�:

 <example>sudo apt-get build-dep foo</example>

Puis cr�ez une version particuli�re de votre propre construction (afin de ne 
pas les confondre plus tard lorsque Debian publiera sa propre nouvelle 
version)�:

 <example>dch -l local 'Blah blah blah'</example>

Et enfin construisez votre paquet�:

 <example>debuild -us -uc</example>

Si tout a correctement fonctionn�, vous deviez pouvoir installer votre paquet 
avec la commande�:

 <example>sudo dpkg -i ../*.deb</example>

<p>Si vous pr�f�rez effectuer les op�rations vous-m�me, et ne voulez pas 
utiliser
<tt>devscripts</tt>, suivez cette proc�dure�:</p>

<p>Vous aurez besoin de tous les fichiers foo_*.dsc, foo_*.tar.gz et 
foo_*.diff.gz pour
compiler les sources (remarquez que pour certain paquets il n'y a pas de 
fichier .diff.gz,
ce sont les paquets natifs � Debian).

<p>Une fois que vous les avez r�cup�r�s (voir <ref id="sourcepkgs">), si vous 
avez le paquet
<package/dpkg-dev/ install�, la commande suivante&nbsp;:
  <example>dpkg-source -x foo_version-revision.dsc</example>
 d�sarchivera le paquet dans un r�pertoire nomm� <tt>foo-version</tt>.

<p>Si vous souhaitez juste compiler le paquet, vous devez vous placer dans le 
r�pertoire 
<tt>foo-version</tt>  et lancer la commande
  <example>dpkg-buildpackage -rfakeroot -b</example>
pour construire le paquet (notez que la paquet <package/fakeroot/ est 
aussi n�cessaire) et faites
  <example>dpkg -i ../foo_version-revision_arch.deb</example>
pour installer le nouveau paquet.

<sect id="creatingdebs">Comment est-ce que je cr�e un paquet Debian&nbsp;?

<p>Pour une description plus d�taill�e, lisez le �&nbsp;guide des nouveaux 
responsables 
Debian&nbsp;� disponible dans le paquet <package/maint-guide/ ou � l'adresse 
<url id="http://www.debian.org/doc/devel-manuals#maint-guide";>.
Index: pkg_basics.sgml
===================================================================
--- pkg_basics.sgml	(revision 5165)
+++ pkg_basics.sgml	(copie de travail)
@@ -1,8 +1,13 @@
-<!-- Subversion revision of original English document "3669" -->
+<!-- Subversion revision of original English document "5004" -->
 
 <chapt id="pkg_basics">Les bases du système de gestion des paquets Debian
 
+<p>Ce chapitre touche aux mécanismes internes de bas niveau du système de
+gestion de paquets Debian. Si vous être avant tout intéressés par
+l'<em>utilisation</em> des outils appropriés, passez au chapitres <ref
+id="pkgtools"> et <ref id="uptodate">.
 
+
 <sect id="package">Qu'est ce qu'un paquet Debian&nbsp;?
 
 <p>Les paquets contiennent généralement tous les fichiers nécessaires pour
@@ -15,7 +20,8 @@
   et d'autres documentations. Ces paquets sont distribués sous un format d'archive 
   spécifique à Debian (voir <ref id="deb-format">). Ils sont habituellement reconnaissables 
   par l'extension «&nbsp;.deb&nbsp;». Ils peuvent être installés en utilisant l'utilitaire 
-  <tt>dpkg</tt>&nbsp; vous trouverez plus de détails dans les pages de manuel.
+  <tt>dpkg</tt> (éventuellement avec une interface comme <prgn/aptitude/) ;
+  vous trouverez plus de détails dans les pages de manuel.
   
   <item><em>Les paquets sources</em> sont constitués d'un fichier <tt>.dsc</tt> décrivant
   le paquet source (incluant le nom des fichiers suivants), un fichier <tt>.orig.tar.gz</tt>
@@ -23,6 +29,7 @@
   fichier <tt>.diff.gz</tt> contenant les modifications spécifiques à Debian par rapport au source
   original. L'utilitaire <tt>dpkg-source</tt> permet l'archivage et le désarchivage des sources 
   Debian&nbsp; vous trouverez plus de détails dans les pages de manuel.
+  (Le programme <prgn/apt-get/ peut être utilisé comme une interface pour <tt>dpkg-source</tt>.)
 </list>
 
 <p>L'installation de logiciels par le système de paquet utilise les dépendances qui
@@ -39,8 +46,7 @@
 <p>Les outils de gestion de paquets Debian peuvent être utilisés pour&nbsp;:
 <list>
   <item>manipuler ou administrer les paquets ou une partie des paquets,
-  <item>aider les utilisateurs dans le découpage de paquets qui doivent être transmis sur
-    des médium de taille limitée comme les disquettes,
+  <item>administrer les modifications locales (« overrides ») des fichiers d'un paquets,
   <item>aider les développeurs dans la construction de paquets et
   <item>aider les utilisateurs dans l'installation de paquets résidant sur un serveur
     FTP distant.
@@ -53,15 +59,16 @@
 un ensemble de programmes. Normalement, un fichier archive Debian a un nom se terminant
 par <tt>.deb</tt>.
 
-<p>Les mécanismes internes du format des paquets binaires Debian est décrit dans la page
+<p>Les mécanismes internes du format des paquets binaires Debian sont décrits dans la page
 de manuel de <manref name="deb" section="5">. Ce format interne est susceptible de changer
-(entre chaque version principale de &debian;), donc utilisez toujours <manref name="dpkg-deb" section="1">
-pour manipuler les fichiers <tt>.deb</tt>.
+(entre chaque version principale de &debian;), donc utilisez toujours
+<manref name="dpkg-deb" section="1"> si vous avez besoin d'effectuer des opérations de
+bas niveau sur des fichiers <tt>.deb</tt>.
 
 <sect id="pkgname">Pourquoi les noms des paquets Debian sont-ils si longs&nbsp;?
 
 <p>Le nom des paquets binaires Debian se conforme à la convention suivante&nbsp;:
-&lt;foo&gt;_&lt;NuméroVersion&gt;-&lt;NuméroRévisionDebian&gt;.deb
+&lt;foo&gt;_&lt;NuméroVersion&gt;-&lt;NuméroRévisionDebian&gt;_&lt;DebianArchitecture&gt;.deb
 
 <p>Notez que <tt>foo</tt> est supposé être le nom du paquet. On peut connaître le nom
 associé à un fichier d'archive Debian particulier (fichier .deb) d'une de ces manières&nbsp;:
@@ -69,8 +76,8 @@
   <item>inspecter le fichier «&nbsp;Packages&nbsp;» dans le répertoire où il a été stocké sur un site 
   FTP d'archive Debian. Ce fichier contient une description pour chaque paquet&nbsp;; le premier
   champ de chaque description est le nom formel du paquet.
-  <item>utiliser la commande <tt>dpkg --info foo_VVV-RRR.deb</tt> (où VVV et RRR sont
-  respectivement le numéro de version et de révision du paquet en question). Ceci affiche,
+  <item>utiliser la commande <tt>dpkg --info foo_VVV-RRR_AAA.deb</tt> (où VVV, RRR et AAA sont
+  respectivement le numéro de version, le numéro de révision, et l'architecture du paquet en question). Ceci affiche,
   entre autre, le nom du paquet correspondant au fichier archive.
 </list>
 
@@ -85,13 +92,13 @@
 fichier de contrôle Debian <tt>debian/control</tt>), des scripts d'installation ou de 
 désinstallation (<tt>debian/p*</tt>) ou des fichiers de configurations utilisés avec le paquet.
 
+<p>Le composant <tt>AAA</tt> identifie le processeur pour lequel le paquet a été construit.
+Il s'agit généralement de <tt>i386</tt>, pour les processeurs compatibles avec
+l'Intel 386 et ultérieurs.
+La structure de l'archive Debian <ref id="dirtree"> montre les autres possibilités.
+Pour plus de détails, consultez la description de « l'architecture Debian »
+dans la page de manuel <manref name="dpkg-architecture" section="1">.
 
-<!--
-<p>The <tt>Arch</tt> component identifies the processor for which
-the package was built.  This is commonly <tt>i386</tt>, which refers to
-chips compatible to Intel's 386 or later versions.  For other
-possibilities see <ref id="dirtree" name="Debian's FTP directory structure">.
--->
 
 <sect id="controlfile">Qu'est ce qu'un fichier de contrôle&nbsp;?
 
@@ -140,11 +147,10 @@
 vérifier s'il y a suffisamment d'espace disque disponible pour installer le programme.
 
 <p>La ligne «&nbsp;Section&nbsp;» indique la section où le paquet Debian est conservé sur
-les sites FTP de Debian. C'est le nom d'un sous-répertoire (dans l'un des répertoires
-principaux, voir <ref id="dirtree">) où le paquet est conservé.
+les sites FTP de Debian.
 
 <p>Le champ «&nbsp;Priority&nbsp;» indique l'importance d'un paquet pour l'installation, 
-de sorte que des logiciels semi-intelligents comme dselect ou console-apt peuvent trier 
+de sorte que des logiciels semi-intelligents comme dselect ou aptitude peuvent trier 
 les paquets dans une catégorie par exemple les paquets installés facultativement.
 Voir <ref id="priority">.
 
@@ -208,7 +214,7 @@
 (Notez que l'emplacement de ces fichiers est interne à dpkg&nbsp;; vous ne devriez pas compter 
 sur eux).
 
-<sect id="priority">Qu'est ce qu'un paquet <em/Essential/ <em/Required/, <em/Important/, <em/Standard/,
+<sect id="priority">Qu'est ce qu'un paquet <em/Essential/, <em/Required/, <em/Important/, <em/Standard/,
   <em/Optional/ ou <em/Extra/&nbsp;?
 
 <p>À chaque paquet Debian est assignée une priorité par les développeurs de la distribution, 
@@ -225,21 +231,25 @@
     de logiciels.
   <item><strong>Important</strong>&nbsp;: paquets devant être présents sur tous systèmes de type Unix
     <p>Les autres paquets sans lesquels le système ne fonctionnera pas correctement ou ne sera pas 
-	utilisable ont cette priorité. Ceci n'inclut <em>PAS</em> Emacs, X11, TeX ou aucune autre
+	utilisable ont cette priorité. Ceci n'inclut <em>PAS</em> Emacs, X, TeX ou aucune autre
 	grosse application. Ces paquets constituent seulement l'infrastructure de base.
-<!-- JFS: Review for etch, since some development packages might be removed
-     in the near future #301138 -->
   <item><strong>Standard</strong>&nbsp;: paquets présents sur n'importe quel système Linux, 
     y compris un système raisonnablement petit mais pas limité à un système en  mode console.
+    Des outils sont disponibles pour naviguer sur Internet (en utilisant w3m),
+    envoyer des courriels (avec mutt) et télécharger des fichiers depuis des
+    serveurs FTP.
     <p> C'est ce qui sera installé par défaut si les utilisateurs ne sélectionnent 
-    rien. Cela n'inclut pas les grosses applications, mais intègre certains logiciels
-    de développement comme les compilateurs GNU C et C++ (<tt>gcc</tt>, <tt>g++</tt>),
-    GNU make, ainsi que l'interpréteur Python et certains serveurs comme OpenSSH, 
-    le démon d'impression BSD (<tt>lpr</tt>) et le portmapper RPC (<tt>portmap</tt>).
+    rien. Cela n'inclut pas les grosses applications, mais intègre
+    l'interpréteur Python et certains serveurs comme OpenSSH (pour
+    l'administration à distance), Exim (pour la livraison des courriels, même
+    s'il peut être configuré en mode local uniquement), un serveur identd
+    (pidentd) et le portmapper RPC (<tt>portmap</tt>). Sont également intégrées
+    certaines documentations générales considérées utiles par la plupart des
+    utilisateurs.
   <item>Optionnel (<strong>Optional</strong>)&nbsp;: paquets incluant tous ce que vous
     pourriez raisonnablement vouloir installer si vous ne savez pas ce que c'est 
     ou si vous n'avez pas précisé de condition.
-    <p>Ceci inclut X11, une distribution TeX complète et beaucoup d'applications.
+    <p>Ceci inclut X, une distribution TeX complète et beaucoup d'applications.
   <item><strong>Extra</strong>&nbsp;: paquets qui entrent en conflit avec d'autres ayant 
     des priorités plus élevées ou ayant des conditions particulières qui les rendent peu
     convenables pour être optionnels. Ils sont utiles seulement si vous savez déjà ce qu'ils font.
@@ -330,7 +340,7 @@
 <p>Comme ci-dessus, une information plus détaillée sur l'utilisation de ce terme
 peut être trouvée dans la charte Debian.
 
-<sect id="pkgstatus">Quelle est la signification de <em/unknown/, <em/install/, <em/remove/
+<sect id="pkgstatus">Quelle est la signification de <em/unknown/, <em/install/, <em/remove/,
   <em/purge/ et <em/hold/ dans le statut du paquet&nbsp;?
 
 <p>Ces drapeaux indiquent ce que souhaite faire l'utilisateur avec un paquet
@@ -353,7 +363,7 @@
 
 <p>Il y a trois moyens de bloquer un paquet, avec dpkg, aptitude ou dselect.
 
-<p>Avec dpkg, vous devez seulement exporter la liste de sélection des paquets, 
+<p>Avec dpkg, vous devez exporter la liste de sélection des paquets, 
 avec la commande&nbsp;:
   <example>dpkg --get-selections \* > selections.txt</example>
 puis éditer le fichier <file/selections.txt/, changer la ligne contenant
@@ -396,8 +406,38 @@
 avant de construire les sources.
 
 <sect id="sourcebuild">Comment est-ce que je peux construire les paquets binaires depuis 
-	les paquets sources&nbsp;? 
+les paquets sources&nbsp;? 
 
+<p>La méthode recommandée est d'utiliser les différents outils de haut-niveau
+(« wrappers »). Voici comment faire en utilisant les outils
+<tt>devscripts</tt>. Installez le paquet si cela n'est pas déjà fait.
+
+<p>Maintenant, commencez par récupérer le paquet source :
+ <example>apt-get source foo</example>
+
+puis entrez dans l'arborescence source :
+
+ <example>cd foo-*</example>
+
+Puis installez les dépendances de construction nécessaires (s'il y en a) :
+
+ <example>sudo apt-get build-dep foo</example>
+
+Puis créez une version particulière de votre propre construction (afin de ne pas les confondre plus tard lorsque Debian publiera sa propre nouvelle version) :
+
+ <example>dch -l local 'Blah blah blah'</example>
+
+Et enfin construisez votre paquet :
+
+ <example>debuild -us -uc</example>
+
+Si tout a correctement fonctionné, vous deviez pouvoir installer votre paquet avec la commande :
+
+ <example>sudo dpkg -i ../*.deb</example>
+
+<p>Si vous préférez effectuer les opérations vous-même, et ne voulez pas utiliser
+<tt>devscripts</tt>, suivez cette procédure :</p>
+
 <p>Vous aurez besoin de tous les fichiers foo_*.dsc, foo_*.tar.gz et foo_*.diff.gz pour
 compiler les sources (remarquez que pour certain paquets il n'y a pas de fichier .diff.gz,
 ce sont les paquets natifs à Debian).

Reply via email to