Эффект IKEA — когнитивное искажение, которое появляется, когда покупатели непропорционально высоко оценивают значимость (ценность) товаров, которые они создают отчасти сами (например, собирают из деталей)[1].
tldr: хоть я и любитель скакать по разным граням реальности — с Gentoo я обрел чувство гармонии. Gentoo качественная, проработанная, не чувствую что проект умирает. Я получил перформанс, минимализм, и не нужно год ждать пока в Debian/Ubuntu выйдет текущая версия например Audacity. Gentoo просто работает, я не уделяю много времени ее настройке — поставил и все, теперь браузер, Vim, и иногда обновления системы.
First of all, welcome to Gentoo! You are about to enter the world of choices and performance. Gentoo is all about choices. When installing Gentoo, this is made clear several times — users can choose how much they want to compile themselves, how to install Gentoo, what system logger to use, etc. Gentoo is a fast, modern meta-distribution with a clean and flexible design. It is built on an ecosystem of free software and does not hide what is beneath the hood from its users.
Теперь подробнее
С 2016 до 2019 я провел на корпоративных Маках — гештальт закрыт, и теперь я знаю что macOS мне не нравится. Тем более на сервере же Линукс. Я люблю открытые технологии, мне нравится что Linux можно установить на флешку, телефон, Raspberry Pi, что Линукс в роутере. MacOS отдавал жирком bloatware, это хорошая гостиница для среднего человека, но я строитель и люблю строить свой домик в лесу. В macOS большинство моего времени было в терминале и браузере, так что сейчас мой UX такой же, только чувство что система работает легче, как то поджаристей. В Маке не оказалось ничего крутого для меня. Годы идут, и Линукс дистрибутивы хорошеют, оптимизируются, странно если к 2030 доля Windows будет такой же высокой как и сегодня, хотя я не тревожусь об этом, если в жизни есть что-то хорошее — не нужно втягивать в это всех.
До 2016 года я жил несколько лет на Xubuntu: добротная Ubuntu, только с оболочкой которая легче для системных ресурсов. Тоже терминал с Вимом и браузер. Я давно хотел попробовать Gentoo, даже не знаю откуда, но я чувствовал что-то в этом названии, через их сайт и уродский логотип. В Ubuntu я замучался тем что там старые версии пакетов в репозитории — это была главная причина вновь попробовать другой дистрибутив. И вот год назад я попробовал Gentoo. Я был в восторге. Хотел сразу поделиться своим счастьем, но прожил на ней год перед тем как это все написать, чтобы остыть и осмотреться.
Известная шутка — Install Gentoo, это значит что если сможешь одолеть этот квест, то будешь знать как разобраться со многими техническими проблемами. Оказалось что у Gentoo нет инсталятора. Хорошая документация по шагам, добрый сабреддит где мне всегда помогали. За день поставил. Потом графическое окружение, несколько программ — и все, оно работает. Тут я познал радости конфигурирования ядра — просто отключил лишее, гуглил некоторые пункты. Ядро получилось маленьким, система запускается быстро, работает шустро — одна из ключевых фич Gentoo это то что пакеты собираются из исходников, и можно указать чтобы компиляция происходила для определенной платформы, то есть если я этот жесткий диск вставлю в другой компьютер — загрузка возможно не случится. Главный минус сборки из исходников — время компиляции, но меня это не сильно тревожит — оставить раз в месяц включенным компьютер на ночь. Большие пакеты можно устанавливать уже в бинарном виде — например Firefox.
Мой главный конфигурационный файл /etc/portage/make.conf:
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
COMMON_FLAGS="-O2 -march=ivybridge -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
CPU_FLAGS_X86="aes avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"
USE="glamor libinput -pulseaudio -qt5 opus vpx ffmpeg -proprietary-codecs -cdda -dvd -bluetooth -closure-compile -cups"
# NOTE: This stage was built with the bindist Use flag enabled
PORTDIR="/var/db/repos/gentoo"
DISTDIR="/var/cache/distfiles"
PKGDIR="/var/cache/binpkgs"
# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C
# Without this cannot "grub-install /dev/sda"
GRUB_PLATFORMS="pc"
# ipw3945 needed for ThinkPad wireless firmware
ACCEPT_LICENSE="@FREE ipw3945"
VIDEO_CARDS="intel i965"
USE флаги — чтобы все пакеты знали с чем и без чего собираться. Например мне нужен opus чтобы экспортировать аудио в этот современный формат — добавил. Нигде не нужен bluetooth — удалил. Платформа: ivybridge, дорогой компилятор, сим сообщаю тебе что у меня не тупо дженерик x64, а вот этот ivybridge — может тебе это поможет производить более кастомный код именно для моего компьютера.
Я читал что и патчи свои тащить можно, которые будут применяться при каждом обновлении пакета, и передавать свои флаги для каждого отдельного пакета — я не пробовал. Я пишу JavaScript, Go — мне редко в жизни нужно было чтото перекомпилировать. Помню разок Python и Git — менял там SSL.
UNIX is very simple, it just needs a genius to understand its simplicity.
Я не чувствую себя задротистым красноглазиком. У меня есть Tinder и я встречаюсь с девочками. Им я стараюсь не рассказывать о своей любви. Система просто работает. Я чуть лучше разобрался в GNU/Linux. У Gentoo есть дух, стиль. У меня не Gnome, не KDE — у меня минималистичный i3. Нет панелей — только горячая клавиша для запуска браузера и терминала, так что для этого текста у меня нет секси скриншота как из фильма будущего, даже браузер в полноэкранном режиме. Если нужно запустить Audacity (известный аудиоредактор) — я запускаю ее через терминал. Никаких виджетов — если мне нужно узнать загрузку CPU или сети — я запускаю соответствующие утилиты в терминале. Я не проводил тестов, но уверен что и батарея от этого живет лучше.
Здесь видео как я устанавливаю и использую equery: утилиту для получения информации о пакетах:
Несколько раз у меня случались проблемы с зависимостями — но я смог несложно их починить. При установке пакета мне интересно узнать его зависимости, лучше понимать обстановку. Например я узнал что для установки Chromium по умолчанию устанавливается Java для Closure Compiler — проверить собственный код. Я отключил это флагом.
У Gentoo хорошие веб интерфейсы — если не из терминала, то можно приятно посмотреть на возможные флаги пакета:
Несколько раз поправил несколько конфигурационных файлов. Wi-Fi: пароли тоже в конфиге. Зарепортал им несколько багов, и даже пулл реквест в дерево пакетов. Добавил в страницу моего лаптопа. Сотворчество. Gentoo у меня на двух машинах, немного другие конфиги, чуть другое ядро (некоторые галочки стоят в других местах). Зачем мне Arch? Gentoo дает перформанс. Я нашел тебя. Проблем нет, Gentoo хорошо работает, я доволен. Gentoo это GNU/Linux, без лишнего, с развитым пакетным менеджером который большинство пакетов собирает из исходников; вот так просто, без магии и сюрпризов, скучно и прагматично. Ну еще у них есть своя инит система OperRC, но даже не знаю что о ней сказать — она просто работает. Кто хочет можно выбрать systemd. Не нужно после установки удалять почтовый клиент, игры. Даже cron из коробки нет. Одна команда — и cron есть. Репозиторий пакетов большой, можно подключать внешние репозитории, как ppa в Ubuntu, но пока мне всего хватает. Есть две программки которые я сам хочу добавить в репозиторий, я изучал вопрос — оказывается это не сложно, по сути нужно создать файлик ebuild который есть баш скрипт, например вот для Terminator:
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7,8,9} )
inherit distutils-r1 optfeature virtualx xdg-utils
DESCRIPTION="Multiple GNOME terminals in one window"
HOMEPAGE="https://github.com/gnome-terminator/terminator"
SRC_URI="https://github.com/gnome-terminator/terminator/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="test"
RDEPEND="
dev-libs/glib:2
dev-python/configobj[${PYTHON_USEDEP}]
dev-python/psutil[${PYTHON_USEDEP}]
dev-python/pycairo[${PYTHON_USEDEP}]
dev-python/pygobject:3[${PYTHON_USEDEP}]
gnome-base/gsettings-desktop-schemas[introspection]
x11-libs/gtk+:3
x11-libs/vte:2.91[introspection]
"
BDEPEND="
dev-util/intltool
sys-devel/gettext
test? (
dev-python/dbus-python[${PYTHON_USEDEP}]
x11-libs/libnotify[introspection]
)
"
distutils_enable_tests pytest
PATCHES=(
"${FILESDIR}"/terminator-1.91-without-icon-cache.patch
"${FILESDIR}"/terminator-1.91-desktop.patch
)
src_prepare() {
xdg_environment_reset
sed -i -e '/pytest-runner/d' setup.py || die
distutils-r1_src_prepare
}
src_test() {
virtx distutils-r1_src_test
}
pkg_postinst() {
xdg_desktop_database_update
xdg_icon_cache_update
elog "Consider installing the following for additional features:"
optfeature "D-Bus" dev-python/dbus-python
optfeature "Desktop notifications" "x11-libs/libnotify[introspection]"
optfeature "Global keyboard shortcuts" "dev-libs/keybinder:3[introspection]"
}
pkg_postrm() {
xdg_desktop_database_update
xdg_icon_cache_update
}
В Gentoo есть стабильные версии пакетов, тестовые (я читал что некоторые включают тестовый режим для всей системы, и все работает), а также 9999 версии — так тут обозначается git HEAD — когда сборка будет производиться прямо из головы репозитория.
Я не буду ставить Gentoo другу — субьект должен любить компьютер, хотеть чуть разобраться в железе (какие компоненты присутствуют, что нужно а что нет). Я могу сделать это за него, но замена видеокарты может потребовать немножко телодвижения — включить ее поддержку в ядре (нажать кнопочку, сохранить, запустить компиляцию, скопировать файлы, обновить загрузчик одной командой). Хотя можно изначально скомпилировать ядро с поддержкой устройств которых пока нет. Другу-непрограммисту я поставлю Xubuntu/Lubuntu — ведь там есть аналог меню Пуск для запуска программки, горячая клавиша это слишком магично. Хотя в Gentoo можно установить LXQt, и внешне будет то же самое, хм.
Да, я понимаю, многие уже наигрались в это, и уставшие от жизни купили Маки, я понимаю. Тебе не нужно ползти в горы и сплавляться на байдарке — ты уже взрослый, отращивай попу в сиденье с подогревом. Может я тоже таким стану. По моему опыту я не вижу что Gentoo является фрикерством — она просто работает, давая удобные инструменты для конфигурирования системы до этапа компиляции, если вам это нужно. Пакеты просто ставятся, как в Ubuntu. Думаю, что имидж трудного диструбутива был реальнее в прошлом, за годы комьюнити выточило простую рабочую систему, которая работает чуть быстрее прочих. Gentoo так хороша что я даже не считаю себя экспертом — не было резона глубоко копать, я же работаю за компьютером, мы же ценим свое время. И иногда эти гадкие околорабочие штуки тоже могут быть приятными.
questor
Будет любопытно услышать продолжение этой истории. Реквестирую следующую статью — до встречи ещё через три-пять лет.
mrtux
Могу немножк поспойлерить :-) Пользовался Гентой 5 лет, в 2015 году перекатился на Manjaro. Понял, как много времени Гента сжирала на своё обслуживание и на свои особенности, причём это пожиралово времени совершенно бессмысленно. Итак, по пунктам, почему Гента это не система, а игрушка для тех кто не наигрался в конструктор.
1) Захотелось тебе, например, заюзать почтовый клиент, но какой именно — непонятно. Гуглишь какие вообще почтовики есть в Линуксах и начинаешь их перебирать по списку. Как это происходит в Manjaro? Установил один, запустил, потыкал, снёс, установил следующий, потыкал, снёс… На каждую итерацию уходит несколько минут. В Генте на каждой итерации ты будешь ждать, пока оно соберётся, хотя, хехехе, вообще не факт, что оно соберётся с первого раза, особенно если это какая-то новая или не шибко популярная прога, которая лежит где-то в оверлее. То есть, задачка, которая в бинарном дистре занимает полчаса максимум, в Генте вполне легко может растянуться на полдня, а то и на весь день.
2) Собрал ты в Генте всё такое оптимизированное ядро, «ничего лишнего». Приходит к тебе в гости тня или кент и хочет перекинуть фоточки со своего девайса на мой комп. Втыкаешь ты девайсину в порт, а ядро девайс не видит, потому что в приступе оптимизации ты выкинул нужный модуль. Представь, как круто будет сидеть и искать нужный модуль, а потом пересобирать ядро под недоумевающим взглядом? Ну ладно, это так себе довод — можно же не заморачиваясь собрать ядро без оптимизаций, впихнув в него всё модулями. Но если тебе пофиг на оптимизации — зачем тебе Гента?
3) Постоянные (ПОСТОЯННЫЕ) траблы со сборкой пакетов. То зависимости зациклятся в круг, то зависимости ломаются, то пакет не собрался просто потому что хз почему, поройся полдня в багзиллах.
4) Многих пакетов из числа новых, устаревших или не очень популярных нет и не предвидится. Если ты нашёл ебилд нужной проги в каком-то замшелом оверлее — считай, повезло. Теперь попытайся его собрать, потому что его зависимости наверняка не совпадут с установленными пакетами по версиям.
5) Если какую-то прогу собирают под Линукс — её собирают под бинарные дистрибутивы. Если её нет в дереве или оверлеях — сиди пиши ебилд. Вообще, быть простым пользователем в Генте почти невозможно — ты в ~99,99% ещё и программист по совместительству, потому что написание ебилдов и прочих скриптов это и есть программирование. Всё это привело к тому, что под конец я тупо распаковывал дебки и рпмки куда попало, распаковывал туда нужные зависимости и запускал через самописный скрипт с LD_LIBRARY_PATH и прочее. Офигенное занятие, скажу я вам, и очень осмысленное, да.
6) Про сборку жирных пакетов всё и так понятно, нужно быть наглухо упоротым, чтобы собирать всякие Фурифоксы, Хромы и Либреофисы по полдня (если железо мощное, иначе несколько суток — влёгкую). Поклонники Генты обычно на это возражают «но есть же бинарные пакеты», не понимая, что этим аргументом выбивают почву у себя из-под ног. Да, есть бинарные пакеты, а ещё есть бинарные дистрибутивы, хаха.
7) «Я просто пользуюсь Гентой, всё работает само» и «зато у меня в системе нет богомерзких systemd и pulseaudio» бьют по глазам своей логической несовместимостью. Видно же, что человеку не работать за компом, а против идеологически враждебных вещей воевать.
8) Отлов багов на сурс-бейсд дистрибутивах — просто море удовольствия. Из-за того, что в мире не существует двух идентичных собранных Гент. У каждого ведь свои флаги и опции, ну и, понятно дело, баги тоже уникальны. Нахлебался этого вдоволь.
9) Portage просто катастрофически тормозной. Я чего только ни делал: и в sqlite-базу деревья засовывал, и на tmpfs их кидал, и т.д. и т.п. — никакого заметного эффекта. Он просто алгоритмически тормозной. 15 минут обсчитывать зависимости при -uDNva world? Запросто! После него pacman воспринимается как откровение господне.
10) Гентокоммьюнити — САМОЕ токсичное в Рунете среди всех Линукс-коммьюнити. Форум gentoo.ru — просто адов пи@@ец, таких отбитых душнил и мудаков я не встречал нигде вообще, даже на АИБ. Льют яд и суют шпильки просто на ровном месте. Полное ощущение того, что сборка Генты заставляет их верить в собственное недосягаемое интеллектуальное превосходство над всеми остальными априори. Ну и добились того, что в их болото практически не приходят новые люди, а кто приходит — быстро сваливает. Карма, хехехе.
11) Все эти оптимизации и сборки из исходников всего и вся не имеют ровно никакого смысла ни с точки зрения производительности, ни с точки зрения стабильности. Да, некоторые проги можно довести до 10-20 процентов прироста в бенчмарках, но это ИСКЛЮЧЕНИЕ, нежели правило. Когда я увидел, что мой тщательно-любовно заоптимизированный Фурифокс сливает в тестах generic-сборке Фурифокса Манжары — тут-то и наступило просветление. Со стабильностью то же самое — в Генте у меня регулярно падали разные программы, пока я не перестал упарываться по всяким продвинутым CFLAGS и тотальной кастрации через USE. А если перестать по этому упарываться — зачем вообще нужна Гента?
По-моему, в Генте есть ровно 1 смысл — это инструмент для сборки глубоко кастомных систем, которые будут работать на изолированном оборудовании, выполняя пару-тройку задач и ничего больше. В остальных случаях это инструмент для прокрастинации на грани сектантства.
vasyapivo
Сами спросили:
>А если перестать по этому упарываться — зачем вообще нужна Гента?
И сами ответили:
>сборка Генты заставляет их верить в собственное недосягаемое интеллектуальное превосходство над всеми остальными априори
kuraga333
Многое из того, что Вы описываете — попытка использовать фичи там, где они будут мешать. Да, если ты собираешься перекидывать фоточки тня (причем заранее неизвестно, ху из эта тня) — оптимизировать ядро не удастся. Кстати, я тоже к этому далеко не сразу пришел.
Для многого из оставшегося есть Calculate Linux. Хотя, конечно, гентушники меня сейчас яйцами закидают.
А вот про несвежесть пакетов — да, тут я зол шо капец. И даже сам PR посылаешь с новой версией — и как повезет.
Просто я лично не понимаю, почему я должен быть лишен настроек времени компиляции. Если среди изнчально source-based — то, может, Gentoo и не лучший (кстати, советуйте — буду рад).
P.S. Единственное, что я точно считаю — в дистрибутиве должно быть минимум патчей. И уж тем более, патчи должны накладываться на оригинальный код, а не дифф кода накатываться на пропатченную предыдущую версию. Багофиксинг — дело автора ПО. И если он этим не занимается, или, еще хуже — не принимает патчи — это его проблемы (увы; хотя в Gentoo — fixed, мой патч, но я не считаю это правильным). И в этом мне Gentoo импонирует — все проще и понятнее. Интересно, кстати, мэнтейнеры Ubuntu в реале продвигают патчи в апстрим?
mrtux
Согласен! Благо что в Арче и Манжаре почти все пакеты ванильны.
kuraga333
Не, тут я с Вами не спорю. Я на Арче не был, но слышал много интересного. Просто там вроде не особо
Кстати. Я бы еще хотел не только USE-флаги, но и большой упор на воспроизводимость и изолированность. А-ля NixOS. Ну и разные ядра (не-Linux), тоже было бы правильно.
mrtux
Вот NixOS выглядит гораздо более осмысленным и перспективным вариантом Генты. Там и бинарные пакеты как норма, и подход к устройству системы очень стройный и логичный.
kuraga333
Да, только там (и везде так будет) каждая настройка каждого пакета должна поддерживаться дистрибутивом. А это — проблема «в дистрибутиве старая версия пакета», только в кубе.
Так я и пришел к выводу из первого абзаца моего первого комментария. «Оптимизировать» development-среду как бы беспользно. А production должен быть уже на дистрах с другой философией — контейнер, легковесность, unikernel и т.п. Отсюда и мысль про NixOS и не-Linux.
mrtux
А, это да, странный момент в NixOS
kuraga333
Ну вроде в этом и есть идея… Воспроизводимые конфиги (ну и само дерево файлов).
sanderu
У манжары пакеты не особо ванильны
bayarsaikhan
А можно вкратце почему выбор пал именно на manjaro?
mrtux
Очень удобная «полуроллинг»-модель, когда релизов дистрибутива нет, но и пакеты обновляются не непрерывно и разрозненно как в Арче, а консистентными пачками. Очень быстрый пакетный менеджер без лишних зависимостей пакетов и без маразма вроде сноса половины системы при попытке удалить какой-нибудь пакет. Поддержка AUR из коробки (все сторонние пакеты в одном репозитории, не нужно жонглировать кучей репов типа РРА), опционально можно подрубить snap и flatpak в графический менеджер пакетов.
bayarsaikhan
Спасибо за развернутый ответ. Надо будет попробовать.
0xd34df00d
Это просто вопрос юзкейсов.
Пользуюсь гентой лет 15, года с 2004-го, раз уж мы тут так говорим. Ещё пробовал дебиан, на работе одно время нужно было работать с убунтой, рхелом и центосом.
У меня очень скучная жизнь, и ПО для подобных задач я выбрал один раз и очень давно. Не помню, когда последний раз что-то устанавливал, чтобы просто поиграться (кроме IDE, но и kdevelop, и qtcreator собираются достаточно быстро).
Кстати, когда у вас находится время поиграться с софтом, если вы там постоянно работаете?
USB mass storage везде работает, да и тни с кентами ко мне не ходят, увы.
Что вы там собираете так? Серьёзно, мне уже как-то обидно, что у меня таких проблем не вылезает.
А циклические зависимости и прочая ерунда у меня были во всех дистрах. В дебиане, например, который я пробовал некоторое время.
Я могу сказать как в прошлом автор некоторого ПО, которое тянуло кучу либ — в генте и опенсусе с версиями либ и их доступностью было лучше всего.
А, понятно, почему не компилируется.
А в чём проблема? Написал
emerge -avuDN world
, оно там в фоне что-то делает и кушать не просит.А я думал, что минута у меня — это долго.
А, ну это да. Это проблема, согласен.
Правда, #gentoo на фриноде вполне дружелюбное, но оно не русскоязычное, да.
Ради юз-флагов, ради понимания, что происходит в системе, ради привычек. Раньше — ради хаскель-оверлея, но последние несколько лет есть
stack
, и эта причина отпала, впрочем.Я когда-то давно поставил генту, времени на её поддержку я не трачу (серьёзно), так зачем мне куда-то мигрировать?
andyN
Ну так там все сразу было понятно, автор сразу честно написал «я строитель и люблю строить свой домик в лесу». Это не плюс и не минус, это кому что нравится. Мне например нет, но ему да, и это замечательно что есть разные операционки под любой вкус
zdanevich-vitaly Автор
1) Про почтовый клиент — вот это одна из причин почему многое переходит в веб, у меня последние лет 10 это Gmail и YandexMail.
2)
тоже обычно не втыкаю девайсы в порт, есть Google Photos, Facebook, VK, Instagram, email.
3) Классный комментарий, хочу целиком процитировать:
Я тот русский сайт даже не знаю, общался на www.reddit.com/r/Gentoo, там хорошие ребята.
Может теперь Gentoo стала лучше чем 5 лет назад. Ну и может вам нужно было много пакетов и повышался шанс проблем, может мне повезло что хватает минимума.
sumanai
Но ведь интерфейсы в вебе постоянно меняются. Ушёл с веба на клиент по причине ненужных изменений в GUI почтовиков.
mrtux
Я тоже одно время пользовался почтой через веб, но это не так удобно как программа-клиент, поэтому вернулся на kmail.
Xambey
Проделал примерно тот же путь, по итогу перешел на Arch и Manjaro. Арч ставлю на слабое железо, Manjaro на мощное. Все и легко работает, и гемора меньше чем с Gentoo на мой взгляд. С арчем DE не использую, предпочитаю тайловые менеджеры окон, вроде i3
Cheater
В целом претензии верные, но некоторые пункты честно говоря вызывают недоумение. (Дисклеймер: не гентушник, пользуюсь дебианом и слакварью)
Это как? Готовиться свичнуться на дистрибутив для сильно продвинутых линуксоидов и при этом не ориентироваться в мейл-клиентах и не знать что ставить? У любого линуксоида с опытом есть излюбленный wm, почтовый клиент, редактор, медиаплеер итд и большинство часами готовы вести разговоры про преимущества и недостатки оных. Кроме того, странно слышать, что в генте сборка из сорцов занимает много времени и подвержена ошибкам зависимостей. В gentoo нет контроля зависимостей? У mutt или alpine много зависимостей? Неоднократно ставил в дебиане пакеты из сорцов, команд становится ровно на 4 больше при том что это бинарный дистрибутив: вместо "apt-get install xxx" запускаем "apt-get build-dep xxx; apt-get source xxx; cd xxx; debuild -b -uc -us; dpkg -i xxx.deb"
Выкинул из ядра usb-storage — ну что, ССЗБ, надо думать что выкидываешь, и не выкидывать если не готов брать ответственность за последствия :) Это точно не проблема генты.
Что это за экзотические пакеты? Вам так часто приходится ставить не стандартный софт? Странно слышать про "за компом нужно работать а не поддерживать его" и при этом сводить критику к проблемам редчайшей задачи — установки нового софта в систему. Я месяцами/годами бывает не редактирую ни одного debuild/slackbuild, инструментарий давно сформирован, у многих думаю так же. Скажу за ту же слакварь, уж явно не самая большая база пакетов и пакетный менеджер гораздо экзотичнее чем в генте, но практически всегда можно найти чужой готовый slackbuild. В генте думаю ещё меньше с этим проблем. Кроме того, если какой-то софт нужен прям щас и нет готового пакета — я просто собираю его через git clone && configure && make (без make install) и держу в ~/dev до момента, когда будет время опакетить. Помню 1 год у меня так одна софтина прожила (ledger). А если совсем лень, не хочется лезть в сборочные скрипты и нужно просто погонять новый софт — виртуалка с полностью упакованной ubuntu, apt-get install, и действительно, пойти работать работу а не тратить своё время на администрирование.
Подход "буду ставить что мне подсунет дефолтная установка, главное чтобы работало" ооой как проблематичен в долгосрочной перспективе.
Во-первых: зависимость от окружения преувеличена, я ОДИН раз в жизни видел в своём дистрибутиве баг, проявляющийся при не стандартных опциях сборки. Алгоритм: видим баг -> собираем в песочнице с дефолтными настройками -> если воспроизводится то репортим производителю, если не воспроизводится то не умничаем с нестандартным окружением.
Во-вторых: да где же вы багов столько находите, можно примеров хоть пару? Типовой софт в типовых дистрибутивах давно вылизан.
mpa4b
Я хоть и сам немного гентушник, но сразу 2 примера приведу:
polar_yogi
1. fscrypt нет в стандартном портеже, факт. Никто не мешает скачать overlay/ebuild.В других дистрах никто не жалуется что приходится подключать сторонние репозитории, же? Можете самостоятельно написать ebuild.
2. Подумайте: cpu поддерживает simd инструкции, libc собрана с поддержкой этих инструкций (т.е. тот кто устанавливал, явно указал — использовать эти инструкции). valgrind часть этих инструкций (пока) не поддерживает. Вы хоть примерно понимаете о чем написали?
alsoijw
А вы точно гентушник?
Так поставьте себе готовые пакеты — flatpak, snap, или может быть lxd, а в него уже требуемый дистрибутив или даже nix.Я на эти грабли наступал в бинарных дистрибутивах, когда в поставке по умолчанию не прописана какая-то зависимость, либо при установке пакета не были выбраны рекомендуемые. Это либо убунту(максимум дебиан или манжару) ставить, либо не жаловаться, что opensuse не видит принтер.
Так это же предназначение генты
Или нужно чтобы авторы этого пакета не включали какие-то нужные патчи, вроде vaapi или ozone для хромого. И да, как раз для таких случае есть ccache, о чём разумеется написано в вики
Его недавно хорошо ускорили, так что в некоторых случаях он запустит сборку быстрее, чем dnf или zypper или pamac начнёт установку.
Об этом тоже предупреждают в вики
Как в манжаре пересобрать ядро, идентичное установленному, за исключением одного флага(я задаю вопрос из любопытства)?
Aldrog
Я тут рядом уже писал про то, как это делается на примере openvpn, с ядром всё то же самое, только править скорее всего придётся не
PKGBUILD
, аconfig
.alsoijw
Насколько я помню, lts ядра manjaro скачиваются как блобы с kernel.org. Как следствие там нужно будет не просто несколько строчек в конфиге поправить, а целый велосипед делать.
Aldrog
В арче с kernel.org скачиваются сорцы, а репы манжары вроде как просто снапшотами арчовых являются, так что по идее всё так же должно быть.
alsoijw
Нет, тут упор на то, что как блоб, без пересборки.
Aldrog
Ладно, понял, что приведённая мной инструкция специфична для инфраструктуры арча, и на Manjaro хоть и можно её повторить, но полученный пакет может оказаться более новой версии, чем поставляемый в репах Manjaro. Однако если сделать
asp checkout
, переключитьсяgit checkout
на нужную версию и собрать черезmakepkg
, то должен получиться пакет, идентичный установленному из репозиториев.Только сейчас понял, что на kernel.org вроде как вообще не хостятся предсобранные версии ядер, только исходники. Manjaro действительно не собирают пакеты из исходников, но они клонируют уже собранные пакеты из репозиториев Arch Linux.
JerleShannara
Ничего не меняется, разве что emerge стал более удобным и стало проще воевать с обновлениями perl-a. Сижу на генте уже более 10 лет(одна из машин говорит про 2006 год, а уже не использующаяся про 2004). А, нет, поменялось, слез с fluxbox на kde и года три года назад перешел на тёмную сторону и USE=-pulseaudio заменил на USE=pulseaudio, т.к. не смог в alsa настроить переключение между кучей устройств ввода/вывода звука(колонки, наушники и ещё парочка гарнитур по синему зубу) так, как мне хотелось.
zdanevich-vitaly Автор
pulseaudio может в дефолтном профиле — и можно убрать ее упоминание из make.conf
emerge --info
покажет
JerleShannara
У меня привычка в USE прописывать минусы(плюсы) тому, что мне не надо(или надо), даже если оно в дефолте и так в минусе(плюсе), т.к. при обновлении профиля можно налететь на включение(выключение).