Gentoolkit/fr

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.

Qu'est-ce que le Gentoolkit?
Gentoo est une distribution unique en son genre et présente quelques complexités qui n'existe 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.

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.

Trouver de la documentation
Toute la documentation dont un outil dispose (autre que les pages de manuel) se trouve dans.

Introduction
est un outil qui affiche des informations utiles à propos des paquets sur votre système. est basé sur un système de modules. Chaque module possède un nom abrégé. Par exemple,  équivaut à code>equery list gcc. explique les options globales et liste tous les modules disponibles et leur nom abrégé. affiche un écran d'aide pour le module nom_module. Pour finir,  procure une explication détaillée sur tous les modules et options disponibles, ainsi que des exemples.

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

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

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

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

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

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

Trouver de quel paquet provient un fichier avec le module belongs (b)
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é :

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 la marque horaire d'un paquet pour indiquer s'il a été corrompu, remplacé ou enlevé.

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 :

Obtenir le graphe de dépendances avec le module depgraph (g)
est le réciproque de. 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 --.

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

Lister les fichiers appartenant à un paquet avec le module files (f)
peut lister les fichiers installés par un ebuild grâce au module  module. Utilisez l'option  pour obtenir une présentation de l'agencement des répertoires facile à lire. Utilisez l'option pour vous limiter à un certain type de fichiers. Par exemple, pour savoir où ont été installés les exécutables, utilisez  ,et pour trouver rapidement l'emplacement des fichiers de configuration, essayez.

Looking for Packages that Have a Specific USE Flag with hasuse (h)
You can use  to find out which packages have a given USE flag. won't tell you if the flag is enabled, only if the ebuild lists it as an option. See the EXAMPLES section of  in the   man page for more tip on getting that information.

Listing Packages with list (l)
is a simple, yet powerful module to list packages that are installed, in the Portage tree or in an overlay.

The standard query will search installed packages for the given package name. Passing in '*' displays all packages in the set. In the leftmost field, we see that all the above packages are (nstalled) and from the  (ortage) tree. They're not masked (the second field is blank), and they're all installed in the default slot (0).

This time we are going to use local options to look for packages in the Portage tree and overlays.

In this example you can see version 7.2.182 is installed and there are no versions available from an overlay. You can see which versions are keyword masked by the  in the second field.

Viewing Package Metadata with meta (m)
Each package in the Portage tree provides at least some metadata about its maintainer, herd, etc. Read about Gentoo Metadata. The amount of useful information depends on how much package maintainers decide to provide. With no options,  returns some basic useful information.

When the maintainer provides extra information, it can be very useful:

Finding Package Sizes with size (s)
Have you ever been curious to find out how much space a specific package is occupying? Since a package could have its files over a number of directories, the usual  might not give you the correct figure. Not to worry, here comes  to the rescue!

As you can see,  prints the total space used in human-readable units and lists the total number of files the package has. To get the total size in bytes, use.

Listing Per-Package USE Flags with uses (u)
's  module can provide information about what USE flags are available for a specific package, and which of those flags is currently enabled.

Here, a number of USE flags are enabled in 's plugin meta-package, but you can see that there are other USE flags available. For more information on USE flags, please refer to the USE Flags chapter of the Gentoo Handbook.

Finding the Ebuild Path with which (w)
is a simple script to help you quickly find the file path to an ebuild. If you pass an unversioned package name,  will return the path to the newest installable ebuild version, in other words, the ebuild Portage would use if you typed. Pass in a versioned package to get the path to that ebuild.

Lastly, if none of the above features of  have answered your question, try using   to manually search an ebuild with programs like ,   or  :

Introduction
is a tool to see, set and unset USE flags at various places. For more information on USE flags, please refer to the USE Flags. Please see for complete help and all options.

Viewing, Setting and Unsetting USE Flags
The  command reads the current active USE flags and displays them.

Similarly you can use the  command to only view active global USE flags. The  command does the same for active local USE flags. and  are suboptions to   and need an option before them (like  ) to function correctly.

We can also use  to set or unset use flags. The commands used for this are  (enable a flag) and   (disable a flag).

Enabling a USE Flag:

The file looks like so after the command was ran:

Disabling the USE Flag:

Again, the file after the command:

revdep-rebuild
This tool is Gentoo's Reverse Dependency rebuilder. It will scan your installed ebuilds to find packages that have become broken as a result of an upgrade of a package they depend on. It can emerge those packages for you but it can also happen that a given package does not work any more with the currently installed dependencies, in which case you should upgrade the broken package to a more recent version. revdep-rebuild will pass flags to emerge which lets you use the  flag to see what is going to be emerged again before you go any further.

If you need to rebuild some packages, you may run  without the   flag and the listed packages will be emerged again.

glsa-check
is mainly a test tool that keeps track of the various GLSA's (Gentoo Linux Security Advisory) and will eventually be integrated into and.

eread
is a simple utility to display elog files produced by >=. You can set the saving of elog files by setting a couple of variables in :

Once you've set up elog to your satisfaction, just run  to view your log files.

Select a number and the file will be displayed using the paging program specified in the PAGER environment variable. If PAGER is not set, it will use.

After displaying the elog item, you will be prompted if you want to delete the file.

eclean
is a tool to remove old source files and old binary packages from your system.

When you build and install packages, the source files are downloaded and preserved in DISTDIR, usually. This can accumulate several gigs of material over time if you don't clean it periodically. You can run  to clean only source files from DISTDIR.

You can create archives of installed packages by using  or FEATURES="buildpkg". These archived packages are kept in PKGDIR, usually. When you no longer need to keep them around, or if they're too old, you can run  to remove them from PKGDIR. It's a good way to ensure that any binary packages you have are only the latest versions.

For more information on  and tips on maintaining a cruft-free system, please read.

Acknowledgements
We would like to thank the following authors and editors for their contributions to this guide:


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