This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
Установка Gentoo файлов установки
Установка архива stage
Установка времени и даты
Перед установкой Gentoo, было бы неплохо проверить корректность настройки даты и времени. Неправильно настроенные часы могут привести к странным результатам: базовые системные файлы должны быть извлечены с правильными временными метками. Некоторые веб-сайты и сервисы используют шифрованную связь (SSL/TLS), что совсем не позволит загружать установочные файлы, если системные часы настроены с большим перекосом!
Проверьте текущую дату и время с помощью команды date:
root #
date
Mon Oct 3 13:16:22 PDT 2016
Если отображенное время/дата не верны, обновите её, используя один из методов ниже.
Материнские платы без Real-Time Clock (RTC) нужно настраить для автоматической синхронизации системного времени с сервером времени. Это также справедливо для систем у которых есть RTC, но сломана батарейка.
Автоматическая настройка
Официальный установочный носитель Gentoo включает в себя команду ntpd (поставляется в пакете net-misc/ntp). Официальный установочный носитель включается в себя конфигурационный файл, настроенный для синхронизациями с серверами времени ntp.org. Команда может быть использована для автоматической синхронизации системных часов в UTC-время используя сервер времени. Для этого метода необходима рабочая настроенная сеть и такой метод может не работать на всех архитектурах.
Автоматическая настройка времени не проходит бесследно. Информация о IP-адресе и некоторая информация о сети будет отправлена на сервер времени (в случае пример ниже на ntp.org). Пользователи, озабоченные безопасностью, должны быть осведомлены об этом до настройки системных часов с помощью метода ниже.
root #
ntpd -q -g
Ручная настройка
Также, можно воспользоваться командой date, чтобы вручную настроить системные часы. Используйте синтаксис MMDDhhmmYYYY
((M)Месяц, (D)День, (h)час, (m)минута и (Y)Год).
Время UTC рекомендовано для всех систем Linux. Позже, в процессе установки, можно будет определить часовой пояс (timezone). Это позволит изменить отображение часов на местное время.
Например, чтобы установить дату на 13:16 3 октября 2016 года:
root #
date 100313162016
Выбор stage архива
Multilib (32 и 64 бит)
Выбор базового архив для системы может сэкономить значительное количество времени, в дальнейшем в процессе установки, в частности, во время выбора системного профиля. Выбор архива будет непосредственно влиять на будущую конфигурацию системы и может сохранить от головной боли или двух последующих. Архив multilib использует 64-битные библиотеки, когда это возможно, и возвращается к 32-битной версии, когда это необходимо для обеспечения совместимости. Это отличный вариант для большинства установок, поскольку он обеспечивает большую степень гибкости для настройки в будущем. Кому необходима возможность легко переключать профили, должны загрузить multilib версию архива для соответствующей архитектуры процессора.
Большинство пользователей не должны использовать "продвинутые" опции архивов; они предназначены для конкретных программных или аппаратных конфигураций.
No-multilib (чистый 64-bit)
Если выбрать no-multilib архив как базовую часть, то система предоставит полноценную 64-разрядную среду. Это сделает возможность переключения на профили multilib маловероятным, но еще возможным. Тем, кто только познакомился с Gentoo, не следует выбирать архив no-multilib. Используйте этот архив только если это абсолютно необходимо и вы знаете что делаете.
Имейте в виду, мигрирация с no-multilib на multilib требует чрезвычайно хорошего знание Gentoo и набора инструментов более низкого уровня (это может даже привести к нашим Toolchain developers, бросающие в дрожь). Это не для слабонервных и выходит за рамки данного руководства.
Загрузка архива stage
Когда корневая файловая система подключена, перейдите в точку монтирования Gentoo (скорей всего это /mnt/gentoo):
root #
cd /mnt/gentoo
В зависимости от установочного, достаточно веб-браузера для загрузки архива stage.
Графический веб-браузер
У пользователей, использующих среду с графическим веб-браузером, не будет проблем при копировании ссылки на файл stage из раздела загрузки главного веб-сайт. Просто выберите подходящую вкладку, щелкните правой кнопкой по ссылке на файл stage, выберите Копировать ссылку (Firefox) или Копировать адрес ссылки (Chromium) чтобы скопировать ссылку в буфер обмена. Затем вставьте ссылку в командной строке после команды wget. Нажмите Enter чтобы загрузить архив stage:
root #
wget <PASTED_STAGE_URL>
Веб-браузер в командной строке
Более опытные пользователи или 'старики' Gentoo, которые работают в основном из командной строки, предпочитают использование links — консольного веб-браузера. Чтобы загрузить файл архива stage, просмотрите список зеркал Gentoo так:
root #
links https://www.gentoo.org/downloads/mirrors/
Чтобы использовать HTTP прокси в links, введите URL с опцией -http-proxy
:
root #
links -http-proxy proxy.server.com:8080 https://www.gentoo.org/downloads/mirrors/
На ряду с links так же есть lynx браузер. Как и links он не имеет графического интерфейса, но у него нет меню.
root #
lynx https://www.gentoo.org/downloads/mirrors/
Если прокси нужно сохранить, экспортируйте переменные http_proxy и/или ftp_proxy:
root #
export http_proxy="http://proxy.server.com:port"
root #
export ftp_proxy="http://proxy.server.com:port"
В списке зеркал выберите зеркало которое находится рядом. Обычно зеркала с HTTP протоколом хватает, но и другие протоколы также доступны. Перейдите в каталог releases/amd64/autobuilds/. Там отображаются все доступные stage файлы (так же они могут быть сохранены в подкаталогах с названиями отдельных суб-архитектур). Выберите нужный и нажмите d для загрузки.
После завершения загрузки можно проверить целостность и достоверность содержимого архива stage. Те, кто заинтересован в этом, должны перейти к следующему разделу.
Тем, кому не интересно проверять архив stage могут закрыть браузер в командной строке нажав q и сразу перейти к разделу #Распаковка архива stage.
Проверка и валидация
Some tarballs are being delivered via xz compression. When downloading a tarball ending in .tar.xz, be sure to adjust the tarball filename from .tar.bz2 in the following commands.
Вместе с минимальными установочными образами доступны дополнительные загрузки для проверки и валидации файла stage. Загрузка этих файлов может быть пропущена. Эти файлы предоставляются для пользователей, которым небезразлична легитимность файлов, которые они только что загрузили.
- .CONTENTS файл содержит список всех файлов внутри stage архива.
- .DIGESTS файл содержит контрольные суммы в разных алгоритмах для файла stage.
- .DIGESTS.asc файл как и .DIGESTS, содержит контрольные суммы в различных алгоритмах, а так же криптографическую подпись, которая предусмотрена Gentoo проектом.
Используйте openssl и сравните полученную контрольную сумму с контрольной суммой которая есть в файлах .DIGESTS и .DIGESTS.asc.
Например, для проверки контрольной суммы SHA512:
root #
openssl dgst -r -sha512 stage3-amd64-<release>.tar.bz2
Так же можно использовать команду sha512sum:
root #
sha512sum stage3-amd64-<release>.tar.bz2
Для проверки контрольной суммы Whirlpool:
root #
openssl dgst -r -whirlpool stage3-amd64-<release>.tar.bz2
Сравните вывод этих команд со значением в .DIGESTS(.asc) файле. Значения должны совпадать, иначе загруженный файл может быть поврежден (или файл digest).
Так же, как и файл ISO, stage файл можно проверить по криптографической подписи в .DIGESTS.asc файле, используя gpg, чтобы убедиться, что контрольные суммы не были подделаны:
root #
gpg --verify stage3-amd64-<release>.tar.bz2,.DIGESTS.asc
Распаковка архива stage
Теперь распакуем загруженный stage архив в систему. Далее воспользуемся tar:
root #
tar xpvf stage3-*.tar.bz2 --xattrs-include='*.*' --numeric-owner
Убедитесь, что оба параметра (xpf
и --xattrs-include='*.*'
) используются. x
указывает на извлечение (extract), p
для сохранения (preserve) прав доступа и f
для обозначения, что мы хотим извлечь файл (file), а не стандартный ввод. --xattrs-include='*.*'
позволит также сохранить расширенные атрибуты во всех пространствах имен, хранящиеся в архиве. Наконец, --numeric-owner
используется, для того чтобы убедиться, что идентификаторы пользователей и групп, в распакованных файлах из архива, останутся такими же, как и задумывалось командой Gentoo по подготовке релизов (release engineering), даже если предприимчивые пользователи не используют официальный установочный носитель Gentoo.
Теперь, когда stage распакован, перейдем к настройке параметров компиляции.
Настройка параметров компиляции
Введение
Для оптимизации Gentoo можно установить пару переменных, которые повлияют на поведение Portage, официально поддерживаемый пакетный менеджер в Gentoo. Все переменные могут быть установлены как переменные среды (с помощью export), но это не является постоянным. Чтобы использовать сохраненные настройки Portage читает файл /etc/portage/make.conf; конфигурационный файл для Portage.
Список и описание всех допустимых переменных можно найти в /mnt/gentoo/usr/share/portage/config/make.conf.example. Для успешной установки Gentoo достаточно определить переменные, которые упомянуты ниже.
Запустите редактор (в этом руководстве мы используем nano) для изменения параметров оптимизации о которых написано далее.
root #
nano -w /mnt/gentoo/etc/portage/make.conf
В файле make.conf.example показано, как файл должен быть структурирован: строки комментариев начинаются с "#", другие строки описывают переменные, используя конструкцию ПЕРЕМЕННАЯ="содержание". Некоторые из этих переменных мы обсудим позже.
CFLAGS и CXXFLAGS
CFLAGS и CXXFLAGS переменные определяют параметры оптимизации для GCC C и C++ компиляторов соответственно. Хотя они и указаны здесь, для достижения максимальной производительности можно было бы указать флаги оптимизации для каждой программы отдельно. Причина этого в том, что все программы различны. Но этим тяжело управлять, следовательно, запишем эти переменные в make.conf файл.
В make.conf следует указывать параметры оптимизации, которые сделают систему наиболее отзывчивой в целом. Не нужно использовать экспериментальные настройки; излишняя оптимизация может привести к непредсказуемому поведению программ (аварийный выход из программы, или еще хуже, к неправильной работе).
Мы не будем описывать все возможные параметры оптимизации. За более подробной информацией обратитесь к GNU онлайн документации или к информационной странице gcc (info gcc - работает только на работающей системе Linux), также сам файл make.conf.example содержит множество примеров и информации; не забудьте прочитать его тоже.
Первым параметром обычно является флаг -march=
или -mtune=
, который указывает имя целевой архитектуры. Возможные варианты описаны в файле make.conf.example (в комментариях). Обычно используется значение native, который сообщает компилятору, чтобы он использовал целевую архитектуру существующей системы (удобно для пользователей у которых одна инсталляция Gentoo).
Второй параметр оптимизации - это -О
флаг (это точно буква О, а не ноль), который указывает GCC какой класс оптимизации использовать. Возможные классы (оптимизации по размеру), 0 (ноль - без оптимизации), 1, 2 или даже 3 для более лучшей оптимизация по скорости (в каждый класс входят все флаги предыдущего, и некоторые дополнительные). -O2
рекомендуется по умолчанию. -O3
, как известно, вызывает проблемы при использовании его для всей системы, поэтому мы рекомендуем придерживаться -O2
.
Еще один популярный флаг оптимизации -pipe
(использование pipe вместо временных файлов для коммуникации между различными проходами компилятора). Это не имеет никакого влияния на сгенерированный код, но использует больше памяти. В системах с небольшим объемом памяти gcc может аварийно завершиться из-за этого. В этом случае не используйте этот флаг.
Использование -fomit-frame-pointer
(не хранить указатель фрейма в регистре для функций, которым он не нужен) может привести к серьезным последствиям во время отладки приложений.
Определение переменных CFLAGS и CXXFLAGS позволяет комбинировать несколько флагов оптимизации в одной строке. Значения по умолчанию, содержащиеся в архив stage3, наиболее хороши. Ниже один пример:
CFLAGS="-march=native -O2 -pipe" # Используйте те же настройки для обеих переменных CXXFLAGS="${CFLAGS}"
Хотя статья руководство по оптимизации GCC имеет больше информации о том, как различные параметры компиляции могут повлиять на систему, статья Safe CFLAGS может быть более полезной для начинающих в оптимизации системы.
MAKEOPTS
MAKEOPTS переменная определяет, сколько параллельных процессов компиляции должно запускаться при установке пакета. Хорошим вариантом будет использовать количество процессоров (или ядер процессора) в системе плюс один, но это вариант не всегда идеален.
MAKEOPTS="-j2"
На старт, внимание, марш!
Обновите /mnt/gentoo/etc/portage/make.conf файл в соответствии с личными предпочтениями и сохраните изменения (пользователям nano нужно нажать Ctrl+X).
Перейдем к установке базовой системы Gentoo.