Layman

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 17:16, 18 января 2019.
Layman
Написана на: Python и Bash (Bourne Again SHell)
Операционная система: Gentoo Linux и Gentoo/FreeBSD
Платформа: POSIX (Portable Operating System Interface for Unix)-совместимые/Python
Тип ПО: инструмент управления хранилищем ebuild-файлов
Лицензия: GNU GPL v2
Веб-сайт https://github.com/gentoo/layman

Layman - инструмент управления хранилищем ebuild-файлов, который облегчает управление и обновление дополнительных репозиториев. Этот инструмент используется для командной строки, с помощью которого можно выводить список, подписываться и отписываться, а также обновлять общедоступные ebuild-файлы репозиториев.

Обзор

С помощью app-portage / layman пользователи могут управлять своими репозиториями (оверлеями) ebuild простым, централизованным способом. Layman содержит множество доступных удаленных репозиториев, он также может выбрать один или несколько для конфигурации системы. После выбора пользователь может обновлять (аналогично emerge --sync), добавлять, удалять, отображать и информацию о наложениях.

Версии выше 2.1.0 улучшены с помощью системы синхронизации плагинов. С помощью layman легко подключать и обновлять оверлеи Gentoo - но можно и сломать собственную систему. В главном дереве портежей содержатся ебилды, за качество которых Gentoo отвечает, поскольку они все поддерживаются разработчиками проекта. Но большинство оверлеев, которые вы можете подключить с помощью layman, не дают таких гарантий, поэтому, используя их, вы подвергаете свою систему опасности. Всегда помните об этом, устанавливая сторонние ебилды.

Чтобы обеспечить безопасность системы, обязательно следует ознакомиться с ебилдом, прежде чем его устанавливать.

Установка

Установка флагов: app-portage/layman sync-plugin-portage git. USE-флаги sync-plugin-portage и git особенно важны в новых версиях layman.

Emerge

Далее устанавливается пакет Layman:

 user $ emerge --search layman 

Если версия Layman 2.3.0 и выше, то можно продолжать установку:

 root # emerge --ask app-portage/layman

В противном случае необходимо установить последнюю версию (в app-portage / layman):

root # emerge --ask =app-portage/layman-2.4.2 

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

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

repos.conf method (по умолчанию)

Данный метод использует новую систему плагинов Portage. Layman создаст свой файл конфигурации в /etc/portage/repos.conf/. Сконфигурируйте Layman для использования метода repos.conf в /etc/layman/layman.cfg. Новые настройки для layman, вероятно, будут уже установлены правильно:

 # Repository config types used by layman
# (repos.conf, make.conf)
conf_type : repos.conf 

make.conf method (старый метод)

Это более старый метод, но новые версии Layman по-прежнему поддерживают его. Настройте Layman для использования метода make.conf в /etc/layman/layman.cfg:

 # Repository config types used by layman
# (repos.conf, make.conf)
conf_type : make.conf 

Вставьте ссылку на Layman в /etc/portage/make.conf:

 root # echo "source /var/lib/layman/make.conf" >> /etc/portage/make.conf

Добавление исходной команды в /etc/portage/make.conf (выполняется в приведенной выше команде) гарантирует, что Portage по запросу проверит содержимое различных репозиториев, управляемых Layman, в / var / lib / layman / make .conf файл. По сути, он обновит переменную PORTDIR_OVERLAY с помощью каталогов, которые использует Layman. Если специальный каталог был ранее определен для PORTDIR_OVERLAY в /etc/portage/make.conf, убедитесь, что его значение не перезаписывается на значение, которое предоставляет Layman.

 source /var/lib/layman/make.conf
#for some local ebuilds to test, have to be after line for layman above!
PORTDIR_OVERLAY="/usr/local/portage/ ${PORTDIR_OVERLAY}"

Использование

Основные опции

Ниже перечислены доступные действия Layman. Загружает удаленный список оверлеев. Как правило, вам НЕ нужно явно указывать эту опцию: загрузка будет произведена автоматически при запуске действий sync, sync-all или list. Чтобы отказаться от автоматической загрузки, используйте опцию --nofetch:

 root# layman -f

Добавляет указанный оверлей из кэшированного удаленного списка к вашим локально установленным оверлеям. Чтобы добавить все оверлеи из списка, используйте параметр "ALL":

root# layman -o <url of repository xml file> -f -a <name>

Удаление репозитория из локального списка. Чтобы удалить все оверлеи, используйте параметр "ALL":

root# layman -d <name>

Обновляет указанный оверлей. Чтобы синхронизировать все оверлеи, используйте параметр "ALL":

root#  layman -s <name>

Обновляет все оверлеи:

root#  layman -S

Получить и отобразить список всех репозиториев, доступных через официальные ссылки: [Источник 1]

root#  layman -L

Монтирование репозиториев

Начиная с выпуска версии Layman 2.2.0, поддержка типов репозитория squashfs была отключена. Layman будет взаимодействовать с репозиторием squashfs, монтируя их в файловой системе только в режиме чтения. При первоначальной установке репозитория squashfs, он будет подключен только для чтения. Однако после перезагрузки репозиторий больше не будет подключен, и ebuild-файлы в этом репозитории не будут доступны системе.

Чтобы помочь пользователям в работе с этими подключаемыми репозиториями, была добавлена утилита под названием layman-mounter Чтобы найти все подключенные репозитории:

root#  layman-mounter -l

Чтобы найти все репозитории, которые могут быть смонтированы Layman:

root#  layman-mounter -L

Чтобы смонтировать репозитории:

root#  layman-mounter -m <name>

Чтобы размонтировать репозитории:

root#  layman-mounter -u <name>

Установка приоритетов репозитория

Поскольку каждому репозиторию ebuild назначается уникальный приоритет, layman предоставляет простой способ определения приоритетов для репозиториев, которыми он управляет. Для получения дополнительной информации о приоритетах хранилища см. Приоритеты хранилища ebuild.

Файл /var/lib/layman/installed.xml содержит некоторую информацию о репозиториях, среди которых есть атрибут priority в теге repo. Число там определяет только приоритет относительно других записей репозитория, значение по умолчанию - 50. Большие числа имеют приоритет над меньшими. Затем Layman анализирует этот файл и устанавливает порядок записей репозитория в переменной PORTDIR_OVERLAY, определенной в /var/lib/layman/make.conf. Поскольку файл /var/lib/layman/make.conf автоматически создается Layman на основе настроек в /var/lib/layman/installed.xml, настоятельно рекомендуется только /var/lib/layman/installed.xml используется для установки приоритетов.

Чтобы добавить личный репозиторий и убедиться, что репозиторий имеет более высокий приоритет, добавьте его до источника /var/lib/layman/make.conf.

 PORTDIR_OVERLAY="
/home/jdoe/gamerlay
/var/lib/layman/lisp
/var/lib/layman/Spring
${PORTDIR_OVERLAY}"
 #the variable defined in /etc/portage/make.conf is now expanded
 #when /var/lib/layman/make.conf is sourced in /etc/portage/make.conf

Другой вариант. Определяем PORTDIR_OVERLAY в /etc/portage/make.conf после получения /var/lib/layman/make.conf.

 source /var/lib/layman/make.conf   
#this sources the PORTDIR_OVERLAY variable defined by layman.
#however, the variable expanded by layman was empty
PORTDIR_OVERLAY="/home/user/overlay ${PORTDIR} ${PORTDIR_OVERLAY}"
#now the layman defined repositories take precedence,
#but the user defined repository still has the lowest priority
[Источник 2]

Добавление пользовательских репозиториев

Чтобы добавить репозитории, которых нет в списке при запуске layman -L, найдите их XML-файлы и добавьте с помощью параметра -o под именем, указанным в параметре -a. То есть, Просто создайте список оверлеев в формате, описанном выше, и запустите layman с ключом -o. Перед локальным URL файла следует поставить file://.

Пример: repositories.xml в brother-overlay.

 root# layman -o https://raw.github.com/stefan-langenmaier/brother-overlay/master/repositories.xml -f -a brother-overlay

Использование утилиты layman-overlay-maker

С добавлением Layman 2.2.0 была добавлена новая утилита для помощи пользователям в добавлении репозиториев, которая называется layman-overlay-maker. С помощью нее можно добавлять файлы формате XML, и сохранять их в / etc / layman / overlays или в файле конфигурации layman для overlay_defs. Layman-overlay-maker может стать полезным инструментом для помощи пользователям, которые хотели бы представить патч, чтобы их файлы были добавлены в официальный repositories.xml. Чтобы использовать утилиту, просто вызовите ее по имени:

 root # layman-overlay-maker

Когда закончите, создайте заново repos.conf, используя layman-updater:

 root # layman-updater -R

Теперь вы можете добавить собственный репозиторий с помощью:

root # layman -a <name>

Списки оверлеев

Layman позволяет загрузить любой оверлей, не изменяя конфигурационных файлов. Для этого выполняемому сценарию необходим внешний список возможных источников данных оверлеев. По адресу www.gentoo.org/proj/en/overlays/repositories.xml доступен централизованный список, но ничто не мешает использовать или выложить для загрузки собственный список оверлеев. Каталог для загрузки удаленных списков может быть также изменен с помощью опции --overlays при запуске layman. [Источник 3]

Локальный кэш

Layman сохраняет локальную копию загруженного удаленного списка. По умолчанию она помещается в файл /var/lib/layman/cache.xml. Этот файл существует только в одном экземпляре и перезаписывается каждый раз, когда вы запускаете Layman.

Типы оверлеев

В настоящее время layman поддерживает оверлеи, экспортируемые через rsync, subversion, bzr, darcs, git, mercurial или распространяемые в виде tar-пакетов.

Источники

  1. Layman // gentoo. [2001-2018]. Дата обновления: 05.01.2019. URL: https://wiki.gentoo.org/wiki/Layman (дата обращения: 17.01.2019)
  2. Using and creating Gentoo Linux repositories using Layman // astrofloyd. [2019-2019]. Дата обновления: 16.12.2015.URL: https://astrofloyd.wordpress.com/2012/12/16/using-and-creating-gentoo-linux-repositories-using-layman/ (дата обращения: 17.01.2019)
  3. Layman // Calculate-linux.or. [2005-2019]. Дата обновления: 05.06.2010. URL: http:// calculate-linux.org/main/ru/layman (дата обращения: 17.01.2019)