Gentoo Linux インストールされているパッケージを表示する

Gentoo Linux インストールされているパッケージを表示する

Gentoo Linux の場合、インストールされているパッケージに関する情報を表示するには、というソフトウェアが必要ですEquery

Equeryは、一般的な操作を簡素化するために使用されるツールですPortage

さらに、パッケージの依存関係、メタデータ、およびインストールされたファイルを表示できます。

インストールする方法:

Equeryapp-portage/gentoolkitパッケージを使用してインストールされるツールセットの一部です。

root # emerge --ask app-portage/gentoolkit

equeryインストールやその他のツールの詳細については、 Gentoolkit の記事を参照してください。

使い方:

導入:

equeryequeryモジュール システムに基づいて、システムにインストールされているソフトウェア パッケージに関する有用な情報を表示するツールです。

各モジュールには省略名が付いています。

たとえば、 run はequery l gccrun と同じですequery list gcc

--helpoptions( )を呼び出すと、equery --helpグローバル オプションが出力され、使用可能なすべてのモジュールがその短縮名とともにリストされます。

モジュール名を末尾 ( equery --help module) に追加すると、その特定のモジュールのヘルプ情報が表示されます。

この実装では、man equery利用可能なすべてのモジュールとオプションの詳細な説明と、いくつかの有用な例も提供します。

以下は、ほとんどのモジュールで利用できる機能のリストです。

user $ equery --quiet list gcc

sys-devel/gcc-4.3.2-r3

user $ equery --quiet list sys-devel/gcc

sys-devel/gcc-4.3.2-r3

user $ equery --quiet list '>=sys-devel/gcc-4'

sys-devel/gcc-4.3.2-r3

同様emergeに、equeryパッケージ名の一部が理解できません:

user $ equery check zilla

!!! No package found matching zilla

とは異なりemerge、同様のワイルドカードをequeryカテゴリ名またはパッケージ名で使用できます。shell

user $ equery check '*zilla*'

- Checking www-client/mozilla-firefox-3.0.14 ...
   90 out of 90 files passed

user $ equery check 'www-c*/*'

- Checking www-client/links-2.2 ...
  30 out of 30 files passed
- Checking www-client/mozilla-firefox-3.0.14 ...
  90 out of 90 files passed

ほとんどのequeryモジュールは複数の入力を受け入れます。

user $ equery hasuse sse sse2

- Searching for USE flag sse ...
  [IP-] [ ] media-libs/flac-1.2.1-r3 (0)
  [IP-] [ ] media-libs/speex-1.2_beta3_p2 (0)

- Searching for USE flag sse2 ...
  [IP-] [ ] dev-libs/openssl-0.9.8k (0)
  [IP-] [ ] x11-libs/pixman-0.16.0 (0)

一部のモジュールでは完全な正規表現も使用できます。

user $ equery -q list --portage-tree --full-regex '[kr]?flickr.*'

dev-dotnet/flickrnet-bin-2.2
dev-ruby/flickr-1.0.2-r1
dev-ruby/flickr-1.0.2-r2
dev-ruby/rflickr-20060201
media-gfx/kflickr-0.6
[...]

注:
ワイルドカードのサポートは、equeryの古いオプションの多くを置き換えます。

例えば、

コレクション内のすべてのパッケージに対して操作を実行するには、'*'(アスタリスク) を使用します。

カテゴリ内のすべてのパッケージに対して操作を実行するには、 を使用します'category-name/*'

警告:特殊文字
を使用する場合、shell

たとえば、アスタリスク、大なり記号、小なり記号などです。引用符で囲むことを忘れないでください。

さまざまなequeryモジュールについては、このドキュメントの次のセクションで簡単に説明します。

関数:

equeryの全機能を確認するには、パラメータを指定せずに実行してください。

user $ equery

Gentoo package query tool
Usage: equery [global-options] module-name [module-options]

modules (short name)
 (b)elongs list what package FILES belong to
 (c)hanges list changelog entries for ATOM
 chec(k) verify checksums and timestamps for PKG
 (d)epends list all packages directly depending on ATOM
 dep(g)raph display a tree of all dependencies for PKG
 (f)iles list all files installed by PKG
 h(a)s list all packages for matching ENVIRONMENT data stored in /var/db/pkg
 (h)asuse list all packages that have USE flag
 ke(y)words display keywords for specified PKG
 (l)ist list package matching PKG
 (m)eta display metadata about PKG
 (s)ize display total size of all files owned by PKG
 (u)ses display USE flags for PKG
 (w)hich print full path to ebuild for PKG

コマンドエイリアス ( Aliases)

equery 使用される一般的な方法は、コマンド エイリアス( ) を作成することですaliases

bashこれらのエイリアス ( ) は、使用時に ファイル内にaliases配置できます 。~/.bashrc

書類 ~/.bashrc

alias eqf='equery f'
alias equ='equery u'
alias eqh='equery h'
alias eqa='equery a'
alias eqb='equery b'
alias eql='equery l'
alias eqd='equery d'
alias eqg='equery g'
alias eqc='equery c'
alias eqk='equery k'
alias eqm='equery m'
alias eqy='equery y'
alias eqs='equery s'
alias eqw='equery w'

ファイルがどのパッケージからのものかを検索します: belongs( b)

user $ equery belongs -e /usr/bin/glxgears

- Searching for /usr/bin/glxgears ...
  x11-apps/mesa-progs-7.5.1 (/usr/bin/glxgears)

belongs-f正規表現に一致するファイルを検索するオプションを使用できます。

-eこのオプションは、一致が見つかった後に検索を停止します。これは、システム上のファイルが 2 つのパッケージによって所有されるべきではないため、安全な操作です。

belongs ( ) の短縮バージョンも使用できますb

たとえば、equeryそれが属するパッケージを一覧表示するには、次のようにします。

user $ equery b equery

- Searching for equery ... 
  app-portage/gentoolkit-0.3.0.8-r2 (/usr/lib/python-exec/python2.7/equery)
  app-portage/gentoolkit-0.3.0.8-r2 (/usr/lib64/python3.3/site-packages/gentoolkit/test/equery)
  app-portage/gentoolkit-0.3.0.8-r2 (/usr/bin/equery -> ../lib/python-exec/python-exec2)
  app-portage/gentoolkit-0.3.0.8-r2 (/usr/lib64/python2.7/site-packages/gentoolkit/equery)
  app-portage/gentoolkit-0.3.0.8-r2 (/usr/lib/python-exec/python3.3/equery)
  app-portage/gentoolkit-0.3.0.8-r2 (/usr/lib64/python2.7/site-packages/gentoolkit/test/equery)
  app-portage/gentoolkit-0.3.0.8-r2 (/usr/lib64/python3.3/site-packages/gentoolkit/equery)

エントリの表示ChangeLog: changes( c)

changesユーザーは、パッケージの指定されたバージョンまたはバージョンの範囲のエントリを表示できますChangeLog

これを実行した後emerge --syncPortageアップグレードが間もなく行われることを示すメッセージが出力されると想像してください。

何が変更されたかを確認するには、次のコマンドを使用できます。

user $ equery changes portage

*portage-2.1.6.13 (03 May 2009)

03 May 2009; Zac Medico <[email protected]> +portage-2.1.6.13.ebuild:
 2.1.6.13 bump. This fixes bug #268398 (document econf automatic die)
 and bug #267104 (handle insufficient space interaction with userfetch).
 Bug #268228 tracks all bugs fixed since 2.1.6.11.

パッケージの整合性を確認します: check( k)

場合によっては、パッケージの整合性をチェックすると便利です。

equery値とタイムスタンプを確認するMD5ことで、パッケージが破損、置換、または削除されたかどうかを確認できます。

user $ equery check gentoolkit

- Checking app-portage/gentoolkit-0.3.0_rc7 ...
  71 out of 71 files passed

このパッケージに依存するすべてのパッケージをリストします: depends( d)

なぜ特定のパッケージがシステムにインストールされているのか疑問に思ったことはありますか?

equery どのパッケージがそれを依存関係としてリストしているかを知ることができます depends

このオプションには間接的な依存関係を含めます -D 。

なぜ特定のパッケージがシステムにインストールされているのか疑問に思ったことはありますか?

equeryこのパッケージに依存するパッケージをリストするために使用しますdepends

-D[間接的な依存関係を表示] オプションを使用します。

user $ equery depends pygtk

- Searching for pygtk ...
  app-admin/pessulus-2.24.0 (>=dev-python/pygtk-2.6.0)
  app-editors/gedit-2.24.3 (python ? >=dev-python/pygtk-2.12)
  dev-libs/libgweather-2.24.3 (python ? >=dev-python/pygtk-2)
  dev-python/gnome-python-base-2.22.3 (>=dev-python/pygtk-2.10.3)
  dev-python/gnome-python-desktop-base-2.24.1 (>=dev-python/pygtk-2.10.3)
  [...]

2 番目の例では、直接依存するudevパッケージをすべてリストします。

user $ equery d udev

sys-auth/consolekit-0.4.5_p20120320 (acl ? >=sys-fs/udev-146-r1)
sys-fs/cryptsetup-1.4.1 (>=sys-fs/udev-124)
 (>=sys-fs/udev-182[static-libs])
 (<=sys-fs/udev-171-r6)
sys-fs/lvm2-2.02.88 (>=sys-fs/udev-151-r4)
virtual/dev-manager-0 (sys-fs/udev)
x11-libs/cairo-1.10.2-r2 (drm ? >=sys-fs/udev-136)

補足:この出力には、フラグによって制御されるオプションの依存関係が
含まれます。USE

つまり、上記(acl ? >=sys-fs/udev-146-r1)ではacl USE

フラグが有効になっていない場合でもUSE

USEフラグがアクティブな場合、パッケージは単なる依存関係になります。

依存関係グラフを取得: depgraph( g)

depgraph対照的に、特定のパッケージのすべての依存関係が(そのパッケージに依存する ebuild ではなく)depends検索されます。ebuild

依存関係が見つかると、パッケージの依存関係が再帰的に検索されます。

オプションを使用して--depthツリーの深さを制御します。

user $ equery depgraph mozilla-firefox

- Searching for mozilla-firefox ...
- dependency graph for www-client/mozilla-firefox-2.0.0.19:
  `-- www-client/mozilla-firefox-2.0.0.19 `-- virtual/jre-1.6.0 (virtual/jre) [java]
  `-- virtual/jdk-1.6.0 (virtual/jdk-1.6.0*) `-- dev-java/icedtea6-bin (unable to resolve: package masked or removed)
  `-- dev-java/sun-jdk-1.6.0.15 `-- dev-java/java-sdk-docs-1.6.0.10 [doc]
   `-- app-arch/unzip-6.0-r1 `-- app-arch/bzip2-1.0.5-r1 [bzip2]
   `-- sys-libs/glibc-2.9_p20081201-r2 `-- sys-devel/gettext-0.17 [nls]
   `-- virtual/libiconv-0 (virtual/libiconv)
  [...]

set の場合java USEjreそれは直接的な依存関係とjdk間接的な依存関係であることに注意してください。

パッケージによってインストールされたファイルをリストします: files( f)

equeryモジュールを使用するとfiles、インストールされているすべてのファイルを一覧表示できますebuild

--tree読みやすい目次レイアウトを作成してください

--filter特定の種類のファイルを指定するには、「検索」を使用します。

たとえば、実行可能ファイルがインストールされている場所を見つけるには を使用し--filter=cmd、構成ファイルの場所をすばやく見つけるには を使用してみてください--filter=conf

user $ equery files --tree gentoolkit

 * Searching for gentoolkit ...
 * Contents of app-portage/gentoolkit-0.3.0_rc7:
 /etc
   > /eclean
      + distfiles.exclude
      + packages.exclude
   > /env.d
      + 99gentoolkit-env
   > /revdep-rebuild
      + 99revdep-rebuild
 /usr
   > /bin
      + eclean
      + eclean-dist -> eclean
      + eclean-pkg -> eclean
      + epkginfo
      + equery
      + eread
      + euse
      + glsa-check
      + revdep-rebuild
   > /lib
      > /python2.6
         > /site-packages
            > /gentoolkit
            + gentoolkit-0.3.0_rc7-py2.6.egg-info
               + __init__.py
               > /equery
                  + __init__.py
                  + belongs.py
                  + changes.py
                  + check.py
                  + depends.py
                  + depgraph.py
                  + files.py
[...]

インストールされているすべてのファイルをリストする別の例media-sound/ncmpcpp:

user $ equery f ncmpcpp

- Searching for ncmpcpp ...
- Contents of media-sound/ncmpcpp-0.5.10:
  /usr
  /usr/bin
  /usr/bin/ncmpcpp
  /usr/share
  /usr/share/bash-completion
  /usr/share/bash-completion/ncmpcpp
  /usr/share/doc
  /usr/share/doc/ncmpcpp-0.5.10
  /usr/share/doc/ncmpcpp-0.5.10/AUTHORS.bz2
  /usr/share/doc/ncmpcpp-0.5.10/NEWS.bz2
  /usr/share/doc/ncmpcpp-0.5.10/config.bz2
  /usr/share/doc/ncmpcpp-0.5.10/keys.bz2
  /usr/share/man
  /usr/share/man/man1
  /usr/share/man/man1/ncmpcpp.1.bz2

equery man page 他のモジュールとコマンドラインパラメータの説明については、 ( )を参照してくださいman equery

USE特定のフラグを持つパッケージを探します: hasuse( h)

hasuse指定されたフラグを持つUSEパッケージを検索するために使用できます。

hasuseフラグが有効かどうかは示されません。

クエリフラグをオプションとして含むリストを出力するだけですebuild

この種の情報を取得するためのヒントの詳細については、equeryマニュアル ページの「例」セクションを参照してくださいhasuse

user $ equery hasuse qt3 qt4

- Searching for USE flag qt3 ...
  [IP-] [ ] app-crypt/pinentry-0.7.5 (0)
  [IP-] [ ] net-dns/avahi-0.6.24-r2 (0)
  [IP-] [ ] net-wireless/wpa_supplicant-0.6.9 (0)

- Searching for USE flag qt4 ...
  [IP-] [ ] net-dns/avahi-0.6.24-r2 (0)
  [IP-] [ ] net-wireless/wpa_supplicant-0.6.9 (0)

パッケージのリスト: list( l)

listは、インストールされているパッケージをPortageツリーまたはにリストするためのシンプルですが強力なモジュールです。overlay

user $ equery list '*'

- Searching for * ...
  [IP-] [ ] app-admin/eselect-1.2.3 (0)
  [IP-] [ ] app-admin/eselect-ctags-1.10 (0)
  [IP-] [ ] app-admin/eselect-esd-20060719 (0)
  [IP-] [ ] app-admin/eselect-fontconfig-1.0 (0)
  [IP-] [ ] app-admin/eselect-opengl-1.0.8-r1 (0)
  [IP-] [ ] app-admin/eselect-python-20090824 (0)
  [IP-] [ ] app-admin/eselect-ruby-20081227 (0)
  [IP-] [ ] app-admin/eselect-vi-1.1.5 (0)
  [IP-] [ ] app-admin/perl-cleaner-1.05 (0)
  [IP-] [ ] app-admin/pessulus-2.24.0 (0)
  [IP-] [ ] app-admin/python-updater-0.7 (0)
  [IP-] [ ] app-admin/sudo-1.7.2_p1 (0)
  [...]

標準クエリは、指定されたパッケージ名でインストールされているパッケージを検索します。

'*'表示コレクション内のすべてのパッケージを渡します。

I一番左のフィールドでは、上記のすべてのパッケージが(インストールされた) ツリーとP(ortage) ツリーであることがわかります。

マスクされていない (2 番目のフィールドは空白)、デフォルトslot(0) でロードされます。

ローカル オプションを使用して、Portageツリーoverlays内のパッケージを検索します。

user $ equery list -po vim

- Searching for vim ...
  [-P-] [ ] app-editors/vim-7.0.235 (0)
  [-P-] [ ~] app-editors/vim-7.0.243 (0)
  [-P-] [ ] app-editors/vim-7.1.123 (0)
  [-P-] [ ~] app-editors/vim-7.1.330 (0)
  [-P-] [ ] app-editors/vim-7.2 (0)
  [-P-] [ ~] app-editors/vim-7.2.108 (0)
  [IP-] [ ] app-editors/vim-7.2.182 (0)
  [-P-] [ ~] app-editors/vim-7.2.238 (0)
  [-P-] [ ~] app-editors/vim-7.2.264 (0)

インストールされているバージョンが表示されます7.2.182が、overlayには使用可能なバージョンがありません。

ユーザーは、 2 番目のフィールドのキーワードを使用して、~どのバージョンがブロックされているかを確認できます。

パッケージのメタデータを表示: meta( m)

Portage ツリー内の各パッケージは、そのメンテナなどに関する少なくともいくつかのメタデータを提供します。

有用な情報の量は、パッケージ管理者が情報を提供する方法を決定するかどうかによって異なります。

オプションはありません。metaいくつかの基本的な役立つ情報が返されます。

user $ equery meta gnucash

- app-office/gnucash [gentoo]
  Maintainer: [email protected] (Torsten Veller)
  Upstream: None specified
  Location: /usr/portage/app-office/gnucash
  Keywords: 2.2.9-r1:0: alpha amd64 ppc sparc x86
  Keywords: 2.2.9-r2:0:
  Keywords: 2.3.8:0:
  Keywords: 2.3.10:0: ~alpha ~amd64 ~ppc ~sparc ~x86

一部のメンテナは、非常に役立つパッケージに関する追加情報を提供しています。

user $ equery meta --description emacs

- app-editors/emacs
  GNU Emacs is an extensible, customizable text editor - and more. At its core
  is an interpreter for Emacs Lisp, a dialect of the Lisp programming language
  with extensions to support text editing. The features of GNU Emacs include:
  - Content-sensitive editing modes, including syntax coloring, for a wide
    variety of file types including plain text, source code, and HTML.
  - Complete built-in documentation, including a tutorial for new users.
  - Support for many languages and their scripts, including all the European
    "Latin" scripts, Russian, Greek, Japanese, Chinese, Korean, Thai,
    Vietnamese, Lao, Ethiopian, and some Indian scripts.
  - Highly customizable, using Emacs Lisp code or a graphical customization
    interface.
  - A large number of extensions that add other functionality, including a
    project planner, mail and news reader, debugger interface, calendar, and
    more. Many of these extensions are distributed with GNU Emacs; others are
    available separately.

パッケージのサイズを確認してください: size( s)

特定のパッケージがどれくらいのスペースを占めるか考えたことはありますか?

パッケージは複数のディレクトリにファイルを配置できるため、通常のdu -hcコマンドでは正しい番号が得られない場合があります。

心配しないでください、equeryそれはできます!

user $equery size openoffice-bin
 * app-office/openoffice-bin-3.1.1
         Total files : 4624
         Total size  : 361.38 MiB

size使用されている合計スペースを人間が判読できる単位で印刷するオプションを使用します。

パッケージに含まれるファイルの総数をリストします。

合計サイズをバイト単位で取得するには、 を使用します--bytes

各パッケージのフラグをリストしますUSE: uses( u)

equeryこのusesモジュールは、特定のパッケージで使用できるフラグUSEと、現在有効になっているフラグに関する情報を提供できます。

user $ equery uses gst-plugins-meta

 * Searching for gst-plugins-meta ...
[ Legend : U - flag is set in make.conf       ]
[        : I - package is installed with flag ]
[ Colors : set, unset                         ]
 * Found these USE flags for media-plugins/gst-plugins-meta-0.10-r2:
 U I
 + + X      : Adds support for X11
 - - a52    : Enables support for decoding ATSC A/52 streams used in DVD
 + + alsa   : Adds support for media-libs/alsa-lib (Advanced Linux Sound
              Architecture)
 - - dvb    : Adds support for DVB (Digital Video Broadcasting)
 + + dvd    : Adds support for DVDs
 + + esd    : Adds support for media-sound/esound (Enlightened Sound Daemon)
 + + ffmpeg : Enable ffmpeg-based audio/video codec support
 + + flac   : Adds support for FLAC: Free Lossless Audio Codec
 - - mad    : Adds support for mad (high-quality mp3 decoder library and cli
              frontend)
 + + mpeg   : Adds libmpeg3 support to various packages
 - - mythtv : Support for retrieval from media-tv/mythtv backend
 + + ogg    : Adds support for the Ogg container format (commonly used by
              Vorbis, Theora and flac)
 - - oss    : Adds support for OSS (Open Sound System)
 + + theora : Adds support for the Theora Video Compression Codec
 + + vorbis : Adds support for the OggVorbis audio codec
 - - xv     : Adds in optional support for the Xvideo extension (an X API for
              video playback)

ここのgstreamerプラグインmeta-packageでは多くのフラグが有効になっていますUSE

しかし、他にも利用可能なフラグがあることがわかりますUSE

フラグの詳細についてはUSE、「」の章を参照してGentoo HandbookくださいUSE Flags

ebuildパスを見つけます: which( w)

whichは、ユーザーがファイル パスをすばやく見つけるのに役立つ単純なスクリプトですebuild

whichバージョン管理されていないパッケージ名が渡された場合、ebuildインストール可能な最新バージョンへのパスが返されます。

つまり、入力するとemerge example/packagereturnPortageが使用されますebuild

whichまた、バージョン管理されたパッケージを受け入れて、その ebuild へのパスを取得します。

user $ equery which gnome

/usr/portage/gnome-base/gnome/gnome-2.26.3.ebuild

最後に、上記の関数で答えが見つからない場合はequery次のようなプログラムを使用して手動で検索してwhichくださいcatlessgrepebuild

user $ grep HOMEPAGE $(equery which gentoolkit)

HOMEPAGE="http://www.gentoo.org/proj/en/portage/tools/index.xml"

警告:
現在、パイプ経由で送信された場合、equery出力の形式が変更されることに注意してください。

パイプ形式はツールによる解析を容易にすることを目的としていますが、 --no-pipeオプションを追加することでオフにすることができます。

使用するスクリプトを作成するequeryときは、この動作に注意してください。

こちらも参照

  • Q_applets -で書かれたC小型で高速なPortage補助ツールセット。
  • eixPortage- バイナリ キャッシュ、ローカルツリー、および.txt を検索および比較するoverlaysためのユーティリティ のセット。
  • Gentoolkit - システム管理を簡素化するツールのセットGentoo

参考文献:

おすすめ

転載: blog.csdn.net/GaaraZ/article/details/130260671