q applets
Утилиты q — коллекция небольших и быстрых утилит Portage, написанных на C.
Они предоставляют более быстрые, но более ограниченные версии их аналогов в gentoolkit.
Утилиты q не создавались для замены gentoolkit. Они не учитывают файлы 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
Использование
Вызов
Полный список приложений пакета app-portage/portage-utils можно просмотреть с помощью команды man q или q --help. Обратитесь к man-странице по каждой описываемой утилите, так как это руководство является только краткой справкой по наиболее полезным функциям и не включает полную информацию по каждому приложению.
Для просмотра доступных апплетов с кратким описанием их назначения используйте q --help:
user $
q --help
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 qwhich <pkg ...> : find path to pkg 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 --color * Force color in output -h, --help * Print this help and exit -V, --version * Print version and exit
}}
Поиск пакета, к которому принадлежит какой-либо файл (qfile)
Команда qfile находит пакет, к которому относится файл:
Example one:
user $
qfile /etc/fonts/fonts.conf
media-libs/fontconfig (/etc/fonts/fonts.conf)
Example two:
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 installed packages, enter:
root #
qcheck
Перечисление зависимостей пакета (qdepends)
This shows what might be used and not necessarily is being used on a particular system. It does not always account for the USE variables of packages that are installed or in a list of alternates.
Также существует приложение, позволяющее перечислить все пакеты, которые зависят от какого-то другого пакета. Это выполняется использованием команды 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
Use -v
to get a shell-compatible and formatted dependency output list, like found in ebuilds.
user $
qdepends -rv mutt
To list all of the installed packages that depend on a package use the -Q
option.
user $
qdepends -Q mime-types
Перечисление всех пакетов (установленных или неустановленных), зависящих от некоторого другого пакета (qgrep)
Апплет q можно использовать, чтобы найти ebuild, в которых упомянуто искомое имя ebuild (в примере ниже используется "libechonest") с очень большой скоростью:
user $
qgrep -l libechonest
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
Перечисление файлов, принадлежащих 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 [...]
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-core
app-editors/vim-core: 1846 files, 175 non-files, 28.5M [...]
Поиск в дереве 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://terminus-font.sourceforge.net/
Рассмотрим еще один пример, поищем jabber-клиент:
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
Извлечение информации из логов команды emerge (qlop)
Также имеется инструмент для извлечения полезной информации из файла emerge.log. Он называется qlop и может быть полезен для оценки времени компиляции пакета или для его сравнения со временем компиляции на других системах. Также с его помощью можно посмотреть, что компилируется в данный момент и сколько времени, скорее всего, на это понадобится, что удобно при работе в консоли и при отсутствии других средств для проверки.
Чтобы узнать, сколько времени обычно требует компиляция пакета dev-lang/perl:
user $
qlop -a perl
dev-lang/perl: 7′12″ average for 3 merges
Чтобы увидеть, что устанавливается в настоящий момент, и как долго процесс уже работает:
user $
qlop -rt
2019-12-31T03:07:16 >>> net-fs/samba: 6′19″... (82 of 85) ETA: 23s
Install binary package (qmerge)
qmerge can quickly install binary packages (binpkgs):
user $
qmerge sys-apps/sed
[R] sys-apps/sed-4.8
Create or manipulate binary package (qpkg)
qpkg is used to create or clean up Gentoo binary packages.
qpkg used to be a gentoolkit command for querying packages, there is still much outdated documentation on that command to be found on the Internet. See equery.
Not to be confused with quickpkg.
qsearch
- List the descriptions of every package in the cache
user $
qsearch --all .
- Regex search package basenames
user $
qsearch --search <regex>
- Regex search package descriptions (or homepage when using -H)
user $
qsearch --desc <arg>
- Only show package name
user $
qsearch --name-only <package>
- Show homepage info instead of description
user $
qsearch --homepage gentoo.org
- Show repository the ebuild originates from
user $
qsearch --repo gentoo
- Print matched atom using given format string
user $
qsearch --format <arg>
- Set the ROOT env va
user $
qsearch --root <arg>
- Report full package versions, emit more elaborate output
user $
qsearch --verbose syslog-ng
- Tighter output; suppress warnings
user $
qsearch --quiet <package>
- Don't output color
user $
qsearch --nocolor package>
- Force color in output
- Заметка
Colors is default enabled user $
qsearch --color <package>
- Print current qsearch version
user $
qsearch --version
quse
- Print version and exit
user $
quse --version
- Print this help and exit
user $
quse --help
- Force color in output
user $
quse --color
- Don't output color
user $
quse --nocolor
- Tighter output; suppress warnings
user $
quse --quiet <package>
- Report full package versions, emit more elaborate output
user $
quse --verbose <package>
- Set the ROOT env var
user $
quse --root <arg>
- Print matched atom using given format string
user $
quse --format <arg>
- Show repository the ebuild originates from
user $
quse --repo
- Restrict matching to package or category
user $
quse --package <arg>
- Only search installed packages
user $
quse --installed
- Describe all USE flags
user $
quse --describe .
- Use the LICENSE vs IUSE
- Заметка
Including a dot (.) will list all licenses available user $
quse --license .
- List all ebuilds, don't match anything
user $
quse --all
- Show exact non regexp matching using strcmp
user $
quse --exact useflag
Устранение проблем
Defining atom fields for applet commands
Certain q applet commands / argument combinations (such as qsearch --format) mention the use of atom formatting. The defintion of this formatting can be found on the qatom man page under the --format
(-F
) argument:
user $
man 1 qatom
Смотрите также
- Portage — the official package manager and distribution system for Gentoo.
- Gentoolkit
- Useful Portage tools — перечисляет специфичные для Gentoo системные утилиты (для Portage), доступные в репозитории ebuild-ов.
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.