При установке Gentoo (или любого другого дистрибутива, или даже операционной системы) пользователи делают выбор, какая рабочая среда им требуется. Рабочая среда сервера отличается от рабочей станции. Игровой станции отличается от станции 3D-рендеринга.
Рабочая среда зависит не только от того, какие пакеты установлены, но и какие функции определенных пакетов поддерживаются. Если нет необходимости в OpenGL, то и тратить время и ресурсы компьютера на установку и поддержку OpenGL в большинстве пакетов не требуется.
Если кому-то не хочется, работать в среде KDE, то и компилировать пакеты с поддержкой KDE не имеет смысла.
Именно для этого и нужны USE флаги. С их помощью формируется рабочая среда в Gentoo Linux.
Установка USE флагов
Каждый USE флаг — это ключевое слово, которое включат поддержку определенных пакетов и информацию о из зависимостях. Если установлен какой-то USE флаг, Portage знает, что именно нужно установить и с какими опциями собирать пакеты по выбранному ключевому слову. Установленный USE флаг также влияет на зависимости пакета.
Как сделать красивейший флаг в майнкрафт!
Рассмотрим влияние флага kde на поведение Portage. Если этот флаг не указан в переменной USE, пакеты, которые имеют опциональную поддержку kde будут собраны без поддержки kde. А пакеты, имеющие опциональную зависимость kde, будут установлены без установки библиотек kde (как зависимости). Когда флаг kde определен, все эти пакеты будут скомпилированы с поддержкой kde, а библиотеки kde будут установлены в качестве зависимости.
Правильно определяя USE флаги можно адаптировать систему под потребности пользователя.
Типы USE флагов
Есть два типа USE флагов: глобальные и локальные USE флаги.
- Глобальные USE флаги используется всеми пакетами, общесистемно. Это то, что большинство видит в качестве USE флагов.
- Локальные USE флаги используется одним пакетом для его специфической настройки.
Список доступных глобальных USE флагов можно найти в Интернете или локально в /usr/portage/profiles/use.desc.
Список доступных локальных USE флагов можно найти в Интернете или локально в /usr/portage/profiles/use.local.desc.
Использование USE флагов
Объявление постоянных USE флагов
Как упоминалось ранее, все USE флаги объявляются в переменной USE. Чтобы облегчить поиск и подбор USE флагов для пользователей, мы предусмотрели наборы USE флагов по умолчанию. Это подборка USE флагов которые, как нам кажется, наиболее часто используются пользователями Gentoo. Эти настройки по умолчанию определяются в файле make.defaults, который является частью выбранного профиля.
На текущий профиль системы указывает символическая ссылка /etc/portage/make.profile. Каждый профиль работает поверх других профилей, и конечный результат получается из нескольких профилей. Основой для построения профиля является базовый профиль (/usr/portage/profiles/base).
Для просмотра активных USE флагов (полный список), используйте emerge —info :
Minecraft, НО это флаг ДРОВОСЕКОВ (сверху красный, внизу чёрный, а посередине золотой топор) #shorts
root # emerge —info | grep ^USE
USE=»a52 aac acpi alsa branding cairo cdr dbus dts . »
Как видим, эта переменная уже содержит достаточно много ключевых слов. Не меняйте файл make.defaults для изменения переменной USE: изменения в этих файлов будут отменены при обновлении дерева портежей!
Для изменение настроек по умолчанию переменной USE — добавьте или удалите из нее ключевые слова. Это делается глобально, определением переменной USE в файле /etc/portage/make.conf. В этой переменной можно добавить необходимые дополнительные USE флаги или удалить использование флагов, которые больше не нужны. Последнее делается с помощью префикса ключевое слово с знаком минус (-).
Например, чтобы отключить поддержку KDE и QT и добавить поддержку для LDAP, следующие USE флаги должны быть определены в /etc/portage/make.conf:
FILE /etc/portage/make.conf
USE=»-kde -qt4 ldap»
Объявление USE-флагов для отдельных пакетов
Иногда требуется объявить определенный USE флаг для одного (или нескольких) приложений, но не для всей системы. Чтобы сделать это — нужно отредактировать файл /etc/portage/package.use. Обычно это файл, но также может быть каталогом; см man portage для получения дополнительной информации. В этом примере предполагается, что package.use это файл.
Например, включим в mysql поддержку только berkdb:
FILE /etc/portage/package.use
dev-db/mysql berkdb
Аналогичным образом возможно отключить USE флаги для определенного приложения. Например, чтобы отключить поддержку java в PHP (но оставить для всех остальных пакетов путем объявления USE флага в make.conf):
FILE /etc/portage/package.use
dev-php/php -java
Объявление временных USE флагов
Иногда требуется установить временные USE флаги. Вместо двойного редактирования /etc/portage/make.conf (для изменения и отмены изменений USE флагов) можно объявить переменную USE как переменную среды. Помните, что эти настройки действуют только для введенной команды; повторная сборка или обновление приложения (явная или как часть обновления системы) отменят изменения, сделанные с использованием определения временного USE флага.
В следующем примере, при установке seamonkey, java временно удалятся из переменной USE:
root # USE=»-java» emerge seamonkey
Приоритет
Приоритет использования USE флагов определятся в зависимости от того где они определены. Ниже приведены способы определения USE флагов отсортированные по приоритетности (первый имеет самый низкий приоритет):
- Настройки по умолчанию переменной USE, объявленной в файле make.defaults (часть используемого профиля)
- Определенное пользователем значение USE в /etc/portage/make.conf
- Определенное пользователем значение USE в /etc/portage/package.use
- Определенное пользователем значение USE в качестве переменной окружения
Для просмотра конечного значения переменной USE, как оно видится Portage, запустите emerge —info . Это будет список всех переменных (включая переменную USE) с их текущим определением, используемых portage.
root # emerge —info
Адаптация всей системы под новые USE флаги
После изменения USE флагов, система должна быть обновлена, чтобы применить необходимые изменения. Это до этого воспользуйтесь командой emerge с опцией —newuse :
Затем, запустите emerge с опцией —depclean чтобы удалить зависимости, собранные под «старые» настройки USE флагов, и более не актуальные.
Внимание:
Запуск emerge —depclean это опасная операция и должна выполняться с осторожностью. Дважды проверьте предоставленные списки «устаревших» пакетов и убедитесь, что не будут удалены необходимые пакеты. В следующем примере добавлен ключ -p , чтобы depclean только перечислил «ненужные» пакеты, не удаляя их.
root # emerge -p —depclean
После завершения работы depclean, запустите revdep-rebuild для восстановления приложений, которые динамически слинкованы с общими библиотеками, входящими в состав потенциально удаленных пакетов. Программа revdep-rebuild является частью пакета app-portage/gentoolkit; не забудьте сначала установить его.
root # revdep-rebuild
После этого, система будет приведена в соответствие с новыми настройки USE флагов.
USE флаги пакетов
Просмотр доступных USE флагов
Давайте возьмем, к примеру, пакет seamonkey: какие USE флаги он может использовать? Чтобы узнать, используем emerge с —pretend и —verbose :
root # 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 0 kB
Посмотреть эту информацию можно не только с помощью emerge. На самом деле, для этого есть специализированный инструмент — equery , который является частью пакета app-portage/gentoolkit.
root # emerge —ask app-portage/gentoolkit
Теперь запустите equery с аргументом uses для просмотра USE-флагов какого-нибудь пакета. Например, для пакета gnumeric:
user $ 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
https://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
Удовлетворение условия REQUIRED_USE
Некоторые ебилды требуют разрешить или запретить определенные комбинации USE флагов для того, чтобы работать должным образом. Это выражается с помощью условия REQUIRED_USE. Это условие гарантирует, что все функции и зависимости являются полными, сборка удастся, работать будет как и ожидалось. Если какое-либо из них не выполняется, emerge предупредит вас и попросит исправить проблему.
Некоторые примеры условий, приведены ниже.
Пример | Описание |
REQUIRED_USE=»foo? ( bar )» | Если foo установлен, bar тоже должен быть установлен |
REQUIRED_USE=»foo? ( !bar )» | Если foo установлен, bar не должен быть установлен |
REQUIRED_USE=»foo? ( || ( bar baz ) )» | Если foo установлен, bar или baz тоже должен быть установлен |
REQUIRED_USE=»^^ ( foo bar baz )» | Только один из foo bar или baz должен быть установлен |
REQUIRED_USE=»|| ( foo bar baz )» | По крайней мере один из foo bar или baz должен быть установлен |
REQUIRED_USE=»?? ( foo bar baz )» | Не более чем один из foo bar или baz должен быть установлен |
Источник: r-notes.ru
Что делает флаг use в майнкрафт
Рассмотрено Флаги регионов и что они делают?
21 апр. 2021 г., 23:35
21 апр. 2021 г., 23:35
- Ваш никнейм, сервер: wasted_Life
- Интересующий вас вопрос: флаги региона и что они сделают (какой именно флаг что делает с регионом) ибо куча флагов у превилегий а что какой делает не нашел обьяснения
22 апр. 2021 г., 3:29
Флаги для регионов нужны, чтобы предоставлять игрокам определенные разрешения. К примеру вы захотели, чтобы чужие игроки могли открывать двери, сундуки или строить на вашем регионе. Например /rg flag (Название вашего региона) use allow — Позволить игрокам взаимодействовать с блоками (например открывать двери). Если хотите снова запретить игрокам взаимодействовать с блоками, то просто меняете allow на deny. РЕКОМЕНДУЕТСЯ Не давать особые разрешения -(Давать строить игрокам на вашем регионе, открывать сундуки с нужными вам ресурсами и т.д.)
22 апр. 2021 г., 16:27
Добрый день, прикрепляю официальный файл с описанием всех флагов на английском языке:
Вы можете найти интересующий вас флаг, скопировать его описание и перевести в переводчике на русский язык. Если возникают трудности с работой или установкой флага, вы можете обратиться к администрации на сервере с вашей проблемой.
Источник: cubixworld.net
Gentoo: USE-флаги
Одна из сложностей, с которой приходится столкнуться начинающему пользователю Gentoo – это USE-флаги. Откуда их брать? Как прописывать? Где взять готовые списки, чтобы все было хорошо?
Дело в том, что USE-флаги задаются каждым пользователем отдельно, именно под себя. Потому найти каких-то ни было универсальных списков данных флагов просто не возможно. Но не надо отчаиваться! Есть несколько простых правил, выполняя которые мы сводим использование USE-флагов к нечто простому.
Итак, что это за правила?
-
Нужно помнить, что существует минимум два конфигурационных файла, отвечающих за USE-флаги. Во-первых, это /etc/make.conf, в котором задаются флаги, действующие на все устанавливаемые пакеты. И во-вторых, это вручную создаваемый файл /etc/portage/packages.use, в котором указываются отдельные пакеты с соответствующими флагами. Пример файла /etc/portage/packages.use:
www-client/w3m -gtk lynxkeymap net-im/pidgin -networkmanager -gstreamer -dbus x11-libs/vte -python x11-misc/xbindkeys guile app-editors/emacs -svg xfce-base/thunar -trash-plugin -startup-notification x11-libs/cairo glitz -xcb media-sound/sonata -trayicon app-office/openoffice java -pam media-fonts/terminus-font quote ru-dv ru-i bolddiag width net-misc/slimrat -X x11-wm/dwm savedconfig media-video/vlc qt4 schroedinger skins stream sys-apps/man-pages -linguas_ru net-libs/libsoup gnome net-libs/libproxy gnome net-nds/openldap sasl
USE=»X gtk mmx sse sse2 smp ssse3 mmxext dvd alsa cdr bash-completion -gnome -kde -qt3 -qt4 -bindist -consolekit -policykit -eds»
$ emerge -pv bash These are the packages that would be merged, in order: Calculating dependencies. done! [ebuild R ] app-shells/bash-4.0_p28 USE=»net nls -afs -bashlogger -examples -plugins -vanilla» 0 kB
Сразу видно, какие флаги используются, какие в данный момент времени включены, а какие выключены. Для того, чтобы сказать, нужен какой-то конкретный флаг или нет, необходимо знать, для чего он вообще используется. Очень удобно для этих целей использовать утилиту euse, которая входит в состав пакета gentoolkit. Рекомендую ставить этот пакет с самого начала, еще во время установки системы.
emerge -av gentoolkit
Обратите внимание, что при установке используются флаги “-av”. Это позволяет перед установкой проверить флаги еще раз, посмотреть список пакетов, которые будут устанавливаться и если все нормально, после подтверждения пользователя будет осуществлена установка нужного пакета. После установки для того, чтобы посмотреть назначение конкретного флага используется следующий вызов euse:
$ euse -i vanilla global use flags (searching: vanilla) ************************************************************ [- ] vanilla — Do not add extra patches which change default behaviour; DO NOT USE THIS ON A GLOBAL SCALE as the severity of the meaning changes drastically local use flags (searching: vanilla) ************************************************************ [- ] vanilla (www-apache/mod_security): Provide the original ModSecurity Core Rule Set without Gentoo-specific relaxation. When this flag is enabled, we install the unadulterated Core Rule Set. Warning!
The original Core Rule Set is draconic and most likely will break your web applications, including Rails-based web applications and Bugzilla.
emerge -auND world
Будет произведен анализ установленных пакетов на измененные зависимости и необходимые пакеты доставляются и пересобираются. После чего не лишним будет выполнить очистку системы:
emerge -a —depclean
Соблюдая эти правила довольно просто управлять списком USE-флагов не захламляя систему ненужными зависимостями. Надеюсь эта статья поможет вам ближе познакомиться с Gentoo. На деле данная операционная система довольно проста!
Источник: www.juev.org