Gentoo Linux сборник статей


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



Pdf просмотр
страница20/79
Дата14.11.2016
Размер5.55 Mb.
Просмотров11479
Скачиваний1
1   ...   16   17   18   19   20   21   22   23   ...   79
Предположим, у вас под рукой есть links.
Перейдите в каталог releases/, в нем откройте каталог, соответствующий вашей архитектуре (например, x86/), затем каталог с версией Gentoo (2006.1/), и, наконец, каталог stages/. Здесь находятся все доступные архивы стадий для вашей архитектуры (они могут располагаться в подкаталогах с названиями разновидностей архитектуры). Выберите один из них и нажмите D для загрузки.
По окончании — нажмите Q, чтобы выйти из браузера.
Листинг 5: Открытие списка зеркал в links
# 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 более не поддерживается.
200

Настольная книга Gentoo Linux x86
Если вы хотите проверить целостность загруженного архива стадии, с помощью
md5sum сравните результат с контрольной суммой MD5, взятой с зеркала.
Например, для проверки целостности архива стадии для x86:
Листинг 6: Пример проверки целостности архива стадии
# md5sum -c stage3-x86-2007.0.tar.bz2.DIGESTS
stage3-x86-2007.0.tar.bz2: OK
Распаковка архива стадии
Распакуйте загруженный архив стадии в своей системе. Мы используем tar, т.к. это простейший способ:
Листинг 7: Распаковка архива стадии
# tar xvjpf stage3-*.tar.bz2
Убедитесь, что вы используете точно такие же параметры командной строки (xvjpf). Значения параметров:

x — извлечение;

v — подробные сообщения, чтобы видеть, что происходит во
время распаковки (необязательный параметр);

j — декомпрессия bzip2;

p — сохранение прав доступа;

f — указывает на то, что мы распаковываем файл, а не то, что
подается на стандартный ввод.
Примечание: На установочных компакт-дисках и загрузочных образах для некоторых архитектур (например, MIPS) tar встроен в оболочку BusyBox, которая на данный момент не поддерживает параметр v. Тогда вместо приведенных указывайте параметры xjpf.
После развертывания установки стадии переходите к установке дерева портежей.
5.c. Альтернатива: использование файла стадии с
установочного диска
Извлечение архива стадии
Важно: Если вы — в x86 и используете «живой диск» с установщиком, на нем нет стадий. Вам понадобится последовать указаниям по использованию файла стадии из интернета.
Архивы стадий находятся на компакт-диске в каталоге /mnt/cdrom/stages. Для получения списка доступных стадий, воспользуйтесь ls:
Листинг 8: Список доступных архивов стадий
# ls /mnt/cdrom/stages
201

Настольная книга Gentoo Linux x86
Если система сообщает об ошибке, возможно, сначала нужно смонтировать CD-
ROM:
Листинг 9: Монтирование CD-ROM
# ls /mnt/cdrom/stages
ls: /mnt/cdrom/stages: No such file or directory
# mount /dev/cdroms/cdrom0 /mnt/cdrom
# ls /mnt/cdrom/stages
Перейдите в точку подключения Gentoo (обычно — /mnt/gentoo):
Листинг 10: Смена каталога на /mnt/gentoo
# cd /mnt/gentoo
Теперь утилитой tar распакуем выбранный архив стадии. Убедитесь, что вы используете точно такие же параметры (xvjpf)! Параметр v необязателен и может не работать в некоторых версиях tar. В следующем примере мы распакуем архив стадии stage3-<архитектура>-2006.1.tar.bz2. В качестве имени архива обязательно указывайте название файла нужной вам стадии.
Листинг 11: Распаковка архива стадии
# tar xvjpf /mnt/cdrom/stages/stage3-<архитектура>-2007.0.tar.bz2
После установки стадии переходите к установке дерева портежей.
5.d. Установка дерева портежей
Распаковка снимка портежей
Теперь вам нужно установить снимок дерева портежей — набор файлов, содержащих сведения для Portage о программном обеспечении, доступном для установки, имеющихся профилях и т.д.
Загрузка и установка снимка дерева портежей
Перейдите к точке подключения вашей системы (обычно — /mnt/gentoo):
Листинг 12: Переход к точке подключения
# cd /mnt/gentoo
Запустите links (или lynx) и откройте спискок зеркал Gentoo. Выберите ближайшее зеркало и перейдите в каталог snapshots/. Оттуда загрузите новейший снимок дерева портежей (portage-latest.tar.bz2), выбрав его из списка и нажав D.
Листинг 13: Просмотр списка зеркал Gentoo
# links http://www.gentoo.org/main/ru/mirrors.xml
202

Настольная книга Gentoo Linux x86
Закройте браузер нажатием Q. Теперь у вас в /mnt/gentoo появился снимок дерева портежей.
Если нужно убедиться в целостности загруженного снимка, воспользуйтесь md5sum, и сравните результат с контрольной суммой MD5, имеющейся на зеркале.
Листинг 14: Checking integrity of a Portage snapshot
# md5sum -c portage-latest.tar.bz2.md5sum
portage-latest.tar.bz2: OK
Теперь нужно распаковать снимок. Убедитесь в том, что вы используете в точности такие же параметры; последний параметр — заглавная C, а не строчная c.
Листинг 15: Извлечение снимка дерева портежей
# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr
5.e. Настройка параметров компиляции
Введение
Для оптимизации Gentoo вы можете создать ряд переменных, которые повлияют на поведение Portage. Все их можно создавать как переменные среды (с помощью export), но тогда они будут лишь временными. Для хранения ваших настроек предназначен конфигурационный файл Portage, /etc/make.conf. Именно его мы сейчас будем редактировать.
Примечание: Список и описание всех допустимых переменных находятся в файле /mnt/gentoo/etc/make.conf.example. Для успешной установки Gentoo, достаточно установить значения только тех переменных, которые описаны ниже.
Запустите ваш любимый редактор (в этом руководстве используется nano) для изменения параметров оптимизации, которые обсуждаются далее.
Листинг 16: Открытие /etc/make.conf
# nano -w /mnt/gentoo/etc/make.conf
Как вы могли заметить, у файла make.conf.example обычная структура: строки комментария начинаются со знака «#», а в остальных строках выражениями вида
ПЕРЕМЕННАЯ="значение" определяются переменные. У файла make.conf такой же формат. Некоторые из переменных мы обсудим ниже.
203

Настольная книга Gentoo Linux x86
CHOST
В переменной CHOST определяется, для какой архитектуры скомпилирована система. В ней уже должно быть установлено правильное значение. Не изменяйте эту переменную, т.к. это может повредить вашу систему. Если переменная
CHOST, по-вашему, выглядит неправильно, возможно, вы используете не тот архив stage3.
CFLAGS и CXXFLAGS
Переменные CFLAGS и CXXFLAGS определяют параметры оптимизации компилятора gcc для языков C и C++, соответственно. При том, что общие значения следует устанавливать здесь, максимальная производительность достигается в том случае, когда для каждой компилируемой программы устанавливаются свои собственные оптимальные параметры. Причина в том, что все программы различны.
В файле make.conf следует указывать параметры оптимизации, которые, на ваш взгляд, повысят скорость системы в целом. Не помещайте сюда экспериментальные значения; излишняя оптимизация может привести к плохому поведению программ (аварийным завершениям, или, что хуже, неправильной работе).
Мы не будем описывать все возможные параметры оптимизации. Если вы хотите узнать о них всё, почитайте онлайновые руководства GNU (англ.) или страницу описания gcc (info gcc — доступна только на работающей системе Linux). Не забудьте прочитать сам файл make.conf.example: в нем также есть немало примеров и полезных сведений.
Первый параметр — флаг -march=, где указывается название целевой архитектуры. Возможные варианты описаны в комментариях в файле make.conf.example. Например, для архитектуры x86 Athlon XP:
Листинг 17: Значение -march для GCC
# пользователям AMD64, желающим получить действительно 64-битную
# систему, следует использовать -march=k8
# пользователи EM64T должны указать -march=nocona
-march=athlon-xp
Примечание(JohnBat26) (обновлено в 1.5): Если Вы используете компилятор версии 4.2.0 и выше, то вместо указания специфичного типа процессора, можно указывать одно из двух (в параметрах: -march и -mtune):
1. generic: если Вы хотите, чтобы Ваш скомпилированный код запускался на всех процессорах, архитектуры x86;
2. native: если Вы хотите оптимизировать код только для Вашего процессора.
В этом случае компилятор будет брать сведения о процессоре путем вызова cpuid !
Следующий — флаг -O (заглавная латинская «O», а не ноль), определяющий
204

Настольная книга Gentoo Linux x86
класс оптимизации в gcc. Допустимые значения:

s — оптимизация по размеру;

0 — ноль, без оптимизации;

1, 2 или 3 — все большая оптимизация по скорости (в каждый класс входят все флаги предыдущего, и некоторые дополнительные).
Например, для оптимизации класса 2:
Листинг 18: Значение -O для GCC
-O2
Другой популярный флаг оптимизации — -pipe (использование для связи между различными проходами компилятора каналов вместо временных файлов).
Заметьте, что использование -fomit-frame-pointer (не хранить в регистре указатель стекового кадра для функций, которым он не нужен) может всерьез помешать отладке программ!
При определении переменных CFLAGS и CXXFLAGS, нужно объединять несколько флагов оптимизации, как в следующем примере:
Листинг 19: Определение переменных CFLAGS и CXXFLAGS (gcc < 4.2.0)
CFLAGS="-march=athlon-xp -pipe -O2" # для пользователей AMD64: -march=k8
# для пользователей EM64T: -march=nocona
CXXFLAGS="${CFLAGS}" # указывайте одинаковые значения обеих переменных
MAKEOPTS
С помощью MAKEOPTS определяется, сколько параллельных процессов компиляции можно запускать при установке пакета. Хороший (но не всегда идеальный) вариант — значение, равное количеству процессоров в системе плюс один.
Листинг 20: MAKEOPTS для обычной однопроцессорной системы
MAKEOPTS="-j2"
На старт, внимание, марш!
Измените /mnt/gentoo/etc/make.conf в соответствии со своими пожеланиями, и сохраните изменения (пользователям nano нужно нажать CTRL+X). Теперь вы готовы к установке базовой системы Gentoo.
6. Установка базовой системы Gentoo
6.a. Изменение корневого каталога
Дополнительно: выбор зеркала
205

Настольная книга Gentoo Linux x86
Для ускорения загрузки исходного кода рекомендуется выбрать быстрое зеркало. Portage ищет переменную GENTOO_MIRRORS в файле make.conf и использует зеркала, перечисленные в ней. Конечно, можно просмотреть наш список зеркал и выбрать одно или несколько, географически ближайших к вам
(чаще всего они и будут самыми быстрыми), но мы предлагаем вам удобную утилиту mirrorselect, которая позволяет выбрать желаемые зеркала более удобным способом.
Листинг 1: Запуск mirrorselect для установки переменной GENTOO_MIRRORS
# mirrorselect -i -o >>/mnt/gentoo/etc/make.conf
Предупреждение: Не выбирайте зеркала IPv6. Файлы стадий пока не поддерживают протокол IPv6.
Вторая важная настройка — установка значения переменной SYNC в файле
make.conf. Эта переменная указывает на сервер rsync (сервер удаленной синхронизации), выбранный вами для обновления дерева Portage (коллекции файлов ebuild — сборочных сценариев, содержащих все данные, нужные Portage для скачивания и установки программ). Хотя вписать адрес сервера в SYNC можно и вручную, mirrorselect позволяет упростить это действие:
Листинг 2: Выбор зеркала rsync с помощью mirrorselect
# mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf
После выполнения mirrorselect, мы рекомендуем проверить все значения в файле /mnt/gentoo/etc/make.conf!
Копирование сведений о DNS
Перед тем, как перейти в новую среду, осталось сделать одно дело: скопировать информацию о DNS (системе доменных имен) в файл /etc/resolv.conf. Это нужно, чтобы при переходе сохранить работоспособность сети. В файле /etc/resolv.conf содержатся адреса серверов имен, используемых в вашей сети.
Листинг 3: Копирование информации о DNS
(параметр «-L» нужен, чтобы случайно не скопировать символьную ссылку)
# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
Монтирование файловых систем /proc и /dev
Смонтируйте файловую систему /proc в /mnt/gentoo/proc, чтобы после изменения корневого каталога устанавливаемая система смогла обращаться к информации, предоставляемой ядром, а затем создайте привязку монтирования файловой системы /dev.
Листинг 4: Монтирование /proc и /dev
# mount -t proc none /mnt/gentoo/proc
206

Настольная книга Gentoo Linux x86
# mount -o bind /dev /mnt/gentoo/dev
Переход в новую среду
Итак, все разделы подготовлены, а базовая операционная среда установлена.
Теперь пора войти в нее, изменив корневой каталог. Таким образом, мы перейдем из текущей установочной среды (с компакт-диска или другого установочного носителя) в свою устанавливаемую систему (находящуюся в недавно размеченных разделах).
Изменение выполняется в три этапа:
1. Сначала мы с помощью chroot изменим корневой каталог с / (находящийся на установочном носителе) на /mnt/gentoo (находящийся на ваших дисковых разделах).
2. Затем мы создадим новую среду, пользуясь утилитой env-update, которая, собственно, создает переменные среды.
3. Наконец, мы загрузим эти переменные в память при помощи source.
Листинг 5: Изменение корневого каталога для перехода в новую среду
# chroot /mnt/gentoo /bin/bash
# env-update
>> Regenerating /etc/ld.so.cache...
# source /etc/profile
# export PS1="(chroot) $PS1"
Поздравляем!
Теперь вы в своей собственной среде Gentoo Linux. Конечно, на этом она далеко еще не готова, поэтому в руководстве еще осталось несколько разделов :-)
6.b. Настройка Portage
Обновление дерева Portage
Теперь надо обновить дерево Portage до самой последней версии с помощью команды emerge --sync:
Листинг 6: Обновление дерева портежей
# emerge --sync
(если вы пользуетесь медленным терминалом, например, последовательным терминалом или кадровым буфером, для ускорения процесса можно добавить параметр --quiet :)
# emerge --sync --quiet
Если компьютер подключен к интернету через межсетевой экран, блокирующий прохождение rsync-пакетов, вы можете воспользоваться командой emerge- webrsync, которая скачивает и устанавливает снимок дерева.
Если выдано предупреждение, что имеется новая версия Portage и ее нужно
207

Настольная книга Gentoo Linux x86
обновить, выполните обновление командой emerge portage.
Выбор нужного профиля
Сначала дадим небольшое определение.
Профиль — конструктивный элемент любой системы Gentoo. В нем указываются не только значения по умолчанию для CHOST, CFLAGS и других важных переменных, он также привязывает систему к определенному диапазону допустимых версий пакетов. Диапазоны поддерживаются разработчиками Gentoo.
Раньше пользователь редко касался профиля. Однако, пользователи х86, hppa и
alpha могут выбирать из двух вариантов профиля: одного для ядра 2.4, другого для ядра 2.6. Это вызвано необходимостью улучшения интеграции ядер 2.6. Для архитектур ppc и ppc64 также существует несколько профилей. Мы поговорим о них позже.
Узнать, какой профиль используется в системе в данный момент, вы можете командой:
Листинг 7: Выяснение используемого профиля
# ls -FGg /etc/make.profile
lrwxrwxrwx 1 48 Apr 8 18:51 /etc/make.profile -> ../usr/portage/profiles/default-linux/x86/2007.0/
Если вы используете одну из трех упомянутых архитектур, профиль по умолчанию даст вам систему с ядром 2.6. Это рекомендуется по умолчанию, но за вами сохраняется и право выбора другого профиля.
Для некоторых архитектур также предусмотрены подпрофили desktop и server.
Загляните в профиль 2007.0/, чтобы узнать, есть ли подпрофили для вашей архитектуры. Возможно, вы захотите заглянуть в make.defaults профиля desktop, чтобы определить, подходит ли он вам.
Некоторым пользователям, возможно, захочется установить систему, основанную на старом профиле, с ядром 2.4. Если для этого есть веские основания, сначала надо проверить, существует ли такой дополнительный профиль. На системах x86 это можно сделать следующей командой:
Листинг 8: Выяснение наличия дополнительного профиля
# ls -d /usr/portage/profiles/default-linux/x86/no-nptl/2.4
/usr/portage/profiles/default-linux/x86/no-nptl/2.4
В приведенном примере дополнительный профиль 2.4 существует (т.е. нет сообщений об отсутствующем файле или каталоге). Рекомендуется использовать профиль по умолчанию, но если вы все же хотите сменить его, это можно сделать так:
Листинг 9: Переключение профиля на 2.4
(убедитесь, что используете нужную архитектуру; этот пример - для x86)
# ln -snf /usr/portage/profiles/default-linux/x86/no-nptl/2.4 /etc/make.profile
208

Настольная книга Gentoo Linux x86
(вывод списка файлов в профиле 2.4)
# ls -FGg /etc/make.profile/
total 12
-rw-r--r-- 1 939 Dec 10 14:06 packages
-rw-r--r-- 1 347 Dec 3 2004 parent
-rw-r--r-- 1 573 Dec 3 2004 virtuals
Для архитектуры ppc в выпуске 2006.1 появилось несколько новых профилей:
Листинг 10: Профили для PPC
(базовый профиль PPC, подходит для всех PPC-машин, минимальный)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1 /etc/make.profile
(профиль для G3)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1/G3 /etc/make.profile
(профиль для G3 Pegasos)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1/G3/Pegasos/ /etc/make.profile
(профиль для G4 (Altivec))
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1/G4 /etc/make.profile
(профиль для G4 (Altivec) Pegasos)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1/G4/Pegasos/ /etc/make.profile
Для архитектуры ppc64 в выпуске 2006.1 также появилось несколько новых профилей:
Листинг 11: Профили для PPC64
(базовый профиль PPC64 с 64-битным режимом пользователя, для всех PPC64-машин)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/64bit-userland /etc/make.profile
(базовый профиль PPC64 с 32-битным режимом пользователя, для всех PPC64-машин)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/32bit-userland /etc/make.profile
(для каждого режима пользователя существуют подпрофили, как показано ниже.)
(«userland» необходимо заменять на нужный вариант режима из примеров выше)
(профиль 970 для JS20)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/970 /etc/make.profile
(профиль для G5)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/970/pmac /etc/make.profile
(профиль для POWER3)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/power3 /etc/make.profile
(профиль для POWER4)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/power4 /etc/make.profile
(профиль для POWER5)
# ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/power5 /etc/make.profile
(многорежимные профили на дату выхода этого выпуска нестабильны)
Настройка переменной USE
USE («использовать») — одна из самых мощных переменных, имеющихся в распоряжении пользователей Gentoo. Она позволяет при компиляции программ включать или отключать поддержку определенных необязательных функций.
Например, некоторые программы можно компилировать с поддержкой gtk или qt
на выбор. Другие можно собирать, включая или отключая поддержку SSL.
Некоторые программы можно даже компилировать с поддержкой кадрового
209

Настольная книга Gentoo Linux x86
буфера (svgalib) вместо поддержки X11 (X-сервера).
В большинстве дистрибутивов пакеты собраны с поддержкой практически всех мыслимых вариантов. Это увеличивает размер программ и время запуска, не говоря уже о чрезмерных зависимостях. В Gentoo вы сами можете определять, с какими возможностями следует компилировать пакет. Здесь играет роль переменная USE.
В переменной USE указываются ключевые слова, которые отражаются на параметрах компиляции. Например, параметр ssl включает компиляцию с поддержкой ssl всех программ, которые способны его поддерживать. -X отключает поддержку X-сервера (обратите внимание на предшествующий знак «минус»).
Параметры gnome gtk -kde -qt обеспечивают компиляцию ваших программ с поддержкой Gnome и gtk, но без поддержки KDE и qt, делая систему оптимальной для GNOME.
Настройки USE по умолчанию хранятся в файлах make.defaults вашего профиля.
Файлы make.defaults находятся в каталоге, на который указывает /etc/make.profile, а также во всех родительских каталогах. Значение USE по умолчанию — это сумма всех значений USE во всех файлах make.defaults. Все, что вы вносите в
/etc/make.conf, рассчитывается относительно этих значений. Когда вы добавляете что-либо к значению USE, оно добавляется в список по умолчанию. Когда удаляете что-либо (указывая ключевое слово с предшествующим знаком минус), оно удаляется из списка по умолчанию (если оно там вообще было). Никогда ничего не меняйте в /etc/make.profile. Все, что там находится, перезаписывается при обновлении Portage!
Полное описание переменной USE находится во второй части настольной книги
Gentoo в главе USE-флаги. Полное описание возможных значений признаков использования находится в вашей системе в файле /usr/portage/profiles/use.desc.
Листинг 12: Просмотр допустимых USE-флагов
# less /usr/portage/profiles/use.desc
(для прокрутки пользуйтесь клавишами стрелок, для выхода нажимайте "q")
Например, приведем значение USE для системы, базирующейся на KDE, с включением поддержки DVD, ALSA и записи CD:
Листинг 13: Открытие файла /etc/make.conf
# nano -w /etc/make.conf
Листинг 14: Значение USE
USE="-gtk -gnome qt kde dvd alsa cdr"
Дополнительно: региональные параметры GLIBC
Скорее всего, вы будете использовать в системе один-два набора региональных параметров. Нужные регионы можно указать в /etc/locale.gen.
210

Настольная книга Gentoo Linux x86
Листинг 15: Открытие /etc/locale.gen
# nano -w /etc/locale.gen
Вот пример одновременного подключения как английского (США), так и немецкого
(Германия) с соответствующими кодировками (например, UTF-8).
Листинг 16: Укажите свои региональные настройки en_US/ISO-8859-1
en_US.UTF-8/UTF-8
de_DE/ISO-8859-1
de_DE@euro/ISO-8859-15
Следующий шаг — запустить


Поделитесь с Вашими друзьями:
1   ...   16   17   18   19   20   21   22   23   ...   79


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал