Gentoolkit/ru

Gentoolkit представляет собой набор средств, облегчающих администрирование системы Gentoo. Этот документ охватывает основы некоторых инструментов, присутствующих в Gentoolkit.

Что такое Gentoolkit?
Gentoo является уникальным дистрибутивом и имеет некоторые сложности, не существующие для других дистрибутивов. Как только разработчики и контрибьюторы Gentoo обнаружили некоторые из них, они также написали инструменты, с целью помочь пользователям и администраторам обойти эти проблемы. Многие из этих инструментов были внесены как вклад в проект Gentoo и включены в пакет.

Gentoolkit содержит целый букет полезных инструментов, которые помогут управлять пакетами и отслеживать всё что происходит в вашей системе. Больше всего от наличия этого пакета выиграют особенно те пользователи, которые часто обновляют свои системы.

Установка
Как и с любым другим пакетом Gentoo, для установки просто используйте emerge.

Поиск документации
Любая документация, которую программа может иметь (кроме справочных страниц) хранится в.

Введение
is a tool that displays useful information about the packages on your system. is based on a system of modules. Every module has a shorthand name. For example,  is the same as. explains global options and lists all available modules and their shorthand names. will display the help screen for a specific module. Lastly,  provides a detailed explanation of all available modules and options, and provides useful examples.

Ниже приведен список функций, которые работают в большинстве модулей.

Как и emerge, equery не понимает частичные названия пакетов:

В отличие от emerge, equery может принимать подстановку подобно shell в категории и/или названии пакета:

Большинство модулей equery принимают многократный ввод:

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

Следующие несколько разделов в этом документе дают краткое введение в другие модули.

Поиск пакета, которому принадлежит конкретный файл (b)
может искать файлы, соответствующие регулярному выражению с помощью опции. Опция  прекращает поиск после того, как найдет совпадение. Поскольку ни один файл в системе не должны принадлежать двум пакетам, это безопасная оптимизация.

Просмотр записей чейнджлога с помощью changes (c)
позволяет просматривать изменения в чейнджлоге для версии пакета или диапазона версий. Представьте себе, после  вы заметите, что Portage собирается обновиться и хотите проверить изменения:

Проверка целостности пакетов с помощью check (k)
Иногда бывает полезно проверить целостность пакета. может проверить контрольные суммы MD5, а также временные метки, чтобы определить, когда пакет мог быть поврежден, заменен или удален.

Перечисление всех пакетов зависимых от пакета Х с помощью depends (d)
Вы никогда не задумывались, почему определенный пакет был установлен в вашей системе? может сказать, какие пакеты являются зависимостями, с помощью. Включая косвенные зависимости с помощью опции.

Получение графы зависимостей с помощью depgraph (g)
является противоположностью. Вы передаете ему пакет, и он найдет пакеты от которых зависит it (не зависящие от него). Когда он находит зависимость, то будет рекурсивно искать все, что имеет отношение к зависимостям пакета. Контроль глубины древа поиска осуществляется опцией.

Обратите внимание, как   является прямой зависимостью и   становится косвенной зависимости если USE-флаг   будет установлен.

Вывод списка файлов, установленных пакетом с помощью files (f)
может получить список всех файлов, установленных с помощью ebuild, используя модуль. Попробуйте , чтобы получить удобочитаемую структуру директорий. Используйте, чтобы найти определенный тип файла. Например, чтобы найти, где были установлены исполняемые файлы, используйте  и для того, чтобы быстро найти местоположение файла конфигурации, попробуйте.

Ищите пакеты, имеющие конкретный USE-флаг, с помощью hasuse (h)
Вы можете использовать, чтобы узнать какие пакеты имеют конкретный USE-флаг. не скажет вам, если флаг установлен, только если ebuild перечислит его в качестве опции. См. раздел ПРИМЕРОВ  в  man-странице   для получения этой информации.

Перечисление пакетов с помощью list (l)
представляет собой простой, но мощный модуль, отображающий список пакетов, которые будут установлены, в дереве портежей или оверлее.

Стандартный запрос будет искать установленные пакеты для заданного имени пакета. Указывание '*' отобразит все пакеты в сете. В крайнем левом поле, мы видим, что все вышеперечисленные пакеты установлены (nstalled) и из дерева   (ortage). Они не замаскированы (второе поле пустым), и все установлены в слот по умолчанию (0).

На этот раз мы собираемся использовать локальные опции для поиска пакетов в дереве Portage и оверлеях.

В этом примере вы можете увидеть, что версия 7.2.182 установлена и нет версий, доступных из оверлея. Вы можете увидеть, какие версии замаскированы по ключевым словам знаком   во втором поле.

Просмотр метаданных пакета с помощью meta (m)
Каждый пакет в дереве портежей обеспечивает по крайней мере некоторые метаданные о его сопровождающем, группе и т.д. Прочтите Gentoo Metadata.Количество полезной информации зависит от того, сколько пакетов сопровождающие решат предоставить. Если параметры не заданы,  возвращает некоторую базовую, но полезную информацию.

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

Определение размера пакета с помощью size (s)
Вам когда-нибудь было любопытно узнать, сколько места занимает конкретный пакет? Поскольку пакет может иметь свои файлы в нескольких каталогах, обычный  не сможет дать корректную информацию. Не волнуйтесь, к Вам идет на помощь !

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

Листинг USE-флагов по-пакетно с помощью uses (u)
Модуль  из   может предоставить информацию о том, какие флаги доступны для определенного пакета, и какие из этих флагов в настоящее время активны.

Здесь в этом примере активированы несколько флагов в мета-пакете, но вы можете увидеть, что есть и другие USE-флаги. Для получения дополнительной информации об использовании флагов, пожалуйста, обратитесь к главе USE-флаги Настольной книги Gentoo.

Поиск канонического пути к Ebuild с помощью which (w)
это простой скрипт, который поможет вам быстро найти путь к файлу Ebuild. Если вы указываете неверсированное имя пакета,  отобразит путь до последней устанавливаемой версии Ebuild, другими словами, Portage мог бы использовать Ebuild, если бы вы ввели. Укажите версированный пакет, чтобы получить путь к его Ebuild.

Наконец, если ни один из вышеперечисленных особенностей  не удовлетворил ваш запрос, попробуйте использовать    для поиска вручную ebuild-а с программами, такими как ,   или  :

Введение
является инструментом для просмотра, активации и деактивации USE-флагов в различных местах. Для получения дополнительной информации об использовании флагов, пожалуйста, обратитесь к главе USE-флаги. См. для получения помощи и всех опций.

Просмотр, активация и деактивация USE-флагов
Команда  считывает текущие активные USE-флаги и отображает их.

Точно так же вы можете использовать команду , чтобы просмотреть только активные глобальные флаги.Команда    делает то же самое для активных локальных флагов. и  являются суб-опциями для   и для корректного функционирования перед ними необходима опция (такая как  ).

Мы также можем использовать  для того, чтобы активировать и деактивировать USE-флаги. Для этого используются команды (активировать флаг) и   (деактивировать флаг).

Активация USE-флага:

Файл выглядит таким, после запуска команды:

Деактивация USE-флага:

Снова, вид файла после запуска команды:

revdep-rebuild
Этот инструмент является инструментом для пересборки обратных зависимостей в Gentoo. Он будет сканировать ваши файлы ebuild, чтобы найти пакеты, которые повредились в результате обновлении пакета, от которого они зависят. Он может собрать эти пакеты для вас, но также может случиться, что данный пакет уже не работает с текущей установленной зависимостью, и в этом случае вы должны обновить сломанный пакет до более новой версии. revdep-rebuild передаст флаги к emerge, который позволяет использовать опцию, чтобы увидеть что произойдет, прежде чем произвести реальную операцию.

Если вам нужно пересобрать некоторые пакеты, вы можете запустить  без опции   и перечисленные пакеты будут снова пересобраны.

glsa-check
в основном, инструмент для тестирования, отслеживающий различные GLSA (Консультант по безопасности Gentoo Linux) и в конечном итоге будет интегрирован в  и.

eread
это простая утилита для отображения elog-файлов, представленных в >=. Вы можете настроить сохранение elog-файлов, установив пару переменных в :

После того как вы создали удовлетворящий Вас elog, просто запустите, чтобы посмотреть log-файлы.

Выберите номер и файл будет отображаться с использованием программы, указанной в переменной окружения PAGER. Если переменная PAGER не установлена, будет использоваться. Переменную окружения PAGER можно задать с помощью  (модуль  ).

После отображения пункта elog, вам будет предложено удалить файл.

eclean
является инструментом для удаления из системы старых файлов исходного кода и бинарных пакетов.

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

Вы можете создавать архивы установленных пакетов с помощью  или функции FEATURES="buildpkg". Эти пакеты хранятся в PKGDIR, как правило, в. Если вы больше не хотите хранить их, или они слишком старые, вы можете запустить  чтобы удалить их из PKGDIR. Это хороший способ гарантировать, что любые бинарные пакеты, которые у вас есть, только самых последних версий.

Более подробную информацию о  и советы о том, как поддерживать систему, свободной хлама вы можете прочитать   или проверить статью об eclean.

Благодарность
Мы хотели бы поблагодарить следующих авторов и редакторов за их вклад в это руководство:


 * Matt Butcher
 * John P. Davis
 * Erwin
 * Shyam Mani
 * Xavier Neys
 * Karl Trygve
 * José Luis Rivero
 * Joshua Saddler
 * Douglas Anderson