Установка Gentoo выполняется с помощью архива третьей стадии (stage3). В этой главе мы расскажем, как извлечь файл третьей стадии и настроить Portage. 8 2012-12-09
Установка архива стадии Установка текущей даты и времени

Перед тем, как продолжать, убедитесь в правильности системной даты и времени, и при необходимости обновите их. Если часы установлены неверно, это в будущем может привести к странным результатам!

Для проверки времени, введите команду date:

# date
Fri Mar 29 16:21:18 UTC 2005

Если часы установлены неправильно, измените время командой date ММДДччммГГГГГ (формат: Месяц, День, часы, минуты и Год). На этом этапе следует указывать время UTC. Позднее вы сможете установить свой часовой пояс. Например, для установки часов на 29 марта, 16:21, 2005 год, выполните:

# date 032916212005
Выбор источника

Следующий необходимый шаг — установка архива stage3 на вашу систему. Можно использовать команду uname -m, чтобы определить, какой файл стадии нужно скачивать, так как она дает информацию об архитектуре вашей системы.

Использование файла стадии из интернета Загрузка архива стадии

Перейдите в точку подключения файловой системы Gentoo (обычно — /mnt/gentoo):

# cd /mnt/gentoo

Для загрузки файла стадии у вас уже есть различные инструменты, зависящие от типа диска, с которого производится установка. Если имеется links, можете сразу открыть список зеркал Gentoo и выбрать ближайшее: наберите links http://www.gentoo.org/main/en/mirrors.xml и нажмите ввод.

Когда links нет, в вашем распоряжении должен оказаться lynx. Если требуется использовать прокси-сервер, экспортируйте переменные http_proxy и ftp_proxy:

# export http_proxy="http://proxy.server.com:port"
# export ftp_proxy="http://proxy.server.com:port"

Предположим, у вас под рукой есть links.

Выберите ближайшее зеркало. Обычно подойдут HTTP-зеркала, однако существуют и другие протоколы. Перейдите в каталог . Там вы должны увидеть все существующие файлы стадий для вашей архитектуры (они могут располагаться в подкаталогах с названиями разновидностей архитектуры). Выберите один из них и нажмите D для загрузки. По окончании — нажмите Q, чтобы выйти из браузера.

Большинство пользователей PC должны использовать архив третьей стадии . Все современные PC считаются i686. Если у вас старая машина, вы можете проверить список i686-совместимых процессоров на Википедии. Старые процессоры, вроде Pentiu, K5, K6 или VIA C3, и похожие на них, требуют более общую третью стадию x86. Процессоры, более старые, чем i486 не поддерживаются.

# links http://www.gentoo.org/main/ru/mirrors.xml

(если в links нужна поддержка прокси-сервера:)
# links -http-proxy proxy.server.com:8080 http://www.gentoo.org/main/ru/mirrors.xml

Удостоверьтесь, что вы скачали stage3-архив — установка с использованием файлов stage1 и stage2 более не поддерживается (и, в большинстве случаев, вы все равно не найдете файлов stage1 или stage2 на наших обычных зеркалах).

Если вы хотите проверить целостность загруженного архива стадии, используйте openssl и сравните результат с контрольными суммами, взятыми с зеркала. Файлы с расширением .DIGEST дают несколько контрольных сумм, рассчитанных по различным алгоритмам. Рекомендуемыми являются SHA512 и Whirlpool.

## Вычисляем контрольную сумму SHA512
# openssl dgst -r -sha512 
или
# sha512sum 

## Вычисляем контрольную сумму Whirlpool
# openssl dgst -r -whirlpool 

Затем сравните вывод данных команд со значением, записанным в файлах .DIGEST, которые также можно найти на зеркалах. Значения должны совпадать, иначе скачанный файл может быть испорчен (либо испорчен файл .DIGEST).

Распаковка архива стадии

Распакуйте загруженный архив стадии в своей системе. Мы используем tar, т.к. это простейший способ:

# tar xvjpf stage3-*.tar.bz2

Убедитесь, что вы используете точно такие же параметры командной строки (xvjpf). Значения параметров: xизвлечение, vподробные сообщения, чтобы видеть, что происходит во время распаковки (необязательный параметр), jдекомпрессия bzip2, pсохранение прав доступа, и, наконец, f — указывает на то, что мы распаковываем файл, а не то, что подается на стандартный ввод.

После развертывания установки стадии переходите к настройке параметров компиляции.

Настройка параметров компиляции Введение

Для оптимизации Gentoo вы можете создать ряд переменных, которые повлияют на поведение Portage. Все их можно создавать как переменные среды (с помощью export), но тогда они будут лишь временными. Для хранения ваших настроек предназначен конфигурационный файл Portage, /etc/portage/make.conf. Именно его мы сейчас будем редактировать.

Список и описание всех допустимых переменных находятся в файле /mnt/gentoo/usr/share/portage/config/make.conf.example. Для успешной установки Gentoo, достаточно установить значения только тех переменных, которые описаны ниже.

Запустите ваш любимый редактор (в этом руководстве используется nano) для изменения параметров оптимизации, которые обсуждаются далее.

# nano -w /mnt/gentoo/etc/portage/make.conf

Как вы могли заметить, у файла make.conf.example обычная структура: строки комментария начинаются со знака «#», а в остальных строках выражениями вида ПЕРЕМЕННАЯ="значение" определяются переменные. У файла make.conf такой же формат. Некоторые из переменных мы обсудим ниже.

CFLAGS и CXXFLAGS

Переменные CFLAGS и CXXFLAGS определяют параметры оптимизации компилятора gcc для языков C и C++, соответственно. При том, что общие значения следует устанавливать здесь, максимальная производительность достигается в том случае, когда для каждой компилируемой программы устанавливаются свои собственные оптимальные параметры. Причина в том, что все программы различны.

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

Мы не будем описывать все возможные параметры оптимизации. Если вы хотите узнать о них всё, почитайте онлайновые руководства GNU (англ.) или страницу описания gcc (info gcc — доступна только на работающей системе Linux). Не забудьте прочитать сам файл make.conf.example: в нем также есть немало примеров и полезных сведений.

Первый параметр — флаг -march= или флаг -mcpu=, где указывается название целевой архитектуры. Возможные варианты описаны в комментариях в файле make.conf.example. Часто используется значение native, так как оно сообщает компилятору, чтобы он выбрал архитектуру текущей системы (той, на которую вы производите установку).

Первый параметр — флаг -march= или флаг -mtune=, где указывается название целевой архитектуры. Возможные варианты описаны в комментариях в файле make.conf.example. Часто используется значение native, так как оно сообщает компилятору, чтобы он выбрал архитектуру текущей системы (той, на которую вы производите установку).

Следующий — флаг -O (заглавная латинская «O», а не ноль), определяющий класс оптимизации в gcc. Допустимые значения: s — оптимизация по размеру; 0 — ноль, без оптимизации; 1, 2 или даже 3 — все большая оптимизация по скорости (в каждый класс входят все флаги предыдущего, и некоторые дополнительные). -O2 является рекомендуемым значением по умолчанием. -O3 при использовании для всей системы, иногда вызывает проблемы, поэтому мы рекомендуем вам остановиться на -O2.

Другой популярный флаг оптимизации — -pipe (использование для связи между различными проходами компилятора каналов вместо временных файлов). Этот флаг не влияет на получаемый код, но использует больше памяти. На системах с малым объемом памяти, gcc может аварийно завершиться. В этом случае не используйте данный флаг.

Использование -fomit-frame-pointer (не хранить в регистре указатель стекового кадра для функций, которым он не нужен) может всерьез помешать отладке программ.

При определении переменных CFLAGS и CXXFLAGS, нужно объединять несколько флагов оптимизации. Значения по умолчанию, содержащиеся в третьей стадии, которую вы распаковали, должны быть достаточно хороши. Следующие значения приведены просто для примера:

CFLAGS=""
# указывайте одинаковые значения обеих переменных
CXXFLAGS="${CFLAGS}"
CFLAGS=""       # пользователи Intel EM64T должны использовать -march=core2
# указывайте одинаковые значения обеих переменных
CXXFLAGS="${CFLAGS}"
CFLAGS="       # Удостоверьтесь, что -march совпадает с типом вашего процессора
# указывайте одинаковые значения обеих переменных
CXXFLAGS="${CFLAGS}"
Вы можете также захотеть просмотреть гайд по оптимизации процесса компиляции для более детальной информации о том, как различные опции компиляции могут повлиять на вашу систему.
MAKEOPTS

С помощью MAKEOPTS определяется, сколько параллельных процессов компиляции можно запускать при установке пакета. Хорошим вариантом (но не всегда оптимальным) является значение, равное количеству процессоров (или ядер) в системе плюс один.

MAKEOPTS="-j2"
На старт, внимание, марш!

Измените /mnt/gentoo/etc/portage/make.conf в соответствии со своими пожеланиями, и сохраните изменения (пользователям nano нужно нажать CTRL+X). Теперь вы готовы к установке базовой системы Gentoo.