Avertissement :
Ce manuel a été remplacé par une version plus récente et n'est plus maintenu.
|
[ << ]
[ < ]
[ Sommaire ]
[ > ]
[ >> ]
1. Fichiers et répertoires
Table des matières :
1.a. Les fichiers utilisés par Portage
Configurer Portage
La configuration par défaut de Portage se trouve dans le fichier
/etc/make.globals. Vous remarquerez que toute la configuration de
Portage se fait grâce à des variables. Les variables et leur utilisation sont
décrites ci-dessous.
Puisque certaines directives de configuration diffèrent d'une architecture à
l'autre, Portage utilise aussi plusieurs fichiers de configuration qui font
partie de votre profil. Le profil sélectionné est celui vers lequel le lien symbolique
/etc/portage/make.profile pointe. La configuration de
Portage réside dans les différents fichiers make.defaults situés
dans l'arborescence qui mène au répertoire de votre profil. Nous aborderons les
profils et le répertoire /etc/portage/make.profile plus loin dans ce
document.
Pour modifier une variable de configuration, ne modifiez ni le fichier
/etc/make.globals, ni les fichiers
make.defaults. Modifiez plutôt /etc/portage/make.conf qui a
priorité sur les autres fichiers. Vous trouverez aussi un fichier
/usr/share/portage/config/make.conf.example, un fichier exemple que Portage ne lit pas mais que vous pouvez utiliser pour configurer votre propre
/etc/portage/make.conf.
Vous pouvez aussi définir ces variables dans votre environnement, mais nous ne
recommandons pas cette pratique.
Informations spécifiques au profil
Nous avons déjà mentionné le répertoire /etc/portage/make.profile. Ce
n'est pas vraiment un répertoire, mais un lien symbolique vers un profil qui se
trouve, par défaut, dans /usr/portage/profiles ; vous pouvez
créer des profils ailleurs. Ce lien symbolique définit le profil utilisé par
votre système.
Un profil contient des informations spécifiques pour chaque architecture telles
que la liste des paquets qui forment un système de base, une liste de paquets
qui ne fonctionnent pas ou qui sont masqués pour ce profil, etc.
Configuration par l'utilisateur
Pour influencer le comportement de Portage, vous devrez modifier des fichiers
dans le répertoire /etc/portage. Il est vivement recommandé
d'utiliser ces fichiers et de ne pas utiliser de variables
d'environnement.
Vous pouvez créer les fichiers suivants dans le répertoire
/etc/portage :
-
package.mask qui contient la liste des paquets que vous voulez ne
jamais installer.
-
package.unmask qui contient la liste des paquets que vous voulez
installer bien qu'ils aient été masqués par les développeurs Gentoo.
-
package.accept_keywords qui contient la liste des paquets que vous voulez
installer même s'ils ne sont pas (encore) considérés stables pour votre
architecture ou votre système.
-
package.use qui contient la liste des options de la variable USE
que vous voulez appliquer à certains paquets, mais que vous ne voulez pas
utiliser pour tout votre système.
Ce ne sont pas forcément des fichiers. Vous pouvez choisir de créer des
répertoires qui contiendraient un fichier par paquet. La page man contient plus
d'information à propos de ce que l'on peut faire avec le répertoire
/etc/portage et une liste exhaustive des fichiers qui influencent
le comportement de Portage.
Exemple de code 1.1 : lire la page man de Portage |
$ man portage
|
Déplacer les fichiers et les répertoires de Portage
Les fichiers de configuration mentionnés ci-dessus ne peuvent pas se trouver
ailleurs. Portage les recherche toujours à ces endroits précis. Cependant, Portage
peut être configuré pour utiliser d'autres répertoires pour certains
fichiers : le répertoire temporaire d'installation, les sources, l'arbre
Portage, etc.
Par défaut, tous ces fichiers sont stockés dans des répertoires bien connus,
mais ils peuvent être stockés ailleurs en fonction de variables définies dans
le fichier /etc/portage/make.conf. Ce qui suit est consacré aux différents
répertoires utilisés par Portage et à la methode à utiliser pour les déplacer.
Ce document n'est pas une liste exhaustive de tous les répertoires disponibles.
Cette liste est disponible dans les pages man de Portage et de
make.conf :
Exemple de code 1.2 : lire les pages man de Portage et de make.conf |
$ man portage
$ man make.conf
|
1.b. Emplacemements des fichiers
L'arbre Portage
Le répertoire par défaut pour l'arbre Portage est /usr/portage. La
variable PORTDIR peut être utilisée pour définir un autre emplacement.
N'oubliez pas de rediriger le lien symbolique /etc/portage/make.profile
vers le répertoire ad hoc.
Si vous redéfinissez la variable PORTDIR, vous devriez sans doute redéfinir les
variables PKGDIR, DISTDIR et RPMDIR, car elles ne prendront pas la valeur de
PORTDIR en compte.
Binaires précompilés
Portage peut également utiliser des paquets précompilés lors des installations,
bien que cette fonctionnalité soit désactivée par défaut. Les paquets
précompilés sont placés dans le répertoire défini par la variable PKGDIR, qui
est définie comme /usr/portage/packages par défaut.
Code source
Le code source des applications est conservé dans
/usr/portage/distfiles. Cet emplacement est défini par la variable
DISTDIR.
La base de données de Portage
Portage mémorise l'état de votre système (quels sont les paquets installés, quels fichiers appartiennent à quel paquet, ... ) /var/db/pkg. Ne modifiez pas ces fichiers à la main ! Cela pourrait pourrait faire perdre à Portage l'exacte vision de votre système.
Le cache de Portage
Le cache de Portage (qui contient les dates de modification, les virtuels, les modifications de l'arbre de dépendances, ...) est stocké /var/cache/edb. Cet emplacement est réellement un cache, vous pouvez le vider is vous n'êtes pas en train d'exécuter une application en relation avec Portage.
1.c. Compiler les paquets
Fichiers temporaires
Portage sauve ses fichiers temporaires dans /var/tmp par défaut.
La variable PORTAGE_TMPDIR définit cet emplacement.
Si vous redéfinissez la variable PORTAGE_TMPDIR, vous devriez aussi redéfinir
BUILD_PREFIX, car elle ne tient pas compte du changement automatiquement.
Répertoire de compilation
Portage crée un répertoire de compilation pour chaque paquet dans le répertoire
/var/tmp/portage. Cet emplacement est défini par la variable
BUILD_PREFIX.
Localisation du système de fichiers principal
Par défaut, Portage installe tous les fichiers sur le système de fichiers
courant (/), mais il peut copier les fichiers ailleurs si vous
redéfinissez la variable ROOT. Cela peut être utile si vous voulez construire
des nouvelles images d'installation pour d'autres systèmes.
1.d. Fonctions de journalisation des événements
Les messages des ebuilds
Portage peut journaliser les messages des événements relatifs aux ebuilds en
utilisant un fichier pour chaque ebuild, mais uniquement si la variable
PORT_LOGDIR correspond à un répertoire dans lequel Portage peut écrire
(l'utilisateur portage doit disposer des permissions nécessaires).
Par défaut, cette variable n'est pas définie.
Si PORT_LOGDIR n'est pas définie, vous ne recevrez pas les messages des
événements relatifs à la construction des paquets avec le système de journal
actuel, mais vous devriez en recevoir quelques-uns avec le nouveau système
appelé elog. Si PORT_LOGDIR est définie et que vous utilisez elog,
vous recevrez à la fois les messages de construction et tous ceux qui sont
sauvegardés par elog, comme expliqué plus loin.
Portage propose un contrôle fin de la tenue du journal des événements
via elog :
-
PORTAGE_ELOG_CLASSES : utilisez cette variable pour définir le type de
message à enregistrer. Vous pouvez utiliser n'importe quelle combinaison à
base d'info, warn, error, log et qa,
séparés par des espaces.
-
info : enregistre les messages « einfo » produits
par un ebuild,
-
warn : enregistre les messages « ewarn » produits
par un ebuild,
-
error : enregistre les messages « eerror »
produits par un ebuild,
-
log : enregistre les messages « elog » que l'on
trouve dans certains ebuilds,
-
qa : enregistre les messages « QA Notice »
produits par un ebuild.
-
PORTAGE_ELOG_SYSTEM : cette variable sert à choisir le ou les modules
qui vont traiter les messages. L'enregistrement est désactivé si cette
variable reste nulle. Vous pouvez utiliser n'importe quelle combinaison des
modules save, custom, syslog, mail,
save_summary, et mail_summary, séparés par une espace. Vous
devez sélectionner au moins un module pour utiliser elog.
-
save : ce module active la sauvegarde d'un enregistrement
par paquet dans $PORT_LOGDIR/elog, ou
/var/log/portage/elog si $PORT_LOGDIR n'est pas définie,
-
custom : transmet tous les messages à une commande définie
par l'utilisateur dans $PORTAGE_ELOG_COMMAND (détaillée plus bas),
-
syslog : envoie tous les messages à l'outil de
journalisation des événements du système (syslog-ng par exemple),
-
mail : envoie tous les messages à un serveur de mail défini
dans $PORTAGE_ELOG_MAILURI, détaillée plus loin dans ce document. Cette
fonction nécessite une version de Portage supérieure ou égale à 2.1.1,
-
save_summary : similaire à save, mais rassemble tous
les messages dans $PORT_LOGDIR/elog/summary.log, ou
/var/log/portage/elog/summary.log si $PORT_LOGDIR n'est pas
définie,
-
mail_summary: similaire à mail, mais envoie tous les
messages dans un seul mail quand emerge se termine.
-
PORTAGE_ELOG_COMMAND : cette option n'est utile qu'avec le module
custom activé. C'est ici que vous spécifiez la commande qui va
traiter les événements. Vous pouvez utiliser deux variables pour
personnaliser votre commande : ${PACKAGE}, qui est le nom et la version
du paquet, et ${LOGFILE}, qui est le chemin absolu du fichier
d'enregistrement. Voici un exemple d'utilisation :
-
PORTAGE_ELOG_COMMAND="/chemin/vers/mon/enregistreur -p '\${PACKAGE}'
-f '\${LOGFILE}'"
-
PORTAGE_ELOG_MAILURI : cette option sert à définir les paramètres du
module mail tels que l'adresse, le nom d'utilisateur, le mot de
passe, le serveur de mail et le numéro de port. Les paramètres par défaut
sont "root@localhost localhost".
-
Prenons l'exemple d'un serveur SMTP avec authentification basée sur le nom
et le mot de passe et qui écoute sur un port particulier (par défaut, un
serveur SMTP est configuré sur le port 25) :
-
PORTAGE_ELOG_MAILURI="utilisateur@mon.domaine
nom_utilisateur:mot_de_passe@smtp.mon.domaine:995"
-
PORTAGE_ELOG_MAILFROM : vous permet de modifier le champ
« From » (expéditeur) des mails envoyés par elog. Par défaut, ces
mails ont pour expéditeur « portage ».
-
PORTAGE_ELOG_MAILSUBJECT : avec cette variable, vous changez le sujet
des mails envoyés par elog. Notez que vous pouvez utiliser les variables
${PACKAGE} et ${HOST} pour afficher respectivement le couple nom/version du
paquet et le nom de domaine de la machine hôte sur laquelle tourne Portage.
-
Voici un exemple d'utilisation :
-
PORTAGE_ELOG_MAILSUBJECT="le paquet \${PACKAGE} a été construit sur
\${HOST} accompagné de messages."
Important :
si vous utilisiez enotice avec Portage-2.0.*, vous devez le désinstaller
complétement car enotice est incompatible avec elog.
|
[ << ]
[ < ]
[ Sommaire ]
[ > ]
[ >> ]
Ce document est protégé par la licence Creative
Commons : Paternité - Partage des Conditions Initiales à
l'Identique 2.5.
|