Eix
Обновлено 14 марта 2019
Eix - набор утилит для поиска, определения различий и обновления бинарного кэша из вашего локального дерева. Перевод подробного описания eix на русский язык можно найти здесь.
Пакет app-portage/eix присутствует во всех дистрибутивах Calculate Linux, заметно отличаясь в лучшую сторону по скорости работы от пакетного менеджера. Eix использует свою базу портежей (Portage), подключенных оверлеев и выполненных настроек в системе, которая обновляется при каждом вызове cl-update
. Таким образом, вы можете выполнить обновление базы eix-update
только при внесении своих правок, чтобы проверить результат при помощи этой же утилиты. Помимо прочего, eix
может также выполнить синхронизацию портежей. В Calculate Linux, при этом, всё равно будет происходить вызов cl-update --sync-only
.
Ниже приведена лиш небольшая часть распространённых примеров работы с eix.
Формат вывода
Вывод по умолчанию
По умолчанию вызов eix без параметров приведёт к отображению всех пакетов, примерно следующим образом:
eix
[I] app-misc/mc Доступные версии: 4.8.15 4.8.18-r1 ~4.8.19 4.8.20-r1{tbz2} ~4.8.20-r2 **9999 {X +edit gpm mclib nls samba sftp +slang spell test unicode +xdg} Установленные версии: 4.8.20-r1{tbz2}(12:45:03 16.01.2018)(X edit gpm nls samba slang xdg -mclib -sftp -spell -test) Домашняя страница: https://www.midnight-commander.org Описание: GNU Midnight Commander is a text based file manager ...
Здесь можно увидеть все доступные версии пакета, установленную версию, доступные и используемые при установке USE-флаги, сайт разработчиков пакета, описание.
Компактный вывод
Чтобы отобразить только состояние наличия пакета в системе, его имя, версию и описание, используйте опцию -c, --compact
:
eix -c
[I] app-misc/mc (4.8.20-r1{tbz2}@16.01.2018): GNU Midnight Commander is a text based file manager ...
Вывод только имён пакетов
Для просмотра множества пакетов часто бывает удобно сделать вывод только имён пакетов. В этом случае используйте параметр -#, --only-names
:
eix -#
app-misc/mc ...
Расширенный вывод
Более детальный вывод информации о пакете, например, о лицензии, отображается при использовании опции -v, --verbose
:
eix -v firefox
* www-client/firefox Доступные версии: 52.4.0^d 52.6.0^d 58.0.1^d{ tbz2} IUSE (все версии): bindist custom-cflags custom-optimization dbus debug eme-free +gmp-autoupdate g tk2 hardened hwaccel jack +jemalloc neon pgo pulseaudio rust +screenshot selinux startup-notification system-cairo system -harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite test wifi L10N="ach af an ar as ast az bg bn -BD bn-IN br bs ca cak cs cy da de dsb el en-GB en-ZA eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy ga gd gl gn gu he h i hr hsb hu hy id is it ja ka kab kk km kn ko lij lt lv mai mk ml mr ms nb nl nn or pa pl pt-BR pt-PT rm ro ru si sk sl s on sq sr sv ta te th tr uk uz vi xh zh-CN zh-TW" Установленные версии: Версия: 58.0.1^d{tbz2} Дата: 14:12:21 27.02.2018 USE: dbus gmp-autoupdate hwaccel screenshot system-icu system-jpeg system-libevent system-libvpx system-sqlite -bindist -custom-cflags -custom-optimization -debug -eme-free -hardened -jack -neon -pulseaudio -selinux -startup-notification -system-harfbuzz -test -wifi L10N="bg bs cs da de es-AR es-ES es-MX et fi fr hr hu it kk lt lv nl pl pt-BR pt-PT ro ru sk sl sq sr sv uk -ach -af -an -ar -as -ast -az -bn-BD -bn-IN -br -ca -cak -cy -dsb -el -en-GB -en-ZA -eo -es-CL -eu -fa -ff -fy -ga -gd -gl -gn -gu -he -hi -hsb -hy -id -is -ja -ka -kab -km -kn -ko -lij -mai -mk -ml -mr -ms -nb -nn -or -pa -rm -si -son -ta -te -th -tr -uz -vi -xh -zh-CN -zh-TW" DEPEND: >=dev-libs/nss-3.34.1 >=dev-libs/nspr-4.17 >=sys-devel/llvm-4.0.1 >=sys-devel/clang-4.0.1 >=dev-lang/yasm-1.1 virtual/opengl >=sys-apps/sed-4 virtual/pkgconfig >=dev-lang/python-2.7.5-r2:2.7[ncurses,sqlite,ssl,threads] app-arch/zip app-arch/unzip >=sys-devel/binutils-2.16.1 sys-apps/findutils || ( ( >=dev-lang/rust-1.21.0 >=dev-util/cargo-0.22.0 ) >=dev-lang/rust-1.21.0[extended] ( >=dev-lang/rust-bin-1.21.0 >=dev-util/cargo-0.22.0 ) ) >=app-text/hunspell-1.5.4:0/1.6= dev-libs/atk dev-libs/expat >=x11-libs/cairo-1.10[X] >=x11-libs/gtk+-2.18:2 x11-libs/gdk-pixbuf >=x11-libs/pango-1.22.0 >=media-libs/libpng-1.6.34:0/16=[apng] >=media-libs/mesa-10.2:* media-libs/fontconfig >=media-libs/freetype-2.4.10 media-libs/alsa-lib virtual/freedesktop-icon-theme >=sys-apps/dbus-0.60 >=dev-libs/dbus-glib-0.72 >=x11-libs/pixman-0.19.2 >=dev-libs/glib-2.26:2 >=sys-libs/zlib-1.2.3 >=virtual/libffi-3.0.10 virtual/ffmpeg x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrender x11-libs/libXt >=dev-libs/icu-59.1:0/60.2= >=media-libs/libjpeg-turbo-1.2.1 >=dev-libs/libevent-2.0:0/2.1-6= >=dev-db/sqlite-3.20.1:3[secure-delete,-debug] >=media-libs/libvpx-1.5.0:0/3=[postproc] >=x11-libs/gtk+-3.4.0:3 >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16:1.16 >=sys-devel/automake-1.15.1:1.15 ) ~sys-devel/autoconf-2.13 >=sys-devel/libtool-2.4 app-arch/unzip RDEPEND: >=dev-libs/nss-3.34.1 >=dev-libs/nspr-4.17 >=app-text/hunspell-1.5.4:0/1.6= dev-libs/atk dev-libs/expat >=x11-libs/cairo-1.10[X] >=x11-libs/gtk+-2.18:2 x11-libs/gdk-pixbuf >=x11-libs/pango-1.22.0 >=media-libs/libpng-1.6.34:0/16=[apng] >=media-libs/mesa-10.2:* media-libs/fontconfig >=media-libs/freetype-2.4.10 media-libs/alsa-lib virtual/freedesktop-icon-theme >=sys-apps/dbus-0.60 >=dev-libs/dbus-glib-0.72 >=x11-libs/pixman-0.19.2 >=dev-libs/glib-2.26:2 >=sys-libs/zlib-1.2.3 >=virtual/libffi-3.0.10 virtual/ffmpeg x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXrender x11-libs/libXt >=dev-libs/icu-59.1:0/60.2= >=media-libs/libjpeg-turbo-1.2.1 >=dev-libs/libevent-2.0:0/2.1-6= >=dev-db/sqlite-3.20.1:3[secure-delete,-debug] >=media-libs/libvpx-1.5.0:0/3=[postproc] >=x11-libs/gtk+-3.4.0:3 EAPI: 6 58.0.1^d{tbz2} Домашняя страница: http://www.mozilla.com/firefox Найти открытые баги: https://bugs.gentoo.org/buglist.cgi?quicksearch=www-client%2Ffirefox Описание: Firefox Web Browser Лицензия: MPL-2.0 GPL-2 LGPL-2.1 ...
При необходимости отобразить информацию о каждой версии пакета построчно. Для этого предназначена опция -l, --versionlines
:
eix -l
[I] www-client/firefox Доступные версии: 52.4.0 ^d [bindist custom-cflags custom-optimization dbus debug eme-free +gmp-autoupdate gtk2 hardened hwaccel jack +jemalloc neon pgo pulseaudio rust selinux startup-notification system-cairo system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite test wifi L10N="ach af an ar as ast az bg bn-BD bn-IN br bs ca cak cs cy da de dsb el en-GB en-ZA eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy ga gd gl gn gu he hi hr hsb hu hy id is it ja ka kab kk km kn ko lij lt lv mai mk ml mr ms nb nl nn or pa pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv ta te th tr uk uz vi xh zh-CN zh-TW"] 52.6.0 ^d [bindist custom-cflags custom-optimization dbus debug eme-free +gmp-autoupdate gtk2 hardened hwaccel jack +jemalloc neon pgo pulseaudio rust selinux startup-notification system-cairo system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite test wifi L10N="ach af an ar as ast az bg bn-BD bn-IN br bs ca cak cs cy da de dsb el en-GB en-ZA eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy ga gd gl gn gu he hi hr hsb hu hy id is it ja ka kab kk km kn ko lij lt lv mai mk ml mr ms nb nl nn or pa pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv ta te th tr uk uz vi xh zh-CN zh-TW"] 58.0.1 ^d{tbz2} [bindist custom-cflags custom-optimization dbus debug eme-free +gmp-autoupdate hardened hwaccel jack neon pulseaudio +screenshot selinux startup-notification system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite test wifi L10N="ach af an ar as ast az bg bn-BD bn-IN br bs ca cak cs cy da de dsb el en-GB en-ZA eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy ga gd gl gn gu he hi hr hsb hu hy id is it ja ka kab kk km kn ko lij lt lv mai mk ml mr ms nb nl nn or pa pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv ta te th tr uk uz vi xh zh-CN zh-TW"] Установленные версии: 58.0.1^d{tbz2}(14:12:21 27.02.2018)(dbus gmp-autoupdate hwaccel screenshot system-icu system-jpeg system-libevent system-libvpx system-sqlite -bindist -custom-cflags -custom-optimization -debug -eme-free -hardened -jack -neon -pulseaudio -selinux -startup-notification -system-harfbuzz -test -wifi L10N="bg bs cs da de es-AR es-ES es-MX et fi fr hr hu it kk lt lv nl pl pt-BR pt-PT ro ru sk sl sq sr sv uk -ach -af -an -ar -as -ast -az -bn-BD -bn-IN -br -ca -cak -cy -dsb -el -en-GB -en-ZA -eo -es-CL -eu -fa -ff -fy -ga -gd -gl -gn -gu -he -hi -hsb -hy -id -is -ja -ka -kab -km -kn -ko -lij -mai -mk -ml -mr -ms -nb -nn -or -pa -rm -si -son -ta -te -th -tr -uz -vi -xh -zh-CN -zh-TW") Домашняя страница: http://www.mozilla.com/firefox Описание: Firefox Web Browser ...
Опции -l, --versionlines
и -v, --verbose
отлично сочетаются:
eix -lv
Параметры поиска
Поиск по имени пакета
По умолчанию eix вполняет поиск по имени пакета. Так, поиск по слову 'browser' выдаст 19 результатов:
eix browser
* www-client/qutebrowser Доступные версии: ~1.0.4^t 1.1.1^t **9999^t {test PYTHON_TARGETS="python3_5 python3_6"} Домашняя страница: https://www.qutebrowser.org/ https://github.com/qutebrowser/qutebrowser Описание: A keyboard-driven, vim-like browser based on PyQt5 and QtWebEngine ...
Поиск по описанию пакета
Если необходимо выполнить поиск по описанию пакета, то используйте параметр -S, --description
. Поиск по слову 'browser' в этот раз выдаст уже 106 совпадений:
eix -S browser
* www-client/opera Доступные версии: 12.16_p1860-r1 45.0.2552.898[1] 51.0.2830.34 51.0.2830.40 {gtk multilib ELIBC="FreeBSD" L10N="af ar az (+)be (+)bg (+)bn +ca cnr (+)cs (+)da (+)de (+)el (+)en-GB +es (+)es-419 es-ES et fa (+)fi +fil (+)fr (+)fr-CA fy gd (+)he (+)hi (+)hr (+)hu (+)id (+)it (+)ja ka kk (+)ko (+)lt (+)lv mk (+)ms (+)nb (+)nl nn pa (+)pl pt (+)pt-BR +pt-PT (+)ro (+)ru (+)sk (+)sr (+)sv (+)sw (+)ta (+)te (+)th tl (+)tr (+)uk ur uz (+)vi (+)zh-CN (+)zh-TW zu"} Домашняя страница: http://www.opera.com/ Описание: A fast and secure web browser [1] "calculate" /var/lib/layman/calculate ...
Поиск по наличию USE-флага
Большинство пакетов Calculate Linux имеют USE-флаги, которые определяют их функционал. Поиск по наличию флага у пакета осуществляется при помощи параметра -U, --use
:
eix -U qt5
Может быть полезно ограничить вывод только установленными пакетам, имеющими определённый флаг:
eix -IU qt5
Для удобства список можно сократить, получив компактный вывод из имен установленных пакетов с определённым флагом:
eix -#IU qt5
Eix может выполнять поиск не просто по наличию флага, но и по наличию установленного пакета с включённым USE-флагом. Для этого используйте опцию --installed-with-use
. Например, можно получить компактный вывод из имён установленных пакетов с включённым флагом 'qt5':
eix -# --installed-with-use qt5
Опция --installed-without-use
, наоборот, используется для отображения установленных пакетов с отключённым флагом. Вот, папример, как получить компактный вывод из имён установленных пакетов с отключенным флагом 'qt5':
eix -# --installed-without-use qt5
Область поиска
Поиск среди установленных пакетов
Чтобы вывести только установленные пакеты, используйте параметр -I, --installed
:
eix -I
Поиск в определённой категории пакета
Чтобы отобразить список пакетов определённой категории, используйте параметр -C, --category
:
eix -C kde-apps
Поиск пакетов определённого слота
Слоты позволяют держать в системе несколько версий одного пакета. Например KDE4 и KDE5. Для ограничения результата поиска определённым слотом используйте параметр --slot
:
eix --slot
В комбинации с параметром указания категории отобразится список пакетов категории, имеющих заданный слот:
eix -C kde-apps --slot 5
Поиск в подключённых оверлеях
С параметром -O, --overlay
eix отобразит все пакеты подключённых в системе оверлеев. Такие пакеты или версии пакета помечаются нумерованной сноской, а в конце списка добавляется легенда:
eix -O
* x11-themes/elementary-icon-theme [1] Доступные версии: 2.7.1-r4^bs ~9999^bs Домашняя страница: https://launchpad.net/elementaryicons Описание: Elementary icon theme is designed to be smooth, sexy, clear, and efficient * x11-themes/calculate-xcursors [1] Доступные версии: 13-r1 14-r1 Домашняя страница: http://www.calculate-linux.org/packages/x11-themes/calculate-xcursors Описание: Calculate X.Org mouse cursor ...
По выводу видно, что в оверлее 'calculate' полностью все ebuild-ы находятся только для пакета x11-themes/elementary-icon-theme, а для пакета xfce-extra/xfce4-power-manager ebuild только для версии 1.2.0. Также видно, что ebuild-ы находятся только в оверлее 'calculate'.
Чтобы осуществить поиск по имени оверлея, укажите параметр --in-overlay
:
eix --in-overlay calculate
Поиск установленных нестабильных версий пакетов
В системе могут быть установлены как стабильные, так и нестабильные версии пакетов, при этом часть пакетов размаскирована в оверлее 'calculate'. Для вывода списка пакетов, установленных нестабильными версиями, воспользуйтесь опцией --installed-unstable
:
eix --installed-unstable