Устанавливая Gentoo (или любой другой дистрибутив, или даже операционную систему вообще), вы выбираете те или иные возможности в зависимости от среды, с которой работаете. Установка сервера отличается от установки рабочей станции, а установка игровой станции — от платформы 3D-рендеринга.
Это касается не только того, какие пакеты устанавливать, но и какие функции определенных пакетов должны поддерживаться. Если вам не нужен OpenGL, то зачем вам его ставить и встраивать поддержку OpenGL в большинство программ? Если вы не собираетесь использовать KDE, зачем собирать пакеты с его поддержкой, если они работают и без этого?
Чтобы помочь пользователям в выборе того, что устанавливать/активировать, а что — нет, мы захотели дать им простой способ описания рабочей среды. Это позволяет пользователю решить, что же ему на самом деле надо, и облегчить работу с Portage, нашей системой управления пакетами.
Рассмотрим USE флаги. USE флаг — это ключевое слово, включающее сведения о поддержке и зависимостях определенного понятия или функции. При определении какого-либо USE флага, Portage узнает, что вам нужна поддержка соответствующей функции. Конечно, это также влияет на сведения о зависимостях пакета.
Давайте рассмотрим конкретный пример — ключевое слово
Правильно определяя ключевые слова, вы создаете систему, подогнанную специально для ваших нужд.
Есть два типа USE флагов:
Список доступных глобальных USE флагов можно найти
Список локальных USE флагов находится в вашей системе в
В надежде, что вы убедились в важности USE флагов, теперь мы расскажем, как их объявлять.
Как сказано ранее, все USE флаги объявляются в переменной
Профиль, на который ориентируется ваша система, указывается символьной ссылкой
Давайте взглянем на значение по умолчанию для профиля 10.0:
(в этом примере объединяются значения из base, default/linux, default/linux/x86 и default/linux/x86/10.0/) USE="a52 aac acpi alsa branding cairo cdr dbus dts dvd dvdr emboss encode exif fam firefox flac gif gpm gtk hal jpeg lcms ldap libnotify mad mikmod mng mp3 mp4 mpeg ogg opengl pango pdf png ppds qt3support qt4 sdl spell startup-notification svg tiff truetype vorbis unicode usb X xcb x264 xml xv xvid"
Как видите, эта переменная уже содержит достаточно много ключевых слов. Не
меняйте файл
Для изменения значения по умолчанию, нужно добавлять или удалять ключевые
слова из переменной
Например, чтобы убрать поддержку KDE и QT, но добавить поддержку ldap,
можно определить в
USE="-kde -qt4 ldap"
Иногда нужно определить некоторые USE флаги только для одного или нескольких
пакетов, не трогая системных настроек. Для этого необходимо создать каталог
Например, вам не нужна глобальная поддержка
dev-db/mysql berkdb
Естественно, можно в явном виде
dev-php/php -java
Иногда необходимо установить какой-то USE флаг только на один раз. Вместо того,
чтобы дважды редактировать
Например, уберем java из значения USE на время установки seamonkey.
# USE="-java" emerge seamonkey
Конечно же, существует определенная последовательность формирования значения
USE. Вы же не хотите объявить
Чтобы узнать, какие же настройки
# emerge --info
Если вы изменили свои USE флаги и хотите обновить всю систему в соответствии с
новым значением USE, запустите
# emerge --update -deep --newuse world
Теперь запустите функцию Portage depclean, чтобы удалить условные зависимости, присутствующие в «старой» системе, но больше не нужные при новом составе USE флагов.
# emerge -p --depclean
Когда depclean закончит свою работу, запустите
# revdep-rebuild
После выполнения всех этих действий, ваша система будет полностью использовать новые значения USE флагов.
Возьмем, к примеру,
# emerge --pretend --verbose seamonkey These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] www-client/seamonkey-1.0.7 USE="crypt gnome java -debug -ipv6 -ldap -mozcalendar -mozdevelop -moznocompose -moznoirc -moznomail -moznopango -moznoroaming -postgres -xinerama -xprint" 0 kB
# emerge gentoolkit
Теперь для просмотра USE флагов какого-нибудь пакета запустим
# equery --nocolor uses =gnumeric-1.6.3 -a [ Searching for packages matching =gnumeric-1.6.3... ] [ Colour Code : set unset ] [ Legend : Left column (U) - USE flags from make.conf ] [ : Right column (I) - USE flags packages was installed with ] [ Found these USE variables for app-office/gnumeric-1.6.3 ] U I - - debug : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see http://www.gentoo.org/proj/en/qa/backtraces.xml. + + gnome : Adds GNOME support + + python : Adds support/bindings for the Python language - - static : !!do not set this during bootstrap!! Causes binaries to be statically linked instead of dynamically