Честный Gentoo Linux Обзор
В этом посте мы рассмотрим Linux дистрибутив Gentoo.
Что такое Gentoo?
Особенности Gentoo Linux
Gentoo Linux компилируется из исходного кода, и пользователь может решить, какие параметры конфигурации и компиляции использовать для каждого пакета. Доступные по умолчанию параметры для каждого пакета не удовлетворяют ваши потребности, вы даже можете скопировать ebuild пакета (сценарии оболочки, используемые для сборки пакетов с использованием диспетчера пакетов Gentoo) в свой собственный репозиторий (называемый наложением), настроить его в соответствии с вашими собственными нужно и построить. Gentoo дает вам свободу решать, что выбрать из следующего:
Gentoo Linux также имеет одни из лучших документов в мире Linux, и только дистрибутив, который мне известен по качеству документации, это, вероятно, Arch Linux. Кроме того, Gentoo имеет одни из самых обширных хранилищ программного обеспечения из всех дистрибутивов Linux, особенно если вы включили неофициальные оверлеи Portage.
Gentoo позволяет создавать все, что угодно, от исходного кода до оптимизации под конкретную архитектуру, и позволяет создавать систему точно в соответствии с вашими требованиями. Это означает, что вам нужно работать над установкой, так как во время установки доступно множество опций.
Плюсы и минусы Gentoo Linux
Плюсы Gentoo Linux
Минусы Gentoo Linux
Системные требования для Gentoo Linux
| Ресурс | Минимальный CD | LiveDVD |
| ЦП | i486 или позже | i686 или позже |
| Память | 256 MB | 512 MB |
| диск | 2.5 ГБ (исключая пространство подкачки) | |
| Пространство подкачки | Не менее 256 МБ |
Вынос с поста
Итак, лучшие вещи в Gentoo Linux:
заключительные выступления
Вот обзор Intel Clear Linux в случае, если вы еще не читали об этом.
Оставьте комментарий Отменить ответ
Этот сайт использует Akismet для уменьшения количества спама. Узнайте, как обрабатываются ваши данные комментариев.
Обзор Gentoo Linux
Многие из пользователей Linux слышали о таком дистрибутиве как Gentoo. И о том что работа с ним нечто сложное и непостижимое для обычного пользователя. Но на деле все совсем иначе. Gentoo один из не многих дистрибутивов который позволяет без особых усилий весьма гибко настроить систему, при этом сделать это быстро. Огромный набор программного обеспечения в репозиториях данного дистрибутива дает возможность не отвлекаться на подключение сторонних источников ПО. А система портов позволяет выбирать версию нужного ПО.
В формате обзора Gento linux мы постараемся на практике оценить возможности этого дистрибутива, и сделать идеальную персональную систему. Познакомимся с Portage, научимся избавляться от лишнего функциональность в программах, оптимизировать систему под железо. Мы не будем описывать процесс установки Gentoo, хотя по факту после прочтения этой статьи у вас не возникнет проблем с установкой, ибо разница не особо большая.
Гибкость Gentoo
Очень часто в интернете всплывают споры, дает ли Gentoo прирост в производительности. Тут на самом деле все предельно просто. Все зависит от того на сколько тонко вы настроили систему. Многие если не все пользователи Gentoo Linux заявляют что это самый гибкий дистрибутив, чем же обусловлена эта гибкость?
USE флаги
Стоит отметить то что при установке различного ПО в Gentoo, его функциональность можно расширить / сузить за счет использования USE флагов. Например хотим мы установить пакет WireShark, в стандартный набор поставки этой программы в различных дистрибутивах входит весьма приличный пакет дополнительного ПО, которым скорей всего мы и пользоваться то и не будем. В Gentoo за счет USE флагов можно собрать собственный WireShark, только с нужным функциональностью. Например нам нужен весь стек протоколов, и графический интерфейс на основе Qt. Достаточно включить все флаги кроме doc, doc-pdf и GTK.eq
Проверка USE с помощью equery
В итоге мы получим пакет который будет весить значительно меньше чем аналог для других дистрибутивов.
Флаги можно ставить глобально и локально. Рассмотрим два файла
В таком случае для python версии 3.6 или выше у нас будут устанавливаться примеры программ, а для 2.7 и ниже напротив, примеры будут игнорироваться. Стоит обратить внимание, для того что бы включить флаг достаточно внести его имя, а для того что бы жестко указать portage на игнорирование флага, поставить перед его именем «-«.
Так же можно указывать временные флаги, которые будут действовать единожды в процессе сборки.
Оптимизация под целевую архитектуру
Оптимизация процесса сборки
Пару советов по сборке ядра
Полезные инструменты
Вывод
В этом обзоре Gentoo linux мы открыли для себя возможности тонкой настройки системы под конечного пользователя. Исходя из выше написанного можно сделать вывод что Gentoo действительно гибкая система. За счет флагов мы можем уменьшить бинарный файл, как следствие он будет быстрее выгружаться в оперативную память, и меньше занимать места на жестком диске. Тонкая настройка /etc/portage/make.conf дает заметный прирост в производительности.
Система Portage позволяет использовать несколько версий пакетов одновременно, что позволяет работать с самым стабильным ПО, даже если оно использует тестовые библиотеки. Так же мы рассмотрели несколько нюансов сборки ядра, и узнали про пару удобных инструментов для администрирования Gentoo. Так же советуем вам почитать о установке пакетов в Gentoo и настройке sync Portage
Разрушители легенд — Gentoo Linux
Дочка Убунту прибежала к Дебиану и, весело смеясь, поцеловала его в лоб: «С днём рождения, папа!». Затем она окинула радостным взглядом сидящих за столом гостей и спросила своим звонким голосом:
— Папа, а где Gentoo, разве он ещё не пришёл?
— Нет, он ещё только собирается.
Также хотелось бы рассказать о достоинствах и недостатках дистрибутива, дабы помочь сомневающимся и беженцам с systemd принять верное решение. Пользуясь случаем также хочу здесь разместить несколько полезных советов, которые помогут избежать многочасовых поисков в интернетах и повторной компиляции монструозных пакетов.
Миф №1 — прирост производительности
Gentoo Linux дает прирост производительности за счет того, что все программы компилируются под конкретное пользовательское железо. На этапе зарождения и становления дистрибутива этот тезис звучал с лютой настойчивостью.
На чем основан этот миф? Действительно узкий круг вычислительных программ можно ускорить при компиляции под определенную платформу, задавая компилятору включение инструкций SIMD, AESNI, или AVX. Бинарные дистрибутивы из-за чрезмерной заботы о совместимости со старой архитектурой базой зачастую приносят подобные оптимизации в жертву. Вернее будет сказать, что так было раньше, а сейчас это не играет большой роли.
Определенно, не за это адепты ценят Gentoo.
Миф №2 — обновления съедают много времени
Технически это верно, таки да, иногда программы обновляются долго, но обходные пути очень хорошо проторены, что и делает этот тезис мифом. Вот мои рекордсмены.
Во-первых никто не мешает долгоиграющие обновления запускать ночью. Во-вторых в любой момент задание emerge и компиляцию исходников можно поставить на паузу (Ctrl+Z), возобновив позже в фоновом режиме (bg) или явно (fg). В-третьих можно задать автоматическое обновление через небольной скрипт, например такой.
Миф №3 — в Gentoo самые свежие версии программ
Конечно, если сравнивать с Debian Linux, то в целом это так, однако и тут бывают исключения. Тот же Debian раньше стал использовать Grub 2 в стабильной ветке и Perl какое-то время был более новой версии, нежели в Gentoo. Если же сравнивать стабильные ветки менее консервативных дистрибутивов с таковыми в Gentoo, то результат может быть каким угодно. Все зависит от кучи обстоятельств, насколько данный пакет обеспечен мейнтейнером и волонтерами. Например QEMU обновляется почти одновременно со стабильной веткой Github, а MATE — застрял в Gentoo на версии 1.12.2 из-за того, что у него мало разработчиков.
+1 — необычайная гибкость настроек
Поговорим теперь немного о достоинствах Gentoo Linux. Гибкость и возможность настроить очень многие аспекты ОС под себя это то, чем блещет дистрибутив. Вот всего лишь несколько таких примеров.
+2 — скользящие релизы
Для меня это одно из основных преимуществ дистрибутива. Из-за того, что вы невнимательно читали RSS ленту вашего дистрибутива вы не окажетесь в ситуации, когда вам на голову свалился новый инит, файловая система или принцип работы сетевых интерфейсов.
+3 — хорошая документация
Это действительно так. Установку ОС значительно облегчает подробнейшее руководство, но есть также крайне полезные вики и форум.
± emerge и portage
Основная система управления пакетами portage и штатное средство управления пакетами emerge являются очень мощным и функциональным в руках опытного и внимательного к докам пользователя. Именно благодаря системе portage возможны тонкие и гибкие настройки операционной систему и пользовательского ПО (см. выше в +1). Даже беглое описание возможностей emerge/portage заслуживает отдельного поста, поэтому ограничусь общим описанием.
Из-за чего могут возникать такие ситуации? По самым разным причинам, изменения в лицензировании продукта, необходимость замаскировать, или наоборот размаскировать пакет, изредка ляпы разработчиков. Тут наблюдается обратная зависимость от частоты обновлений, поэтому рекомендуется регулярно и по возможности часто обновлять систему, чтобы накопленная энтропия в древе портов не порождала цепной реакции.
-1 — начальная установка занимает много времени
Полная ерунда, вот установка с помощью однострочника.
А если серьезно, то действительно весь процесс займет времени намного больше, чем при установки бинарных дистрибутивов, таких как Дебиан, или Убунту. Однако трудности более чем преодолимы, ввиду следующих обстоятельств.
Маленькие хитрости
Если по каким-то причинам компиляция пакета прервалась (выключился свет, завис компьютер и т. д.), но технически может быть возобновлена, можно продолжить процесс с этого самого места. Это особенно ценно для LibreOffice, Chromium или qt-webengine, которые собираются не один час.
Можно сделать бинарный бэкапы системных пакетов на всякий пожарный случай.
Gentoo Linux amd64 Handbook: Работа с Gentoo
Contents
Добро пожаловать в Portage
Система Portage — вероятно, самое известное нововведение Gentoo в управлении программным обеспечением. Благодаря высокой гибкости и чрезвычайно богатым возможностям, она зачастую считается лучшим средством управления программным обеспечением из существующих в Linux.
Portage полностью написан на Python и Bash и, следовательно, полностью прозрачен для пользователей, поскольку это скриптовые языки.
Gentoo репозиторий
Ebuilds
Всякий раз, когда кто-то просит Portage выполнить некоторые действия в отношении некоторого программного обеспечения, он будет использовать ebuild в качестве базы. Поэтому важно, регулярно обновлять ebuild в системе, позволяя Portage узнать о новых программах, обновлениях безопасности и т.д.
Обновление Gentoo репозитория
Иногда правила файрвола ограничивают rsync в доступе к зеркалу. В этом случае обновите Gentoo репозиторий с помощью ежедневно генерируемых Gentoo снимков. Утилита emerge-webrsync автоматически загрузит и установит последний снимок в систему:
Управление программным обеспечением
Поиск программного обеспечения
Например, чтобы найти все пакеты, содержащие «pdf» в названии:
Обратите внимание, что вывод команды возвращает много информации. Поля четко обозначены, поэтому мы не будем вдаваться в подробности их значения:
Установка программы
Поиск документации для установленных пакетов
После установки пакета, его документацию, как правило, можно найти в подкаталоге с именем пакета в каталоге /usr/share/doc/ :
Удаление программы
Обновление системы
Поскольку обновления по безопасности бывают и в пакетах, которые явно не установлены в системе (но которые «тянутся» в качестве зависимостей для других программ), рекомендуется изредка запускать эту команду.
Метапакеты
У некоторых пакетов в Gentoo репозитории нет содержимого, но они используются для установки набора других пакетов. Например, kde-plasma/plasma-meta установит KDE Plasma desktop в систему, устанавливая в качестве зависимостей различные пакеты, которые нужны Plasma.
Все это можно сделать следующими двумя командами:
Лицензии
При такой конфигурации пакеты, имеющие свободную лицензию ПО или документации, могут быть установлены. Несвободное ПО не сможет быть установлено.
Например, чтобы разрешить google-chrome лицензию для пакета www-client/google-chrome добавьте следующее в /etc/portage/package.license :
Это разрешит установку пакета www-client/google-chrome, но не позволит устанавливать пакет www-plugins/chrome-binary-plugins, хотя он имеет туже лицензию.
Группа лицензий в переменной ACCEPT_LICENSE указываются с символом @ перед ней. Возможной настройкой (которая является значением по умолчанию в Gentoo) является разрешение всех лицензий, кроме Соглашений с лицензией конечного пользователя (EULA), которые обычно требуют прочтения и подписания соглашения о принятии условий лицензии. Это можно достичь, приняв все лицензии (через * ), после чего удалив лицензии из группы EULA, как указано ниже:
Обратите внимание что такая настройка разрешит несвободное программное обеспечение и документацию.
Когда Portage на что-то ругается
Терминология
Как отмечалось ранее, Portage поддерживает многие возможности и является чрезвычайно мощным инструментом, как и другие инструменты управления программами. Чтобы понять это, разберём несколько аспектов Portage, не вдаваясь в детали.
С помощью Portage разные версии отдельного пакета могут сосуществовать в одной системе. В то время, как другие системы управления стремятся называть пакеты в соответствии с версией (например freetype и freetype2), Portage использует технологию под названием SLOT. Ebuild присваивает определенный SLOT для одной версии пакета. Ebuild с разными SLOT способны сосуществовать в одной системе. Например, пакет freetype имеет разные ebuild для SLOT=»1″ и SLOT=»2″.
Есть также пакеты, которые обеспечивают ту же функциональность, но реализуются по-разному. Например, metalogd, sysklogd и syslog-ng это все системные службы журналирования. Приложения, которым нужен «системный журнал», не могут зависеть только от metalogd, так как остальные программы журналирования могут быть равнозначны. В Portage предусмотрены виртуальные пакеты: каждая служба журналирования описана в нем как «эксклюзивная» зависимость от службы журналирования в виртуальном пакете журналирования виртуальной категории, поэтому остальные приложения могут зависеть от пакета virtual/logger. Если ещё не была установлена служба журналирования, то при установке виртуальный пакет «вытянет» первый из указанных в нём пакет журналирования. Если любой пакет журналирования уже был установлен, то в этом случае виртуальная зависимость считается удовлетворенной.
Программное обеспечение в репозитории Gentoo может располагаться в различных ветвях. По умолчанию система устанавливает только пакеты, которые в Gentoo считаются стабильными. Многие программы при обновлении будут добавлены в тестовую ветвь, что означает, что пакет должен быть протестирован до того, как будет отмечен стабильным. Несмотря на то, что ebuild для таких программ есть в репозитории Gentoo, Portage не будет обновлять их до тех пор, пока они не будут помещены в стабильную ветвь.
Некоторые программы доступны только для некоторых архитектур. Либо программное обеспечение не работает на других архитектурах, либо требуется дополнительное тестирование, либо разработчик, который добавил программу репозиторий, не может проверить, работает ли пакет на других архитектурах.
Каждая инсталляция Gentoo также придерживается определенного профиля, который содержит, помимо прочей информации, ещё и список пакетов, необходимых для нормальной работоспособности системы.
Заблокированные пакеты
Хотя последние версии Portage достаточно умны, чтобы обойти незначительные блокировки без вмешательства пользователя, иногда такие блокировки необходимо разрешить вручную.
Чтобы исправить блокировку, пользователи могут либо не устанавливать пакет, либо удалить конфликтующий пакет. В данном примере, можно отказаться от установки postfix или сперва удалить ssmtp.
Также возможно, что два пакета, которые должны быть установлены, блокируют друг друга. В этом редком случае попытайтесь выяснить, почему требуется установить их оба. В большинстве случаев достаточно оставить один из пакетов. Если это не так, то пожалуйста, сообщите об ошибке в системе слежения ошибок Gentoo.
Замаскированные пакеты
Если попытаться установить пакет, который не доступен для системы, то произойдет ошибка маскировки. Пользователи должны попытаться установить другую программу, которая доступна для системы, или дождаться когда пакет будет помечен как доступный. Всегда существует всегда причина, по которой пакет был замаскирован:
| Причина маскировки | Описание |
|---|---|

