Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Gentoo_x86_Handbook.doc
Скачиваний:
25
Добавлен:
19.09.2019
Размер:
924.16 Кб
Скачать

5.C. Определение переменных локально

Специфичные для пользователя

Вы не всегда захотите определять переменные окружения глобально. Например, вы можете захотить добавить /home/my_user/bin и текущую рабочую директорию (директорию, где вы сейчас находитесь) к переменной PATH, но не хотите, чтобы остальные пользователи на вашей системе имели такой PATH. Если вы хотите определить переменную окружения локально, вы должны использовать ~/.bashrc или ~/.bash_profile:

Код 3.1: Расширяем PATH для локального использования в ~/.bashrc

(A colon followed by no directory is treated as the current working directory)

PATH="${PATH}:/home/my_user/bin:"

Когда вы перелогинитесь, ваша переменная PATH будет обновлена.

Специфичные для сессии

Иногда требуются даже более строгие определения. Вы можете захотеть использовать бинарные файлы из временной директории, которую вы создали, без использования пути к бинарным файлам, или редактирования ~/.bashrc, так как вам нужно это только на короткое время.

В этом случае вы можете просто определить переменную PATH в вашей текущей сессии, используя команду export. До того времени, как пока вы не сделаете логаут, переменная PATH будет использовать временные значения.

Код 3.2: Определяем переменные окружения, специфичные для сессии

# export PATH="${PATH}:/home/my_user/tmp/usr/bin"

C. Работа с Portage

1. Файлы и каталоги

1.A. Файлы Portage

Конфигурационные директивы

Portage имеет конфигурацию по умолчанию, сохраненную в /etc/make.globals. Когда вы посмотрите на содержимое это файла, вы заметите, что вся конфигурация Portage происходит через переменные. Какие переменные Portage слушает, и что они знают, описано позже.

Так как многие конфигурационные директивы отличаются в различных архитектурах, Portage также имеет конфигурационные файлы по умолчанию, которые являются частью вашего профиля. Ваш профиль указан в симлинке /etc/make.profile, конфигурация Portage устанавливается в файлах make.defaults вашего профиля, и всех родительских профилей. Мы объясним больше о профилях и каталоге /etc/make.profile позже.

Если вы планируете изменить конфигурационную переменную, не меняйте ничего в /etc/make.global или в make.defaults. Вместо этого, используйте /etc/make.conf, который имеет приоритет перед предыдущими файлами. Вы также найдете пример в /usr/share/portage/config/make.conf.example. Как указывает имя, это скорее файл для примера — Portage не читает из этого файла.

Вы также можете определить конфигурационные переменные Portage как переменные окружения, но мы это не рекомендуем.

Информация, специфичная для профиля

Мы уже встречались с каталогом /etc/make.profile. Ну, это не совсем каталог, а символическая ссылка на профиль, которые находятся по умолчанию, в /usr/portage/profiles, хотя вы можете создать свои собственные профили в друго месте, и указать на них. Профиль, на который указывает этот симлинк, является именно тем, к которому принадлежит ваша система.

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

Конфигурация, специфичная для пользователя

Когда вам нужно переопределить поведение Portage, касающееся установки программ, вы будете редактировать файлы в /etc/portage. Мы очень рекомендуем использовать файлы в /etc/portage, и очень не рекомендуем переопределять поведение через переменные окружения!

В /etc/portage вы можете создать следующие файлы:

  • package.mask, в котором будет список пакетов, которые вы бы не хотели, чтобы Portage устанавливал.

  • package.unmask, в котором будет список пакетов, которые вы хотите установить, несмотря на то, что разработчики Gentoo очень не советовали вам их устанавливать.

  • package.accept_keywords, в котором будет список пакетов, которые вы хотите иметь возможность установить, несмотря на то, что пакет был признан неподходящим для вашей системы или архитектуры (пока).

  • package.use, в котором будет список USE-флагов, которые вы хотите использовать для конкретных пакетов без необходимости использовать эти USE-флаги глобально, во всей системе.

Вообще, это не обязательно должны быть файлы, это могут быть и каталоги, которые содержат по одному файлу на каждый пакет. Более детальную информацию о каталоге /etc/portage и полному списку возможных файлов, которые вы можете создать, можно найти на man-странице Portage:

Код 1.1: Читаем man-страницу Portage

$ man portage

Изменяем положение файлов и каталогов Portage

Ранее описанные файлы конфигурации не могут находится в другом месте — Portage всегда будет смотреть эти конфигурационные файлы именно в этих местах. Однако, Portage использует многие другие места для различных целей: каталог для компиляции, положение исходного кода, положение дерева Portage, ...

Все эти места расположены по известным местам по умолчанию, но их можно изменить по вашему вкусу через /etc/make.conf. Остаток данной главы объясняет, какие специальные места использует Portage, и как изменить их расположение на вашей файловой системе.

Этот документ не предназначен, однако, для использования как справочник. Если вам нужно стопроцентное объяснение, проконсультируйтесь с man-страницами Portage и make.conf.

Код 1.2: Читаем man-страницы Portage и make.conf

$ man portage

$ man make.conf

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]