Gentoo

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

Рекомендуется для энтузиастов, увлекающихся настройкой системы.

Основной сайт Gentoo Linux

Русскоязычный ресурс

Contents


Как правильно произносить «Gentoo»?

Существует два мнения по этому поводу, одни говорят "генту", вторые произносят "дженту". И хотя по-английски название дистрибутива произносится как "дженту", в русском языке уже есть устоявшееся слово "генту", обозначающее вид субантарктических пингвинов, собственно в честь которых и назван дистрибутив. http://ru.wikipedia.org/wiki/Субантарктический_пингвин

Какой CD/stage выбрать?

Если вы задаёте этот вопрос, то выбирайте stage3. Позже разберётесь, что это такое, и кому могут понадобится stage1 и stage2. Если вы не удовлетворены таким ответом, то прочитайте раздел 2 в Gentoo Linux Handbook - http://www.gentoo.org/doc/en/handbook/index.xml

Как ставить бинарные пакеты?

Gentoo, прежде всего, является source-based дистрибутивом. Это порождает как некоторые недостатки, так и преимущества. Существует множество замечательных бинарных дистрибутивов - пользуйтесь ими, если не можете или не хотите собирать основную часть ПО из исходников. Тем не менее некоторое количество прекомпилированных пакетов идет в составе stage3-образов и GRP-диска.

PKGDIR=/mnt/cdrom emerge -k packet_name

Создавать собственные бинарные пакеты при установке можно передавая параметр --builpkg при emerge, или из уже установленных утилитой quickpkg.

И на десерт смотрим сюда: http://gentoo-wiki.com/TIP_Using_PORTAGE_BINHOST

Как получить более подробную информацию о пакете?

Информацию о составе, флагах и зависимостях пакетов можно получить с помощью:

  1. equery из пакета gentoolkit - в ней есть все необходимое
  2. adelie - позиционируется как более быстрая замена equery
  3. portage-utils - самые быстрые утилиты для извлечения информации о пакетах, к тому же имеют простой выхлоп, что удобно для конвейеров

Как экономить трафик?

Воспользуйтесь deltup - http://ru.gentoo-wiki.com/HOWTO_Экономия_трафика_с_помощью_deltup

Кроме того, если вы используете Gentoo на нескольких машинах, можно использовать общее дерево портажей (portage tree) и DISTDIR - http://ru.gentoo-wiki.com/HOWTO_Portage_через_NFS

Как обновлять gentoo без прямого доступа в интернет?

http://ru.gentoo-wiki.com/HOWTO_Обновление_портежей_без_доступа_в_интернет_непосредственно_из_системы

http://gentoo-wiki.com/TIP_Downloading_distfiles_on_another_machine

Чем чистить distfiles?

Скриптом eclean из пакета gentoolkit

Как ставить ПО не вошедшее в дерево портежей?

Существует удобная утилита для управления неофициальными оверлеями (ветками дерева портежей) под названием layman. Я предлагаю альтернативный и на мой взгляд более очевидный способ организации оверлеев: все оверлеи будут храниться в /usr/overlays, локальный (с ебилдами собственного изготовления) например в /usr/overlays/local. layman будет писать изменения напрямую в /etc/make.conf

Для реализации нужно создать под суперпользователем /usr/overlays

sudo mkdir /usr/overlays

и разрешить запись обычному пользователю

sudo chown ${USER} /usr/overlays

Это позволит производить большинство операций с ебилдами из-под обычного пользователя. В /etc/layman/layman.cfg надо прописать:

storage : /usr/overlays

и

make_conf : /etc/make.conf

Координацией оверлеев занимается проект overlays.gentoo.org, также о неофициальных/неподдерживаемых ебилдах(и их разработчиках) заботятся на gentoo-sunrise.org

Компиляция сильно нагружает систему. Как бороться?

Прописать PORTAGE_NICENESS в /etc/make.conf, подробности (вообще по конфигурации портежей) в файле /etc/make.conf.example.

Например, многие делают так:

PORTAGE_NICENESS=39

Если хотите поменять вручную, то просто добавьте nice -n+10 перед emerge, например:

user@localhost~$ nice -n+10 emerge -uD world

Ещё можно ограничить число потоков, которые будет запускать emerge. Делается это с помощью опции MAKEOPTS в make.conf:

MAKEOPTS="-j1"

В таком случае emerge не запустит более одного процесса, таким образом для компиляции будет использовано не более одного ядра, что значительно снизит нагрузку на машину более чем с одним ядром (читай, любую современную).

Установка оборвалась, что делать?

Поискать сообщение об ошибке в гугле, затем на bugs.gentoo.org, задать вопрос на форуме

Что означают USE флаги?

В пакет gentoolkit входит утилита для управления флагами - euse.

user@localhost~$ euse -i {флаг}

Данная команда выведет краткое описание флага. Посмотреть значения use флагов для пакета можно утилитой equery:

user@localhost~$ equery u packet_name

Как искать по дереву портежей?

  • emerge -s word_for_search - по названию
  • emerge -S word_for_search - по описанию

Существуют также утилиты esearch и eix. Они индексируют метаинформацию дерева портежей и обеспечивают гораздо более быстрый поиск по дереву.

Как сократить время компиляции?

Использовать distcc и ccache:

Также стоит добавить в файл /etc/make.conf строчку MAKEOPTS="-jX", где X = (количество-ядер-CPU × 2) + 1

Как русифицировать?

Настройка поддержки русского языка http://ru.gentoo-wiki.com/HOWTO_easy_way_russian_support

Свежее руководство по переводу Gentoo под UTF-8 http://ru.gentoo-wiki.com/HOWTO_ru_RU.utf8_Gentoo_way.

Как в gentoo увидеть список установленных пакетов?

При помощи epm:

root@localhost# epm -qa

С помощью eix:

user@host$ eix -I

Как запускать 32-битные программы под x86_64?

http://ru.gentoo-wiki.com/HOWTO_Настройка_32-х_битного_режима_под_AMD64