Gentoo 1ère partie : Généralités
(Dans l'antémémoire)
|
|
Accès à la 2° partie : Gentoo - MAO et overlay Proaudio Table des matières1. PrésentationGentoo est une distribution de Linux qui offre quelques originalités :
Les inconvénients de Gentoo sont :
Les avantages de Gentoo sont :
2. Aide au sujet de Gentoo2.1 La documentation officielleComplète, détaillée et traduite en français ! Inutile de préciser que sa lecture est fortement conseillée avant de se lancer dans l'aventure. Celle-ci est d'ailleurs consultable même pendant l'installation, comme indiqué dans le guide d'installation Quelques liens: La documentation sur le site officiel. Le site non-officiel Gentoo Francophone. Le guide de localisation de Gentoo 2.2 Sur IRCSi vous êtes perdu plusieurs centaines de personnes vous aideront en ligne, en direct et en français sur le canal IRC freenode #gentoofr Pour se servir d'IRC, si vous ne connaissez pas, faire : # emerge xchat pour l'installer, puis demander une connexion avec une pseudo sur le serveur irc.freenode.net port 6667 Ensuite taper dans xchat : /join #gentoofr 2.3 Sur les wikiGoogle est ton ami et si tu tapes "gentoo jack" ou "gentoo ardour", tu arriveras sur des pages wiki d'aide. Une partie de ces pages n'est malheureusement pas traduite en français, avis aux volontaires ! Le site Gentoo Linux Wiki : http://gentoo-wiki.com/Main_Page 2.4 Autres sourcesLa consultation des forums peut également s'avérer instructive : Forum anglophone : http://forums.gentoo.org Forum francophone : http://forums.gentoo.org/viewforum-f-35.html Consultez en particulier sur ce forum le "how-to" musique sous gentoo De plus, si vous disposez d'un lecteur de News, vous pouvez utilement consulter les forums "alt.os.linux.gentoo" (anglophone) et "linux.gentoo.user.fr" (francophone). 2.5 A consulter en particulierSur le forum francophone gentoo : le "How-To musique sous Gentoo" Sur le wiki francophone gentoo : le "How-To Optimiser et accélérer votre système" 3. Configuration de Gentoo3.1 Le fichier /etc/make.confCe fichier contient les options générales de compilation de votre système et notamment celles concernant votre microprocesseur. Elles seront appliquées à tous les programmes installés ensuite par la commande "emerge". C’est donc un fichier essentiel qui déterminera l’optimisation de votre système. La consultation de la documentation officielle 3.1.1 La variable USECette variable est fondamentale, elle définit les modules/fonctionnalités qui seront activés dans un programme lors de sa compilation (installation). Elle se compose d'une série de drapeaux précédés ou non du signe "-". Un drapeau précédé du signe "-" indiquera la désactivation de la fonction correspondante, tandis qu’un drapeau sans signe indiquera une fonction activée. Ainsi si vous dites "je veux que tous les évènements sonores et tous les programmes utilisent ALSA et pas OSS", alors il faut mettre "alsa ‑oss". De la même façon, si vous n’utilisez pas l’environnement Gnome, vous intègrerez le drapeau "-gnome", et si vous n’utilisez pas Kde vous intègrerez les drapeaux "-kde -kdeenablefinal".Vous trouverez facilement des descriptifs des différents drapeaux disponibles (USE FLAGS en anglais). Par exemple :
Il est impossible de donner une règle absolue pour l’utilisation de ces drapeaux. Cela dépendra en effet de votre matériel et des logiciels que vous souhaitez installer. Gardez également à l’esprit que chaque programme ne dispose que d’un certain nombre de ces drapeaux. Pour connaître la liste des drapeaux disponibles et (dés)activés avant d’installer un programme, utilisez la commande : # emerge -pv programme Cela vous permettra d’activer ou de désactiver les fonctions supportées par ce programme en adéquation avec VOS besoins. C’est ça la grande force de Gentoo : inutile d’activer le support d’Arts dans vos programmes si vous ne l’utilisez pas ! Enfin, pour intégrer vos modifications aux programmes déjà installés, vous utiliserez la commande magique : # emerge -auvND world Pour ce qui concerne la MAO, vous porterez une attention particulière aux drapeaux suivants : 3.1.1.1 Drapeaux relatifs au système
3.1.1.2 Musique/MAO
L’idéal en MAO étant de n’utiliser que Jack (pour profiter de ses performances temps réel), il peut être intéressant de désactiver les autres "Systèmes Son" existants :
3.1.1.3 Autres drapeaux intéressants
En fonction de vos besoins, vous activerez aussi les différents drapeaux des codecs qui vous intéressent :
Cette liste restera incomplète : certaines fonctions deviennent obsolètes, d’autres apparaissent en fonction de l’évolution des logiciels… signe du dynamisme du monde du logiciel libre ! 3.1.1.4 Exemples de variable USEUSE=".......X -oss jack alsa gtk2 gtk dvd jack-tmpfs" La dernière option nécessite que vous ayez ajouté la ligne /etc/fstab shmfs /dev/shm tmpfs defaults 0 0 3.1.2 Les variables CFLAGS, CHOST, et CXXFLAGSVous permettent d’adapter le système à votre architecture (pentium, etc.). S’agissant d’options critiques pour votre système, il ne faudra modifier que ce dont vous êtes parfaitement sûrs … une longue consultation des différentes documentations en ligne sera indispensable : en effet, il n’est malheureusement pas possible de donner ici des exemples précis, puisque les choix dépendront de votre configuration ! Enfin, il est beaucoup plus simple de modifier ces paramètres au moment de l’installation de votre Gentoo, car sinon, il vous faudra recompiler l’ensemble de tous les paquets installés pour prendre en compte les modifications (avec une commande du type "emerge -e world" qui risque d’occuper votre PC pendant de longues heures … voire plusieurs jours !)D’une façon générale, vous laisserez la variable CHOST à sa valeur actuelle (vous l’avez en réalité choisie à l’installation). Vous devriez donc avoir quelque chose du type : CHOST="i686-pc-linux-gnu" ou CHOST="i586-pc-linux-gnu". De la même façon, vous laisserez simplement la variable CXXFLAGS (drapeaux de C++) inchangée:
CXXFLAGS="${CFLAGS}"
La variable que vous pouvez plus facilement compléter est en fait CFLAGS (drapeaux de C) : vous pourrez y ajouter des drapeaux spécifiques à votre processeur (ex : "-march=athlon-xp", etc.) ainsi que quelques options générales de compilation (ex : "-pipe -fomit-frame-pointer"): CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer" 3.1.3 Autres paramètres intéressantsLe fichier /etc/make.conf contient d’autres options intéressantes, sans être exhaustif (pour pourrez consulter le fichier /etc/make.conf.example pour plus de renseignements), citons par exemple :ACCEPT_KEYWORDS : vous permet de choisir votre architecture et de passer votre Gentoo dans la branche instable. Il est préférable d'utiliser le fichier "/etc/portage/package.keywords" (voir plus bas) pour garder un système basé sur la branche "stable"auquel on ajoutera les programmes "instables" souhaités (ardour…). PORTDIR_OVERLAY : indique où se situent les ebuilds qui ne font pas partie de l’arbre portage officiel (voir plus bas). Les variables VIDEO_CARDS et ALSA_CARDS sont également utilisées lors de certaines compilations (ex: alsa-tools dont le mixeur "envy24control" ne sera compilé que si ALSA_CARDS="ice1712"). Exemple : ACCEPT_KEYWORDS="x86" (branche stable pour processeurs x86 - pentiums, athlons 32 bits, etc.) ou ACCEPT_KEYWORDS="~x86" (branche instable pour processeurs x86) ou ACCEPT_KEYWORDS="~amd64" (branche instable pour processeurs 64 bits) PORTDIR_OVERLAY="/usr/local/portage" VIDEO_CARDS="nvidia" ALSA_CARDS="via82xx" 3.2 Les fichiers /etc/portage/package.xxxxxSi vous souhaitez apporter des options spécifiques à certains programmes, il vous faudra modifier (ou créer s’il n’existent pas) les fichiers suivants. Notez d'ailleurs que pour chacun de ces trois fichiers /etc/portage/package.xxxxx, il s'agira au choix
3.2.1 /etc/portage/package.useVous intègrerez dans ce fichier/répertoire les drapeaux (USE FLAGS) spécifiques à certains logiciels que vous ne voulez pas appliquer à l’ensemble du système.Exemple : media-sound/rosegarden dssi sys-kernel/vanilla-sources symlink -doc 3.2.2 /etc/portage/package.unmaskVous permet de démasquer des programmes masqués car très très instables (hard masked). A utiliser avec beaucoup de précautions.Exemple : media-libs/glitz 3.2.3 /etc/portage/package.maskVous permet de masquer certains programmes. Utile si vous souhaitez conserver certaines versions de programmes.Exemple (masquera toutes les versions de musescore supérieures à la 0.1) : >media-sound/musescore-0.1 3.2.4 /etc/portage/package.keywordsLe plus important de tous ! Vous permet d’installer des versions divergeant de la branche stable. Indispensable en MAO car certains programmes (ardour par exemple) n’ont pas encore intégré la branche stable. Vous permet aussi d’obtenir les dernières versions de programmes (qui possèdent souvent à la fois une version stable et une version instable plus récente). Ce fichier vous permettra donc de tester une version récente sans mettre en péril votre système (qui restera, lui, en branche stable). Notez enfin que les problèmes sont rares même avec des programmes instables. Si vous constatez des bugs, n’hésitez surtout pas à les faire remonter, car c’est ainsi que le logiciel libre s’amélioreRappels :
Exemple : media-sound/ardour ~x86 media-sound/hydrogen ~x86 media-sound/qjackctl ~x86 media-sound/rosegarden ~x86 media-sound/canorus ** etc... Conseil A moins que vous n'utilisiez ACCEPT_KEYWORDS="~...", ce fichier risque de grandir assez vite. Pour faciliter sa maintenance, une bonne habitude et d'y classer les programmes par ordre alphabétique de catégorie (media-libs/... avant media-sound/...) et de programme (media-sound/alsaplayer avant media-sound/ardour). 3.3 autres réglages du système3.3.1 le dossier /etc/conf.d/3.3.2 Gentoo en françaisPour pouvoir utiliser certaines applications (comme qjackctl) en français, il faut attribuer à la variable $LANG la valeur "fr_FR.UTF-8 UTF-8" On peut faire ceci de manière locale (propre à un utilisateur), ou globale (propre au système entier, donc à tous les utilisateurs)
4. Rappels de la commande emerge"emerge" est la commande qui installe les programmes en se chargeant d'aller chercher tous les composants utiles à cette installation (Gentoo gère automatiquement les dépendances nécessaires à l'installation d'un programme). La commande "emerge" possède un grand nombre d'options que vous consulterez en tapant dans un terminal : $ emerge -h ou bien $ man emerge 4.1 Installation et désinstallation d'un programmePour installer un programme (ici audacious) et toutes ses dépendances : # emerge audacious Pour le désinstaller : # emerge -C audacious ou # emerge --unmerge audacious Pour installer plusieurs programmes (ici audacious, ses plugins ainsi que ses skins) : # emerge audacious audacious-plugins audacious-themes Remarque : Afin de connaître à l'avance les programmes qui seront (dés)installés ainsi que les options de compilation qui seront appliquées, il est préférable (et même recommandé) de combiner au préalable ces commandes avec les options suivantes : -p (ou --pretend) affiche ce qui serait (dés)installé. Cette option peut être remplacée par -a (ou --ask) qui demandera ensuite une confirmation (Yes/No) avant de poursuivre. -v (ou --verbose) pour activer le mode détaillé et afficher un maximum d'informations. Ainsi, pour installer xmms, on conseillera plutôt "emerge -av xmms" (ou "emerge -pv xmms") et pour une désinstallation "emerge -avC xmms" (ou "emerge -pvC xmms"). Cette précaution vous évitera quelques mauvaises surprises et vous permettra de connaître à l'avance les drapeaux activés (voir ci-dessus)... Pour rechercher un programme contenant "jack" (pratique quand on ne connaît pas le nom exact) : # emerge -s jack ou # emerge --search jack 4.2 Mise à jour de votre GentooVous constaterez que les mainteneurs de cette distribution sont très actifs, et que vous aurez régulièrement des mises à jour proposées pour les différentes applications installées. Le site http://www.gentoo-portage.com La mise à jour se fait en plusieurs étapes. Télécharger la liste de paquets disponibles la plus récente : # emerge --sync Mettre à jour les programmes formant le coeur de votre Gentoo : # emerge -auvND system Mettre à jour le reste : # emerge -auvND world Et c'est tout ! Dans ces commandes, vous retrouverez :
# emerge -avND world Note : Vous aurez parfois après une (dés)installation ou une mise à jour un message du type "IMPORTANT: 2 config files in /etc need updating". Il vous faudra alors simplement lancer la commande "etc-update" pour mettre à jour les fichiers de configuration concernés. Finalisation de la mise à jour : Il faut encore, comme indiqué dans le Handbook, lancer 2 commandes. Pour effacer les dépendances obsolètes : # emerge --depclean Pour contrôler la cohérence du système et réinstaller tout programme qui aurait été cassé par la mise à jour de ses dépendances : # revdep-rebuild 5. Installer des programmes pas (encore) intégrés dans portage5.1 ProblématiqueAvec une distibution Linux traditionnelle vous allez utiliser des paquetages, deb ou rpm qui permettront des mises à jour régulières. Mais lorsque vous installez un fichier de type tgz et que vous l'installez à partir des syntaxes configure, make et make install, vous mettez la panique dans votre installation. Avec gentoo vous allez bénéficier d'une fonctionnalité intéressante, celle de fabriquer un fichier ebuild qui présente plusieurs avantages :
5.2 Exemple de création d'un ebuild pernonnelPrenons l'exemple du tuner de guitare fmit, c'est un programme qui utilise kde qui se trouve à l'adresse http://home.gna.org/fmit 5.2.1 Fabrication du fichier ebuildDans le répertoire /usr/local/portage/media-sound/fmit (que l'on aura pris soin de créer) on édite un fichier qui contiendra les lignes suivantes :# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
inherit kde-functions virtualx eutils toolchain-funcs
need-qt 3
MY_P=${P/fmit}
MY_P=${MY_P/_/}
DESCRIPTION="Free Music Instrument Tuner"
SRC_URI="http://download.gna.org/fmit/fmit${MY_P}.tar.bz2"
HOMEPAGE="http://home.gna.org/fmit/"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~sparc ~x86"
IUSE="alsa doc jack ladcca debug"
DEPEND=">=x11-libs/qt-3.2.0
alsa? ( media-libs/alsa-lib )
>=media-libs/libsndfile-1.0.1
>=media-libs/libsamplerate-0.1.0
>=media-sound/jack-audio-connection-kit-0.98.0
ladcca? ( >=media-libs/ladcca-0.4.0 )"
src_compile() {
cd ${WORKDIR}/${MY_P}
local myconf
myconf="--disable-suid-build" # instead, use CONFIG_RTC and realtime-lsm
use ladcca || myconf="${myconf} --disable-ladcca"
use debug && myconf="${myconf} --enable-debug"
export LD="$(tc-getLD)" Xeconf ${myconf} || die "configure failed"
emake || die
}
src_install() {
cd ${WORKDIR}/${MY_P}
make DESTDIR=${D} install || die "install failed"
dodoc AUTHORS ChangeLog INSTALL NEWS README SECURITY README.*
mv ${D}/usr/bin/fmit
}
pkg_postinst() {
einfo "You must have the realtime module loaded to use fmit"
einfo "Additionally, configure your Linux Kernel for non-generic"
einfo "Real Time Clock support enabled or loaded as a module."
einfo "User must have read/write access to /dev/misc/rtc device."
einfo "Realtime LSM: http://sourceforge.net/projects/realtime-lsm/"
}Ne vous en faites pas on recopie toujours le même fichier que l'on modifie. 5.2.2 VérificationsVérifier que votre fichier /etc/make.conf contient une ligne de la forme :PORTDIR_OVERLAY="/usr/local/portage" Cela dit au système d'aller voir dans le répertoire /usr/local/portage si des fchiers ebuild sont présents Ensuite dans votre fichier /etc/portage/package.keywords il faut entrer la ligne sound-media/fmit ~x86 Ceci indique qu'on accepte d'installer fmit même s'il n'est pas dans la distribution officielle. 5.2.3 Quelques commandesUne fois le fichier ebuid constuit est placé dans le bon répertoire, il faut fabriquer une mini arborescence par la simple commande : # ebuild fmit-0.95.0.ebuild digest Vous pouvez alors faire un : # emerge fmit Vous verrez fmit se télécharger et s'installer. 5.2.4 Suivre les versions de votre logicielSi vous apprenez qu'une nouvelle version du logiciel fmit est sortie vous n'avez pratiquement rien à faire !
5.3 Ebuilds non officielsVous trouverez sur le net différents ebuilds concernant des programmes qui ne sont pas (encore) inclus dans l'arbre portage officiel. Vous en trouverez par exemple ici : http://bugs.gentoo.org/Ces ebuilds peuvent facilement être intégrés dans votre système, qui, là encore, vous permettra une mise à jour transparente si des versions plus récentes finissent par être intégrées dans l'arbre officiel. Certains de ces ebuilds ont été regroupés (par thématique par exemple) pour former ce que l'on appelle un "overlay" ("surcouche"). Un overlay sous Gentoo est l'équivalent d'un dépôt additionnel pour les autres distributions. L'avantage des overlays par rapport aux dépôts multiples se fait sentir lors des mises à jour : Gentoo : portage se charge de réinstaller les programmes pour qu'ils continuent à fonctionner quand leurs dépendances sont mises à jour et qu'une nouvelle compilation est nécessaire. Autres distributions : il y aura tôt ou tard une incapacité à effectuer des mises à jour en raison de conflits de dépendances. 5.3.1 Gestion des overlaysUn overlay est un ensemble d'ebuilds non-officiels qui viennent se rajouter a l'arbre portage. Vous pouvez utiliser ce mecanisme pour rajouter vos propres ebuilds. Par convention vos ebuilds doivent être placé dans le répertoire /usr/local/portage. Pour être pris en compte par la commande emerge ce répertoire doit être renseigné dans le fichier de configuration /etc/make.conf par la variable PORTDIR_OVERLAY PORTDIR_OVERLAY="/usr/local/portage" Il existe également des packs overlay complets disponibles sur la toile. Ils sont regroupés par thématique (audio, xgl...). Il est fortement conseillé de placer chaque overlay et vos ebuilds perso dans des répertoires différents. Vous pouvez par exemple placer vos ebuilds perso dans le sous répertoire /usr/local/portage/perso et l'overlay proaudio dans /usr/local/portage/proaudio Portage peut tout à fait gérer plusieurs répertoires PORTAGE_OVERLAY, à condition de les indiquer dans /etc/make.conf : Ex : PORTDIR_OVERLAY="/usr/local/portage/perso /usr/local/portage/proaudio" Un des overlay les plus importants pour la MAO, l'overlay "Pro Audio Applications" est présenté plus en détail dans la seconde partie du guide Gentoo. 5.3.1 LaymanIl existe plusieurs outils pour faciliter la gestion des différents overlays, un des plus connu étant sans doute Layman. Layman est une petite application (écrite en Python) qui permet d'utiliser et synchroniser facilement un ou plusieurs "overlays". On l'installe classiquement : # emerge layman On peut télécharger la liste des répertoires/overlays disponibles : # layman -f Pour afficher cette liste : # layman -l Pour utiliser (au hasard) - et installer - l'overlay "pro-audio" détaillé page suivante : # layman -a pro-audio puis on indique dans le fichier "/etc/make.conf" la liste des overlays supportés par layman (il est important de faire cette étape après avoir installé l'overlay) : # echo "source /usr/local/portage/layman/make.conf" >> /etc/make.conf Enfin pour synchroniser tous les répertoires : # layman -s ALL Une fois un overlay activé, les ebuilds qui proposent seront directement accessibles lors d'une utilisation classique de la commande emerge. En cas de présence d'ebuilds provenant de différents overlays, portage vous indiquera également leurs sources respectives (utilisez une commande du type "emerge -av mon_programme" pour afficher ces informations). Pour plus de détails, voir aussi les liens suivants : Un progamme très utile : mcMidnight Commander est un programme très utile pour travailler avec portage. C'est un gestionnaire de fichier pour la console. Son avantage principal sur les interfaces graphique est sa rapidité. Il est aussi très flexible et il peut être adapté à n'importe quel usage. Enfin presque, il ne fait pas le caféPour le travail avec portage, la touche F4 permet d'ouvrir le fichier courant dans un éditeur interne simple d'emploi, mais suffisant pour du travail d'administration système. Une fois dans cet éditeur, F2 permet de sauver le fichier, F3 (ou la souris) de sélectionner du texte, F5 de copier le texte sélectionné, F6 de le déplacer à l'endroit du curseur, F10 de quitter l'éditeur. Il est très pratique pour éditer les fichiers de configuration de portage (et de gentoo en général). Ce programme comporte encore bien d'autres fonctions, comme la possibilité de lancer automatiquement les fichiers dans leurs applications associées, la possibilité d'éditer directement ses menus et les associations de fichiers, la possibilité de naviguer dans des archives, de lancer des commandes sur des fichiers, de créer ses propres commandes, etc. Il possède également une aide intégrée. Une fonction utile est Ctrl-O qui permet d'accéder à la console. La même touche permet de revenir à mc. Un deux mots : un must ! Pour l'installer : # emerge mc Accès à la deuxième partie : Gentoo - MAO et overlay Proaudio
|
Mégaphone
|