LINUX.ORG.RU

Gentoo для спецефических целей

 ,


0

3

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

Есть ли в генте свежий софт(как у арча например) и как дела обстоят с ебилдами? Иногда пилю всякие PKGBUILD'ы для себя но вот думаю что в генте все по-другому с этим. И удобно ли использовать USE-Flag'и для всего этого?

И вообще стоит жертвовать своим электричеством ради полной оптимизации всего и вся?

Какие минусы и плюсы принёсет переход на Gentoo в плане софта, пульсу не юзаю, awesome wm.

Можно любой форк генты юзать, такие как Funtoo и другие(если существуют)

Прошу удержатся от срачей, и приводить конструктивные ответы по поводу всего этого

★★★

Если ты задаёшь такой вопрос, значит Gentoo тебе не нужна.

Со свежим софтом(когда он нужен, а это на практике далеко не всегда) у меня лично не было проблем ни в одном дистрибутиве(основные используемые - Debian, Gentoo, Slackware и с недавнего времени RHEL по работе).

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

Если сравнивать с арчем, то 99% дистрибутивов лучше, так что с Gentoo хуже не будет. ИМХО, разумеется.

shell-script ★★★★★ ()
Ответ на: комментарий от shell-script

Насчет софта, т.к компиляю всякую драбуду для себя, в почете использовать самый свежий софт(gcc, make и все что с этим связано)

C арчем проблем не имею, новости и вики научился читать и сам знаю некоторые нюансы

DATRAT ★★★ ()
Ответ на: комментарий от DATRAT

Ну просто интереса ради...

Объясни мне разницу для большинства софта между последним стабильным gcc и gcc-4.7. И как тебе помог переход на новую версию и что именно для этого понадобилось? Какие новые ключи заюзал? Что поменялось в исходящих бинарниках?

shell-script ★★★★★ ()
Последнее исправление: shell-script (всего исправлений: 1)

Софт вполне свежий, особенно если использовать тестовую ветку (например, ~amd64). Однако, GCC в системе до сих пор версии 5.4.x (смотри на префиксы у версий: ~ — тестовая, ** — замаскирована):

[I] sys-devel/gcc
     Доступные версии:      
     …
     (5.4.0) ~5.4.0^s 5.4.0-r3^s
     (6.3.0) ~6.3.0^s
     (7.1.0) **7.1.0-r1^s

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

В остальном, всё работает хорошо. Компиляция занимает много времени только для нескольких пакетов, которые обновляются не так часто (GCC, LLVM, Webkit-GTK), остальное собирается достаточно быстро даже на моём Core i3-4010U с 4GB RAM. Два местных монстра (LibreOffice и Firefox) я ставлю из bin-пакетов из основного дерева.

USE-флаги — отличная штука. Если ты точно знаешь, какой функционал тебе (не) нужен глобально в системе и в отдельных пакетах, то с помощью флагов можно здорово уменьшить объём итоговой установки и отсечь лишние для тебя зависимости. Так, например, я использую firewalld, чтобы Netfilter использовал разные профили в зависимости от того, к какой сети я подключился, а его GUI требует, внезапно, GTK+3 и Qt4 (разрабы-наркоманы написали утилиту конфигурации на GTK+3, а апплет для трея на PyQt4) — отключив для него сборку GUI с помощью флагов я избежал необходимости собирать для своей системы dev-qt/qtgui.

Единственное, чего действительно не хватает после Арча — AUR, но частично это решается уже существующими оверлеями (overlay, сторонние репозитории), а при необходимости можно стырить интересующий PKGBUILD прямо с AUR и написать на его основе ebuild для себя (так я запилил свой оверлей :D).

Ещё, т.к. у тебя ноутбучный HDD с низкой скоростью вращения шпинделя — при уже «обжитой» системе emerge может начать считать граф зависимостей очень медленно, из-за огромного количества файлов в дереве. Очень здорово от этого помогает утилита Squashmount из оверлея mv.

spijet ★★★ ()
Последнее исправление: spijet (всего исправлений: 2)

И вообще стоит жертвовать своим электричеством ради полной оптимизации всего и вся?

Откуда вы все лезете с этим? Вся соль source-based дистров не в том, что можно -O3 поставить, а в том, что можно сборку целиком конфигурять. Юзы с этим хорошо справляются.

Bfgeshka ★★★★★ ()

стоит жертвовать своим электричеством ради полной оптимизации всего и вся

Даже на Генту Вики написано, что фишка USE флагов не в оптимизации кода под архитектуру(хотя и она есть), а гибкость в зависимостях.

BceM_IIpuBeT ★★ ()

Какие минусы и плюсы принёсет переход на Gentoo в плане софта, пульсу не юзаю, awesome wm

Никаких. Есть куча оверлеев, да и в ~amd64 все нормально.

пульсу не юзаю

Ну вот. Благодаря USE флагам сможешь юзать новую Лису с алсой, а не с пульсой. Каеф жы. Генту — сила.

BceM_IIpuBeT ★★ ()

И удобно ли использовать USE-Flag'и для всего этого

Очень. USE флаги — реальная киллер фича для полного контроля над системой, бинарным ПМ такое и не снилось.

BceM_IIpuBeT ★★ ()
Ответ на: комментарий от spijet

Ну это понятно, сталкивался с софтом который с новым GCC не собирался.

Насчет харда, обычно я подключаю USB3.0 hdd, и туда свап кидаю, биндом монтирую что надо и ccache прокидываю, тем самым немного ускоряю все это дело.

Можно ли будет копировать(со всеми правами) директорию, и bind'ом монтировать её чтобы ускорить сборку?

DATRAT ★★★ ()
Ответ на: комментарий от shell-script

В последнее время компиляю все gcc 6.0. Скорости не особо почувствовал(Обычно с PGO/LTO компиляю все что вижу)

Да и на 4.9 себя чувствовал уверенно

Ключи заюзал

-Wno-shift-overflow -Wno-tautological-compare                 -Wno-unused-const-variable 
-std=gnu89

DATRAT ★★★ ()
Последнее исправление: DATRAT (всего исправлений: 1)

Перешёл с арча на генту лет 6 назад. УМВР.

Компилял генту с кедами на мобильном amd turion 2х1.9GHz.

Есть ли в генте свежий софт

Есть в ~, но она шаткая. Хотя после арча будет казаться стабильной. Лучше использовать gentoo stable и пробрасывать свежие версии только нужного софта (делается просто через конфиг).

плюсы принёсет переход на Gentoo

Самый шустрый линукс, же.

RazrFalcon ★★★★★ ()
Ответ на: комментарий от BceM_IIpuBeT

Перед сборкой автоматом применяет патчи для сорцов в ебилде

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

anonymous ()
Ответ на: комментарий от anonymous

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

Достал свои ручки из жопки, быстренько исправил заплатку под новую версию софта и профит ибо да никто не будет делать за тебя твою работу.

init_6 ★★★★★ ()
Ответ на: комментарий от DATRAT

Так как моё сообщение о ФФ удалили как ответ на некорректное, то подробнее ещё раз о проблеме:

firefox-bin-52 звука нет - просит поставить pulseaudio

USE=-pulseaudio : audio will not play without pulseaudio installed

На этот случай в gentoo есть баг https://bugs.gentoo.org/show_bug.cgi?id=620354

Действительно, если установить apulse и включить firefox(-bin) флаг pulseaudio, то звук в firefox появится и без установленного в системе pulseaudio. А раз уж флаг "--enable-alsa" может и исчезнуть, если уже это не произошло, то остаётся только это.

В багзилле mozilla (https://bugzilla.mozilla.org/show_bug.cgi?id=1345661) на баг «PulseAudio requirement breaks Firefox on ALSA-only systems» стоит

RESOLVED WONTFIX

grem ★★★★★ ()
Ответ на: комментарий от DATRAT

Portage поддерживает ccache и distcc «из коробки». Устанавливаешь, включаешь в FEATURES, готово. Вот статейка из Handbook про работу с фичами Portage (с закладкой на ccache).

spijet ★★★ ()
Последнее исправление: spijet (всего исправлений: 1)

И вообще стоит жертвовать своим электричеством ради полной оптимизации всего и вся?

Стереотипы о генте к реальности не имеющие никакого отношения. Один раз всё настраиваешь конпеляешь и бэкапишь через .tar, потом как нибудь, разворачиваешь бекап обратно, после ненужных результатов экспериментов.

With ★★★ ()
Ответ на: комментарий от init_6

кстати, насчёт этого.

можно кинуть патч так, чтобы он применялся только к этой версии пакета, так чтобы при обновлении он уже не применялся.

удобно, когда известно, что в апстриме этот патч уже применён к следующей версии пакета, а ты его бекпортировал к текущей версии

eternal_sorrow ★★★★★ ()
Ответ на: комментарий от BceM_IIpuBeT

Вы точно в этом уверены?

$ equery u ffmpeg
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for media-video/ffmpeg-3.2.4:
 U I
...
 - - cpu_flags_x86_3dnow    : Use the 3DNow! instruction set
 - - cpu_flags_x86_3dnowext : Use the Enhanced 3DNow! instruction set
 + + cpu_flags_x86_aes      : Enable support for Intel's AES instruction set (AES-NI)
 + + cpu_flags_x86_avx      : Adds support for Advanced Vector Extensions instructions
 + + cpu_flags_x86_avx2     : Adds support for Advanced Vector Extensions 2 instructions
 + + cpu_flags_x86_fma3     : Use the Fused Multiply Add 3 instruction set ([fma] in cpuinfo)
 - - cpu_flags_x86_fma4     : Use the Fused Multiply Add 4 instruction set
 + + cpu_flags_x86_mmx      : Use the MMX instruction set
 + + cpu_flags_x86_mmxext   : Use the Extended MMX instruction set (a subset of SSE) ([mmxext] or [sse] in cpuinfo)
 + + cpu_flags_x86_sse      : Use the SSE instruction set
 + + cpu_flags_x86_sse2     : Use the SSE2 instruction set
 + + cpu_flags_x86_sse3     : Use the SSE3 instruction set ([pni] in cpuinfo, NOT ssse3)
 + + cpu_flags_x86_sse4_1   : Enable SSE4.1 instruction support
 + + cpu_flags_x86_sse4_2   : Enable SSE4.2 instruction support
 + + cpu_flags_x86_ssse3    : Use the SSSE3 instruction set (NOT sse3/pni)
 - - cpu_flags_x86_xop      : Enable the XOP instruction set
...
O02eg ★★★★★ ()
Ответ на: комментарий от O02eg

Ну, в моём понимании оптимизация под архитектуру — это -march. Тем более в контексте «оптимизации всего и вся»; не так много пакетов используют CPU_FLAGS_X86.

sudopacman ★★★★★ ()
Последнее исправление: sudopacman (всего исправлений: 1)

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

Плюс, есть очень удобные инструменты на все случаи жизни (eselect, etc-update и т.д.)

Black_Shadow ★★★★★ ()
Последнее исправление: Black_Shadow (всего исправлений: 1)
Ответ на: комментарий от DATRAT

-mtune нужен, если собираешь под generic-архитектуру. Если в флагах компилятора явно укажешь -march=<архитектура твоего CPU или 'native'>, то -mtune автоматически принимает такое же значение.

spijet ★★★ ()