Введение
Дистрибутив Gentoo Linux (произносится как /dʒ/ɛ/n/t/uː/ JENtoo) — дистрибутив Linux, построенный с использованием системы управления пакетами Portage. В отличие от дистрибутива, предоставляющего бинарные пакеты, исходный код компилируется локально в соответствии с предпочтениями пользователя и часто оптимизируется под конкретное аппаратное обеспечение. Для некоторых пакетов доступны предварительно скомпилированные двоичные файлы. Gentoo работает на широком спектре процессорных архитектур. Полный список смотрите в таблице справа. Система управления пакетами Gentoo разработана как модульная, переносимая, удобная в обслуживании и гибкая. Gentoo называет себя мета-дистрибутивом благодаря своей адаптивности: большинство пользователей имеют уникальные конфигурации и наборы установленных программ, соответствующие их системе и используемым приложениям. Gentoo Linux назван в честь пингвина-генту, самого быстро плавающего вида пингвинов. Это название было выбрано, чтобы отразить потенциальное увеличение скорости за счет оптимизации под конкретное оборудование – ключевую особенность Gentoo.
Gentoo Linux (pronounced '/dʒ//ɛ//n//t//uː/ JENtoo) is a Linux distribution built using the Portage package management system. Unlike a binary software distribution, the source code is compiled locally according to the user's preferences and is often optimized for the specific type of computer. Precompiled binaries are available for some packages. Gentoo runs on a wide variety of processor architectures. For the full list see table on the right. Gentoo package management is designed to be modular, portable, easy to maintain, and flexible. Gentoo describes itself as a meta distribution because of its adaptability, in that the majority of users have configurations and sets of installed programs which are unique to the system and the applications they use. Gentoo Linux is named after the gentoo penguin, the fastest swimming species of penguin. The name was chosen to reflect the potential speed improvements of machine specific optimization, which is a major feature of Gentoo.
История
Gentoo Linux был первоначально создан Дэниелом Роббинсом как дистрибутив Enoch Linux. Целью было создание дистрибутива без предварительно скомпилированных бинарных файлов, настроенного под конкретное аппаратное обеспечение и включающего только необходимые программы. По крайней мере одна версия Enoch была распространена под этим названием: версия 0.75, в декабре 1999 года. Дэниел Роббинс и другие участники проекта экспериментировали с форком GCC, известным как EGCS, разработанным компанией Cygnus Solutions. В этот момент "Enoch" был переименован в "Gentoo" Linux. Изменения, внесённые в EGCS, в конечном итоге стали частью официального GCC (версия 2.95), а другие дистрибутивы Linux также испытали аналогичный прирост производительности. После обнаружения ошибки в своей системе Роббинс приостановил разработку Gentoo и на несколько месяцев переключился на FreeBSD, позже заявив: "Я решил добавить несколько функций FreeBSD, чтобы наша система автоматической сборки (теперь называемая Portage) стала по-настоящему системой портов нового поколения". Gentoo Linux 1.0 был выпущен 31 марта 2002 года. В 2004 году Роббинс учредил некоммерческий фонд Gentoo Foundation, передал ему все авторские права и товарные знаки, и сложил с себя обязанности главного архитектора проекта. В настоящее время совет попечителей состоит из пяти членов, объявленных (после выборов) 2 марта 2008 года. Также существует семичленный совет Gentoo, который осуществляет надзор за техническими вопросами и политикой Gentoo. Члены Совета Gentoo избираются ежегодно на срок в один год активными разработчиками Gentoo. Когда член Совета уходит в отставку, его преемник избирается действующими членами Совета. Gentoo Foundation является некоммерческой корпорацией, зарегистрированной в штате Нью-Мексико. В конце 2007 года устав Фонда был аннулирован, но к маю 2008 года штат Нью-Мексико объявил, что Gentoo Foundation, Inc. восстановила свою деятельность и может вести бизнес. Создатель Gentoo, Дэниел Роббинс, покинул проект в 2004 и 2007 годах из-за разногласий с другими разработчиками.
Особенности
Gentoo привлекает пользователей Linux, которые стремятся к полному контролю над программным обеспечением, установленным и работающим на их компьютере. Однократный вызов команды Portage может обновить локальную копию репозитория Gentoo, найти пакет или загрузить, скомпилировать и установить один или несколько пакетов и их зависимости. Встроенные возможности могут быть настроены для отдельных пакетов или глобально с помощью так называемых "флагов USE". Компиляция пакетов также может быть распределена между несколькими компьютерами. Кроме того, пользователь может смонтировать большую файловую систему в память для дальнейшего ускорения процесса сборки пакетов. Некоторые подходы имеют недостатки и не включены по умолчанию. При установке одного и того же пакета на несколько компьютеров с достаточно схожим аппаратным обеспечением, пакет может быть скомпилирован один раз, а затем создан бинарный пакет для быстрой установки на другие компьютеры. 29 декабря 2023 года было объявлено, что Gentoo предложит бинарные пакеты для загрузки и прямой установки. Для большинства архитектур это будет ограничено базовой системой и еженедельными обновлениями. Однако для amd64 и arm64 доступность бинарных пакетов превышает 20 ГБ.
Переносимость
Поскольку Gentoo — дистрибутив, основанный на исходном коде, с репозиторием, описывающим процесс сборки пакетов, добавление инструкций по сборке для различных машинных архитектур особенно легко. Изначально разработанный для архитектуры IA 32, Gentoo впоследствии был портирован на множество других. Официально поддерживается и считается стабильным на IA 32, x86 64, IA 64, PA RISC, 32- и 64-битных PowerPC, 64-битных SPARC, DEC Alpha, а также на 32- и 64-битных архитектурах ARM. Он также официально поддерживается, но находится в стадии разработки для MIPS, PS3 Cell Processor и System Z/s390. Официальная поддержка 32-битного оборудования SPARC и SuperH была прекращена. Ведётся активная разработка по переносу на другие операционные системы, такие как производные от BSD, включая macOS, в рамках проекта Gentoo/Alt. Проект Gentoo/FreeBSD уже располагает рабочим руководством на основе FreeSBIE, а Gentoo/NetBSD, Gentoo/OpenBSD и Gentoo/DragonFly находятся в разработке. Также существует проект по адаптации Portage для работы с OpenSolaris. Ранее велась неофициальная работа по созданию порта Gentoo для GNU Hurd, но она не велась с 2006 года. Кроме того, можно установить Gentoo Prefix (предоставляемый проектом, поддерживающим альтернативные методы установки Gentoo) в среде Cygwin под Windows, однако эта конфигурация является экспериментальной.
Установка
Gentoo может быть установлен несколькими способами. Наиболее распространенный способ – использование минимального CD Gentoo с tarball stage3 (описано ниже). Как и многие дистрибутивы Linux, Gentoo можно установить практически из любой среды Linux, например, с Live CD, Live USB или посредством сетевой загрузки (Network Booting) другого дистрибутива Linux, используя "Gentoo Alternative Install Guide". Для обычной установки требуется подключение к Интернету, но также существует руководство по установке без доступа к сети. 3 апреля 2022 года было объявлено о выпуске нового официального образа с графическим интерфейсом, получившего название LiveGUI. Его можно установить на носители, такие как USB-накопитель или двухслойный DVD. Он включает в себя широкий выбор программного обеспечения, в том числе рабочую среду KDE Plasma 5, редакторы изображений, офисные приложения, инструменты системного администрирования и установки. Ранее Gentoo поддерживал установку из tarball-ов stage1 и stage2, однако Фонд Gentoo больше не рекомендует их использовать. Stage1 и stage2 предназначены исключительно для разработчиков Gentoo. После выполнения первоначальных шагов установки, процесс установки Gentoo Linux, описанный в Руководстве Gentoo, включает в себя компиляцию нового ядра Linux. Этот процесс обычно не требуется в других дистрибутивах Linux. Хотя это считается сложной задачей, Gentoo предоставляет документацию и инструменты, такие как Genkernel, для её упрощения. Кроме того, пользователи могут использовать существующее ядро, которое известно как рабочее для их системы, просто скопировав его в загрузочный каталог, или установив один из предварительно скомпилированных пакетов ядра и обновив загрузчик. Поддержка установки доступна на форуме Gentoo, Reddit и IRC. Загрузочный USB-накопитель Gentoo Linux можно создать вручную, используя различные инструменты, или с помощью команды dd, как описано в руководстве.
Справочная платформа Gentoo
С 2003 по 2008 год эталонная платформа Gentoo (GRP) представляла собой набор предварительно собранных пакетов, которые пользователи могли быстро установить в процессе установки Gentoo для более быстрого получения полностью функциональной системы. Эти пакеты включали KDE, X Window System, OpenOffice, GNOME и Mozilla. После завершения установки предполагалось, что пакеты, установленные в рамках GRP, будут заменены пользователем на те же или более новые версии, собранные через Portage, с учетом конфигурации системы пользователя, а не общих сборок, предоставляемых GRP. С 2011 года разработка GRP прекращена, последнее упоминание о ней содержится в руководстве 2008.0.
Специальные релизы
В 2009 году был выпущен специальный Live DVD в честь десятилетней годовщины Gentoo. Изначально планировавшийся как единичный выпуск, Live DVD был обновлен до последних версий пакетов в 2011 году благодаря его популярности среди новых пользователей. Название Дата/информация Unreal Tournament 2003 LiveCD 2002 09 18 Загрузочный LiveCD Unreal Tournament 2003 с ускорением NVIDIA GPU, продемонстрированный на LinuxWorld Conference и Expo 2003. 10.0 2009 10 04 (специальное издание Live DVD к 10-летию) 10.1 2009 10 10 (выпуск с исправлениями ошибок специального Live DVD) 11.0 2011 04 08 (Anniversary Live DVD обновлен до последних версий пакетов) 12.0 2012 01 02 12.1 2012 04 01 (с шуткой ко Дню дурака под названием "Install Wizard") 20121221 2012 12 21 (Live DVD End Of World Edition) 20140826 2014 08 26 (Live DVD Iron Penguin Edition) 20160514 2016 05 14 (Live DVD Choice Edition; UEFI, ZFSOnLinux и файловые системы с возможностью записи, использующие AUFS) 20160704 2016 07 04 (Live DVD Choice Edition Part Dos)
Профили
Хотя в Gentoo нет концепции версионирования всей системы, используется система "профилей", определяющих конфигурацию сборки для всех пакетов в системе. Значительные изменения, такие как изменение структуры расположения устанавливаемых файлов во всей системе, обычно требуют обновления профиля и могут потребовать пересборки всего установленного программного обеспечения. Эти профили версионируются по году выпуска и включают несколько вариантов для каждого выпуска, предназначенных для различных типов систем (например, серверов и рабочих станций). Ранее профили отслеживали версионность установочных носителей, а после прекращения выпуска версионных носителей перешли на двухзначную систему обозначения года. После 2008.0 были выпущены следующие новые версии профилей:
Версия Дата/информация
10.0 2009 08 06 (косметическое изменение названия по сравнению с профилями 2008.0)
13.0 2013 02 10
17.0 2017 11 30 (C++14 и PIE включены по умолчанию)
17.1 2017 12 26 (изменена структура многобиблиотечных файлов для систем amd64)
17.1 2023 03 22 (объединение /usr стало настройкой по умолчанию)
Жёсткий генту
Hardened Gentoo — это проект, предназначенный для разработки и определения набора дополнений, полезных при установке с повышенным уровнем безопасности. Ранее проект включал патчи для создания защищенного ядра, но разработка этих патчей была прекращена. Другие компоненты набора для повышения безопасности, такие как SELinux и укрепление пользовательского пространства, остаются актуальными.
Инциденты
В июне 2018 года зеркало репозитория кода Gentoo на GitHub, которое в основном использовалось разработчиками, было взломано после того, как злоумышленник получил доступ к учетной записи администратора организации, угадав пароль. Gentoo оперативно отреагировала, локализовав атаку и усилив меры безопасности. Ключи криптографии Gentoo и подписанные пакеты не были скомпрометированы, а репозиторий был восстановлен через пять дней.
Логотип и талисманы
Пингвин-генту считается самым быстрым пингвином при плавании под водой. Название "Gentoo Linux" отдает дань уважения как талисману Linux, пингвину по имени Tux, так и цели проекта – создать высокопроизводительную операционную систему. Официальный логотип Gentoo – стилизованная буква "g", напоминающая серебряную магатаму. Неофициальными талисманами является Ларри Корова.
Выведенные распределения
Существует несколько самостоятельно разработанных вариантов Gentoo Linux, включая ChromiumOS и Container Linux.