Программы. USB-флаги
r o o t 20 сентября, 2014 - 16:54
Здравствуйте!
Как бы лучше вопросы поставить...
Вот к примеру при установки программы в Archlinux спрашивают какие пакеты установить к данной программе.
Это и есть в генту USB-флаги? Или даже все эти мини-пакеты которые в совокупности являются программой тоже можно USB-флагами урезать?
Как вообще лучше начать добавлять USB-флаги? Их уж больно очень много... Даже не знаю как и начать бы...
П.С: почему их назвали USB-флаги? Как расшифровывается это?
»
- Для комментирования войдите или зарегистрируйтесь
Цитата:П.С: почему их
Их назвали USE флагами. И это ни как не расшифровывается, просто есть английсий глагол "use".
В Gentoo USE флаг указывает какие опции нужно задействовать при конфигурировании исходных кодов программы перед её сборкой. И как следствие USE флаг так же влияет на то какие зависимости (программы), необъодимые для сборки программы или её работы, должны быть предварительно установлены. Если есть некоторая программа, которая не является зависимостью, необходимой для сборки программы или её работы, но может работать с устанавливаемой программой или расширяет её функционал, то она помещается в другой пакет, а так программа становится её зависимостью. Так что в общем USE флаги в первую очередь влияют на опции сборки программы и как следствие доступный в ней функционал и требуемые пакеты для сборки или работы. Дополнительные пакеты, которые как-то связаны с этой программой вам придётся ставить отдельно, ну или, если есть, использовать meta пакет, в котором по просту перечилсены пакеты, которые по каким-то критерям сгруппированы, например таким пакетом является kdebase-meta, он "потянет" за собой установку пакетов, которые относятся к KDE.
Просто выберите нужный профиль, который предоставляет набор заранее предустановленных USE флагов и собирайте систему, если вам чего-то будет не хватать, то будете разбираться какой флаг за что отвечает и активировать его у нужного пакета в package.use или глобально в make.conf.
Список USE флагов с их кратким описением есть в /usr/portage/profiles/use.desc и use.local.desc.
#
Про это я понял.
В генту из-за use-флагов система будет чистее арчлинукса, если в нем тоже следить за пакетами?
К примеру: при установки xfce4 пакман спрашивает какие мини-пакеты к нему установить: exo, garcon, gtk2-xfce-engine -- в генте и к этим пакетам use-флаги настраиваются?
Есть ли смысл контролировать sub-флаги? Сильно ускоряет работу программ неужели?
Цитата:К примеру: при
Что вы под этим подразумеваете? Если меньшее число пакетов и отсутствие пакетов, которые не являются чьими-либо зависимостями, то да, в будет именно так.
Ещё раз, USE флаг влияет лишь на опции с которыми будет собрана программа, к примеру возьмём пакет app-emulation/wine, у него вот такой набор флагов:
Флаши +abi_x86_32 +abi_x86_64 отвечают за поддержку архитектур, они по умолчанию активирированы в данном случае и они диктуют, что, если система 64 битная и профиль не no-multilib, то будет собран 32 битный и 64 битный WINE.
Флаг +alsa так же по умолчанию включён, он указывает, что при конфигурировании будет задействован параметр '--with-alsa'
т.е. сценарий конфигурирования ./configure будет вызван с дополнительной опцией
и в качестве зависимости к этому флагу нужны библиотеки alsa:
Флаг cups активиреут поддержку печати (доступа к cups), тянет по зависимостям
и задействует вызов сценария конфигурирования с дополнительным параметром
И так далее со всем USE флагами, за подробностями вот сюда http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-emulation/wine/wine-1.7.21.ebuild.
Т.е. USE флаг активирует или деактивирует опцию конфигурированя исходников программы, которая добавляет или убирает поддержку некоторых возможностей программы. Дополнительные программы, которые не являются зависимостями, нужными при сборке или работы программы он не управляет. Все дополнительные программы, которые вам могут потребоваться вам нужно будет ставить отдельно, нет какого-либо параметра для emerge, который заставит его вместе с программой установить "рекомендованные пакеты", всё чт может быть относительно таких пакетов, так это сообщение в выводе emerge после установки программы, что дескать для этой программы вам так же может потребоваться в некоторых случаях, вот такие пакеты, например так сделано у пакетс chromium, после его установки emerge вам выведет вот такой текст:
и далее уже вы сами можете ставить указанные пакеты, а можете не ставить.
Если же говорить об xfce, то есть пакет xfce-base/xfce4-meta, который по зависимостям "тянет" другие пакеты:
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/xfce-base/xfce4-meta/xfce4-meta-4.10.ebuild
#
>Ещё раз, USE флаг влияет лишь на опции с которыми будет собрана программа, к примеру возьмём пакет app-emulation/wine, у него вот такой набор флагов
а как в арче нельзя такого? при установки просто некоторые ненужные пакеты к установленному пакету не устанавливать?
сильно скорость работы неужто будет отличаться, чем вообще без use флагов?
Цитата: а как в арче нельзя
Вы дали комментарий относительно WINE, вы прочитали что я вообще написал относительно WINE, если флаг активирован, то активруется опция сборки и как следствие активируется зависимость в виде пакета, если не нужна опция в WINE, которую активирует флаг, так выключите его. Если говорить о meta пакете xfce, так не ставьте его, ставьте в ручную отдельно пакеты, которые вам нужны в xfce.
Не понятен вопрос.
эх, зачем было такую сочную
эх, зачем было такую сочную тему сливать? все равно корм не в коня… так бы хоть посмеялись
Здесь
Здесь http://www.gentoo.org/dyn/use-index.xml были?
Чтобы понять, как использовать USE флаги, нужно хотя бы один раз руками собрать пакет из исходников, а ещё лучше - написать собственную (большую) программу :)
Как бы это попроще... Программы имеющие много возможностей обычно позволяют выбирать, какие возможности поддерживать, а какие нет. Эта возможность выбирать сделана для людей, которые не любят винды за их монстровые программы, делающие то, что никаким боком пользователю не надо. Проблема в том, что этот подход предполагает, что пользователь знает, что ему надо, а что нет. Собственно, на мой взгляд, если человек не знает, что ему надо, а что нет, то ему лучше пользоваться виндами и не парится с "никсами".
Возвращаясь к USE флагам. Раз не знаешь, что тебе от программы надо, то и не нужно заморачиваться с этими флагами. Вот когда выяснится, что программа не делает, то что надо, или делает что-то ненужное, то тогда и стоит спрашивать как исправить ситуацию для этой конкретной программы.
А вообще, если программа Х не содержит код позволяющий ей работать с внешним пакетом Y, то можно этот пакет Y хоть ставить, хоть сносить, программе Х от этого ни жарко ни холодно. А вот если при установке программы Х ей велели пользоваться пакетом Y, то система обязательно постарается установить этот пакет.
Чем больше юзерфрендли, тем сложнее юзать.
>> Чтобы понять, как
>> Чтобы понять, как использовать Чтобы понять, как использовать USE флаги, нужно хотя бы один раз руками собрать пакет из исходников, а ещё лучше - написать собственную (большую) программу :)
А построить ракету и вывести ее на орбиту не надо? :D