В начало → Основы Portage |
Одно из фундаментальных отличий Gentoo от других дистрибутивов — его система управления пакетами, названная Portage, ориентированная в первую очередь на установку программ из исходных текстов. Это позволяет иметь множество настроек и точек контроля для одного пакета там, где пользователи бинарных дистрибутивов имеют несколько пакетов с разными опциями и зависимостями (фактически это тоже самое, только управление различными опциями сборки не такое гибкое). С Portage вы можете установить так называемые USE-флаги для настройки опций одного пакета или даже всей системы.
Например если вы хотите включить поддержку KDE и выключить поддержку GNOME вам нужно добавить к строке USE в файле /etc/make.conf
флаги "kde -gnome
". Для получения более подробной информации о USE-флагах смотрите Gentoo Handbook.
Для работы с Portage используется команда emerge. Например для установки пакета moo достаточно набрать команду: emerge moo. Portage проверит зависимости, скачает все необходимые архивы с исходниками, соберёт пакет и установит его. Вся необходимая
информация сохранена в базе, состоящей из ebuild'ов, каждый из которых представляет собой специальный скрипт. Все ebuild'ы
находятся в папке /usr/portage
.
Первое правило Gentoo — нужно внимательно следить за флагами USE. Почему при установке Midnight Commander устанавливается
X.Org — потому что у вас разрешён флаг X. Почему нет KPDF в KDE? — Потому что KDE был собран без флага pdf
(не спрашивайте почему всё же собрался KGhostScript).
Всегда устанавливайте новые пакеты командной emerge --ask --verbose (или emerge -av) для просмотра USE-флагов перед началом компиляции. Установите пакет gentoolkit (emerge gentoolkit) — среди множества полезных вещей он содержит утилиту euse, которая существенно упрощает управление флагами USE[3]. Выполните euse -i flag для получения информации о флаге "flag". Так же просмотрите man-страницу euse (не волнуйтесь. она короткая :-)).
Если вы хотите изменить USE-флаги только для одного пакета не пытайтесь собирать его командой USE="some flags" emerge moo. Это конечно сработает, но при обновлении системы пакет будет пересобран со старыми флагами. Лучше прописывайте USE-флаги в /etc/portage/package.use, для этого выполните echo "category/moo some flags" >> /etc/portage/package.use перед установкой пакета.
Тоже относится и к ACCEPT_KEYWORDS
— используйте /etc/portage/package.keywords
. В Portage 2.1 вы можете использовать папки package.use
и package.keywords
вместо файлов для более простого управления.
[3] Также имеется утилита: ufed (установка: emerge ufed) для более дружественного просмотра USE флагов
В начало → Основы Portage |