- Файлы и каталоги
- Конфигурация, определяемая профилем
- Конфигурация, задаваемая пользователем
- Изменение файлов Portage и размещения каталогов
- Хранение файлов
- Дерево Portage
- Двоичные пакеты
- Исходные коды
- Файлы RPM
- База данных Portage
- Кэш Portage
- Сборка программного обеспечения
- Временные файлы Portage
- Каталог сборки
- Размещение «живой файловой системы»
- Ведение журнала
- Журнал Ebuild
- Files and directories
- Profile-specific configuration
- User-specific configuration
- Editing Portage files and modifying locations
- File storage
- Portage tree
- Binary packages
- Source code
- RPM files
- Portage database
- Portage cache
- Software compilation
- Portage temporary files
- Compilation directory
- Locating the live filesystem
- Logging
- Ebuild log
Файлы и каталоги
Настройки Portage по умолчанию хранятся в . Когда вы откроете этот файл, вы увидите, что все настройки представляют собой переменные. Что означает каждая из переменных, описано ниже.
Так как многие директивы отличаются в зависимости от используемой архитектуры, к Portage прилагаются настройки по умолчанию, которые входят в ваш профиль. На ваш профиль указывает символическая ссылка . Настройка Portage выполняется c помощью файлов вашего профиля и всех родительских профилей. Более подробно о профилях и каталоге /etc/portage/make.profile мы расскажем позже.
Вы также обнаружите файл , в который утилита обновления cl-update вписывает настройки репозхитория бинарных пакетов, а так же файл в который импортируется описания подключенных оверлеев утилиты layman .
Переменные Portage также можно устанавливать как переменные среды, но мы не рекомендуем этого делать.
Конфигурация, определяемая профилем
Мы уже встречались с каталогом . На самом деле это не каталог, а символическая ссылка на профиль, по умолчанию на тот, что содержится в , однако вы можете создавать свои собственные профили где угодно и ссылаться на них. Профиль, указанный ссылкой, является профилем, к которому принадлежит ваша система.
В профиле содержатся сведения для Portage, специфичные для архитектуры, такие как список пакетов, принадлежащих соответствующей системе, список неработоспособных (или замаскированных) пакетов, и т.д.
Конфигурация, задаваемая пользователем
Если вам необходимо изменить поведение Portage относительно установки программного обеспечения, вам потребуется отредактировать файлы, находящиеся в . Мы настоятельно рекомендуем вам пользоваться файлами из , не следует настраивать поведение Portage через переменные среды.
Внутри доступны следующие пути:
- директория , в которой можно создать файлы с перечислением пакетов, которые Portage никогда не следует устанавливать;
- директория , в которой можно создать файлы со списком пакетов, для которых вы хотите иметь возможность установки, даже если разработчики Gentoo отговаривают вас от этого;
- директория , в которой можно создать файлы с перечислением пакетов, которые должны быть доступны для установки, несмотря на то, что они не подходят для вашей системы или архитектуры (пока);
- директория , в которой можно создать файлы, где перечислены значения USE-флагов, которые необходимо указывать для конкретных пакетов, а не для всей системы.
Дополнительные сведения о каталоге , а также список всех файлов, которые там можно создавать, находятся на справочной странице Portage, см. man portage .
Изменение файлов Portage и размещения каталогов
Ранее упомянутые конфигурационные файлы нельзя хранить где угодно — Portage всегда ищет свои настроечные файлы в строго определенных местах. Однако Portage также использует множество каталогов для других целей: каталог для сборки, место для хранения исходных кодов, место для дерева Portage, и т.д.
Для этих целей существуют хорошо известные каталоги по умолчанию, положение которых можно изменить на свой вкус, внеся изменения в . Оставшаяся часть этой главы посвящена описанию того, какие специальные места Portage использует для своих целей, и как изменить их расположение в файловой системе.
Этот документ не претендует на статус справочника. Если вам необходим полный объем информации, пожалуйста, обратитесь к страницам справки по Portage и ( man portage и man make.conf ).
Хранение файлов
Дерево Portage
Дерево Portage размещается, по умолчанию, в . Это определяется значением переменной . Когда вы храните дерево Portage где-либо в другом месте (изменив эту переменную), не забывайте соответственно изменить символическую ссылку .
Если вы измените переменную , вам может потребоваться изменить и следующие переменные: , , , так как они не замечают изменений . Это связано с особенностями их обработки Portage.
Двоичные пакеты
Несмотря на то, что Portage по умолчанию не использует прекомпилированное программное обеспечение, для него предусмотрена очень мощная поддержка. Если вы укажете Portage работать с прекомпилированными пакетами, они будут разыскиваться в . Это расположение определяется переменной .
Исходные коды
Исходные коды приложений хранятся в по умолчанию. Это определяется переменной .
Файлы RPM
Несмотря на то, что Portage не может использовать RPM-файлы, есть возможность их создания командой (см. Использование ebuild). По умолчанию Portage хранит RPM файлы в каталоге , как определяется переменной .
База данных Portage
Portage хранит состояние вашей системы (какие пакеты установлены, какие файлы относятся к определенным пакетам и т. п.) в . Не изменяйте эти файлы вручную! Это может разрушить знание вашей системы Portage.
Кэш Portage
Кэш Portage (включая сведения о времени изменения, виртуальные пакеты, информацию дерева зависимостей и т. д.) хранится в . Это место действительно является кэшем: вы можете его очистить в любой момент, когда не запущены приложения, связанные с Portage.
Сборка программного обеспечения
Временные файлы Portage
По умолчанию Portage хранит временные файлы в . За это отвечает переменная .
Если вы измените переменную , вам может потребоваться изменить и переменную , так как она не замечает изменений . Это связано с особенностями ее обработки Portage.
Каталог сборки
Portage создает специфичные каталоги сборки для каждого пакета внутри . Это расположение задается переменной .
Размещение «живой файловой системы»
По умолчанию Portage устанавливает все файлы в текущую файловую систему (/), но это можно изменить, установив переменную окружения . Это может оказаться полезным при построении новых образов системы.
Ведение журнала
Журнал Ebuild
Portage может создавать отдельные файлы журнала для каждого файла ebuild, но только тогда, когда переменная указывает на место, доступное для записи для Portage (пользователя portage). По умолчанию эта переменная не установлена.
Files and directories
By default, Portage settings are stored in . If you open this file, you will see that all of them are variables. Each variable will be explained later.
As many directives are architecture-specific, Portage comes with default settings included in your profile. The symlink points to your profile. Portage can be configured via the files of your profile and those of all parent profiles. We will talk more about profiles and /etc/portage/make.profile later on.
You will also find the file, where cl-update stores the settings of the binary package repo, as well as , where the descriptions of the overlays enabled with layman are imported to.
Portage variables can also be used as environment variables, but we do not recommend it.
Profile-specific configuration
Do you remember the directory? In fact, this is not a directory, but a symbolic link to a profile, by default the one contained in . However, you can create your own profiles anywhere, provided you specify the links to them. The profile the link points to is your system’s profile.
A profile contains architecture-specific information for Portage, such as the list of packages in the system, the list of broken (or masked) packages, etc.
User-specific configuration
If you need to change Portage’s behavior regarding software installation, you will need to edit files in . We strongly recommend editing files from to reconfigure Portage. Please do not attempt doing it using environment variables.
The subdirectories available in are:
- stores files listing packages that Portage should never install;
- stores files listing the packages you want to be able to install, even if the Gentoo developers do not recommend it;
- , that stores the files listing packages available for installation, even though they are not recommended for your system or architecture (yet);
- , that stores the files listing package-specific USE values, instead of global ones.
For more information about the directory, as well as the files you can create there, see the Portage man page man portage .
Editing Portage files and modifying locations
The above-mentioned configuration files may not be stored anywhere else, as Portage always searches for its configuration files where they belong. Yet Portage also uses quite a few other directories for various purposes: compilation, source code storage, Portage tree storage, etc.
There are default directories that can be modified to your liking by editing . The rest of this chapter is about the dedicated locations Portage uses for its purposes, and how to modify them.
Note that this manual does not reproduce the official documentation. If you need full info, please refer to Portage and man pages ( man portage and man make.conf respectively).
File storage
Portage tree
By default, the Portage tree is stored in . This is defined by the value. If you store the Portage tree somewhere else (by editing this variable), remember to modify the symlink, accordingly.
If you edit , you may also need to edit the following variables: , , since they do not register any + modifications. It has to do with how Portage handles them.
Binary packages
Though Portage does not use precompiled packages by default, they are well supported. If you tell Portage to work with precompiled packages, it will look for them in . This location is defined by the variable.
Source code
By default, all source code is saved in . This location is defined by the variable.
RPM files
Even though Portage cannot use RPM files, it can still create them via the command (see Working with ebuild). By default, Portage stores RPM files in the directory, as defined by .
Portage database
Portage keeps track of the state of your system (packages installed, files relating to specific packages, etc.) in . Do not edit those files manually! It could disorient Portage completely.
Portage cache
The Portage cache (including last modification time, virtual packages, dependency data, etc.) is stored in . This location is indeed a cache: you can clear it at any time when Portage-related utilities are not running.
Software compilation
Portage temporary files
By default, Portage stores temporary files in . This behaviour is defined by the variable.
If you edit the value, you may have to modify accordingly, since it does not see modifications. This is due to how it is processed by Portage.
Compilation directory
Portage creates package-specific build directories in . It is defined by the value.
Locating the live filesystem
By default, Portage installs all files in the current file system (/), but this can be modified by editing the environment variable. It can be useful when creating a customized ISO.
Logging
Ebuild log
Portage can create ebuild-specific log files, but only if provides a location where Portage (user ‘portage’) is allowed to write to. This variable is not set by default.