Gentoo logo

Немного о способах использования таких утилит как emerge, equery, и genlop. Ключи, и что они значат…

emerge

Стандартный менеджер пакетов:

  • emerge -f program – emerge не будет заниматься компиляцией программы. Система только лишь скачает все необходимые файлы, включая зависимости, для успешной компиляции приложения на данном компьютере.
  • emerge -pv program – вызывая emerge с ключами “-pv”, мы получим список необходимых приложений и библиотек, которые нужно установить для использования данной программы. Кроме того, в конце вывода, мы сможем посмотреть, какой обьем файлов необходимо скачать из Internet.
  • emerge -av program – делает то же самое, что и “-pv”, единственное отличие, к концу вывода добавляется вопрос – хотите ли вы установить данное приложение, и если вы введете клавишу “y”, то emerge скачает и установит необходимые файлы.
  • emerge -b program – система после успешной установки приложения так же создаст бинарный пакет, используя который уже не потребуется по новой компилировать файлы.
  • emerge -B program – то же самое, что и запуск с ключом “-b”, с единственной разницей, что будут созданы только пакеты, устанавливаться в систему они не будут.
  • emerge -k program – данная команда позволяет при наличии в директории /usr/portage/packages, бинарных пакетов, не тратить время на компиляцию пакетов, а установить уже скомпилированные, например с ключем “-b” во время инсталляции программы.
  • emerge -K program – отличие от запуска с ключем “-k”, в том, что при установке если бинарный файл отсутствует в директории packages, то установка будет аварийно остановлена.
  • emerge -g program – скачивается бинарный, уже скомпилированный пакет. Однако найти такой сервер, содержащий скомпилированные пакеты, практически невозможно.
  • emerge -O program – установка пакета, с полным игнорированием всего, что ему требуется. Крайне нежелательно.
  • emerge -o program – будут установлены только необходимые для успешной установки самого приложения файлы. Сам пакет установлен не будет.
  • emerge –resume – позволяет продолжить последний процесс установки приложения, из-за случайно возникшего сбоя. Например, во время внезапного отключения света в доме или разрыва линии модемом.
  • emerge -s program – если вы точно не помните имени программы, можете воспользваться данным параметром – он производит поиск в базе портежей приложений содержащих в своем имени введенное вами слово.
  • emerge –sync – собственно основная опция emerge, предназначенная для получения свежего дерева портежей из Сети.
  • emerge –unmerge program (или просто emerge -C program) – удаление пакета из системы.

Если новая версия будет поставлена “слотом”, то мы получим возможность использовать и старую, и новую версии. Для того, чтобы этого не происходило, можно при помощи команды выше удалить текущую версию приложения.

При выводе информации с ключами “-av” или другими можно увидеть:

  • [ebuild B ] app-text/dos2unix (from pkg app-text/hd2u-0.8.0) – dos2unix блокирует установку hd2u. Перед установкой необходимо сначала удалить конфликтующую программу.
  • [ebuild N ] app-games/qstat-25c – программа будет впервые установлена в системе. Предыдущей версии данной программы нет в списке установленных приложений.
  • [ebuild NS ] dev-libs/glib-2.4.7 – данное приложение у вас уже стоит, но новый glib будет установлен в “слот”. Таким образом, можно будет использовать одновременно несколько версий данного приложения. Ближайший пример – KDE. Можно установить в систему 3.4.3, 3.5.1, 3.5.2 и грузиться в каждый из них по выбору.
  • [ebuild R ] sys-apps/sed-4.0.5 – переустановка пакета. Данная версия пакета уже установлена. Произойдет пересборка пакета.
  • [ebuild F ] media-video/realplayer-8-r6 – необходимо загрузить файлы самому, руками. Обычно это происходит с теми сайтами, которые “отдают” файлы только после регистрации у них на сайте.
  • [ebuild f ] media-video/realplayer-8-r6 – файлы уже загружены пользвателем и помещены в /usr/portage/distfiles.
  • [ebuild U ] net-fs/samba-2.2.8_pre1 [2.2.7a] – предыдущая версия пакета уже есть в системе. Произойдет обновление пакета.
  • [ebuild UD] media-libs/libgd-1.8.4 [2.0.11] – в системе установлена более новая версия пакета чем та, которую вы хотите установить.

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

emerge =kde-3.5.2 Calculating dependencies
 !!! All ebuilds that could satisfy “=kde-3.5.2″ have been masked.
 !!! One of the following masked packages is required to complete
     your request: - kde-base/kde-3.5.2 (masked by: ~x86 keyword)
 For more information, see MASKED PACKAGES section in the emerge
     man page or section 2.2 “Software Availability” in the
     Gentoo Handbook.

то побороть эту напасть, можно поставив перед emerge следующее – ACCEPT_KEYWORDS=”~x86″. В итоге строка примет вид:
ACCEPT_KEYWORDS=”~x86″ emerge =”kde-3.5.2″

Знак “равно” перед именем необходимой программы заставляет установить желаемую версию. Кроме того, перед emerge можно поставить и необходимые при компиляции флаги: USE=”mmx sse sse2 -3dnow” emerge mplayer. Поскольку приложения в Gentoo собираются из исходных кодов, то, как и при ручной сборке, мы можем указать им необходимые нам флаги. Это иногда позволяет включить необходимые нам опции в программе. Например, в данном случае, mplayer собирается с поддержкой расширенных инструкций для процессора Intel, что в итоге даст некоторый прирост в производительности. Кроме всего прочего, это иногда помогает снять ненужные зависимости.

equery

Утилита (находится в пакете app-portage/gentoolkit), предназначенная для получения различной информации о пакетах в Gentoo Linux.

Варианты ее применения:

  • equery b program – список файлов, принадлежащих пакету.
  • equery k program – проверка контрольных сумм файлов.
  • equery d program – список приложений, содержащих прямые зависимости от данного приложения.
  • equery f program – список принадлежащих пакету файлов.
  • equery h program – список приложений, имеющих во флаге USE данный пакет.
  • equery l program – список пакетов совпадающих по имени с введенным.
  • equery s program – вывод размера файлов, содержащихся в пакете.
  • equery u program – выводит список используемых в приложении USE флагов.
  • equery w program – полный путь до ebuild-файла, для данного пакета.

genlop

Просмотр статистики о системе, очень удобна для работы с логом emerge.

  • genlop -c – вывод информации о текущем процессе работы emerge. Для получения данных необходимо, чтобы в момент запуска genlop с ключом “-c”, что-то компилировалось при помощи emerge.
  • genlop -e program – вывод истории установки какого-либо приложения.
  • genlop -i program – вывод расширенной информации о программе.
  • genlop -l – вывод истории установки приложений и библиотек. Имеет вид “дата время >>> имя пакета”.
  • genlop -p program – оценочное время сборки того или иного пакета. Процесс довольно долгий.
  • genlop -r – список дат, когда происходило обновление системы протежей при помощи emerge sync.
  • genlop -s program – поиск по имени приложения.
  • genlop -S program – поиск идет с учетом регистра букв.
  • genlop -t program – вывод времени компиляции для каждой установки данного пакета в систему. Иногда бывает интересно посмотреть, как растет время компиляции для каждой новой версии приложения.
  • genlop -u program – вывод аналогичен вызову с параметром “-e”, но так же выводятся и даты удаления пакета.