Aide-mémoire (des commandes) de Gentoo

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Gentoo Cheat Sheet and the translation is 97% complete.
Outdated translations are marked like this.

Cet article est une fiche de références de commandes et astuces utiles à l’administration des systèmes Gentoo. Les nouveaux arrivant et les «barbes-grises» sont encouragés à ajouter leur propre astuces utiles ci-dessous.

See also
Voir aussi la FAQ et la FAQ de Portage.

Gestion des paquets

Méthodes de synchronisation

Important
Il est important de lire et suivre toutes les «news items» (NdT: les nouvelles annonces de Portage) qui se présente après avoir réalisée une synchronisation. Voir les instructions détaillées à propos des mises à jours.

Portage

Synchronise tout les dépôts qui sont paramétrés pour automatiquement inclure le dépôt ebuild :

root #emaint --auto sync

Ou, pour faire court :

root #emaint -a sync

Synchronise le dépôt ebuild de Gentoo en utilisant les miroirs pour obtenir un «snapshot» (NdT: instantanée) qui est (au plus) vieux d’un jour :

root #emerge-webrsync

emerge --sync lance désormais le module de synchronisation d’emaint avec l’option --auto. Voir les opérations de synchronisation de Portage.

eix

Synchroniser le dépôt des paquets configurés et le dépôt ebuild de Gentoo en utilisant eix :

root #eix-sync

Cela ne synchronise pas uniquement les dépôts, cela met à jour le cache utilisé par eix pour réaliser des requêtes. Il peut être préférable de configurer Portage pour mettre à jour le cache automatiquement.

Listage des paquets

qlist

Liste les paquets installés avec leur numéro de version et le nom de l’«overlay» utilisé (NdT: une arborescence alternatives de paquets disponibles) :

root #qlist -IRv

qlist est fournit par app-portage/portage-utils.

eix

Pour voir la suite des paquets installés dans world, accompagnés de leur version disponibles, il est possible d’utiliser eix :

root #eix --world | less

Pour conserver la couleur dans la sortie (NdT: du terminal), utilisez l’option --color :

root #eix --color -c --world | less -R

Portage

Referring to Package sets, the selected set packages are listed by issuing:

user $emerge --pretend --quiet --emptytree --nodeps @selected

List all (*), or specific named, packages using multiple slots:

user $equery list --duplicates '*'

Installation de paquet

Dans l’exemple suivant le paquet www-client/firefox vas être utilisé, mais les utilisateurs devraient le remplacer avec les paquets qu’ils veulent installer.

Lister quels paquets seront installés, sans les installer :

user $emerge --pretend --verbose www-client/firefox

Ou, pour faire court :

user $emerge -pv www-client/firefox

Liste quels paquets seront installé, le demander avant l’installation :

root #emerge --ask --verbose www-client/firefox

Ou, pour faire court :

root #emerge -av www-client/firefox

Installer une version spécifique

Installer une version spécifique d’un paquet (utiliser "\=" (anti-slash et le signe égal) pour des terminaux qui donne une signification particulière au caractère "="). Par exemple :

root #emerge --ask =www-client/firefox-96.0.1
Attention !
Cela marchera temporairement, jusqu’à ce que le système soit mis à jour. Durant une mise à jour de Portage il essaiera d’installer la dernière version stable du paquet peu importe la version du paquet installé ; si le paquet a été originellement installé avec l’opérateur pré-fixé = ou non.

Pour prévenir Portage d’automatiquement mettre à jour un paquet, ajouter la ligne suivante dans le fichier /etc/portage/package.mask/package.mask (le créer s’il n’existe pas). Spécifier l’opérateur plus-grand-que préfixé (>) ou plus-petit-que (<) s’il est plus récent :

FILE /etc/portage/package.mask
<www-client/firefox-96.0.1

Voir le fichier /etc/portage/package.mask pour plus de détails sur le masquage des paquets.

Installer (NdT: un paquet) sans l’ajouter au fichier monde

Installer un paquet sans l’ajouter dans le fichier monde :

root #emerge --ask --oneshot www-client/firefox

Ou, pour faire court :

root #emerge -a1 www-client/firefox

Suppression de paquet

See also
Voir la documentation d’emerge sur la suppression des paquets pour plus d’informations.

--deselect

Utiliser l’option emerge --deselect (ou -W pour faire court) pour supprimer le paquet spécifié depuis le @world set (exemple : cela indique que le paquet n’est plus désiré désormais) :

root #emerge --deselect www-client/firefox

Maintenant lancer emerge --depclean (ou -c pour faire court). L’option --pretend (-p) fera faire à emerge une liste des actions à entreprendre, cela doit être revérifier avant application pour être sûr qu’aucun paquet désiré ne soit enlevé :

user $emerge --pretend --depclean

Si emerge --depclean n’as pas été lancé depuis un moment, il pourrait tenter de supprimer de nombreux paquets - la prudence est de mise. Une fois qu’il est certain que la commande emerge --depclean supprimera seulement des paquets non désirés, lancer :

root #emerge --ask --depclean

L’option --ask n’est pas réellement nécessaire après --pretend, mais est inclus dans la dernière commande pour éviter toutes mésaventures avec un copier-coller.

Conseil
Ne pas confondre l’option en minuscule -c, qui est la version courte de --depclean (et est sûr), avec la version en majuscule -C qui risque d’endommager le système et ne devrait être utilisé que lorsque cela est absolument nécessaire (voir l’avertissement dans la section suivante).

--depclean

Pour supprimer directement un paquet dont aucun autre ne dépend :

root #emerge --ask --verbose --depclean www-client/firefox
Calculating dependencies... done!
>>> Calculating removal order...
 
>>> These are the packages that would be unmerged:
 
 www-client/firefox
    selected: 68.5.0 
   protected: none 
     omitted: none 
 
All selected packages: =www-client/firefox-68.5.0
 
>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.
 
Would you like to unmerge these packages? [Yes/No]

Comme garde-fou, depclean ne supprimera pas de paquets à moins que toutes dépendances soit résolu. En conséquence, il est parfois nécessaire de lancer en premier :

root #emerge --ask --verbose --update --newuse --deep @world

Utiliser --changed-use (-U) à la place de --newuse (-N) pour éviter de recompiler lorsque seulement un USE flag a été ajouté ou supprimé du dépôt. Utiliser l’option --quiet (-q) pour une exécution plus succincte :

root #emerge --ask --quiet --update --changed-use --deep @world
Attention !
Il y a l’option --unmerge (-C), mais cela n’est pas recommandé et peut casser le système si elle n’est pas utilisé avec précaution. Cette option n’est à utiliser que si nécessaire et une fois correctement informé de ce qu’elle va faire. Cela va casser le système, ou d’autres logiciels, si utilisé sur certains paquet. La manière correcte de supprimer un paquet est en théorie toujours l’option --depclean, comme décrite ci-dessus. Cela dit, elle est parfois utile pour temporairement un blocage compliqué à résoudre.

Mise à jour des paquets

Pour mettre à jour tout les paquets dans le world set, leur dépendances (--deep) et les paquets qui ont eu un changement d’USE flag (évitant des recompilations qui ne sont pas nécessaires quand le changement n’a pas d’impact) :

root #emerge --ask --verbose --update --deep --changed-use @world

L’option --newuse peut être utilisée à la place de --changed-use pour être certains que tout les USE flags de tout les paquets reflètent leur état réels avec ceux du dépôt de Gentoo , cela dit il y aura plus de re-compilations. L’option --with-bdeps=y peut être utilisé pour mettre à jour les dépendances pendant celle-ci.

See also
Voir mettre à jour Gentoo pour des informations plus approfondies.

Résolution des problèmes de paquet

Vérifier les bibliothèques manquantes et les reconstruire (ce qui normalement n’est pas nécessaire) :

root #revdep-rebuild -v

equery fait partie de app-portage/gentoolkit. Installable via cette commande :

root #emerge -a gentoolkit

Indique quel paquet installé procure une commande en utilisant equery :

user $equery b `which vim`
Conseil
qfile peut offrir une alternative plus rapide à equery, si nécessaire.

Indique quel paquet (non) installé procure une commande en utilisant e-file :

user $e-file vim

Installer e-file avec :

root #emerge -a app-portage/pfl

Indique quels paquets dépendent d’un paquet spécifique (cat/pkg dans cet exemple) en utilisant equery :

user $equery d www-client/firefox

Obtenir des informations à propos d’un paquet en utilisant eix :

root #eix www-client/firefox
Attention !
Ne pas désinstaller sys-libs/glibc. Il est nécessaire pour à peu près tout les autres paquets. S’il est supprimé par accident, une clé USB/disque dur de récupération peut être nécessaire. Il peut être possible de récupérer glibc après avoir paramétré PORTAGE_BINHOST="http://packages.gentooexperimental.org/packages/amd64-stable/" dans /etc/portage/make.conf.

Reconstruction

Parfois il est nécessaire de reconstruire des paquets pour que certains autres puissent fonctionner. Voici parmi les re-compilations les plus communes :

Après avoir installé un nouveau noyau :

root #emerge @module-rebuild

Après avoir mis à niveau vers une autre version de Go :

root #emerge @golang-rebuild

Pour utiliser de nouvelles bibliothèques :

root #emerge @preserved-rebuild

Améliorations de Portage

S’occuper d’un changement de configurations après un emerge qui viens de se compléter :

root #dispatch-conf

Après une installation ou des mises à jours

Après avoir mis à jour le paquet perl-core :

root #perl-cleaner --all

Or si la commande précédente n’a pas fonctionné :

root #perl-cleaner --reallyall -- -av

Pour le paquet haskell :

root #haskell-updater

USE flags

Obtenir une description et l’usage de l’USE flag X en utilisant euse :

user $euse -i X

Obtenir plus d’informations sur euse en lisant les pages de son man :

user $man euse

Voir quels paquets ont l’USE flag mysql :

user $equery hasuse mysql

Montre quels paquets sont actuellement compilés avec le support de l’USE flag mysql :

user $eix --installed-with-use mysql

Montre les USE flags disponibles pour un paquet spécifiques :

user $equery uses <nom-du-paquet>

Ajouter rapidement l’USE flag requis pour l’installation d’un paquet :

root #echo 'dev-util/cmake -qt5' >> /etc/portage/package.use

Fichiers importants de Portage

Gestion des journaux

genlop

genlop est un ordinateur de journaux (NdT: dans le sens qui trie, ordonne) pour Portage, qui peut aussi estimer le temps nécessaire à construire un paquet.

Installer app-portage/genlop en tapant :

root #emerge -a app-portage/genlop

Obtenir plus d’informations sur genlop en lisant les pages de son manuel (man) :

root #man genlop

Voir les 10 derniers emerge (installations) :

root #genlop -l | tail -n 10

Pour voir combien de temps prendra la compilation de LibreOffice :

root #genlop -t libreoffice

Estimer combien de temps prendra la commande emerge -uND --with-bdeps=y @world :

root #emerge -pU @world | genlop --pretend

Voir le dernier merge d’un ebuild durant la mise à jour du système :

root #watch genlop -unc

Overlays (arborescence alternative de Portage)

Dépôt eselect

app-eselect/eselect-repository peut être installé en tapant :

root #emerge -a app-eselect/eselect-repository

Lister toutes les arborescences alternatives (de Portage, NdT: en anglais «overlays») :

user $eselect repository list

Lister tout les overlays installés :

user $eselect repository list -i
See also
Voir Eselect/Repository pour plus d’informations.

Services

Obtenir un terminal en root (si l’utilisateur est dans la liste de sudoers) :

user $sudo -i

OpenRC

Démarrer le démon (NdT: dans le sens service) au niveau d’exécution par défaut au démarrage :

root #rc-update add sshd default

Démarrer le service sshd tout de suite :

root #rc-service sshd start

Vérifier si le service sshd est en cours d’exécution :

root #rc-service sshd status

Redémarrer le service sshd :

root #rc-service sshd restart

Arrêter le service sshd :

root #rc-service sshd stop

Lister les services, leur état et à quel niveau d’exécution ils appartiennent :

root #rc-status --all

Affiche les services activés et à quel niveau d’exécution ils appartiennent (qu’ils soient en cours d’exécution ou non, seulement s’ils sont activés au démarrage ou non) :

root #rc-update show

systemd

Démarrer le démon ssh au démarrage :

root #systemctl enable sshd

Démarrer le service sshd tout de suite :

root #systemctl start sshd

Vérifier si le service sshd est en cours d’exécution :

root #systemctl status sshd

Astuces

Générer les méta-données du cache

Les dépôts ebuild varient du très petit au très gros en taille. Cela résulte en une exécution très lente de la plupart des opérations de Portage. Cela arrive car l’arborescence alternatives (overlays) ne contient pas les méta-données du cache. Le cache est utilisée pour accélérer les recherches et pour construire l’arbre des dépendances. Une astuce sympathique consiste à générer les méta-données localement après avoir synchronisé les arborescences.

root #emerge --regen

Cette astuces fonctionne aussi en conjonction avec eix. eix-update peut utiliser les méta-données du cache généré par emerge --regen pour accélérer les choses. Pour activer cela, ajouter la variable suivante au fichier /etc/eixrc/00-eixrc :

FILE /etc/eixrc/00-eixrc
OVERLAY_CACHE_METHOD="assign"

Chercher des paquets dans Portage avec des expressions régulières

Pour chercher des paquets dans Portage via les expressions régulières :

root #emerge -s "%^python$"

ou

root #emerge --search "%^python$"

qcheck

Utiliser qcheck pour vérifier les paquets installés :

root #qcheck vim-core

qcheck est installé avec app-portage/portage-utils et peut être installé en exécutant cette commande :

root #emerge -a app-portage/portage-utils

Apprendre plus à propos de qcheck en lisant les pages de son manuel :

user $man qcheck

Voir aussi

Ressources externes