LINUX.ORG.RU

Для тех, кто думает перейти на Gentoo

 


62

25

Привет

Достаточно часто создаются темы, где люди думают переходить на Gentoo и хотят уточнить некоторые моменты. Чтобы сэкономить время себе и другим, решил создать этот топик, в котором буду собирать ответы на частые вопросы.

TL; DR: Для тех, кто думает перейти на Gentoo (комментарий)

В каких случаях имеет смысл выбирать Gentoo:
1. Вы любите настраивать систему под себя. В Gentoo есть больше возможностей по кастомизации системы в сравнении с многими другими дистрибутивами: USE флаги, параметры компиляции, поддержка пользовательских патчей в пакетном менеджере, хуки пакетного менеджера (вставка своих шагов на этапе установки пакетов), игры с версиями приложений и/или зависимостей, игры с альтернативными имплементациями (openrc/systemd/..., rsyslog/syslog-ng/metalog, slang/ncruses, dhcpcd/dhclient/...).
2. Вы хотите обучиться основам Линукс. Установка Gentoo невозможна без практического понимания базовых принципов Линукс: интерфейс командной строки, chroot, работа с диском (MBR, GPT, возможно LVM, возможно шифрование, типы файловых систем, параметры монтирования и т. п.), настройка сети (WiFi/Ethernet, DHCP, ifconfig/ip, выбор между wicd/NetworkManager/sysinit и т. п.), ядро (конфигурация/компиляция/установка, firmware, внешние модули aka @modules-rebuild, возможно параметры при запуске и т. п.), графический сервер (Xorg/wayland, драйвера) и др. Большинство дистрибутивов скрывают это за инсталлятором, но в Gentoo вам придется столкнуться с этим непосредственно.
3. Требуется система максимально оптимизированная под определённую платформу или нефункциональные требования: минимальный размер (embedded), минимальный отклик (банковские системы, игровые сервера), максимальное быстродействие в конкретных областях (обработка видео потоков) и т. п. Стоит заметить, что Gentoo имеет смысл выбирать только в том случае, когда нет дистрибутива уже заточенного под эти требования, или он чем-то не устраивает.

В остальных случаях Gentoo скорее всего не лучший выбор, разве что Just for Fun.

Сильные стороны Gentoo:
#1 Gentoo очень гибкая и всенастраиваема
Пример того что в Gentoo делается просто:
- Использовать openrc вместо systemd или наоборот; pulseaudio или без него
- Наложить кастомный патч; пример когда это нужно
- Подключить или отключить такие вещи как vaapi, vdpau, opencv и т. п.
- Иметь несколько веток софта; уточню, что это работает только для определённых пакетов; например можно одновременно установить python 2.7, 3.4, 3.5 или qt4 и qt5, но нельзя одновременно установить qt 5.7 и 5.8

#2 Очень удобный и функциональный пакетный менеджер
Примеры удобных фич:
- Прервать установку (вплоть до перегрузки компьютера), а потом ее продолжить. Можно продолжить с последнего пакета (emerge --resume), продолжить но пропустить последний пакет, например, если его установка прервалась с ошибкой (emerge --resume --skipfirst, некоторые нюансы); для больших пакетов можно продолжить саму компиляцию (ebuild <полный путь и имя файла>.ebuild merge).
- Когда при установке обновляется конфиг приложения, определяется редактировался ли предыдущий конфиг пользователем. Если да, конфиг не перезаписывается, а кладётся радом, и выводится сообщение пользователю с предложением обновить конфиг.
- Обновить всю систему, но исключить некоторые пакеты (удобно для исключения больших пакетов из ежедневного обновления)
- Почистить зависимости - удалить те пакеты, которые больше никому не нужны.
- Поскольку ebuild - текстовый файл, то можно пропарсить на предмет требований к количеству ресурсов для установки:

$ for F in $(find /usr/portage -name "*.ebuild") ; do REQ=$(grep "CHECKREQS" "$F") ; if [[ -n "$REQ" ]]; then echo -e "\n$F\n$REQ" ; fi; done
- Вынести компиляцию на другой компьютер (поддержка distcc на уровне пакетного менеджера). Важно когда Gentoo устанавливается на слабый компьютер.


#3 Хорошая документация, по крайней мере на английском. Более того, поскольку Gentoo-специфичные утилиты являются лишь надстройкой на generic механизмами, документация от других дистрибутивов (например от Arch) в большинстве случаев тоже подходит.
Опрос 2014: У какого дистрибутива лучшая документация

#4 Достаточно свежий софт, много сторонних репозиториев.
Список сторонних репозиториев
Gentoo - rolling release, а значит как только новая версия конкретного софта появилась в репозитории, её можно установить. Но здесь не имеется ввиду, что как только новая версия зарелизилась, она моментально становится доступна в основном дереве; лаг есть, но он как правило не большой, хотя зависит от пакета. В тестинг ветке новые версии появляются раньше. Кроме того мейнтейнеры Gentoo могут маскировать некоторые версии, если в них обнаруживаются серьезные баги. Однако всегда можно размаскировать нужную версию. Кроме того для некоторых пакетов есть -live версии, когда исходники скачиваются напрямую из github или аналога.
Пример когда «у меня не самый свежий софт в Gentoo»

#5 Полный порядок в системе, ничего лишнего - эстетическое удовольствие, плюс возможно можно немного улучшить перформанс

#6 В процессе установки и эксплуатации получаешь полное понимание как работает система, а значит возникающие проблемы решаются быстро. На самом деле без должного знания Линукса (или желания его узнать в процессе) Gentoo нормально не установить.

Недостатки
#1 Сложная и долгая первичная установка. Если устанавливать в первый раз, нужно готовиться потратить несколько дней. Для опытных - несколько часов + компиляция.
Время установки (компиляции) Gentoo, еще немного цифр по большим пакетам

#2 Пакетный менеджер хоть и удобный, но очень медленный

#3 Если не обновлять систему долго (полгода и более), то сложность обновления сопоставима с установкой новой системы. Есть мнение, что emerge-webrsync --revert=yyyymmdd должен помочь (лично я не проверял).

Особенности
#1 Высокий порог входа; дистрибутив не для новичков. Если человек не комфортно чувствует себя в командной строке, никогда не компилировал ядро, не разбивал диски на разделы, не привык изучать докуменацию, вчитываться в сообщения и анализировать логи, то Gentoo покажется сложной в обслуживании, а возникающие проблемы будут списываться на дистрибутив.

#2 Обновляться нужно часто.

#3 Основные фичи - в командной строке. Для тех, кто не привык работать в командной строке, это будет минусом. А для тех, кто комфортно чувствует себя в командной строке, это будет плюсом, так как работа в командной строке более эффективна, а типовые сценарии можно обернуть в скрипты и еще больше сократить время на обслуживание системы.

#4 Есть две ветки: stable и testing. В stable меньше шансов встретить проблему, но в testing более свежий софт. Ветки можно комбинировать.

Мифы
Миф #1 Gentoo даст прирост производительности за счет того, что весь софт компилируется под конкретное железо.
Краткий ответ: Без дополнительных телодвижений - в пределах пары процентов, так что вряд ли вы это заметите.

Детальный ответ.
Не следует ожидать что просто скомпилировав систему из исходников вы получите сколько-нибудь заметное улучшение перформанса.
Для большинства приложений компиляции под конкретное железо даст прирост производительности в районе 1-2%.
Ложка дегтя: в некоторых случаях даже может быть замедление. Например Firefox, можно ускорить с помощью PGO. В Gentoo по умолчанию это отключено, так как PGO увеличивает время компиляции почти в два раза. В бинарных дистрибутивах соотв. софт может быть скомпилирован с PGO.
Так как добиться улучшения производительности? Узкий круг приложений может быть значительно ускорен при компиляции под конкретную платформу - на 30%-50% и больше. В основном это приложения которые активно занимаются вычислениями. Но для этого требуется соотв. настройки. Например, активация SIMD инструкций, даст прирост производительности в мультимедиа приложениях. Некоторые процессоры имеют аппаратную поддержку шифрования AES. В бинарных дистрибутивах подобные фичи будут отключены, так как не все процессоры это поддерживают, а бинарные дистрибутивы в первую очередь заботятся о совместимости.
Небольшое улучшения перформанса возможно если убрать из системы всё лишнее (мнение 1, мнение 2).
Еще интересный случай

Миф #2 Обновления занимают много времени
Краткий ответ: 5-10 минут на фоне, не мешая основной работе.

Детальный ответ.
Обновления не занимают много времени, но опять же, при правильном подходе.
Во-первых, как было сказано выше, обновляться нужно часто. Для testing ветки это каждый день, или по крайней мере не реже чем в раз 2-3 недели. Для стабильной ветки - раз в неделю достаточно (на стабильной ветке намного реже выпускаются обновления)
Во-вторых, есть пакеты которые правда очень долго компилятся: libreoffice, firefox, chromium... Их всего 10-15. Я их исключаю из ежедневного обновления, а обновляю раз в несколько месяцев.
Еще нужно сказать, что на этом вопросе часто заостряют неоправданно много внимания. Обычно обновления происходят на фоне, и не сильно влияют на работу; так какая разница как долго они выполняются?
В итоге, у меня обновления занимают примерно 5-10 мин ежедневно (у меня тестинг-ветка).
К тому же всё происходит на фоне, в любой момент можно поставить на паузу (Ctrl+Z, fg), продолжить после прерывания (умышленного или случайного).
Мой скрипт ежедневного обновления

Миф #3 Gentoo требует много времени на обслуживание
Краткий ответ: это зависит от вас.

Детальный ответ.
Обслуживание Gentoo занимает меньше времени по сравнению с другими дистрибутивами, но только при грамотном обращении, конечно. Достигается это за счет следующего:
- хороший пакетный менеджер: маскировки, глобальные и индивидуальные установки для пакетов (USE флаги, опции компиляции, каталоги), хуки, приоритеты (чтобы компиляция происходила на фоне и можно было работать), много опций для установки и анализа, подсказки после установки.
- всё происходит в CLI, а значит типовые операции можно обернуть в скрипты/алиасы.
- уже существуют много утилит для облегчения обслуживания: eselect, equery, eix, eclean, euse, genlop и др.
Грамотное обращение означает, что вы правильно и регулярно обновляете систему, исполняете предписания emerge, которые он выдает после установки, держите в порядке конфигурационные файлы, а если таки возникает проблема, которую решить вы не можете, то вы обращаетесь в форумы, а не просто жалуетесь на жизнь.
Что до проблем с обновлениями - см. следующий пункт «Миф #4 Установка, обновление постоянно падают; частые блокировки»

Миф #4 Установка, обновление постоянно падают; частые блокировки
Краткий ответ: Не чаще чем в других дистрибутивах

Детальный ответ.
Если говорить про «часто» и «постоянно», то проблемы с обновлением/установкой могут быть если:
- система давно не обновлялась
- система неправильно обслуживается (см. выше про Грамотное обращение)

В редких случаях пакет просто не компилируется. На самом деле это проблема не Gentoo, а тех, кто писал этот софт. И в подавляющим большинстве случаев это не является проблемой, и вот почему. Если это обновление, то можно продолжить процесс запустив emerge с параметрами --resume --skipfirst - он обойдет проблемный пакет, пересчитает зависимости чтобы система осталась консистентной, и продолжит обновление (а можно изначально передать параметр --keep-going, тогда это будет происходить автоматически, прерываний вообще не будет). Если пакет критичен, можно установить предыдущую версию, которая компилировалась (а проблемную замаскировать чтобы пакетный менеджер ее не видел).

Что может заблокировать обновление полностью:
- просьба пакетного менеджера поменять флаги пакета. При этом emerge предлагает сделать это автоматически, но лично я предпочитаю делать вручную. Для ручного способа, решается добавлением строчки в package.use
- просьба пакетного менеджера задать лицензию. Это валидно только для не-свободных лицензий, например EULA, Skype, Adobe Flash и т. п. Если мы говорим имено про обновление, то такое бывает только когда лицензия обновляется, что бывает очень редко (как много у вас пакетов под не-свободной лицензией, и как часто они меняют лицензию?). Решается добавлением одного слова в make.conf
- просьба пакетного менеджера размаскировать пакет. По моему опыту нужно не размаскировывать, а наоборот замаскировывать пакеты, которые тянут замаскированные зависимости. Это, да, требует минут 5-10 на разобраться. Но, если только у вас нет смешения веток и live пакетов, такой вариант случается раз в пятилетку.
- сложные блокировки. Большинство блокировок пакетный менеджер разрешает сам; по моим наблюдениям, качество данного механизма значительно улучшилось пару лет назад. Из своего опыты скажу, что (учитывая частые обновления) блокировок, которые бы совсем останавливали обновление я уже не видел года 1.5. Но если они есть, то это действительно сложный кейс.

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

Миф #5 В Gentoo нет бинарных пакетов
Краткий ответ: Есть там, где это действительно нужно.

Детальный ответ
29 декабря 2023 года было официально объявлено о релизе бинарного варианта Gentoo: Gentoo становится бинарным / https://www.gentoo.org/news/2023/12/29/Gentoo-binary.html Также есть Calculate Linux - полностью бинарный форк Gentoo.
С самого начала в «классическом» Gentoo в основном репозитории всегда были несколько бинарных пакетов: libreoffice-bin, firefox-bin, некоторые другие. Связано это с тем, что из исходников они очень долго компилируются, и иногда проще поставить бинарник.
Бинарный пакет можно сделать самому командой quickpkg --include-config y <установленный пакет> - удобно для бекапов.
Но стоит обратить внимание на то, что при использовании бинарных пакетов пропадают те главные особенности, ради которых имеет смысл выбирать Gentoo. Если вам нужен уже скомпилированный софт, возможно вам имеет смысл присмотреться к другим дистрибутивам.

FAQ

#1 Установка на слабый компьютер
Смотря что есть слабый компьютер.
Из собственного опыта: Intel Core2 Duo 6600 @ 2.40GHz, 2Gb RAM + 4Gb swap хватало для комфортной работы в Gentoo.
Зачастую ebuld'ы содержат информацию о том, сколько нужно памяти для компиляции пакета. TOP 5:
16G - chromium
8G - ledger, isabelle
7G - ceph
6G - firefox x64 (для x32 нужно 3G), pypy x64 (для x32 нужно 3G)
5G - electron
Если компьютер и вправду слабый, то лучше выбрать не Gentoo (точнее не-source-based дистрибутив). Альтернатива - можно вынести компиляцию на другой «не-слабый» компьютер с помощью distcc.


Опрос 2021: Какую операционную систему и/или дистрибутив GNU/Linux вы используете на ПК?
Опрос 2018: Какой ОС вы пользуетесь на основном ПК?
Опрос 2017: Какую ОС вы используете на основном ПК?
Опрос 2014: Какой дистрибутив вы используете на десктопе?
W3Tech стастика дистрибутивов на серверах
Отличия дистрибутивов, время работы ноутбука
Чем удобны USE флаги
Сколько памяти нужно для РАБОТЫ Gentoo (сколько нужно для компиляции было указано выше)
Сколько места на диске нужно для Gentoo
Правильное полное обновление Gentoo, Мой скрипт ежедневного обновления, Еще вариант
Gentoo для девелоперов
Практика инсталляции Gentoo: в двух словах простым языком
Небольшой скрипт - сборка livecd

★★★★★

Последнее исправление: Kroz (всего исправлений: 43)

Ответ на: комментарий от vvn_black

Если не возиться с юзфлагами, то выгоды от компиляции нет ни какой. Какие сказки? Когда обновление системы или установка пакета могут растянуться на часы. А если доглго не обновлялся, то можно возиться потом вообще неизвестно сколько времени, разрешаяя всякие конфликты.

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

Ты серьезно? В дебиане установка кде занимает минуты, а в генте - часы плюс возня с настройкой. Например. Легкость поддержки почти любого бинарного дистрибутива несравнима с гентой.

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

Какие сказки?

Сказка №1. Если не возиться с юзфлагами, то выгоды от компиляции нет ни какой.

Не надо возиться с USE-флагами, во-первых есть профили, во-вторых выгода gentoo|funtoo не в компиляции.

Сказка №2. Когда обновление системы или установка пакета могут растянуться на часы.

Могут, но редко, но могут, как правило всё быстро, конечно не как в бинарных дистрах, но не часы. И да, обновление системы не ставит её раком ни разу и не мешает работе, развлечениям и т.п.

Сказка №3. А если доглго не обновлялся, то можно возиться потом вообще неизвестно сколько времени, разрешаяя всякие конфликты.

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

И да, если грамотно, то генточка устанавливается в chroot не мешая работе, развлечениям и прочему.

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

В дебиане установка кде занимает минуты, а в генте - часы плюс возня с настройкой.

Ты кеды каждый день в рабочее время устанавливаешь? И что такое «возня с настройкой»?

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

Забей, это типичный диванный неосилятор. У всех одни и те же прохладные аргументы про ежедневные часы компиляции и возня с какими-то мифичными настройками и постоянными проблемами с обновлениями....

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

И да, если грамотно, то генточка устанавливается в chroot не мешая работе, развлечениям и прочему.

Вот это точно

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

Допустим ты работаешь в эклипсе. Есть ли разница, происходит это в генте или в ебунте? Нет, эклипс везде одинаково работает. Разница только в процессе установки, обновления. Так что насколько быстро и просто это можно сделать имеет принципиальное значение.

Возня с настройкой- это чтение длинного хэндбука и все прочее.

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

Возня с настройкой- это чтение длинного хэндбука и все прочее.

Возня с настройкой- это чтение большой Debian Wiki и все прочее.

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

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

Дык, какая разница (для работы) был он собран из сырцов за n-минут или из бинарного пакета за 1 минуту?

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

Так что насколько быстро и просто это можно сделать имеет принципиальное значение.

Кому как. Я бы за всех не стал говорить и перефразировал «может иметь принципиальное значение».

Возня с настройкой- это чтение длинного хэндбука и все прочее.

Кто его читает...

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

В дебиане установка кде занимает минуты, а в генте - часы плюс возня с настройкой.

При чём тут первичная установка? Я говорю про ежедневное обслуживание.

Легкость поддержки почти любого бинарного дистрибутива несравнима с гентой

Давай сравним.
Я в консоли набираю одну команду, ухожу пить чай. Прихожу, у меня:
- Обновилось дерево
- Обновились все пакеты кроме тех, что я указал
- Если установка каких-то пакетов не удалась, то они просто пропускаются, а мне вконце выводится их список.
- Если установка пакетов предполагает ручное скачивание файлов по лицензионным соображениям (например, Oracle Java), то они пропускаются, мне об этом выведется сообщение.
- Наложились нужные мне патчи
- Если обновление пакет преполагает изменения конфига, то конфиг автоматически патчится под меня.
- Чистятся всякие кеши

Расскажи как это сделать SuSe или хотябы в Debian'е?

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

Прихожу, у меня

...километровая портянка из блокировок и прочей немощи портежа

Если установка каких-то пакетов не удалась, то они просто пропускаются

Да-да, пакеты собираются без пропущенных зависимостей, прям чудо

ухожу пить чай. Прихожу, у меня: - Обновилось дерево - Обновились все пакеты

Скорее, так: прихожу, у меня portage всё ещё возится с построением графа пакетов на обновление.

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

Дык, какая разница (для работы) был он собран из сырцов за n-минут или из бинарного пакета за 1 минуту?

Разница в том, что n минут больше, а для генты много больше, чем одна. Зачем тратить больше времени на достижение того же результата?

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

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

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

В дебиане это apt-get upgrade. Обновлять не все пакеты это смело. Думаю, apt это может, хотя я бы так не рискнул. Несвободное по в репозиториях non-free, никто ничего не скачивает сам по интернету. Последнии три пункта вообще иало понял.

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

Обновлять не все пакеты это смело.

В source based это могут себе позволить даже последние трусы.

Несвободное по в репозиториях non-free, никто ничего не скачивает сам по интернету

Java от Oracle все скачивают сами по интернету, т.к. лицензия запрещает класть ее в репозитории.

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

Обновлять не все пакеты это смело

Я бы сказал, бездумно обновлять всё - вот это действительно смело.
Ты видать не видел кейсов, когда новая версия содержит баг, который всё ломает. Например, обновление cdrtools однажды запарывало болванки: mkisofs / k3b делает битый UDF образ

Кстати, как решают проблему дебиановцы, когда нужно откатить обновление? То есть не пользователи, а именно мейнтейнеры пакетов. Ну, на тестинг ветке выкатили обновление, а потом там выявился критический баг, и всем пользователям нужно тонко намекнуть что обновление нужно откатить; как это реализуется?

Несвободное по в репозиториях non-free, никто ничего не скачивает сам по интернету.

Объясни, пожалуйста, как устанавливается в Дебиане Java, если ее Oracle требует загружать ее именно с их сайта после явного принятия лицензии, и никак иначе? Я говорю не про техническую возможность, а больше про юридические аспекты. Кто и откуда скачивает пакет, и как это не нарушает условия Oracle'а?

Да и вообще, как происходит работа с лицензиями в Дебиане? Есть уйма не-свободных лицензий. Или считается что, коль пользователь уже установил пакет, то он сразу согласен на все, что есть в соотв. лицензии?

Последнии три пункта вообще иало понял.

Патчи? Ты на ядро никогда патчи не применял? Я патчил свой X11 драйвер wacom планшета чтобы он работал как мне нужно. В топике ты не углубился по ссылке "когда это может быть нужно".

Конфиги? Установил ты, например, dhcpcd. С ним идет дефолтный конфиг /etc/dhcpcd.conf. Ты его под себя подредактировал. Что произойдет в Дебиане при обновлении, когда, по-хорошему, должен установиться новый дефолтный конфиг. Он потрёт твои настройки при обновлении? Или новый дефолтный конфиг не будет установлен и, соответственно, ты не можешь быть уверен что твой старый конфиг работает правильно с новой версией софта, так как формат мог поменяться (привет syslog-ng, tmux)?

Чистка? Куда пакетный менеджер в Дебиане скачивает пакеты? Что происходит со скачанным после установки? Что происходит со скачанным ранее после апдейта?

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

Плазма собирается за пару часов — 200 с лишним пакетов, в основном мелких, тем более, что они почти все собираются после выбора соответствующего профиля, то есть ставятся вместе с остальной системой. Но потом ещё приложения надо собрать. Настройки? Какие? Всё «из коробки» работает. В Генте тяжелее свои дрова в ядро вставить, особенно на видюху, да и то лишь для тех, кто раньше этого не делал; в остальном, ничего сложного и долгого. Но какой-нибудь Минт, безусловно, поставить намного проще и быстрее, безусловно. Хотя, после установки придётся обновить кучу пакетов, а это ещё 30-60 минут.

Не, на современных процах Гента собирается быстро, не так, как раньше.

GluckMan ★★★
()

Ребята, у меня этой фигни лейман умер, пишу с еселект.

Bruce_Lee ★★
()

Не осилил генту даже по видео туториалу на этапе установки. Эмердж насрал конфликтов и что-то про юз флаги. Поставил куркулейт. Снова эмердж все впечатление о дистре испортил. Доколе?!

realiddqd
()

Приведу пример аргумента для перехода, из личного использования
Есть ли есть необходимость обслуживать несколько виртуалок, тестовых стендов итд очень удобно использовать свой BINHOST.
В итоге сборка происходит разово в одной точке и легко распространяется на все узлы
Подобным способом обновляю рабочий ноутбук - никакой локальной компиляции, кроме ,конечно, рабочей необходимости.
Так же приведу небольшой скрипт - сборка livecd

#!/bin/bash
export ACCEPT_KEYWORDS="amd64"
export PORTAGE_BINHOST="ssh://192.168.1.99/var/binpkgs/"

if [ $# -ne 1 ]
then
    echo "Usage : `basename $0` <basedir>"
    exit
fi

mkdir -p $1
git init $1
USE="build" emerge --root=$1 -O baselayout
MAKEDEV -d $1/dev console hda input ptmx std sd tty
rm -f $1/dev/fd[0-9]*
rm -f $1/dev/sd[a-d][a-z]* $1/dev/sd[e-z]*
rm -f $1/dev/tty[a-zA-Z]*

emerge --root=$1 -gK \
bridge-utils iptables openrc vim bash vixie-cron gpm udev file \
findutils gawk grep groff iproute2 man man-pages-ru net-tools pciutils \
sed shadow usbutils util-linux which syslog-ng screen terminus-font iptraf-ng \
iftop nmap wireshark nfs-utils openssh whois wget socat rsync ntp apache bind \
gcc netcat6 socat tar util-linux shadow udev procps psmisc

emerge --root=$1 -gK cracklib
emerge --root=$1 -gK gzip
emerge --root=$1 -gK localepurge
emerge --root=$1 -gK kbd
emerge --root=$1 -gK tftp-hpa
emerge --root=$1 -gK dhcp

rm -rf $1/var/tmp/*
rm -rf $1/var/cache/*
rm -rf $1/var/db
rm -rf $1/tmp/*
rm -f $1/etc/mtab
touch $1/etc/mtab
rm -rf $1/etc/portage
rm -rf $1/usr/share/doc
rm -rf $1/usr/src/
rm $1/root/.bash_history

mkdir target
cp -r ./boot/* ./target
mksquashfs $1 ./target/root.fs -comp xz -ef exclude.files
grub2-mkrescue -d /usr/lib64/grub/i386-pc/ --modules="boot cat cpuid disk echo font file fshelp gettext gfxmenu gfxterm gfxterm_menu halt help iso9660 linux loopback ls lspci msdospart normal squash4 terminal vbe vga video xzio" -o cdrom.iso ./target

Dramokl
()

Пожалуй, отличный дистр для десктопа, не для продакшена. Давно хотел потыкать, но всё никак, вертится-крутится уж очень быстро.

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

Так же приведу небольшой скрипт - сборка livecd

Вот за это отдельное спасибо

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

Легкость поддержки почти любого бинарного дистрибутива несравнима с гентой.

Хорошо, возьмём pinning в Debian https://wiki.debian.org/ru/AptPreferences

Какие примечания из добавленных к статье верны, а какие нет? Если они верны, то почему нет одной нормальной статьи (без частично противоречащих ей примечаний?) и почему она выглядит настолько неоднозначной?

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

Хорошо, возьмём pinning в Debian

Use of apt-pinning by a novice user is sure call for major troubles. You must avoid using apt-pinning except when you absolutely need it.

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

Вот и мне кажется, что использование pinning далеко не тривиально и сложнее маскировки или размаскировки пакетов в gentoo.

grem ★★★★★
()

Столкнулся с одной неприятностью: masked by eapi 6.

Такое бывает, если генту - из бэкапа или просто не обновлялась с прошлого года, например. Ничего не обновить, включая portage.

Разрулилось только с использованием /etc/portage/profile/package.provided

Но, вообще говоря, это не тривиально.

Вывод. Генту нельзя не обновлять регулярно, иначе это будет люто.

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

Альтернатива - можно вынести компиляцию на другой «не-слабый» компьютер с помощью distcc.

Кстати, есть ли на этот счёт толковая документация применительно к Gentoo?

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

Генту нельзя не обновлять регулярно, иначе это будет люто.

# emerge-webrsync --revert=yyyymmdd

Вытягиваем состояние портаджа с шагом в месяц, пересобираем обновленные пакеты на каждом этапе. Занимает больше времени, но процесс мало чем отличается от обычного обновления.

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

нифига себе - даже преимущества выдумали...

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

Ничего не обновить, включая portage.

Ставил портаж с бинарника, потом уже пересобрал его с обновлением.

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

# emerge-webrsync --revert=yyyymmdd

Ух-ты!
А где можно больше про это почитать? Например, как глубоко можно уйти в прошлое.

И, в силу перехода на git, по идее можно ж такое сделать и стандартными средствами, или как?

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

А что вы таки можете сказать на счёт clang? Есть смысл его использовать в качестве основного компилятора(включив ThinLTO например, ещё)?

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

Мне при сборке пакетов для ноутбука distcc не очень помогал, так как конфигурация идёт локально (иногда на это уходит заметное время), а некоторые пакеты через distcc просто не собирались, приходилось перезапускать сборку для них локально. В итоге просто приходилось следить не сдохла ли сборка и обновление затягивалось, проще было локально запустить и просто подождать.

Как вариант, настроить кросскомпиляцию (если архитектура другая или проц) на более мощном компе и подсовывать make.conf целевой машины, собирая бинарные пакеты, которые потом устанавливать. Но такое я не пытался проворачивать.

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

Например, как глубоко можно уйти в прошлое.

По логике, он работает со снапшотами и не может уйти в прошлое дальше чем они есть:
http://mirrors.kernel.org/gentoo/releases/snapshots/current/
На сегодня самая крайняя точка 20170811.

Хм... я был уверен там много больше сохраняют.

Есть еще «дельты»:
http://mirrors.kernel.org/gentoo/releases/snapshots/current/deltas/
и squashfs:
http://mirrors.kernel.org/gentoo/releases/snapshots/current/squashfs/

И, в силу перехода на git, по идее можно ж такое сделать и стандартными средствами, или как?

Проблема в том, что нужен не только слепок портаджа. Как я понимаю, в http://distfiles.gentoo.org/distfiles/ должны быть соотв. файлы. Так что вряд ли переход на git что-то изменил.

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

emerge-webrsync --revert=yyyymmdd

Спасибо. Это какая-то магия. В будущем учту такую возможность.

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

http://mirrors.kernel.org/gentoo/releases/snapshots/current/
На сегодня самая крайняя точка 20170811.
Хм... я был уверен там много больше сохраняют.

А я вот что нашёл: https://dev.gentoo.org/~swift/snapshots/
Правда не понятно, подхватывается ли это emerge-webrsync --revert=yyyymmdd

Проблема в том, что нужен не только слепок портаджа. Как я понимаю, в http://distfiles.gentoo.org/distfiles/ должны быть соотв. файлы. Так что вряд ли переход на git что-то изменил.

Так при установке оно ж качает файлы с сайта соответствующего софта, а не с distfiles.getnoo.org. Так что должно сработать.

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

Вывод. Генту нельзя не обновлять регулярно, иначе это будет люто.

Да, это давно известно, но печально набивать этот опыт собственными шишками :) Но зато человек, освоивший преодолевание блокировок (обычно помогает удаление блокирующих пакетов с последующей их установкой, то есть то, что написали в начале — пропуск пакетов при установке — совершенно верно!) способен потом обновляться хоть через полгода :)

Ещё раз для орущих о блокирующих пакетах. Да, это беда (но и в Убунту с ней встречался в полугодовых дистрах, гы-гы-гы ;)), но легко решаемая: читаем внимательно, что блокирует, удаляем блокирующий пакет (запищите его названьице, если лень в логах потом искать, а память — худая), продолжаем установку, устанавливаем удалённое ранее (скорее всего, встанет новая версия). Или вместо удалённого поставьте другой пакет, который блокировал удалённый, или этот пакет сам встанет. Чаще всего именно так и без всяких изысков. В общем, опыт — сын ошибок трудный, да-с.

Да, добавлю: используйте btrfs и делайте снимки перед обновлением, чтобы потом, когда гаденькие ручки, бегущие поперёд головы, всё испортят, голова смогла с лёгкостью найти управу на эти гаденькие ручки, подключив снимок и загрузившись с него. btrfs давно уже и торт, и кекс, и даже шнапс.

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

Маскировка по eapi 6 - это особая блокировка. Удалением пакетов не решается.
Насчет btrfs и снимков спасибо большое, посмотрю. Мои снимки делаются по старинке посредством tar.

record ★★★★★
()
Последнее исправление: record (всего исправлений: 3)
Ответ на: комментарий от Kroz

Так при установке оно ж качает файлы с сайта соответствующего софта, а не с distfiles.getnoo.org. Так что должно сработать.

Обычно это зависит от того, что прописано в SRC_URI внутри ebuild и указан ли там при этом RESTRICT=«mirror». Если указан, то скорее должен качать только с определённого сайта самого софта или его зеркала, как, например, в случае с sourceforge.

grem ★★★★★
()

Миф #1 Gentoo даст прирост производительности за счет того, что весь софт компилируется под конкретное железо.

На самом деле, еще как даст, но за счет USE-флагов и не везде. К примеру, кое-какие бенчмарки на аналогичных конфигурациях в gentoo и ubuntu показывают преимущество за гентой до 1.5 раз. За счет грамотной расстановки use-флагов в системе будет намного меньше бяки, в результате время старта многих компонент может заметно сократиться.

Отдельно стоит заметить, что в системе не будет никакого говна помимо того, что ты привнесешь. В итоге gentoo с HDD имеет время загрузки, скажем, до иксов сравнимое с загрузкой аналогичного окружения в ubuntu с SSD.

Миф #2 Обновления занимают много времени

Не миф. Особенно если обновляться раз в полгода. А уж если человек любит KDE или chromium, или openoffice из исходников...

Миф #3 Gentoo требует много времени на обслуживание

Таки миф. Можно не обслуживать по полгода, или целый год, и ничего не сломается. «Не было печали, апдейтов накачали» — такого никогда без твоего ведома не произойдет.

Миф #4 Установка, обновление постоянно падают; частые блокировки

Года три назад так и было. Сейчас намного лучше, но все равно можно столкнуться. package.mask к твоим услугам.

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

Да, добавлю: используйте btrfs

0/10, дураков нет. И вообще, умей доводить дело до конца, даже если это гентушный апдейт.

kawaii_neko ★★★★
()

А работать то на ней можно? Описано так, будто весь смысл системы в том, чтобы занять себя обновлением пакетов, компиляцией и кастомизацией всего, что можно.

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

Ну а почему нет? Можно конечно. Собственно так же как и на любой другой линукс системе.

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

Работай, я не против. Kroz, наверняка, тоже. Я даже не знаю, кто бы мог тебе это запретить.

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

Миф #2 Обновления занимают много времени

Не миф. Особенно если обновляться раз в полгода. А уж если человек любит KDE или chromium, или openoffice из исходников..

Поправил

Kroz ★★★★★
() автор топика

Раньше пользовался, хороший дистр. Теперь у меня тоже почти Gentoo, но не на линуксе. Можно не обновлять совсем, а раз в год тупо переставлять. Проблем с portage никогда не было, кроме необходимости в etc-update.

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

но не на линуксе.

А на чем?

Можно не обновлять совсем, а раз в год тупо переставлять.

Это какой дистр?

Odalist ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)