Difference between pages "Test" and "Install/fr/Portage"

(Difference between pages)
 
(Introduction à Portage)
 
Line 1: Line 1:
== Testing error on Show ==
+
=== Introduction à Portage ===
  
* {{#show:User:JanZhou|?full name}}
+
Le système Portage assume la gestion des paquets. Sa principale commande se nomme <code>emerge</code>.  Elle remplit plusieurs fonctions dont la construction et l'installation des paquets à partir de sa source. Ce faisant, elle s'assure de l'installation de toutes les dépendances d'un paquet. Pour installer un paquet, vous lancez la commande ainsi:
* {{#show:User:Drobbins|?full name}}
+
  
 +
<console>
 +
(chroot) # ##i##emerge packagename
 +
</console>
  
Adding some text
+
Quand vous installez un paquet en spécifiant son nom sur la ligne de commande, Portage l'enregistre dans le fichier <code>/var/lib/portage/world</code>.  En agissant ainsi, vous vous assurez que le paquet fait partie de votre système et qu'il sera mis à jour subséquemment. Tous les paquets se trouvant dans l'ensemble <code>world</code> seront mis à jour le cas échéant quand vous mettez à jour tout le système:
  
== Testing External Data ==
+
<console>
 +
(chroot) # ##i##emerge --sync
 +
(chroot) # ##i##emerge -auDN @world
 +
</console>
  
 +
Ceci constitue la façon «officielle» de mettre à jour Funtoo Linux. Ci-haut, nous avons mis l'arbre Portage local à jour en le synchronisant avec celui du miroir et nous lançons ensuite la commande <code>emerge</code> afin qu'elle accomplisse la mise à jour des paquets de l'ensemble <code>world</code>. Les options demandent à <code>emerge</code> de:
  
{{#get_web_data:url=http://auth.funtoo.org:9093/static/members.xml|format=xml|use xpath|data=ircnick=/members/user/ircnick,fullname=/members/user/fullname}}
+
* '''<code>a</code>''' - nous afficher la liste de tout ce qui sera mis à jour tout en nous laissant le choix de procéder ou non ('''ask''');
 +
* '''<code>u</code>''' - mettre à jour les paquets s'il y a lieu mais sans les installer à nouveau quand ils le sont déjà;
 +
* '''<code>D</code>''' - effectuer une mise à jour en profondeur en considérant l'arbre des dépendances des paquets
 +
* '''<code>N</code>''' - mettre à jour les paquets dont les paramètres USE ont changé.
  
{{#display_external_table:template=MemberDisplay|data=ircnick,fullname}}
+
On peut aussi à l'occasion inclure la mise à jour de toutes les dépendances par l'ajout de l'argument <code>--with-bdeps=y</code> à la ligne de commande. Si on souhaite cette forme de mise à jour à chaque fois que nous mettons à jour <code>world</code>, il suffit d'ajouter l'option au fichier <code>/etc/portage/make.conf</code>:
  
Daniel Robbins:drobbins:bdfl
+
{{file|name=/etc/portage/make.conf|body=
 +
# Maximum de compilations incluant dependances
  
{{file|name=foobar|lang=python|desc=foobarosity|body=
+
EMERGE_DEFAULT_OPTS="--jobs 5 --load-average 5 --with-bdeps y"}}
import system
+
}}
+
  
{{file|name=/etc/foo.conf|desc=My foo.conf file|body=
+
Il arrive parfois des situations où nous ne voulons pas ajouter un paquet à l'ensemble <code>world</code> lors de son installation:
# /etc/host.conf:
+
# $Header: /var/cvsroot/gentoo/src/patchsets/glibc/extra/etc/host.conf,v 1.1 2006/09/29 23:52:23 vapier Exp $
+
  
# The  file /etc/host.conf contains configuration information specific to
+
* Nous voulons l'installer temporairement;
# the resolver library.  It should contain one configuration keyword  per
+
* Il s'agit simplement d'une dépendance d'un autre paquet;
# line,  followed by appropriate configuration information.  The keywords
+
* Nous ne voulons pas que le paquet soit automatiquement mis à jour en même temps que le système.
# recognized are order, trim, mdns, multi, nospoof, spoof, and reorder.
+
  
 +
On installera alors le paquet de cette manière:
  
 +
<console>
 +
(chroot) # ##i##emerge --oneshot packagename
 +
</console>
  
# This keyword specifies how host lookups are to be performed. It
+
{{Note|'''--oneshot''' peut s'abréger '''-1'''. C'est le chiffre '''un'''. Il y a un wiki sur la commande [[Emerge|emerge]].}}
# should be followed by one or more lookup methods, separated by
+
# commas. Valid methods are bind, hosts, and nis.
+
#
+
order hosts, bind
+
  
 +
==== Mise à jour du système ====
  
# Valid  values are on and off. If set to on, the resolv+ library
+
Profitons de l'occasion pour mettre à jour tout le système. D'autant plus que cela s'avère une très bonne idée que de le faire avant le premier démarrage de Funtoo Linux.
# will return all valid addresses for a host that appears  in  the
+
 
# /etc/hosts  file,  instead  of  only  the first.  This is off by
+
<console>
# default, as it may cause a substantial performance loss at sites
+
(chroot) # ##i##emerge --sync
# with large hosts files.
+
(chroot) # ##i##emerge --ask --update --deep --newuse @world
#
+
</console>
multi on
+
 
}}
+
{{Important|Soyez attentif aux messages émis à la fin de la mise à jour. Suivez à la lettre les instructions données. C'est particulièrement vrais si <code>perl</code> ou <code>python</code> est mis à jour.}}

Revision as of 20:17, January 1, 2015

Introduction à Portage

Le système Portage assume la gestion des paquets. Sa principale commande se nomme emerge. Elle remplit plusieurs fonctions dont la construction et l'installation des paquets à partir de sa source. Ce faisant, elle s'assure de l'installation de toutes les dépendances d'un paquet. Pour installer un paquet, vous lancez la commande ainsi:

(chroot) # emerge packagename

Quand vous installez un paquet en spécifiant son nom sur la ligne de commande, Portage l'enregistre dans le fichier /var/lib/portage/world. En agissant ainsi, vous vous assurez que le paquet fait partie de votre système et qu'il sera mis à jour subséquemment. Tous les paquets se trouvant dans l'ensemble world seront mis à jour le cas échéant quand vous mettez à jour tout le système:

(chroot) # emerge --sync
(chroot) # emerge -auDN @world

Ceci constitue la façon «officielle» de mettre à jour Funtoo Linux. Ci-haut, nous avons mis l'arbre Portage local à jour en le synchronisant avec celui du miroir et nous lançons ensuite la commande emerge afin qu'elle accomplisse la mise à jour des paquets de l'ensemble world. Les options demandent à emerge de:

  • a - nous afficher la liste de tout ce qui sera mis à jour tout en nous laissant le choix de procéder ou non (ask);
  • u - mettre à jour les paquets s'il y a lieu mais sans les installer à nouveau quand ils le sont déjà;
  • D - effectuer une mise à jour en profondeur en considérant l'arbre des dépendances des paquets
  • N - mettre à jour les paquets dont les paramètres USE ont changé.

On peut aussi à l'occasion inclure la mise à jour de toutes les dépendances par l'ajout de l'argument --with-bdeps=y à la ligne de commande. Si on souhaite cette forme de mise à jour à chaque fois que nous mettons à jour world, il suffit d'ajouter l'option au fichier /etc/portage/make.conf:

/etc/portage/make.conf
# Maximum de compilations incluant dependances

EMERGE_DEFAULT_OPTS="--jobs 5 --load-average 5 --with-bdeps y"

Il arrive parfois des situations où nous ne voulons pas ajouter un paquet à l'ensemble world lors de son installation:

  • Nous voulons l'installer temporairement;
  • Il s'agit simplement d'une dépendance d'un autre paquet;
  • Nous ne voulons pas que le paquet soit automatiquement mis à jour en même temps que le système.

On installera alors le paquet de cette manière:

(chroot) # emerge --oneshot packagename
Note

--oneshot peut s'abréger -1. C'est le chiffre un. Il y a un wiki sur la commande emerge.

Mise à jour du système

Profitons de l'occasion pour mettre à jour tout le système. D'autant plus que cela s'avère une très bonne idée que de le faire avant le premier démarrage de Funtoo Linux.

(chroot) # emerge --sync
(chroot) # emerge --ask --update --deep --newuse @world
Important

Soyez attentif aux messages émis à la fin de la mise à jour. Suivez à la lettre les instructions données. C'est particulièrement vrais si perl ou python est mis à jour.