Gentoolkit

From Gentoo Wiki
Revision as of 15:37, 6 March 2014 by FuzzyBot (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Other languages:English 100% • ‎español 100% • ‎français 100% • ‎한국어 59% • ‎русский 100%

Gentoolkit est une suite d'outils destinée à faciliter l'administration d'un système Gentoo. Ce document couvre les bases de quelques uns des outils présents dans cette boîte à outils.

Introduction

Qu'est-ce que le Gentoolkit?

Gentoo est une distribution unique en son genre et présente quelques complexités qui n'existent tout simplement pas dans d'autres distributions. Au fur et à mesure que les développeurs et contributeurs de Gentoo découvraient ces complexités, ils écrivirent des outils pour aider les utilisateurs et les administrateurs à les surmonter. Beaucoup de ces outils ont été apportés au projet Gentoo et sont inclus dans le paquet app-portage/gentoolkit.

Note
À ce jour, il existe deux versions de gentoolkit : app-portage/gentoolkit et app-portage/gentoolkit-dev. Alors que la première contient des scripts d'administration, la seconde contient des scripts déstinés à faciliter le développement sur Gentoo. Si vous êtes développeur, vous pouvez avoir vos scripts inclus dans gentoolkit-dev en prenant contact avec le mainteneur de gentoolkit. Ce document ne traite que de gentoolkit.

Gentoolkit contient tout un ensemble d'outils utiles pour vous aider à gérer vos paquets et garder la trace de ce qui se passe sur votre système. La plupart des utilisateurs -- en particuliers ceux qui mettent souvent leur système à jour -- tireront un bénéfice à avoir gentoolkit installé.

Installation

Comme pour tout paquet Gentoo, l'installation fait appel à une simple commande emerge.

root # emerge --ask gentoolkit
Note
Beaucoup des outils du gentoolkit fournissent des informations importantes sur votre système ou requièrent des privilèges de super-utilisateur. Pour cette raison, certains des programmes ne peuvent être exécutés (ou fonctionner correctement) que s'ils sont lancés par un utilisateur disposant des privilèges du super-utilisateur. .

Trouver de la documentation

Toute la documentation dont un outil dispose (autre que les pages de manuel) se trouve dans /usr/share/doc/gentoolkit-[version]/[nom_de_l_outil]/.

equery

Introduction

equery is a tool that displays useful information about the packages on your system. equery is based on a system of modules. Every module has a shorthand name. For example, equery l gcc is the same as equery list gcc. equery --help explains global options and lists all available modules and their shorthand names. equery --help module will display the help screen for a specific module. Lastly, man equery provides a detailed explanation of all available modules and options, and provides useful examples.

Ci-dessous se trouve une lise des fonctionnalités qui fonctionnent sur la majorité des modules.

user $ equery --quiet list gcc
sys-devel/gcc-4.3.2-r3
user $ equery --quiet list sys-devel/gcc
sys-devel/gcc-4.3.2-r3
user $ equery --quiet list '>=sys-devel/gcc-4'
sys-devel/gcc-4.3.2-r3

Tout comme emerge, equery ne comprend pas les noms partiels de paquet :

user $ equery check zilla
!!! No package found matching zilla

À l'inverse d'emerge, equery peut accepter des passe-partout similaires à ceux du shell dans les noms de catégorie et/ou de paquet :

user $ equery check '*zilla*'
 * Checking www-client/mozilla-firefox-3.0.14 ...
    90 out of 90 files passed
user $ equery check www-c*/*
 * Checking www-client/links-2.2 ...
   30 out of 30 files passed
 * Checking www-client/mozilla-firefox-3.0.14 ...
   90 out of 90 files passed

La plupart des modules d'equery accepte des entrées multiples :

user $ equery hasuse sse sse2
 * Searching for USE flag sse ...
[IP-] [  ] media-libs/flac-1.2.1-r3 (0)
[IP-] [  ] media-libs/speex-1.2_beta3_p2 (0)
  
 * Searching for USE flag sse2 ...
[IP-] [  ] dev-libs/openssl-0.9.8k (0)
[IP-] [  ] x11-libs/pixman-0.16.0 (0)

Quelques modules acceptent également les expressions régulières :

user $ equery -q list --portage-tree --full-regex '[kr]?flickr.*'
dev-dotnet/flickrnet-bin-2.2
dev-ruby/flickr-1.0.2-r1
dev-ruby/flickr-1.0.2-r2
dev-ruby/rflickr-20060201
media-gfx/kflickr-0.6
[...]
Note
La prise en charge des passe-partout a remplacé un certain nombre d'anciennes options dans equery. Par exemple, pour agir sur tous les paquets d'un jeu , utilisez '*'. Pour agir sur tous les paquets d'une catégorie, utilisez 'nom_de_catégorie/*'.
Attention !
N'oubliez pas de mettre les entrées entre apostrophes (quotes) lorsque vous utilisez des caractères spéciaux du shell comme les astérisques ou les signes inférieur à et supérieur à.

Les quelques sections qui suivent introduisent rapidement les différents modules de equery.

Trouver de quel paquet provient un fichier avec le module belongs (b)

user $ equery belongs -e /usr/bin/glxgears
 * Searching for /usr/bin/glxgears ...
 x11-apps/mesa-progs-7.5.1 (/usr/bin/glxgears)

En utilisant l'option -f vous pouvez chercher les paquets installant des fichiers correspondant à une expression régulière. L'option -e est utile pour terminer la recherche immédiatement après avoir trouvé une correspondance. Comme il n'existe pas de fichier qui puisse avoir été installé par deux paquets, c'est là une optimisation sûre.

Retouver les entrées de journalisation concernant des changements avec le module changes (c)

changes vous permet de voir les entrées de journalisation correspondant à un changement de version (ou plage de versions) d'un paquet. Imaginez qu'après une commande emerge --sync, vous vous rendiez compte que Portage va être mis à jour et que vous vouliez savoir ce qui a changé :

user $ equery changes portage
*portage-2.1.6.13 (03 May 2009)
  
  03 May 2009; Zac Medico <zmedico@gentoo.org> +portage-2.1.6.13.ebuild:
  2.1.6.13 bump. This fixes bug #268398 (document econf automatic die)
  and bug #267104 (handle insufficient space interaction with userfetch).
  Bug #268228 tracks all bugs fixed since 2.1.6.11.

Vérifier l'intégrité d'un paquet avec le module check (k)

Il est parfois utile de vérifier l'intégrité d'un paquet. equery peut vérifier la somme md5 ainsi que l'horodatage d'un paquet pour indiquer s'il a été corrompu, remplacé ou enlevé.

user $ equery check gentoolkit
 * Checking app-portage/gentoolkit-0.3.0_rc7 ...
   71 out of 71 files passed

Lister tous les paquets dépendant d'un autre avec le module depends (d)

Vous vous demandez peut-être si un paquet donné est installé sur votre système ? equery est capable de vous donner les noms des paquets qui le listent en tant que dépendance directe. Il faut faire appel pour cela au module depends :

user $ equery depends pygtk
 * Searching for pygtk ...
app-admin/pessulus-2.24.0 (>=dev-python/pygtk-2.6.0)
app-editors/gedit-2.24.3 (python ? >=dev-python/pygtk-2.12)
dev-libs/libgweather-2.24.3 (python ? >=dev-python/pygtk-2)
dev-python/gnome-python-base-2.22.3 (>=dev-python/pygtk-2.10.3)
dev-python/gnome-python-desktop-base-2.24.1 (>=dev-python/pygtk-2.10.3)
[...]

Obtenir le graphe de dépendances avec le module depgraph (g)

depgraph est le réciproque de depends. Vous lui donnez un paquet en paramètre, et il est capable de trouver les paquets dont il dépend et non pas ceux qui dépendent de lui ! Lorsqu'une dépendance est trouvée, il va rechercher, de manière récursive, tous les paquets dont ce dernier dépend. Il est possible de contrôler la profondeur de l'arbre avec l'option ----depth .

user $ equery depgraph mozilla-firefox
 * Searching for mozilla-firefox ...
 * dependency graph for www-client/mozilla-firefox-2.0.0.19:
`-- www-client/mozilla-firefox-2.0.0.19
 `-- virtual/jre-1.6.0 (virtual/jre) [java]
  `-- virtual/jdk-1.6.0 (virtual/jdk-1.6.0*)
  `-- dev-java/icedtea6-bin (unable to resolve: package masked or removed)
   `-- dev-java/sun-jdk-1.6.0.15
    `-- dev-java/java-sdk-docs-1.6.0.10 [doc]
     `-- app-arch/unzip-6.0-r1
      `-- app-arch/bzip2-1.0.5-r1 [bzip2]
    `-- sys-libs/glibc-2.9_p20081201-r2
     `-- sys-devel/gettext-0.17 [nls]
      `-- virtual/libiconv-0 (virtual/libiconv)
[...]

Notez bien ici que jre est une dépendance directe et que jdk est une dépendance indirecte si l'option java de la variable USE est validée.

Lister les fichiers appartenant à un paquet avec le module files (f)

equery peut lister les fichiers installés par un ebuild grâce au module files module. Utilisez l'option --tree pour obtenir une présentation de l'agencement des répertoires facile à lire. Utilisez l'option --filter pour vous limiter à un certain type de fichiers. Par exemple, pour savoir où ont été installés les exécutables, utilisez --filter=cmd ,et pour trouver rapidement l'emplacement des fichiers de configuration, essayez--filter=conf .

user $ equery files --tree gentoolkit
 * Searching for gentoolkit ...
 * Contents of app-portage/gentoolkit-0.3.0_rc7:
 /etc
   > /eclean
      + distfiles.exclude
      + packages.exclude
   > /env.d
      + 99gentoolkit-env
   > /revdep-rebuild
      + 99revdep-rebuild
 /usr
   > /bin
      + eclean
      + eclean-dist -> eclean
      + eclean-pkg -> eclean
      + epkginfo
      + equery
      + eread
      + euse
      + glsa-check
      + revdep-rebuild
   > /lib
      > /python2.6
         > /site-packages
            > /gentoolkit
            + gentoolkit-0.3.0_rc7-py2.6.egg-info
               + __init__.py
               > /equery
                  + __init__.py
                  + belongs.py
                  + changes.py
                  + check.py
                  + depends.py
                  + depgraph.py
                  + files.py
[...]

Chercher les paquets qui utilisent une option spécifique de USE avec le module hasuse (h)

Si vous souhaitez trouver quels paquets sur votre système peuvent utiliser une option USE bien précise, equery dispose de la fonction hasuse. Ce module ne vous dira pas si l'option est activée, mais seulement si l'option peut être définie. Reportez-vous à la page de manuel de equery pour plus de détail sur la manière d'obtenir cette information.

user $ equery hasuse qt3 qt4
 * Searching for USE flag qt3 ...
[IP-] [  ] app-crypt/pinentry-0.7.5 (0)
[IP-] [  ] net-dns/avahi-0.6.24-r2 (0)
[IP-] [  ] net-wireless/wpa_supplicant-0.6.9 (0)
  
 * Searching for USE flag qt4 ...
[IP-] [  ] net-dns/avahi-0.6.24-r2 (0)
[IP-] [  ] net-wireless/wpa_supplicant-0.6.9 (0)

Lister les paquets avec le module list (l)

equery dispose d'un outil puissant permettant de lister les paquets installés sur votre système, dans l'arbre de Portage ou même dans un « arbre alternatif ».

user $ equery list '*'
 * Searching for * ...
[IP-] [  ] app-admin/eselect-1.2.3 (0)
[IP-] [  ] app-admin/eselect-ctags-1.10 (0)
[IP-] [  ] app-admin/eselect-esd-20060719 (0)
[IP-] [  ] app-admin/eselect-fontconfig-1.0 (0)
[IP-] [  ] app-admin/eselect-opengl-1.0.8-r1 (0)
[IP-] [  ] app-admin/eselect-python-20090824 (0)
[IP-] [  ] app-admin/eselect-ruby-20081227 (0)
[IP-] [  ] app-admin/eselect-vi-1.1.5 (0)
[IP-] [  ] app-admin/perl-cleaner-1.05 (0)
[IP-] [  ] app-admin/pessulus-2.24.0 (0)
[IP-] [  ] app-admin/python-updater-0.7 (0)
[IP-] [  ] app-admin/sudo-1.7.2_p1 (0)
[...]

La recherche standard cherchera parmi les paquets installés un nom donné. En donnant '*' tous les paquets du jeu seront listés. Dans le champ le plus à gauche, nous voyons que les paquets sont Installés et qu'ils proviennent de l'arbre de Portage. Ils ne sont pas masqués (le second champ est vide), ils sont tous installés dans le slot par défaut (0).

Dans cet exemple, nous allons utiliser des options locales pour chercher des paquets de notre arbre de Portage et dans les arbres alternatifs (overlays).

user $ equery list -po vim
 * Searching for vim ...
[-P-] [  ] app-editors/vim-7.0.235 (0)
[-P-] [ ~] app-editors/vim-7.0.243 (0)
[-P-] [  ] app-editors/vim-7.1.123 (0)
[-P-] [ ~] app-editors/vim-7.1.330 (0)
[-P-] [  ] app-editors/vim-7.2 (0)
[-P-] [ ~] app-editors/vim-7.2.108 (0)
[IP-] [  ] app-editors/vim-7.2.182 (0)
[-P-] [ ~] app-editors/vim-7.2.238 (0)
[-P-] [ ~] app-editors/vim-7.2.264 (0)

Dans cet exemple, vous pouvez voir que la version 7.2.182 est installée et qu'aucune version n'est disponible depuis un arbre alternatif. Vous pouvez aussi voir quelles versions sont masquées par un mot clé sous la forme d'un ~ dans le deuxième champ.

Voir les Méta-données d'un paquet avec le module meta (m)

Tout paquet de l'arbre Portage fournit au moins quelques méta-données sur qui est chargé de sa maintenance, le herd auquel il appartient, etc. Reportez-vous, pour plus de détails, à Gentoo Metadata. La quantité d'informations utiles dépend du bon vouloir de ses mainteneurs. Sans option, meta retourne quelques informations de base.

user $ equery meta gnucash
 * app-office/gnucash [gentoo]
 Herd:        gnome-office (gnome-office@gentoo.org)
 Maintainer:  tove@gentoo.org (Torsten Veller)
 Upstream:    None specified
 Location:    /usr/portage/app-office/gnucash
 Keywords:    2.2.9-r1:0: alpha amd64 ppc sparc x86
 Keywords:    2.2.9-r2:0:
 Keywords:    2.3.8:0:
 Keywords:    2.3.10:0: ~alpha ~amd64 ~ppc ~sparc ~x86

Lorsque les mainteneurs fournissent des informations supplémentaires, elles peuvent s'avérer très utiles :

user $ equery meta --description emacs
 * app-editors/emacs
  GNU Emacs is an extensible, customizable text editor - and more. At its core
  is an interpreter for Emacs Lisp, a dialect of the Lisp programming language
  with extensions to support text editing. The features of GNU Emacs include:
   * Content-sensitive editing modes, including syntax coloring, for a wide
     variety of file types including plain text, source code, and HTML.
   * Complete built-in documentation, including a tutorial for new users.
   * Support for many languages and their scripts, including all the European
     "Latin" scripts, Russian, Greek, Japanese, Chinese, Korean, Thai,
     Vietnamese, Lao, Ethiopian, and some Indian scripts.
   * Highly customizable, using Emacs Lisp code or a graphical customization
     interface.
   * A large number of extensions that add other functionality, including a
     project planner, mail and news reader, debugger interface, calendar, and
     more. Many of these extensions are distributed with GNU Emacs; others are
     available separately.

Trouver la taille d'un paquet avec le module size (s)

Vous êtes-vous déjà demandé quel espace disque occupe un de vos paquets ? Puisqu'un paquet peut installer des fichiers dans plus d'un répertoire, la commande habituelle du -hc ne vous renseignera pas correctement. Pas d'inquiétude, equery est là pour vous aider !

user $ equery size openoffice-bin
 * app-office/openoffice-bin-3.1.1
         Total files : 4624
         Total size  : 361.38 MiB

Comme vous pouvez le voir, size donne à la fois l'espace disque total occupé en kilooctets et le nombre de fichiers du paquet. Pour avoir la taille totale en octets, utilisez --bytes .

Liste des options de USE d'un paquet avec le module uses (u)

Le module uses de equery peut être utilisé pour obtenir de l'information sur les options de la variable USE utilisées par un paquet donné. Il vous indiquera le positionnement des options de la variable USE utilisées lors de l'installation du paquet, et aussi toutes les options de la variable USE disponibles pour ce paquet.

user $ equery uses gst-plugins-meta
 * Searching for gst-plugins-meta ...
[ Legend : U - flag is set in make.conf       ]
[        : I - package is installed with flag ]
[ Colors : set, unset                         ]
 * Found these USE flags for media-plugins/gst-plugins-meta-0.10-r2:
 U I
 + + X      : Adds support for X11
 - - a52    : Enables support for decoding ATSC A/52 streams used in DVD
 + + alsa   : Adds support for media-libs/alsa-lib (Advanced Linux Sound
              Architecture)
 - - dvb    : Adds support for DVB (Digital Video Broadcasting)
 + + dvd    : Adds support for DVDs
 + + esd    : Adds support for media-sound/esound (Enlightened Sound Daemon)
 + + ffmpeg : Enable ffmpeg-based audio/video codec support
 + + flac   : Adds support for FLAC: Free Lossless Audio Codec
 - - mad    : Adds support for mad (high-quality mp3 decoder library and cli
              frontend)
 + + mpeg   : Adds libmpeg3 support to various packages
 - - mythtv : Support for retrieval from media-tv/mythtv backend
 + + ogg    : Adds support for the Ogg container format (commonly used by
              Vorbis, Theora and flac)
 - - oss    : Adds support for OSS (Open Sound System)
 + + theora : Adds support for the Theora Video Compression Codec
 + + vorbis : Adds support for the OggVorbis audio codec
 - - xv     : Adds in optional support for the Xvideo extension (an X API for
              video playback)

Dans l'exemple précédent, vous pouvez voir que certaines options de la variable USE sont activées pour le module d'extension gstreamer, mais également que d'autres options sont disponibles. Pour en savoir plus sur les options de la variable USE, consultez le chapitre La variable USE du Manuel Gentoo.

Trouver où se trouve un ebuild avec le module which (w)

which est un simple script qui vous aide à trouver rapidement le chemin vers un ebuild. Si vous passez un nom de paquet sans version, which retourne le chemin vers la version installable de l'ebuild la plus récente. En d'autres termes, l'ebuild que Portage utiliserait si vous tapiez emerge package. Donnez un nom de paquet avec version pour obtenir le chemin vers cet ebuild.

user $ equery which gnome
/usr/portage/gnome-base/gnome/gnome-2.26.3.ebuild

En dernier recours, si aucune des fonctionnalités de equery ne répond à votre interrogation, essayez which pour rechercher manuellement un ebuid avec des programmes tels que cat, less ou grep:

user $ grep HOMEPAGE $(equery which gentoolkit)
HOMEPAGE="http://www.gentoo.org/proj/en/portage/tools/index.xml"


Warning
gardez cependant à l'esprit que equery modifie le format de la sortie lorsqu'il la transmet à un tuyau (pipe). Le format à destination d'un tel tuyau est prévu pour être plus facilement analysable par les outils, mais vous pouvez désactiver ce formatage avec l'option --no-pipe. Lorsque vous écrivez des scripts utilisant equery, ne l'oubliez pas.

euse

Introduction

euse sert à voir, activer et désactiver les options de la variable USE en différents endroits. Pour plus d'information sur les options de la variable USE , reportez-vous à La variable USE. Consultez euse -h pour obtenir une aide complète et et toutes les options de euse.

Consulter, activer et désactiver des options de la variable USE

La commande euse -a lit la configuration actuelle des options activées de la variable USE et les affiche.

Note
euse utilise désormais cinq colonnes pour montrer si une option est activée ou non et à quel endroit cette option a été activée. Les colonnes sont précisées comme suit : +/-, activé dans l'Environnement, activée dans make.Conf, activée dans make.Defaults, et dans make.Globals. La sortie ressemble à [+ECDG].
root # euse -a
X                   [+ CD ]
aalib               [+    ]
acpi                [+ C  ]
alsa                [+ C  ]
apache2             [+ C  ]
apm                 [+  D ]
avi                 [+  D ]
berkdb              [+  D ]
bitmap-fonts        [+  D ]
bonobo              [+    ]
cdr                 [+ C  ]
crypt               [+ CD ]
cscope              [+ C  ]
cups                [+ CD ]
curl                [+    ]
emboss              [+  D ]
encode              [+  D ]
esd                 [+    ]
fam                 [+    ]
fbcon               [+ C  ]
firefox             [+ C  ]
font-server         [+  D ]
foomaticdb          [+  D ]
fortran             [+  D ]
gd                  [+ C  ]
gdbm                [+  D ]
gif                 [+ CD ]
gimpprint           [+ C  ]
gnome               [+ CD ]
gphoto2             [+    ]
gpm                 [+ CD ]
gstreamer           [+ C  ]
gtk                 [+  D ]
gtkhtml             [+ C  ]
guile               [+    ]
imagemagick         [+    ]
imlib               [+ CD ]
innodb              [+    ]
ipv6                [+  D ]
javascript          [+ C  ]
jpeg                [+ CD ]
kde                 [+  D ]
ldap                [+    ]
libg++              [+ CD ]
libwww              [+ CD ]
mad                 [+ CD ]
mbox                [+ C  ]
md5sum              [+ C  ]
mikmod              [+ CD ]
mmx                 [+ C  ]
motif               [+ CD ]
mp3                 [+    ]
mpeg                [+ CD ]
mpeg4               [+ C  ]
mysql               [+ C  ]
ncurses             [+ CD ]
nls                 [+  D ]
nvidia              [+ C  ]
odbc                [+    ]
offensive           [+    ]
ogg                 [+ CD ]
opengl              [+ CD ]
oss                 [+  D ]
pam                 [+ CD ]
pdflib              [+ CD ]
perl                [+ CD ]
png                 [+ CD ]
python              [+ CD ]
qt                  [+  D ]
quicktime           [+ CD ]
readline            [+ CD ]
ruby                [+    ]
sdl                 [+ CD ]
slang               [+  D ]
spell               [+ CD ]
sse                 [+ C  ]
ssl                 [+ CD ]
svga                [+ CD ]
tcltk               [+ C  ]
tcpd                [+  D ]
tiff                [+ C  ]
truetype            [+ CD ]
usb                 [+ C  ]
vanilla             [+ C  ]
x86                 [+ C  ]
xml                 [+    ]
xosd                [+ C  ]
xv                  [+ CD ]
xvid                [+ C  ]
zlib                [+ CD ]

Vous pouvez aussi utiliser la commande euse -a -g pour ne consulter que les options globales de la variable USE qui sont activées. La commande euse -a -l permet d'obtenir la même chose pour les options locales de la variable USE. -g et -l sont des sous-options de euse et nécessitent une option donnée auparavant (comme -a) pour fonctionner correctement.

root # euse -a -l
bitmap-fonts        [+  D ]
font-server         [+  D ]
fortran             [+  D ]
gimpprint           [+ C  ]
md5sum              [+ C  ]
mpeg4               [+ C  ]
nvidia              [+ C  ]
offensive           [+    ]
truetype            [+ CD ]

On peut également utiliser euse pour activer ou désactiver des options de USE. Les commandes à utiliser sont euse -E nom_option (activer une option) et euse -D nom_option (désactiver une option).

Attention !
n'utilisez pas les commandes euse -E ou euse -D sans préciser d'option de USE sinon cela activera/désactivera TOUTES les options de USE dans /etc/portage/make.conf. Même si une sauvegarde est créée sur /etc/portage/make.conf.euse_backup, faites attention en utilisant euse -E ou euse -D .

Activer une option de la variable USE :

root # euse -E 3dfx
/etc/portage/make.conf was modified, a backup copy has been placed at /etc/portage/make.conf.euse_backup

Le fichier /etc/portage/make.conf ressemble à ceci après exécution de la commande :

Filemake.confAprès activation de l'option 3dfx de la variable USE

USE="alsa acpi apache2 -arts cups cdr crypt cscope -doc fbcon \
     firefox gd gif gimpprint gnome gpm gstreamer gtkhtml imlib \
     innodb -java javascript jpeg libg++ libwww mad mbox md5sum \
     mikmod mmx motif mpeg mpeg4 mysql ncurses nvidia \
     ogg odbc offensive opengl pam pdflib perl png python \
     quicktime readline sdl spell sse ssl svga tcltk tiff truetype usb \
     vanilla X xosd xv xvid x86 zlib 3dfx"

Désactiver une option de la variable USE :

root # euse -D 3dfx
/etc/portage/make.conf was modified, a backup copy has been placed at /etc/portage/make.conf.euse_backup

De nouveau, le fichier /etc/portage/make.conf après la commande :

Filemake.confAprès désactivation de l'option 3dfx de la variable USE

USE="alsa acpi apache2 -arts cups cdr crypt cscope -doc fbcon \
     firefox gd gif gimpprint gnome gpm gstreamer gtkhtml imlib \
     innodb -java javascript jpeg libg++ libwww mad mbox md5sum \
     mikmod mmx motif mpeg mpeg4 mysql ncurses nvidia \
     ogg odbc offensive opengl pam pdflib perl png python \
     quicktime readline sdl spell sse ssl svga tcltk tiff truetype usb \
     vanilla X xosd xv xvid x86 zlib -3dfx"
Note
euse ne supprime pas réellement les options du fichier make.conf ; il les préfixe simplement avec - (moins) afin de les désactiver. Vous souhaiterez peut-être nettoyer manuellement votre make.conf pour retirer les options non désirées. Sinon vous pouvez utiliser l'option -P (purge), comme par exemple dans euse -P 3dfx

Autres outils

revdep-rebuild

Cet outil est le « reconstructeur des dépendances inverses » de Gentoo. Il examine les paquets installés sur votre système pour trouver ceux qui ne fonctionnent plus à cause de la mise à jour de paquets dont ils dépendent. Il peut aussi installer ces paquets manquants pour vous, mais lorsqu'un paquet ne fonctionne plus avec les versions des dépendances déjà installées, il est conseillé de mettre à jour ce paquet vers une version récente. Si vous spécifiez des options, revdep-rebuild les passera à la commande emerge, ce qui vous permet d'utiliser l'option --pretend pour consulter la liste des paquets qui seront installés avant de procéder.

root # revdep-rebuild -p
 * Configuring search environment for revdep-rebuild
  
 * Checking reverse dependencies
 * Packages containing binaries and libraries broken by a package update
 * will be emerged.
  
 * Collecting system binaries and libraries
 * Generated new 1_files.rr
 * Collecting complete LD_LIBRARY_PATH
 * Generated new 2_ldpath.rr
 * Checking dynamic linking consistency
[ 48% ]  *   broken /usr/lib/gstreamer-0.10/libgsttaglib.la (requires /usr/lib/libtag.la)
[ 64% ]  *   broken /usr/lib/libgdkglext-x11-1.0.la (requires /usr/lib/libGLU.la)
[ 67% ]  *   broken /usr/lib/libgtkglext-x11-1.0.la (requires /usr/lib/libGLU.la)
[ 85% ]  *   broken /usr/lib/python2.6/site-packages/gtk-2.0/gtk/gdkgl/_gdkgl.la (requires /usr/lib/libGLU.la)
 *   broken /usr/lib/python2.6/site-packages/gtk-2.0/gtk/gtkgl/_gtkgl.la (requires /usr/lib/libGLU.la)
[ 97% ]  *   broken /usr/qt/3/lib/libqt-mt.la (requires -lpng)
[ 100% ]
 * Generated new 3_broken.rr
 * Assigning files to packages
 *   /usr/lib/gstreamer-0.10/libgsttaglib.la -> media-plugins/gst-plugins-taglib
 *   /usr/lib/libgdkglext-x11-1.0.la -> x11-libs/gtkglext
 *   /usr/lib/libgtkglext-x11-1.0.la -> x11-libs/gtkglext
 *   /usr/lib/python2.6/site-packages/gtk-2.0/gtk/gdkgl/_gdkgl.la -> dev-python/pygtkglext
 *   /usr/lib/python2.6/site-packages/gtk-2.0/gtk/gtkgl/_gtkgl.la -> dev-python/pygtkglext
 *   /usr/qt/3/lib/libqt-mt.la -> x11-libs/qt
 * Generated new 4_raw.rr and 4_owners.rr
 * Cleaning list of packages to rebuild
 * Generated new 4_pkgs.rr
 * Assigning packages to ebuilds
 * Generated new 4_ebuilds.rr
 * Evaluating package order
 * Generated new 5_order.rr
 * All prepared. Starting rebuild
emerge --oneshot --pretend  dev-python/pygtkglext:0
media-plugins/gst-plugins-taglib:0.10
x11-libs/gtkglext:0
x11-libs/qt:3
  
These are the packages that would be merged, in order:
  
Calculating dependencies... done!
[ebuild   R   ] media-plugins/gst-plugins-taglib-0.10.17
[ebuild   R   ] x11-libs/gtkglext-1.2.0
[ebuild   R   ] x11-libs/qt-3.3.8b-r2
[ebuild   R   ] dev-python/pygtkglext-1.1.0
 * Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild.

Si vous devez reconstruire certains paquets, vous pouvez exécuter revdep-rebuild sans l'option -p. Tous les paquets listés seront réinstallés.

glsa-check

glsa-check sert à garder un œil sur les GLSA (Gentoo Linux Security Advisories ou encore Recommandations Gentoo Linux sur la sécurité, en français). Les fonctions de glsa-check seront incorporées à emerge et equery. plus tard.

eread

eread est un utilitaire simple qui vous permet de lire les fichiers elog produits par >=portage-2.1. Pour activer l'enregistrement des fichiers elog, paramétrez quelques variables dans votre fichier /etc/portage/make.conf :

Filemake.confActiver elog

PORTAGE_ELOG_CLASSES="log"
PORTAGE_ELOG_SYSTEM="save"
Note
ce n'est qu'un exemple. Pour savoir comment fonctionne le système elog de Portage, veuillez vous référer à la page appropriée du manuel de Portage..

Une fois qu'elog est configuré à votre convenance, lancez simplement eread pour visualiser les fichiers d'historique.

user $ eread
This is a list of portage log items. Choose a number to view that file or type
q to quit.
  
1- app-portage:gentoolkit-0.2.4_pre2:20070320-000256.log
2- app-portage:gentoolkit-0.2.4_pre2:20070320-000258.log
3- app-portage:gentoolkit-0.2.4_pre2:20070320-000319.log
4- app-portage:gentoolkit-0.2.3:20070320-000408.log
Choice?

Choisissez le numéro du fichier à examiner et celui-ci sera affiché par le programme défini par la variable d'environnement PAGER. Si PAGER n'est pas définie, less sera utilisée. La variable d'environnement PAGER peut être définie à l'aide de eselect (module pager).

Après avoir vu le fichier, on vous demandera si vous voulez le supprimer.

eclean

eclean est un outil de nettoyage pour retirer les fichiers sources ou binaires inutiles sur votre système.

Lorsque vous compilez et installez des paquets, les fichiers source sont téléchargés et sauvegardés dans DISTDIR, ordinairement /usr/portage/distfiles. Ce fonctionnement peut conduire à l'accumulation de gigaoctets au fil du temps si vous ne les nettoyez pas régulièrement. Vous pouvez utiliser la commande eclean-dist pour ne retirer que les fichiers source de DISTDIR.

Vous pouvez créer des archives à partir des paquets installés en utilisant quickpg ou FEATURES="buildpkg". Ces archives sont conservées dans PKGDIR, ordinairement /usr/portage/packages. Quand vous n'avez plus besoin de les conserver à portée, ou s'ils sont devenus trop vieux, vous pouvez utiliser eclean-pkg pour les retirer de PKGDIR. C'est une bonne façon de garantir que les paquets binaires que vous avez correspondent aux dernières versions.

Pour plus d'information sur eclean et sur la manière de tenir à jour un système sans résidu , lisez man eclean ou consultez l'article eclean.

Remerciements

Nous tenons à remercier les auteurs et éditeurs suivants pour leur contribution à ce guide :


  • Matt Butcher
  • John P. Davis
  • Erwin
  • Shyam Mani
  • Xavier Neys
  • Karl Trygve
  • José Luis Rivero
  • Joshua Saddler
  • Douglas Anderson

See also