q applets/fr

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Q applets and the translation is 100% complete.

Other languages:
English • ‎français • ‎português do Brasil • ‎русский • ‎日本語 • ‎한국어

Warning: Display title "q applets/fr" overrides earlier display title "Q applets".

Resources

Les q applets sont une collection de petits outils de requête (query) rapide de Portage écrits en C. Elles sont conçues pour offrir une alternative plus rapide, mais plus limité à leurs homologues de app-portage/gentoolkit.

Les lecteurs noteront que les q applets n'ont pas été crées pour remplacer gentoolkit; elles peuvent simplement être plus efficaces que les utilitaires équivalents de gentoolkit et peuvent être plus adaptées à l'utilisation au sein de scripts qui doivent appeler Portage de manière répétée. Ils "n'offrent" pas les mêmes fonctionnalités. Les q applets ne prennent pas en compte les eclasses et ne fournissent pas d'outils tels que revdep-rebuild ou glsa-check.

Installation

USE flags

USE flags for app-portage/portage-utils Small and fast Portage helper tools written in C

libressl Use dev-libs/libressl instead of dev-libs/openssl when applicable (see also the ssl useflag)
nls Add Native Language Support (using gettextGNU locale utilities)
openmp Build support for the OpenMP (support parallel computing), requires >=sys-devel/gcc-4.2 built with USE="openmp"
qmanifest Build qmanifest applet, this adds additional dependencies for GPG, OpenSSL and BLAKE2B hashing
qtegrity Build qtegrity applet, this adds additional dependencies for OpenSSL
static !!do not set this during bootstrap!! Causes binaries to be statically linked instead of dynamically

Emerge

Pour installer les q applets:

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

Utilisation

Invocation

La liste complète des applications qui sont fournies par app-portage/portage-utils peut être obtenue avec les commandes man q ou q --help. Référez vous à la page de manuel de chaque outil pour connaître les fonctionnalités complètes. Ce guide a pour vocation d'être une référence courte des fonctionnalités les plus utiles et n'inclue pas toutes les informations à propos de chaque outil.

Pour voir la liste des outils disponibles avec une courte description de leur fonction, utilisez q --help:

user $q --help
usage: q <applet> <args>  : invoke a portage utility applet
 
currently defined applets:
        q <applet> <args> : virtual applet
    qatom <pkg>           : split atom strings
   qcheck <pkgname>       : verify integrity of installed packages
 qdepends <pkgname>       : show dependency info
    qfile <filename>      : list all pkgs owning files
    qgrep <expr> [pkg ...]: grep in ebuilds
 qkeyword <action> <args> : list packages based on keywords
    qlist <pkgname>       : list files owned by pkgname
     qlop <pkgname>       : emerge log analyzer
 qmanifest <misc args>     : verify or generate thick Manifest files
   qmerge <pkgnames>      : fetch and merge binary package
     qpkg <misc args>     : create or manipulate Gentoo binpkgs
  qsearch <regex>         : search pkgname/desc
    qsize <pkgname>       : calculate size usage
    qtbz2 <misc args>     : manipulate tbz2 packages
 qtegrity <misc args>     : verify files with IMA
     quse <useflag>       : find pkgs using useflags
    qxpak <misc args>     : manipulate xpak archives
 
options: -[ioemvqChV]
  -i, --install    * Install symlinks for applets
  -o, --overlays   * Print available overlays (read from repos.conf)
  -e, --envvar     * Print used variables and their found values
  -m, --masks      * Print (package.)masks for the current profile
      --root <arg> * Set the ROOT env var
  -v, --verbose    * Report full package versions, emit more elaborate output
  -q, --quiet      * Tighter output; suppress warnings
  -C, --nocolor    * Don't output color
  -h, --help       * Print this help and exit
  -V, --version    * Print version and exit
}}

=== Trouver à quel paquet appartient un fichier (qfile) ===

La commande {{c|qfile}} affiche le paquet auquel un fichier appartient: 

{{Cmd|qfile /etc/fonts/fonts.conf|output=<pre>
media-libs/fontconfig (/etc/fonts/fonts.conf)
user $qfile /usr/share/keymaps/atari/atari-uk-falcon.map.gz
sys-apps/kbd (/usr/share/keymaps/atari/atari-uk-falcon.map.gz)

Vérifier l'intégrité d'un paquet (qcheck)

Pour vérifier les sommes de contrôle MD5 ou les horaires de modification des fichiers installés par un paquet, utilisez le programme qcheck :

user $qcheck portage-utils
Checking app-portage/portage-utils-0.1.13 ...
  * 36 out of 36 files are good

Tous les fichiers qui ont été changés après l'installation seront reportés ici. Les fichiers de configuration qui ont été édités manuellement après l'installation seront également reportés. La plupart des paquets ne nécessitent pas les permissions root. Cependant, si un paquet a des fichiers qui ne sont accessibles qu'à root, qcheck devrait être lancé en tant que root.

Pour vérifier l'intégrité de tous les paquets installés, entrez :

root #qcheck

Lister les dépendances d'un paquet (qdepends)

qdepends peut lister les dépendances d'un paquet dans chaque direction. Sans options pour lister les dépendances installées DEPEND (-d), RDEPEND (-r), PDEPEND (-p) ou BDEPEND (-b), toutes les dépendances requises par un paquet sont affichées fusionnées dans une seule liste. Utilisez -v afin d'obtenir une liste de dépendances formatée compatible au shell en sortie, comme trouvé dans les ebuilds.

user $qdepends mutt
mail-client/mutt-1.13.1: >=app-portage/elt-patches-20170815 >=sys-devel/automake-1.15.1:1.15 dev-libs/libressl:0/47= dev-db/lmdb:0/0.9.24= virtual/libintl www-client/w3m !<sys-devel/gettext-0.18.1.1-r3 dev-libs/libxslt dev-libs/libxml2 >=sys-devel/automake-1.16.1:1.16 >=sys-devel/libtool-2.4 >=sys-devel/autoconf-2.69 net-dns/libidn2 virtual/libiconv >=app-crypt/gpgme-0.9.0:1/11= www-client/elinks app-misc/mime-types app-text/docbook-xsl-stylesheets >=dev-libs/cyrus-sasl-2 www-client/lynx net-mail/mailbase >=sys-libs/ncurses-5.2:0/6=

Utilisez -v pour obtenir une liste de dépendances formatée compatible au shell en sortie, comme trouvé dans les ebuilds.

user $qdepends -rv mutt
mail-client/mutt-1.13.1:
RDEPEND="
    app-misc/mime-types
    virtual/libiconv
    dev-db/lmdb:0/0.9.24=
    dev-libs/libressl:0/47=
    virtual/libintl
    >=dev-libs/cyrus-sasl-2
    net-dns/libidn2
    >=app-crypt/gpgme-0.9.0:1/11=
    >=sys-libs/ncurses-5.2:0/6=
"

Pour lister les paquets qui dépendent sur un paquet, utilisez l'option -Q.

user $qdepends -Q mime-types
mail-client/mutt-1.13.1: >=app-portage/elt-patches-20170815 >=sys-devel/automake-1.15.1:1.15 dev-libs/libressl:0/47= dev-db/lmdb:0/0.9.24= virtual/libintl www-client/w3m !<sys-devel/gettext-0.18.1.1-r3 dev-libs/libxslt dev-libs/libxml2 >=sys-devel/automake-1.16.1:1.16 >=sys-devel/libtool-2.4 >=sys-devel/autoconf-2.69 net-dns/libidn2 virtual/libiconv >=app-crypt/gpgme-0.9.0:1/11= app-misc/mime-types www-client/elinks app-text/docbook-xsl-stylesheets >=dev-libs/cyrus-sasl-2 www-client/lynx net-mail/mailbase >=sys-libs/ncurses-5.2:0/6=
dev-lang/python-2.7.16: >=app-portage/elt-patches-20170815 >=sys-libs/readline-4.1:0/8= >=sys-devel/automake-1.15.1:1.15 dev-libs/libressl:0/47= virtual/libintl >=dev-db/sqlite-3.3.8:3/3= virtual/pkgconfig !<sys-devel/gettext-0.18.1.1-r3 virtual/libffi >=sys-devel/automake-1.16.1:1.16 >=dev-libs/expat-2.1 >=sys-libs/zlib-1.1.3:0/1= >=sys-devel/autoconf-2.69 >=app-eselect/eselect-python-20140125-r1 app-misc/mime-types >=sys-devel/autoconf-2.65 !!<sys-apps/portage-2.1.9 app-arch/bzip2:0/1= !sys-devel/gcc[libffi(+)] >=sys-libs/ncurses-5.2:0/6=
dev-lang/python-3.7.2: >=app-portage/elt-patches-20170815 >=sys-libs/readline-4.1:0/8= >=sys-devel/automake-1.15.1:1.15 virtual/libffi:0/7= dev-libs/libressl:0/47= virtual/libintl >=dev-db/sqlite-3.3.8:3/3= app-arch/xz-utils:0/0= virtual/pkgconfig !<sys-devel/gettext-0.18.1.1-r3 >=sys-devel/automake-1.16.1:1.16 !!<sys-apps/sandbox-2.6-r1 >=dev-libs/expat-2.1:0/0= >=sys-libs/zlib-1.1.3:0/1= >=sys-devel/autoconf-2.69 >=app-eselect/eselect-python-20140125-r1 app-misc/mime-types app-arch/bzip2:0/1= !sys-devel/gcc[libffi(+)] >=sys-libs/ncurses-5.2:0/6=
dev-lang/python-3.6.8: >=app-portage/elt-patches-20170815 >=sys-libs/readline-4.1:0/8= >=sys-devel/automake-1.15.1:1.15 virtual/libffi:0/7= dev-libs/libressl:0/47= virtual/libintl >=dev-db/sqlite-3.3.8:3/3= app-arch/xz-utils:0/0= virtual/pkgconfig !<sys-devel/gettext-0.18.1.1-r3 >=sys-devel/automake-1.16.1:1.16 !!<sys-apps/sandbox-2.6-r1 >=dev-libs/expat-2.1:0/0= >=sys-libs/zlib-1.1.3:0/1= >=sys-devel/autoconf-2.69 >=app-eselect/eselect-python-20140125-r1 app-misc/mime-types app-arch/bzip2:0/1= !sys-devel/gcc[libffi(+)] >=sys-libs/ncurses-5.2:0/6=

Recherche d'ebuilds ou d'eclasses pour un schéma (qgrep)

qgrep peut être utilisé pour trouver les ebuilds qui mentionnent le nom d'un ebuild ("libechonest" est utilisé en exemple plus bas) en listant tous les paquets (installés ou non) qui dépendent sur un certain paquet:

user $qgrep -l libechonest
media-libs/libechonest/libechonest-2.0.2.ebuild
media-libs/libechonest/libechonest-2.2.0-r1.ebuild
media-libs/libechonest/libechonest-2.3.0.ebuild
media-libs/libechonest/libechonest-2.3.1.ebuild
media-libs/libechonest/libechonest-2.3.1-r1.ebuild
media-libs/libechonest/libechonest-9999.ebuild
media-sound/clementine/clementine-1.2.3.ebuild
media-sound/clementine/clementine-1.2.3-r1.ebuild
media-sound/clementine/clementine-1.3.1-r1.ebuild
media-sound/tomahawk/tomahawk-0.8.4-r3.ebuild
media-sound/tomahawk/tomahawk-9999.ebuild

L'option -J limitera la recherche aux paquets installés. -N affichera l'atom au lieu du nom de fichier.

user $qgrep -NJ net-print/cups
app-office/libreoffice-6.1.5.2: cups? ( net-print/cups )
dev-qt/qtprintsupport-5.11.3:   cups? ( >=net-print/cups-1.4 )
net-print/hplip-3.18.6: net-print/cups
net-print/hplip-3.18.6: hpijs? ( net-print/cups-filters[foomatic] )
net-print/cups-2.2.7:PDEPEND=">=net-print/cups-filters-1.0.43"
net-print/cups-filters-1.21.6:  >=net-print/cups-1.7.3
net-print/cups-filters-1.21.6:  !<=net-print/cups-1.5.9999
dev-java/icedtea-bin-3.10.0-r1: cups? ( >=net-print/cups-2.0% )
net-wireless/bluez-5.50-r2:     cups? ( net-print/cups:= )
app-text/ghostscript-gpl-9.26:  cups? ( >=net-print/cups-1.3.8 )
x11-libs/gtk+-2.24.32-r1:       cups? ( >=net-print/cups-1.7.1-r2:=[${MULTILIB_USEDEP}] )
x11-libs/gtk+-3.24.4-r1:        cups? ( >=net-print/cups-1.2[${MULTILIB_USEDEP}] )

Lister les fichiers qui appartiennent à un ebuild (qlist)

La commande qlist affiche la liste de tout les fichier qui appartiennent à un ebuild.

user $qlist vim
/usr/bin/gvim
/usr/bin/gvimdiff
/usr/bin/evim
/usr/bin/eview
/usr/bin/gview
/usr/bin/rgvim
[...]

Chercher les paquets qui utilise un USE flag spécifique (quse)

Les options de variable USE se listent avec quese. Dans ca forme la plus simple, cela liste les ebuilds qui utilisent une option de variable USE donnée.

user $quse firefox
app-misc/tracker/tracker-0.12.10-r1.ebuild applet doc eds elibc_glibc exif firefox-bookmarks flac flickr gif
[...]

Pour afficher la description d'une option de variable USE, l'option -D peut être utilisée. Elle peut être combinée avec l'option -p, qui prend un atom en argument, afin de lister les options de variable USE de l'atom donné.

user $quse -Dvp autogen
sys-devel/autogen-5.18.16-r1
  libopts       install the libopts tarball (a few packages want this for developing)
  static-libs   Build static versions of dynamic libraries as well

Trouver la taille d'un paquet (qsize)

Pour afficher la taille d'un paquet, utilisez l'application qsize:

user $qsize vim-core
app-editors/vim-core: 1846 files, 175 non-files, 28.5M 
[...]

Chercher dans l'arbre de paquets de Portage (qsearch)

L'un des outils le plus puissant de app-portage/portage-utils est qsearch. Cet outil permet de chercher dans l'arbre de paquets de Portage bien plus rapidement qu'avec la commande emerge -s.

Voilà quelques exemples de son utilisation:

user $qsearch terminus
media-fonts/terminus-font: A clean fixed font for the console and X11

L'adresse de la page d'accueil d'un paquet peut être obtenue avec l'option -H:

user $qsearch -H terminus
media-fonts/terminus-font: http://terminus-font.sourceforge.net/

Le prochain exemple montre comment chercher un client jabberJ:

user $qsearch -S "jabber client"
app-emacs/emacs-jabber: A Jabber client for Emacs
net-im/coccinella: Jabber Client With a Built-in Whiteboard and VoIP (jingle)
net-im/gajim: Jabber client written in PyGTK
net-im/tkabber: A jabber client written in Tcl/Tk
net-im/vacuum: Qt Crossplatform Jabber client

Extraire des informations depuis les logs d'emerge (qlop)

qlop permet d'extraire des informations depuis le fichier emerge.log. Cela peut être utile pour estimer le temps de compilation d'un paquet ou pour comparer les temps de compilations avec d'autres systèmes. Il permet aussi de regarder quel paquet est actuellement en train d'être compilé, and combien de temps il va probablement prendre pour finir - ça peut être utile en travaillnt depuis la console en ayant aucun autre moyen d'obtenir cette information.

Pour estimer combien de temps la compilation du paquet dev-lang/perl va prendre:

user $qlop -a perl
dev-lang/perl: 7′12″ average for 3 merges

Pour regarder ce qui est en train d'être compilé, et depuis combien temps le processus tourne:

user $qlop -rt
2019-12-31T03:07:16 >>> net-fs/samba: 6′19″... (82 of 85) ETA: 23s

Voir aussi


This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Łukasz Damentko, , and Marcelo Góes
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.