Fr:HOWTO: The Complete Portage Guide

From Sabayon Wiki
Jump to: navigation, search
i18n: ca de en es fr

Notes préliminaires

Q.Qu'est-ce qu'un Shell ?

R. Un Shell et une interface en ligne de commande ou un terminal, aussi connu des utilisateurs de MS Windows comme le Command Prompt. (le Shell de MS Windows est terrible).

Pour lancer un Shell, pressez Alt-F2 (le raccourci pour la fenêtre de la commande Run) et tapez konsole, ou gnome-terminal, ou encore xterm à votre guise.

Pour lancer un Shell Root utilisez soit le su (commande de changement d'utilisateur) en tapant su - (le - signifie un changement des réglages et du répertoire de l'utilisateur Root) ou pressez Alt-f2 et tapez kdesu shellprogram ou gnomesu shellprogram dans lesquel le programme shell est konsole, gnome-terminal, xterm ou bien un autre. Techniquement nous pouvons dire que le Shell est l'environnement de la ligne de commande, et pas simplement son interface. Le shell Linux le plus répandu est BASH (Bourne Again Shell)


Q. Quel est ce truc avec Alt-F2 ?

R.Le Dialogue de la Commande Run est l'outil le plus utile pour les nouveaux utilisateurs de Sabayon, il vous autorise à lancer toutes sortes de programmes et commandes simplement en tapant le nom de la commande puis la touche "entrer". Alt-F2 est le Raccourci Global pour accéder à ce Dialogue (cela fonctionne avec KDE, Gnome, XFCE, etc) , on peut aussi y accéder en faisant un clic-droit sur le bureau et en séléctionnant la Commande Run dans le menu.


Q. Pourquoi utilisez-vous && dans vos instructions?

R. Parce que c'est une manière simple pour exécuter plusieurs commandes en une seule ligne.


Q. De quoi ais-je besoin pour ce guide?

R. Vous avez besoin d'une installation de Sabayon Linux ou de Gentoo Linux, un cerveau en état de marche (tout le monde n'en possède pas :), quelques yeux et la capacité à lire, penser et apprendre.


Le Guide Commence Ici

Q. Comment Installer des Logiciels dans Sabayon?

Réponse Brève: Dans un shell root tapez emerge <nomdupaquet> où le nomdupaquet est le nom du paquet que vous souhaitez installer.

Réponse Longue: Cela dépend de la méthode que vous utilisez ou des logiciels que vous voulez installer. EN GENERAL VOUS VOUDREZ IGNORER LES DEUX PREMIERES METHODES!!!

Logiciels Windows

Premièrement si vous voulez installer des logiciels Windows qui utilisent WINE, vous tapez wine /chemin/vers/setupouinstallerexe.exe dans un shell d'utilisateur (où le chemin vers le fichier setup.exe ou installer.exe correspondant, notez que le shell Linux n'aime pas beaucoup les espaces dans les noms et les représente ainsi: "\ ")

Installation des Sources logicielles

Notez que les instructions ci-dessous sont générales, pour des exemples spécifiques ou des exemples de ligne de commande avec les bonnes options pour chaque étape, utilisez google :), ou votre cervelle.

  1. Téléchargez un paquet source en utilisant wget dans un shell, ou firefox, ou d'autres moyens.
  2. Extrayez ce paquet source, souvent un tar.bz2 ou tar.gz, en utilisant tar dans un shell, ou Ark, ou encore File-roller.
  3. Déplacez le fichier ainsi extrait vers /usr/local/src en utilisant cp -R dna sun shell root, ou en utilisant Konqueror ou Nautilus en tant que Root.
  4. Lisez les fichiers README et INSTALL dans le répertoire du paquet extrait dans /usr/local/src
  5. Changez de répertoire en tapant cd /usr/local/src/nomdupaquet (où nomdupaquet est le nom du paquet)
  6. A moins qu'autre chose soit indiqué dans les fichiers README et INSTALL, si un script configure existe, tapez ./configure', sinon créez-en un (habituellement nécéssaire pour des installations de svn ou cvs) en tapant autoconf (si autoconf vous renvoie des erreurs, tapez libtoolize && autoreconf, puis tapez rm configure && autoconf)
  7. A moins qu'autre chose soit indiqué dans les fichiers README et INSTALL, si un fichier make existe, tapez make && make install
  8. Fini.

Finalement, pour Sabayon ou Gentoo, la MEILLEURE méthode, et aussi la plus SIMPLE, se réalise avec Portage / emerge.


Portage

Portage est un gestionnaire de paquets utilisé par Gentoo et Sabayon pour installer, désinstaller, et maintenir les logiciels de votre système. Le système de Portage est constitué de l'arbre de Portage qui est une collection de ebuilds, de la commande emerge qui installe les ebuilds, des fichiers de configuration de portage, ainsi que les outils de tièrce-partie de portage / emerge.

L'arbre de Portage est une copie locale (située dans /usr/portage) du dépôt central des paquets logiciels. Lorsque vous installez des logiciels dans votre système avec la commande emerge, une recherche est effectuée dans l'arbre de Portage. Si un nom de paquet correspondant est trouvé, ses dépendances sont calculées, le code source pour le paquet et ses dépendances est téléchargé, puis le tout est compilé et installé dans votre système.


Ebuild

Un ebuild est un format de script Bash spécialisé, utilisé par Gentoo & Sabayon, dans le but de donner un jeu d'instructions à emerge en tant qu'interface du système de gestion des paquets de Portage. Un ebuild est une manière automatisée qui permet d'effectuer les procédures de compilation et d'installation de logiciels.

Chaque version de chaque application, ou paquet, dans le dépôt de l'arbre de Portage possède un script ebuild spécifique qui lui correspond.

Le script ebuild est utilisé par emerge. L'outil emerge utilise l'ebuild pour effectuer ses tâches: calculer chaque dépendance pour l'installation du logiciel désiré, télécharger les fichiers requis (et les patcher si nécessaire), configurer le paquet (basé sur les réglages de drapeaux USE), compiler, et effectuer une installation de type sandbox (in /var/tmp/portage/[nom de l'ebuild]/image/ par défaut). Une fois ces étapes effectuées avec succès, les fichiers installés sont mélangés au système actif, en dehors de la sandbox.

Bien que la plupart des ebuilds trouvés dans le dépôt Gentoo de Portage soient utilisés pour compiler des programmes à partir du code source, il existe aussi des ebuilds permettant l'installation de paquets binaires, des ebuilds installant unquement de la documentation ou des informations, comme des polices de caractères, et aussi des ebuilds basiques appelés "metabuilds" qui déclenchent simplement l'installation d'autres ebuilds (comme les metabuilds de GNOME ou KDE).

Pour des instructions sur la création de ebuilds regardez Gentoo Development Guide: Quickstart Ebuild Guide et Gentoo Development Guide.


Emerge

L'outil en ligne de commande emerge est le coeur de Portage. Cette commande est assez complexe et dispose de nombreuses options et variables. Elle est écrite en langage de programmation Python. L'outil emerge est l'utilitaire le plus important pour accéder aux fonctions de Portage depuis la ligne de commande.

Le programme calcule et gère les dépendances, exécute des ebuilds et maintient l'arbre local de Portage et la base de données de paquets installés. les réglages de compilation utilisés par les ebuilds peuvent être modifiés dans l'environnement de variables CFLAGS, basé sur les spécifications individuelles de l'ordinateur et des choix d'optimisation de l'utilisateur. L'utilitaire emerge exécute les ebuilds dans un environnement clos (sandbox). De cette façon le système est protégé des logiciels exécutés par l'ebuild, et les binaires en résultant sont mélangés uniquement après une construction, et installation réussie dans la sandbox.

Les dépendances installées par emerge sont affectées par les réglages de drapeaux USE. Ces réglages conditionnent l'installation des fonctions optionnelles qui seront incluses lors de l'installation ou mise à jour d'une application. La commande emerge peut aussi être utilisée pour télécharger et installer des fichiers binaires, bien que certaines personnes affirment que l'utilisation de paquets binaires ne profite pas de tous les avantages de Portage, car elle évite l'étape d'optimisation et de compilation normalement disponible.

Faire des choses avec emerge

Vous pouvez mélanger et associer la plupart des drapeaux ou interrupteurs ci-dessous. Emerge fonctionne mieux lorsque utilisé en tant que root. Lisez man emerge pour plus d'informations.


Synchroniser Portage / Mettre à Jour l'arbre de Portage

emerge --sync

Ceci met à jour et reconstruit l'arbre local de Portage en se synchronisant avec les serveurs en ligne. Il est important de lancer cette commande avant de commencer à installer/enlever des paquets car elle permet à emerge d'avoir les informations les plus récentes. Vous lancerez également fréquemment:

layman -S

pour mettre à jour tous les overlays. (Vous en apprendrez plus sur les overlays dans #Overlays & layman)

Installer des paquets

# emerge <nomdupaquet> 
ou 
# emerge =catégoriedupaquet/nomdupaquet-version

(=catégoriedupaquet/nomdupaquet-version est un atome de paquet valide)

Ceci installe ou met à jour / rétrograde un paquet.

# emerge -u <nomdupaquet>
ou 
# emerge -u =catégoriedupaquet/nomdupaquet-version

Ceci met à jour avec la meilleure version d'un paquet, pas nécessairement la plus récente.

Il y a plus de 11000 paquets dans Portage, ci-dessous sont présentés quelques atomes de paquets valides qui peuvent être installés.

  • www-client/mozilla-firefox-2.0.0.1-r2
  • net-fs/samba-3.0.24
  • media-video/mplayer-1.0_rc1-r2
  • app-emulation/wine-0.9.30
  • media-gfx/inkscape-0.44.1

Les paquets peuvent être visualisés également sur

http://packages.gentoo.org/ (officiel)

ou

http://gentoo-portage.com/

Bien sûr, vous pouvez aussi simplement spécifier uniquement le nom du paquet (soit mozilla-firefox, samba, mplayer, wine ou inkscape)

Enlever des paquets

# emerge -C <nomdupaquet> 
ou   
# emerge -C =catégoriedupaquet/nomdupaquet-version

ceci enlève un paquet.

# emerge -c <nomdupaquet>
ou  
# emerge -c =catégoriedupaquet/nomdupaquet-version

Ceci nettoie / enlève un paquet ainsi que ces dépendances superflues.

# emerge --depclean

Ceci enlève tous les paquets non listés dans le système ou fichier world.

Modifier la verbosité de Portage

# emerge -v <nomdupaquet>

Ceci active la verbosité de portage.

# emerge -q <nomdupaquet>

Ceci désactive la verbosité de portage.

Recherche

# emerge -s <nomdupaquet>

Ceci recherche un paquet avec le nomdupaquet.

# emerge -S <nomdupaquet>

Ceci recherche un paquet avec le nomdupaquet, ou le terme recherché dans la description du paquet.

Demander et Simuler

# emerge -a <nomdupaquet>

Ceci impose une confirmation de chaque action de emerge par l'utilisateur.

# emerge -p <nomdupaquet>

Ceci indique à emerge de faire une simulation (pretend) de l'action demandée. C'est utile lorque combiné avec le drapeau -v . Les clefs pour lire les informations issues de la simulation (pretend) sont présentées ci-dessous. N = nouveau (pas encore installé) S = Installation d'un nouveau SLOT (versions contigües) U = Mise à jour (vers une autre version) D = rétrogradage (lorsque la meilleure version est plus ancienne) R = remplacement (re-emerge la même version) F = recherche restreinte (doit être téléchargé manuellement) f = recherche restreinte (déja téléchargé) B = bloqué par un paquet déja installé

Autres options intéressantes

# emerge -1 <nomdupaquet> 

n'ajoute pas le paquet au fichier world (liste des paquets installés que vous voulez conserver) lors de son installation.

# emerge -o <nomdupaquet>

emerge uniquement les dépendances du paquet, pas le paquet lui-même

# emerge -f <nomdupaquet>

télécharge uniquement les sources ou les paquets binaires, mais ne les décompresse pas et ne les installe pas.

# emerge --resume 

reprend la dernière opération, ce qui est utile lorsque que vous avez stoppé en plein milieu d'une action en tapant ctrl -c pour y mettre fin.

Mises à jour Importantes et Recompilation

# emerge world
ou
# emerge -e world

Ceci ré-installe / met à jour tout les paquets listés dans votre fichier world que vous voulez conserver. Il est dangereux d'effectuer cette opération sans une planification minutieuse, un masquage de paquets, et les drapeaux / interrupteurs corrects. Pour apprendre la meilleure méthode pour réaliser un emerge world, lisez les howtos sur le forum Gentoo ou le Wiki Gentoo, et bonne chance.

# emerge system
ou
# emerge -e system

Ceci ré-installe / met à jour tous les paquets noyau de votre système. Ce n'est pas aussi dangereux que emerge world, mais nécessite quand même une planification appropriée.

Overlays & layman

Les overlays de Portage sont des arbres de portage modifiés qui contiennent des paquets introuvables, ou différents de ceux présents dans l'arbre principal.

Les overlays peuvent être ajoutés manuellement en changeant PORTDIR_OVERLAY="" dans /etc/make.conf , mais dans Sabayon nous préférons utiliser layman (le gestionnaire d'overlay).

# layman -l

Ceci liste tous les overlays.

# layman -S

Ceci synchronise tous les overlays installés (de la même manière que emerge --sync).

# layman -s <nomdeoverlay>

Ceci synchronise l'overlay nommé nomdeoverlay.

# layman -a <nomdeoverlay>

Ceci ajoute / installe un overlay. Vous pouvez avoir besoin d'éditer /etc/make.conf pour finaliser cette opération.

# layman -d <nomdeoverlay>

Ceci enlève / désinstalle un overlay. Vous pouvez avoir besoin d'éditer /etc/make.conf pour finaliser cette opération.

Pour synchroniser l'overlay Sabayon, tapez:

# layman -s sabayon

Si vous souhaitez chercher des paquets dans TOUS les overlays, exécutez:

# emerge eix && update-eix && update-eix-remote update

Maintenant vous pouvez utiliser eix <motclef> pour rechercher un mot-clef dans tous les overlays (vous pouvez utiliser l'option -e pour une recherche exacte des termes). Puis vous pouvez utiliser layman pour ajouter l'overlay nécessaire. Souvenez-vous de lancer update-eix && update-eix-remote update de temps en temps.

Pour plus d'information sur les paquets et overlays de tièrce-partie, lisez http://gentoo-wiki.com/HOWTO_Installing_3rd_Party_Ebuilds .

Outils GUI de Portage

Kuroo et Porthole sont des interfaces GUI pour emerge / portage dans KDE et Gnome repectivement. Les deux fonctionnent très bien, et Kuroo dispose de plus de fonctions et suit les règles de portage plus étroitement que Porthole; Kuroo est aussi activement développé. Porthole passe pour être moins contraignant car il ignore les règles de portage qui alourdissent Kuroo.

Une nouvelle interface GUI nommée Portato - basée sur le GTK - est apparue récemment. Il existe également une autre interface GUI de Portage, basée sur GTK et écrite en Haskell, qui se nomme Himerge.

Réparer Kuroo

Tout d'abord, en tant que root, tapez emerge =kuroo-0.80.2-r1 pour le rétrograder à une version antérieure stable. Ensuite il vous faut résoudre tous les problèmes apparus avec emerge -pv world pour la génération du graphique de dépendances de Kuroo. (Lisez le paragraphe ci-dessous pour de l'aide sur le masquage et démasquage). Les problèmes les plus fréquents sont liés à dbus et ses librairies conjointes.

Optionnel: Vous pouvez aussi augmenter la vitesse de Kuroo et emerge, en tapant en tant que root emerge udept, puis, toujours en root, en tapant dep -w, ceci nettoie le fichier world de Sabayon, cela prend un peu de temps.

Installer Himerge

# emerge -av himerge

Paquets Hard-Masqués & /etc/portage/package.mask et /etc/portage/package.unmask

Les paquets Masqués / Hard-Masqués sont verrouillés ou bloqués dans portage pour différentes raisons, ce qui rend leur installation impossible.

(=catégoriedupaquet/nomdupaquet-version) Ceci est un "atome" de paquet valide. Chaque fois que vous recevez une erreur dans Portage concernant des "atomes" de paquets, ce peut être une de ces trois possibilités:

  1. Vous avez tapé le nom de l'atome de paquet de manière erronée. Vérifiez votre frappe et tentez re-emerge.
  2. L'atome existe uniquement dans l'overlay SabayonLinux et vous avez besoin de lancer #layman -S pour mettre à jour l'overlay, et lancer re-emerge pour le paquet
  3. L'atome que vous tentez d'installer n'existe pas du tout.

Exemples d'atomes de paquets valides qui peuvent nécessiter un masquage ou démasquage:

  • =x11-drivers/xf86-video-i128-1.2.1
  • =sys-apps/dbus-1.0.2
  • <=dev-libs/dbus-glib-0.73

Pour masquer un un paquet, ajoutez une ligne concernant ce paquet qui contient soit =atomedepaquetvalide ou >atomedepaquetvalide ou <atomedepaquetvalide ou >=atomedepaquetvalide ou <=atomedepaquetvalide, cela dépend de la version du paquet que vous voulez masquer dans /etc/portage/package.mask

Pour démasquer un paquet, ajoutez une ligne concernant ce paquet qui contient soit =atomedepaquetvalide ou >atomedepaquetvalide ou <atomedepaquetvalide ou >=atomedepaquetvalide ou <=atomedepaquetvalide, cela dépend de la version du paquet que vous voulez masquer dans /etc/portage/package.unmask.

Les paquets sont masqués pour une raison, cette raison peut être identifée soit dans portage, soit en demandant à d'autres utilisateurs. Soyez prudents lorsque vous masquez / démasquez des paquets.

Plus d'infos ici: http://gentoo-wiki.com/Masked

Mot-clef manquant

Si portage affiche ce message: "masked by: missing keyword" pendant l'opération de emerge, cela signifie que le paquet n'est pas encore disponible pour votre architecture, par exemeple vous utilisez un système x86_64 et pour l'instant ce paquet a "x86" comme unique mot-clef. Si vous avez vraiment besoin de ce paquet, vous pouvez essayer: echo "category/package x86 ~x86" >> /etc/portage/package.keywords pour sauter ce mot-clef pour le paquet dans une catégorie. (Note: j'ai utilisé le "~x86" instable, car le reste de Sabayon fonctionne avec des mot-clef instables). Comme Gentoo est basé sur les sources, il y a de grandes chances qu'un paquet soit compilé et fonctionnel sans aucune modification.

Plus d'infos ici: http://gentoo-wiki.com/Masked

/etc/portage/package.keywords

Ce fichier est utilisé pour lancer des paquets instables sur un système stable, ou des ebuilds qui n'ont pas été testés sur votre plateforme. Ce fichier n'est pas si important pour les utilisateurs de Sabayon, mais le wiki de Gentoo fournit plus d'informations à ce sujet si cela vous interesse.

/etc/make.conf

Lisez ceci: http://gentoo-wiki.com/MAN_make.conf_5

etc-update & dispatch-conf

Ces outils mettent à jour les fichiers de configuration après que des paquets aient été "emergés". man etc-update et man dispatch-conf , fournissent des informations nécessaires. En cas de doute, sauvegardez votre fichier de configuration avant de faire une mise à jour. Si cela se passe mal, vous pouvez réutiliser votre ancien fichier archivé.

revdep-rebuild, equery, eix, et plus

revdep-rebuild reconstruit les paquets cassés en raison de dépendances inverses, et failles de librairies.

revdep-rebuild -Xp avant de taper revdep-rebuild -X est une bonne idée. -X ignore la version spécifique d'un paquet, -p effectue une simulation, de ma même manière que emerge -p

revdep-rebuild prend du temps, et implique souvent d'importants "emerge" de paquets, mais votre système devrait bien fonctionner après cela.

equery et eix sont les outils de recherche étendue de portage, man equery et man eix fournissent leur syntaxe, pour de plus amples informations lisez gentoo-wiki.com et les Forums Gentoo.

Remerciements

--Appleman1234 23:48, 15 February 2007 (PST)