Стандартные каталоги Gentoo

Стандартные каталоги Gentoo.

Содержание

1 Конфигурация portage

1.1 Основные файлы настройки

  • Portage поставляется с настройками по умолчанию, которые хранятся в /usr/share/portage/config/make.globals.
  • Все настройки Portage обрабатываются с помощью переменных.
  • У portage есть конфигурационные файлы по умолчанию, которые является частью системного профиля.
  • Системный профиль задаётся с помощью символьной ссылки /etc/portage/make.profile.
  • Для замены конфигурационных переменных следует использовать файл /etc/portage/make.conf.
  • Пример конфигурационного файла: /usr/share/portage/config/make.conf.example.

1.2 Информация из определённого профиля

  • Каталог /etc/portage/make.profile является символьной ссылкой на один из профилей.
  • По умолчанию это /var/db/repos/gentoo/profiles/.
  • Профиль, на который указывает символьная ссылка, и есть системный профиль.
  • Профиль содержит информацию о конкретной архитектуре и настройках программного обеспечения.

1.3 Пользовательская конфигурация

  • Для пользовательских настроек следует использовать файлы в /etc/portage/.
  • Пользователи могут создать в /etc/portage/ следующие файлы:
    • package.mask: список пакетов, которые Portage никогда не будет устанавливать;
    • package.unmask: список пакетов, которые Portage будет устанавливать, даже если они заблокированы на системном уровне;
    • package.accept_keywords: список пакетов, которые Portage будет устанавливать, даже если они не подходят для используемой системы или архитектуры;
    • package.use список пакетов, для которых необходимо использовать специфичные USE-флаги, а не брать системные USE-флаги.
  • Они могут быть не файлами, а каталогами (содержимое разбито по отдельным файлам).

2 Каталоги системы portage

2.1 Изменение расположения каталогов

  • На основании обсуждения #662982 были внесены изменения в расположение каталогов portage.

    Таблица 1: Смена расположения каталогов системы portage
    НазначениеСтарый путьНовый путь
    Дерево portage/usr/portage/var/db/repos/gentoo
    Исходный код пакетов/usr/portage/distfiles/var/cache/distfiles
    Бинарные пакеты/usr/portage/packages/var/cache/binpkgs

2.1.1 Миграция каталогов

  • Удалите (или закомментируйте) любые записи PORTDIR, DISTDIR, PKGDIR в /etc/portage/make.conf.
  • Значения переменных окружения можно посмотреть командой:
    1emerge --info -v
    2emerge --info -v | grep PORTDIR
    3emerge --info -v | grep DISTDIR
    4emerge --info -v | grep PKGDIR
    
  • Если /var/db/repos/ не существует, создайте его.
  • Переместите /usr/portage/distfiles в /var/cache/distfiles.
  • Переместите /usr/portage/packages в /var/cache/binpkgs.
  • Переместите /usr/portage в /var/db/repos/gentoo.
  • Измените переменную location в файле /etc/portage/repos.conf/gentoo.conf (или аналогичном) на /var/db/repos/gentoo.
  • Переустановите portage:
    1DISTDIR=/var/cache/distfiles PKGDIR=/var/cache/binpkgs emerge --oneshot portage
    
  • Если вы запускаете локальное зеркало rsync, отредактируйте запись пути в /etc/rsyncd.conf так, чтобы она указывала на /var/db/repos/gentoo.
  • Если вы делитесь своими дистрибутивами, не забудьте обновить любую символическую ссылку или файл конфигурации, которые вам нужны для этого.

2.2 Репозитории ebuild-файлов

  • Репозитории ebuild-файлов по умолчанию находится в /var/db/repos/<reponame>.

2.3 Gentoo репозиторий ebuild-файлов

  • Gentoo репозиторий ebuild-файлов по умолчанию находится в /var/db/repos/gentoo.
  • Месторасположение определяется файлом repos.conf, пример которого можно найти в /usr/share/portage/config/repos.conf.
  • Чтобы изменить значения по умолчанию, скопируйте этот файл в /etc/portage/repos.conf/gentoo.conf и измените location.
  • Не забудьте сменить символьную ссылку на /etc/portage/make.profile, если хотите хранить (меняя переменную) Gentoo репозиторий ebuild-файлов в другом месте.
  • После изменения настройки location в /etc/portage/repos.conf/gentoo.conf рекомендуется изменить следующие переменные /etc/portage/make.conf, так как они не заметят изменений в location: PKGDIR, DISTDIR, RPMDIR.

2.4 Двоичные пакеты

  • Бинарные пакеты находятся в каталоге /var/cache/binpkgs.
  • Этот каталог определяется переменной PKGDIR.

2.5 Исходный код

  • По умолчанию исходный код для приложений хранится в каталоге /var/cache/distfiles.
  • Этот каталог определяется переменной DISTDIR.

2.6 База состояния Portage

  • База состояния системы (какие пакеты установлены, какие файлы какому пакету принадлежат и т.д.) находится в каталоге /var/db/pkg.

2.7 Кеш Portage

  • Кэш portage хранится в /var/cache/edb.
  • Можно отчистить это каталог, если на данный момент не запущено никаких приложений Portage.

2.8 Временные файлы Portage

  • Временные файлы Portage по умолчанию хранятся в /var/tmp/.
  • Этот каталог определяется с помощью переменной PORTAGE_TMPDIR.

2.9 Каталог компиляции

  • Portage создаёт специальные каталоги в /var/tmp/portage/ для всех компилируемых пакетов.
  • Этот каталог определяется переменной PORTAGE_TMPDIR.

Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие