- •Расширенные возможности Portage
- •А. Установка Gentoo
- •1. Об установке Gentoo Linux
- •1.А. Введение.
- •2. Выбор правильного источника установки.
- •2.А. Требования к железу
- •2.B. Установочные cd Gentoo
- •2.С. Скачайте, запишите, и загрузитесь с установочного cd Gentoo
- •3. Конфигурация сети
- •3.A. Автоматическое определение сети
- •3.B. Автоматическая конфигурация сети
- •3.С. Ручная настройка сети
- •4. Подготовка дисков
- •4.A. Введение в блочные устройства
- •4.B. Разрабатываем схему разделов
- •4.C. Использование fdisk для разбивки вашего диска
- •4.D. Использование parted для разбивки вашего диска
- •4.E. Создаем файловые системы
- •4.F. Монтирование
- •5. Установка файлов Gentoo
- •5.A. Устанавливаем tar-архив Stage3
- •5.B. По умолчанию: Используем Stage3 из Интернета
- •5.C. Устанавливаем Portage
- •5.D. Настройка опций компиляции
- •6. Установка базовой системы Gentoo
- •6.A. Чрутинг
- •6.B. Конфигурируем Portage
- •7. Конфигурация ядра
- •7.A. Временная зона
- •7.B. Устанавливаем исходники
- •7.C. По умолчанию: Ручная конфигурация
- •7.D. Альтернатива: Используем genkernel
- •7.E. Модули ядра
- •8. Конфигурация системы
- •8.A. Информация о файловой системе
- •8.B. Информация о сети
- •8.C. Системная информация
- •9. Установка необходимых системных приложений
- •9.A. Системный логгер
- •9.B. Опционально: Демон Cron
- •9.C. Опционально: Индексация файлов
- •9.D. Опционально: Удаленный Доступ
- •9.E. Программы работы с файловой системой
- •9.F. Программы работы с сетью
- •10. Конфигурация загрузчика
- •10.A. Делаем выбор
- •10.B. По умолчанию: Используем grub
- •10.C. Альтернатива: Используем lilo
- •10.D. Перезагружаем систему
- •11. Окончание установки Gentoo
- •11.A. Работа с пользователями
- •11.B. Очистка диска
- •12. Куда идти дальше?
- •12.A. Документация
- •12.B. Gentoo в сети
- •B. Работа с Gentoo
- •1. Введение в Portage
- •1.A. Добро пожаловать в Portage
- •1.B. Дерево Portage
- •1.C. Поддержка приложений
- •1.D. Лицензии
- •1.E. Когда Portage ругается...
- •2.A. Что такое use-флаги?
- •2.B. Использование use-флагов
- •3. Возможности Portage
- •3.A. Возможности Portage
- •3.B. Распределенная компиляция
- •3.C. Кеширование компиляции
- •3.D. Поддержка бинарных пакетов
- •3.E. Скачивание файлов
- •3.F. Загрузка проверенных образов дерева Portage
- •4. Инициализационные скрипты
- •4.A. Уровни запуска
- •4.B. Работаем с rc-update
- •4.C. Конфигурирование сервисов
- •4.D. Пишем инициализационные скрипты
- •4.E. Изменение поведения уровня запуска
- •5. Переменные окружения
- •5.A. Переменные окружения?
- •5.B. Определение переменных глобально
- •5.C. Определение переменных локально
- •C. Работа с Portage
- •1. Файлы и каталоги
- •1.A. Файлы Portage
- •1.B. Сохраненные файлы
- •1.C. Компиляция приложений
- •1.D. Возможности логгинга
- •2. Конфигурирование через переменные
- •2.A. Конфигурация Portage
- •2.B. Опции, специфичные для компиляции
- •2.C. Защита файлов конфигурации
- •2.D. Опции скачивания
- •2.E. Конфигурация Gentoo
- •2.F. Поведение Portage
- •3. Смешение веток приложений
- •3.A. Использование одной ветви
- •3.B. Смешиваем стабильную ветку и ветку для тестирования
- •3.C. Используем замаскированные пакеты
- •4. Дополнительные программы для Portage
- •5. Отход от официального дерева
- •5.A. Использование поднабора дерева Portage
- •5.B. Добавляем неофициальные ебилды
- •5.C. Приложения, не обрабатываемые Portage
- •6. Расширенные возможности Portage
- •6.A. Введение
- •6.B. Переменные окружения для каждого пакета
- •6.C. Вмешиваемся в процесс установки
- •6.D. Выполняем задачи после --sync
- •6.E. Изменяем настройки профиля
- •6.F. Применение нестандартных патчей
- •D. Конфигурация сети Gentoo
- •1. Начинаем
- •1.A. Начинаем
- •2. Расширенная конфигурация
- •2.A. Расширенная конфигурация
- •2.B. Сетевые зависимости
- •2.C. Имена и значения переменных
- •3. Модульная сеть
- •3.A. Сетевые модули
- •3.B. Обработчики интерфейсов
- •3.F. Связывание
- •3.G. Мосты (Поддержка 802.1d)
- •3.I. Туннелирование
- •3.J. Vlan (Поддержка 802.1q)
- •4. Беспроводные сети
- •4.A. Введение
- •4.D. Определение конфигурации сети на каждый essid
- •5. Добавление функциональности
- •5.A. Хуки стандартных функций
- •5.B. Хуки функций Wireless Tools
- •6. Обслуживание сети
- •6.A. Обслуживание сети
3. Возможности Portage
3.A. Возможности Portage
У Portage есть несколько дополнительных возможностей, которые делают опыт вашего взаимодействия с Gentoo еще лучше. Многие из этих возможностей зависят от некоторых программ, которые улучшают производительность, надежность, безопаасность, ...
Чтобы включить или отключить возможности Portage, вам нужно отредактировать переменную FEATURES в /etc/make.conf, которая содержит различные ключевые слова возможностей, разделенные пробелами. В некоторых случаях вам потребуется также установить дополнительные программы, на которых основана возможность.
Не все возможности, которые поддерживает Portage, описаны здесь. Для полного обзора откройте man-страницу make.conf.
Код 1.1: Открываем man-страницу make.conf |
$ man make.conf |
Чтобы найти, какие возможности находятся в наборе по умолчанию, запустите emerge --info, и поищите переменную FEATURE, либо найдите ее командой grep:
Код 1.2: Найдем, какие возможности уже установлены |
$ emerge --info | grep FEATURES |
3.B. Распределенная компиляция
Используем distcc
distcc это программа для распределенной компиляции между несколькими, не обязательно одинаковыми машинами в сети. Клиенты distcc посылают всю необходимую информацию существующим серверам distcc (на которых работает distccd), так что они могут компилировать кусочки исходного кода для клиента. В результате мы получаем более быстрое время компиляции.
Вы можете найти более подробную информацию о distcc (и как с ней работать в Gentoo) в нашей документации (http://www.gentoo.org/doc/en/distcc.xml?style=printable)
Установка distcc
Distcc имеет графический монитор, чтобы просматривать задания, который ваш компьютер посылает для компиляции. Если вы используете Gnome, то поместите 'gnome' в вашу переменную USE. Однако, если вы не используете Gnome, но все равно хотите иметь монитор, тогда вы должны поместить 'gtk' вашу переменную USE.
Код 2.1: Устанавливаем distcc |
# emerge distcc |
Активируем поддержку Portage
Добавьте distcc к переменной FEATURES в /etc/make.conf. Затем, отредактируйте переменную MAKEOPTS так, как вам нравится. Чаще всего нужно занести туда «-jX», где X — количество процессоров, на которых запущена distccd (включая текущий хост) плюс один, но вы можете получить более хорошие результаты с другими числами.
Теперь запустите distcc-config, и введите список существующих серверов distcc. Для простого примера мы предположим, что существующие сервера distcc это 192.168.1.102 (текущий хост), 192.168.1.103, и 192.168.1.104 (два других хоста):
Код 2.2: Конфигурируем distcc для использования трех серверов distcc |
# distcc-config --set-hosts "192.168.1.102 192.168.1.103 192.168.1.104" |
Не забудьте также запустить демон distccd:
Код 2.3: Запускаем демоны distccd |
# rc-update add distccd default # /etc/init.d/distccd start |
3.C. Кеширование компиляции
О ccache
ccache это быстрый кеш компилятора. Когда вы компилируете программу, она будет кешировать промежуточные результаты, так что когда вы будете перекомпилировать ту же самую программу, время компиляции будет сильно уменьшено. Первый раз, когда вы запустите ccache, компиляция будет гораздо медленнее, чем обычная компиляция. Последующие перекомпиляции должны быть быстрее. ccache полезна только если вы перекомпилируете одно и тоже приложение много раз, поэтому эта программа будет полезна, скорее всего, только для разработчиков приложений.
Если вы заинтересованы в работе ccache, посетите домашнюю страницу ccache (http://ccache.samba.org/)
Предупреждение: Известно, что ccache вызывает некоторые ошибки компиляции. Иногда она оставляет ненужные, или испорченные файлы, что может привести к пакетам, которые не могут быть установлены. Если это случится (если вы получите ошибки типа «File not recognized. File truncayed»), попробуйте перекомпилировать приложение с отключенным ccache (FEATURES="-ccache" в /etc/make.conf) прежде чем писать о баге. Если вы не делаете какую-то разработку, не включайте ccache. |
Устанавливаем ccache
Чтобы установить ccache, запустите emerge ccache:
Код 3.1: Устанавливаем ccache |
# emerge ccache |
Активируем поддержку Portage
Откройте /etc/make.conf и добавьте ccache к переменной FEATURES. Затем добавьте новую переменную, названную CCACHE_SIZE и установите ее в «2G»:
Код 3.2: Редактируем CCACHE_SIZE в /etc/make.conf |
CCACHE_SIZE="2G" |
Чтобы проверить, работает ли ccache, попросите ccache дать вам статистику. Так как Portage использует другую домашнюю директорию ccache, вам нужно будет установить также переменную CCACHE_DIR:
Код 3.3: Смотрим статистику ccache |
# CCACHE_DIR="/var/tmp/ccache" ccache -s |
/var/tmp/ccache это домашняя директория по умолчанию для ccache, которую устанавливает Portage. Если вы хотите изменить эту настройку, вы можете установить переменную CCACHE_DIR в /etc/make.conf.
Однако, если вы запустите ccache, программа будет использовать положение по умолчанию, ${HOME}/.ccache, поэтому вам и нужно устанавливать переменную CCACHE_DIR, когда вы просите статистику ccache для Portage.
Используем ccache для компилирования без Portage
Если вы хотите использовать ccache для компиляции без использования Portage, добавьте /usr/lib/ccache/bin к началу вашей переменной PATH (перед /usr/bin). Это может быть выполнено редактированием .bash_profile в домашней директории вашего пользователя. Использование .bash_profile это один из способов определить переменные PATH.
Код 3.4: Редактируем .bash_profile |
PATH="/usr/lib/ccache/bin:/opt/bin:${PATH}" |