q applets

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 • ‎português do Brasil • ‎русский • ‎日本語 • ‎한국어
Resources

Пакет app-portage/portage-utils — это набор очень быстрых утилит, написанных на языке C, которые предлагают более быструю, но более ограниченную альтернативу похожим приложениям из app-portage/gentoolkit. Обратите внимание, что q-апплеты не предназначены для замены gentoolkit. Утилиты будут гораздо более эффективными, чем эквивалентные утилиты из gentoolkit и могут лучше подходить для использования в скриптах, которые должны часто вызывать Portage. Но они не предлагают такую же функциональность. Q-апплеты не работают с eclasses и не предоставляют таких инструментов, как revdep-rebuild или 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
static !!do not set this during bootstrap!! Causes binaries to be statically linked instead of dynamically

Emerge

Устанавливаем q-апплеты:

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

Конфигурация

Построение кэша

Перед началом использования апплетов, сначала инициализируйте кэш:

root #q -r

Использование

Вызов

Полный список приложений пакета app-portage/portage-utils можно просмотреть с помощью команды man q или q --help. Обратитесь к 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

Здесь будет сообщено обо всех файлах, измененных после установки. Если приложение сообщает о файлах конфигурации, отредактированных вручную после установки, то не о чем беспокоиться.

Перечисление пакетов, зависящих от некоторого другого пакета (qdepends)

Также существует приложение, позволяющее перечислить все пакеты, которые зависят от какого-то другого пакета. Это выполняется использованием команды qdepend. Используйте опцию -a, чтобы показать всю информацию о переменных DEPEND, RDEPEND и PDEPEND для пакета.

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

Перечисление всех пакетов (установленных или неустановленных), зависящих от некоторого другого пакета (qgrep)

Апплет q можно использовать, чтобы найти ebuild, в которых упомянуто искомое имя ebuild (в примере ниже используется "libechonest") с очень большой скоростью:

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

Перечисление файлов, принадлежащих 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, которую нужно запустить c 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
[...]

Определение размеров пакета (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. Этот инструмент позволяет выполнить намного более быстрый поиск в дереве Portage, чем при использовании команды emerge -s.

Ниже приведено несколько примеров его использования:

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

Чтобы увидеть, что устанавливается в настоящий момент, и как долго процесс уже работает:

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.