q applets/ja

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

Outdated translations are marked like this.
Other languages:
English • ‎português do Brasil • ‎русский • ‎日本語 • ‎한국어

Resources

app-portage/portage-utils パッケージはCで書かれた非常に素早いユーティリティーのコレクションであり、 app-portage/gentoolkit に比べてより素早く、しかし限定的な代替を提供します。qアプレットは gentoolkit を置き換えることを意図したものではないことに留意してください。このユーティリティーは gentoolkit の同等なものよりもかなり効率的であり、Portageを繰り返し呼ぶ必要があるスクリプト内での使用により適していますが、これらは同じ機能を提供するものではありません。qアプレットはeclass を考慮しませんし、revdep-rebuildglsa-check のようなツールも提供しません。

Readers should note that q applets were not created to replace gentoolkit; they simply may be more efficient than the equivalent utilities from gentoolkit and might be better suited to be used in scripts that need to call Portage repeatedly. They do not offer the same functionality. q applets do not consider eclasses and do not provide tools like revdep-rebuild or glsa-check.

インストール

USE フラグ

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 gettext - GNU 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

Emerge

Q アップレットをインストールします:

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

使い方

呼び出し

man q または q --help と入力することによって、 app-portage/portage-utils が提供しているアプリケーションの完全なリストが表示されます。このガイドでは最も役立つ機能について短く言及するだけにとどめ、それぞれのアプリケーションに関する情報全てを含めることはしませんので、それぞれのユーティリティについての説明はmanページをご覧ください。

短い説明文付きで利用可能なアプレットを見るには、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
   qcache <action> <args> : search the metadata cache
   qcheck <pkgname>       : verify integrity of installed packages
 qdepends <pkgname>       : show dependency info
    qfile <filename>      : list all pkgs owning files
    qgrep <misc args>     : grep in ebuilds
    qlist <pkgname>       : list files owned by pkgname
     qlop <pkgname>       : emerge log analyzer
   qmerge <pkgnames>      : fetch and merge binary package
     qpkg <misc args>     : manipulate Gentoo binpkgs
  qsearch <regex>         : search pkgname/desc
    qsize <pkgname>       : calculate size usage
    qtbz2 <misc args>     : manipulate tbz2 packages
     quse <useflag>       : find pkgs using useflags
    qxpak <misc args>     : manipulate xpak archives
  
Options: -[irmM:vqChV]
  -i, --install        * Install symlinks for applets
  -r, --reinitialize   * Reinitialize ebuild cache
  -m, --metacache      * Reinitialize metadata cache
  -M, --modpath  <arg> * Module path
  -v, --verbose        * Make a lot of noise
  -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

あるファイルが含まれているパッケージを見つける方法 (qfile)

qfile コマンドは、ファイルがどのパッケージに属しているか見つけます:

user $qfile /etc/fonts/fonts.conf
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)

パッケージの完全性確認 (qcheck)

パッケージによってインストールされたファイルのMD5チェックサムや更新日時を確認するには、qcheck アプリケーションを使います:

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

もちろん、インストール後に変更された全てのファイルがここで報告されます。インストール後に手動で編集された設定ファイルが報告されても、心配はありません。

To check the integrity of all packages installed, enter:

root #qcheck

あるパッケージに依存しているパッケージの一覧表示 (qdepends)

もちろんあるパッケージに依存しているパッケージ全てのリストを表示するアプリケーションもあります。qdepends としてお使いいただけます。-a オプションを使うことでパッケージ毎の全ての DEPENDRDEPENDPDEPEND 情報を表示します。

user $qdepends -a pygtk
 * DEPEND
dev-python/pygtk-2.8.2: >=dev-lang/python-2.3 >=x11-libs/gtk+-2.8.0
>=dev-libs/glib-2.8.0 >=x11-libs/pango-1.10.0 >=dev-libs/atk-1.8.0
>=gnome-base/libglade-2.5.0 >=dev-python/pycairo-0.9.0 dev-python/numeric
virtual/opengl dev-python/pyopengl >=x11-libs/gtkglarea-1.99
>=dev-util/pkgconfig-0.9 sys-devel/patch
 * RDEPEND
dev-python/pygtk-2.8.2: >=dev-lang/python-2.3 >=x11-libs/gtk+-2.8.0
>=dev-libs/glib-2.8.0 >=x11-libs/pango-1.10.0 >=dev-libs/atk-1.8.0
>=gnome-base/libglade-2.5.0 >=dev-python/pycairo-0.9.0 dev-python/numeric
virtual/opengl dev-python/pyopengl >=x11-libs/gtkglarea-1.99
 * PDEPEND

Use -v to get a shell-compatible and formatted dependency output list, like found in 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=
"

To list all of the installed packages that depend on a package use the -Q option.

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=

あるパッケージに依存するすべてのパッケージを(インストールされているかどうかを問わず)一覧表示する (qgrep)

qアプレットを使って、ある ebuild の名前 (以下の例では"libechonest"とします) に言及している ebuild を素早く探すことができます:

user $qgrep -H libechonest | cut -f1 -d":" | uniq
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

The -J option will limit the search to installed packages. -N will print the atom instead of the filename.

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}] )

あるebuildに属するファイルの一覧表示 (qlist)

qlist は、指定した ebuild に属する全てのファイルの一覧を提供します。

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

あるUSEフラグを使っているパッケージの検索 (quse)

使用している USE フラグの一覧を表示するには、quse をroot権限で実行してください。最初のebuildキャッシュ生成・更新時には時間がかかることがあります。

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

To display the description of a USE-flag, the -D option can be used. This can be combined with the -p option, which takes an atom name as argument, to list all USE-flags for the given atom.

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

パッケージサイズの検索 (qsize)

パッケージの大きさを表示させるには、qsize アプリケーションを使用します:

user $qsize vim
app-editors/gvim-6.4: 10 files, 7 non-files, 2327.516 KB
app-editors/vim-6.4: 6 files, 2 non-files, 2058.14 KB
app-editors/vim-core-6.4: 1024 files, 68 non-files, 10950.984 KB
[...]

Portageツリーの検索 (qsearch)

app-portage/portage-utils の中で最も強力なツールの一つが qsearch です。このツールは emerge -s を実行するよりもずっと速くPortageツリーを検索することができます。

いくつか使い方の例を挙げます:

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

-H オプションを使用すると、パッケージに関するホームページの情報が表示されます:

user $qsearch -H terminus
media-fonts/terminus-font http://www.is-vn.bg/hamster/jimmy-en.html

他の例として、Jabberクライアントについて見てみましょう:

user $qsearch -S "jabber client"
app-emacs/emacs-jabber A Jabber client for Emacs.
net-im/gajim Jabber client written in PyGTK
net-im/gnome-jabber Gnome Jabber Client
net-im/gossip Lightweight Jabber client for GNOME
net-im/imcom Python commandline Jabber Client
net-im/psi QT 3.x Jabber Client, with Licq-like interface
net-im/tkabber Featureful Jabber client for tcl/tk.
x11-themes/psi-themes Iconsets for Psi, a QT 3.x Jabber Client

emergeログからの情報抽出 (qlop)

このツールは、emerge.log ファイルから役立つ情報を抽出します。このツールは qlop と呼ばれ、パッケージがコンパイルされた回数を推測したり、ビルド時間を他のシステムと比較したりするのに役立ちます。ある瞬間に何をコンパイルしていてどれくらい時間がかかりそうなのか、コンソール上で作業していて他の手段をとりたくないときに手軽に確認することにも使えます。

dev-lang/perl のビルド作業がおよそどのくらいかかるか知りたいときには:

user $qlop -tH perl
perl: 7 minutes, 52 seconds for 4 merges

いま何がemergeされていて、その作業に既にどのくらいの時間が経過したのか、見てみましょう:

user $qlop -c
* perl-5.8.8-r23
    started: Mon May 21 12:41:11 2007
    elapsed: 19 seconds

参考

  • Gentoolkit - Gentoo システムの管理を楽にするツールスイート。
  • Qcheck - インストールされているパッケージの完全性を確認するコマンドラインツール。

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.