This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
q applets/ru
Q-апплеты — это набор небольших и быстрых вспомогательных утилит системы Portage, написанных на C. В этом руководстве охватываются некоторые общие применения этих вспомогательных утилит, которые находятся в пакете app-portage/portage-utils.
Пакет 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
+qmanifest
|
Build qmanifest applet, this adds additional dependencies for GPG, OpenSSL and BLAKE2B hashing |
+qtegrity
|
Build qtegrity applet, this adds additional dependencies for OpenSSL |
openmp
|
Build support for the OpenMP (support parallel computing), requires >=sys-devel/gcc-4.2 built with USE="openmp" |
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, Joshua Saddler, 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.