Télécharger




Recherche :

Distribution Gentoo Linux, tutoriel Gentoolkit
Administration / Réseau

La distribution Gentoo est un cas unique dans le monde de Linux. Alors que les distributions classiques telles Suse, Red Hat ou Mandriva sont basées sur des paquetages RPM contenant des fichiers binaires, la distribution Gentoo est basée sur des paquetages de fichiers sources compilés à la volée lors de leur installation. Tout cela est très bien et apporte les indéniables avantages d'un système optimisé et parfaitement cohérent. Mais comment savoir que tel fichier appartient à tel paquetage, comment connaître les fichiers contenu par un paquetage, ou encore comment connaître les dépendances entre les paquetages, ou même comment connaître les options avec lesquels ils ont été compilés ?

1.

En plus d'installer des paquetages, l'outil RPM des distributions classiques est capable de fournir ce genre d'informations. Sous Gentoo il existe un paquetage particulier, le Gentoolkit, qui contient des utilitaires permettant d'accéder à ces informations. La première chose à faire est d'installer ce paquetage avec la commande emerge

emerge gentoolkit

Sous Gentoo la documentation des paquetages est déposée sous /usr/share/doc. La documentation du Gentoolkit ne fait pas exception:

2.

Les outils principaux sont equery, euse et revdep-rebuild. Il n'est pas très utile d'aller fouiller dans le dossier "deprecated". L'outil central est equery. En plus de la documentation ci-dessus, il existe des pages de man. Voici celle de equery:

3.

Comme en témoigne le man, equery est un outil très puissant qui reconnaît un grand nombre de commandes. Examinons quelques unes de ses possibilités.

La commande equery files

Cette commande permet de lister tous les fichiers appartenant à un paquetage. Nous pouvons l'essayer sur le paquetage gentoolkit lui-même :)

equery files gentoolkit

4.

La commande equery belongs

La commande belongs est en quelque sorte la réciproque de la commande files. Ici nous pouvons poser la question de savoir à quel paquetage appartient un fichier déterminé. Prenons par exemple la commande système cat. Nous saisissons dans la console

equery belongs cat

et nous obtenons:

5.

cat fait partie du paquetage coreutils, un paquetage d'applications système comme le classement sys-apps l'indique. Le fichier cat a été installé dans le répertoire système /bin.

La commande equery depends

Cette commande permet de connaître quels paquetages sont dépendants de la présence d'un paquetage donné. Par exemple sur un Gentoo sans KDE on donne la commande:

equery depends qt

et l'on obtient:

6.

Ainsi on constate que l'application Skype ne pourra fonctionner que si Qt4 est présente sur le système.

La commande equery hasuse

Sous Linux Gentoo, la variable d'environnement USE permet de définir des options de compilations pour les paquetages. Par exemple si l'on a USE=threads, tous les paquetages qui peuvent supporter en théorie le multithreading le supporteront aussi en pratique. En revanche, si on a USE=-threads alors les paquetages seront systématiquement compilés en mode monothread. Essayons cette commande sur le système de votre serviteur

equery hasuse threads

On obtient:

7.

Au delà d'une simple option de compilation, on peut aussi avec cette commande déterminer par exemple tous les paquetages qui travaillent avec le son alsa

equery hasuse alsa

8.

L'utilitaire euse.

La variable globale USE est définie dans le fichier /etc/make.conf. Bien entendu, il est toujours possible de modifier ce fichier manuellement. L'utilitaire euse permet d'automatiser le modification de USE dans /etc/make.conf. Voici celui de votre serviteur:

9.

Essayons d'ajouter l'option selinux. Il est évident que pour cela nous devons avoir les droits du super-utilisateur, contrairement à equery que chacun peut utiliser.

euse -E selinux

Nous obtenons

10.

selinux apparaît bien à la fin de la définition.

Nous pouvons maintenant désactiver l'option

euse -D selinux

11.

selinux est maintenant désactivée.

L'utilitaire revdep-rebuild

Cet outil est magique. Il peut arriver lorsque l'on installe, ou surtout lorsque l'on met à jour un paquetage, qu'un lien symbolique soit modifié et qu'une application ne fonctionne plus. C'est ainsi qu'il m'est arrivé de voir Gnome refuser de démarrer après une mise à jour de DBus. Dans ce cas, la commande revdep-rebuild fera merveille car elle est capable d'analyser le système, de trouver les dépendances brisées et de provoquer la reconstruction des paquetages qui le nécessitent. Autrement dit revdep-rebuild va réparer votre système défaillant. C'est aussi une commande complexe qu'il est possible d'utiliser plus finement qu'en tapant simplement revdep-rebuild dans la console. Le lecteur intéressé se reportera à la page de man de la commande. Mais au moins est il bon de savoir que cette commande existe, avant de se lancer, sous le coup de la panique, à réinstaller complètement un système :)

Proposer un tutoriel
Vous souhaitez partagez vos connaissances avec les membres de Programmez! Publiez vos tutoriels.

L'auteur
fredericmazue (Frédéric Mazué)

Developpeur Free Lance et Journaliste Informatique, je crois que vous me connaissez déjà un petit peu ;)



http://fmazue.is-a-geek.net

De A à Z
Programmez.com - 2013 - Tous droits réservés
Développement - WEB - ASP - PHP - C++ - Delphi - Java - Magazines - Ressources - Forum - Télécharger - Video - Emploi - Campus - .Net - Tutoriels

Le présent site Web est édité par Go 02, Sarl inscrite au RCS de Paris sous le N° 411321366 et dont le siège social est au 21 rue de Fécamp 75012 Paris.
Adresse de courrier électronique :diff@programmez.com

Le directeur de la publication du site www.programmez.com est Jean-Claude Vaudecrane en qualité de gérant de la sarl GO 02

Le portail du décideur informatique en entreprise : Solutions & Logiciels