Manjaro-tools
Введение
manjaro-tools состоит из множества различных инструментов, предназначенных для разработчиков Manjaro. Он разделен на 3 различных пакета:
- manjaro-tools-base содержит основные инструменты, различные инструменты chroot и buildset
- manjaro-tools-pkg содержит небольшие вспомогательные инструменты, buildpkg и buildtree
- manjaro-tools-iso содержит небольшие вспомогательные инструменты и buildiso.
Все эти пакеты manjaro-tools заменяют devtools и manjaroiso.
Подробное руководство пользователя доступно на gitlab.
Конфигурация
Настроить manjaro-tools можно, скопировав папку /etc/manjaro-tools к себе в домашний каталог ~/.config, а затем отредактировав файл ~/.config/manjaro-tools/manjaro-tools.conf
.
Файлы
Это новые имена для переименованных скриптов.
- mkmanjaroroot --> mkchroot
- manjarobuild --> buildpkg
- mkset --> buildset
- pacstrap --> basestrap
- genfstab --> fstabgen
- arch-chroot --> manjaro-chroot
buildset
buildset используется для создания списков сборки. Списки сборки могут быть определены в /etc/manjaro-tools/sets/<buildlistname>.set
.
Справка выглядит следующим образом:
$ buildset -h
Usage: buildset [options] -c <name> Create set -r <name> Remove set -s <name> Show set -i Iso mode -q Query sets -h Эта справка
buildpkg
buildpkg используется для сборки определенного пакета или набора. В следующей главе будут описаны все функции buildpkg.
Если вам нужен подробный пример использования buildpkg для сборки пакетов для локального репозитория, пожалуйста, посмотрите здесь.
Справка выглядит следующим образом:
$ buildpkg -h
Usage: buildpkg [options] -a <arch> Архитектура [по-умолчанию: x86_64] -b <branch> Ветка [по-умолчанию: stable] -c Пересоздание chroot -h Эта справка -i <pkg> Установить пакет в рабочую копию chroot -n Установка и запуск проверки namcap -p <pkg> Создание списка или пакета [по-умолчанию: default] -q Настройки запросов и предварительная сборка -r <dir> Каталог Chroots [по-умолчанию: /var/lib/manjaro-tools/buildpkg] -s Подписать пакеты -w Очистка кэша и источников
Чтобы собрать один пакет, перейдите в каталог, находящийся на один выше каталога сборки пакета (который содержит PKGBUILD), и запустите его как:
Для сборки набора можно использовать имя набора. Текущие наборы можно запросить с помощью опции -q
.
buildtree
buildtree - это небольшой инструмент для синхронизации git-репозиториев пакетов arch abs и manjaro.
Аргументы таковы:
$ buildtree -h
Usage: buildtree [options] -s Синхронизировать дерево manjaro -a Синхронизировать дерево arch -c Очистка дерева пакетов -q Настройки запросовs -h Эта справка[/code]
Для синхронизации деревьев Arch и Manjaro:
buildiso
buildiso используется для создания определенного ISO или набора ISO. Все функции buildiso будут описаны в следующих главах.
Если вам нужно подробное руководство по использованию buildiso для создания собственных ISO Manjaro с нуля, пожалуйста, посмотрите здесь.
Обзор
Справка для x86_64 выглядит следующим образом :
$ buildiso -h
Usage: buildiso [options] -p <profile> Buildset or profile [default: default] -a <arch> Архитектура [default: x86_64] -b <branch> Ветка [default: stable] -r <dir> Каталог Chroots [default: /var/lib/manjaro-tools/buildiso] -c Disable clean work dir -x Clean xorg cache -l Clean lng cache -i Build images only -s Generate iso only Requires pre built images (-i) -v Verbose output, show profies detail (-q) -q Query settings and pretend build -h This help
Построение запросов
Для запроса сборки ISO (опция -q), например, профиля xfce-openbox-openrc, можно использовать следующую команду:
$ buildiso -p xfce -qv
==> manjaro-tools -> version: 0.15.9 -> config: ~/.config/manjaro-tools/manjaro-tools.conf ==> PROFILE: -> build_lists: community|default|manjaro|sonar|v17-release -> build_list_iso: xfce -> is_build_list: false ==> OPTIONS: -> arch: x86_64 -> branch: unstable -> kernel: linux419 ==> ARGS: -> clean_first: true -> images_only: false -> iso_only: false -> persist: false ==> DIST SETTINGS: -> dist_name: Manjaro -> dist_release: 18.0 -> dist_codename: Illyria ==> ISO INFO: -> iso_label: MJRO180 -> iso_compression: xz ==> BUILD QUEUE: --> Profile: [xfce] -> iso_file: manjaro-xfce-18.0-unstable-minimal-x86_64.iso -> autologin: true -> nonfree_mhwd: true -> multilib: true -> extra: false -> netinstall: false -> chrootcfg: false -> geoip: true -> efi_boot_loader: grub -> hostname: manjaro -> username: manjaro -> password: manjaro -> login_shell: /bin/bash -> addgroups: lp,network,power,sys,wheel -> enable_systemd: avahi-daemon bluetooth cronie ModemManager NetworkManager org.cups.cupsd tlp tlp-sleep ufw lightdm -> enable_systemd_live: manjaro-live mhwd-live pacman-init mirrors-live -> disable_systemd: pacman-init
Сборка
Чтобы действительно собрать ISO:
Сборка с предварительно загруженными пакетами Xorg
Для сборки ISO с сохранением ранее загруженного кэша пакетов Xorg можно использовать опцию -x:
Сборка с небольшим изменением конфигурации
Если что-то изменилось только в конфиге, например, настройки, вместо того, чтобы собирать весь ISO с нуля, можно изменить каталог сборки ISO и пересобрать ISO. Например, если в конфигурации изменен файл xfce-overlay/etc/skel/.conkyrc - можно перейти в рабочий каталог, изменить указанный файл и пересобрать ISO, используя опцию -cs.
Рабочий каталог можно найти с помощью опции -h:
$ buildiso -h
Usage: buildiso [options] -p <profile> Buildset or profile [default: default] -a <arch> Arch [default: x86_64] -b <branch> Branch [default: unstable] -r <dir> Chroots directory [default: '''/var/lib/manjaro-tools/buildiso'''] -t <dir> Target directory [default: /home/fh/Data/build/iso] -k <name> Kernel to use [default: linux419] -g <key> The gpg key for sfs signing [default: ] -m Set SquashFS image mode to persistence -c Disable clean work dir -f Build full ISO (extra=true) -d <comp> Compression used for build ISO: xz, gzip, lzma, lzo, lz4 [default: xz] -x Build images only -z Generate iso only Requires pre built images (-x) -v Verbose output to log file, show profile detail (-q) -q Query settings and pretend build -h This help
-r <dir> сменить каталог для chroot [по-умолчанию: /var/lib/manjaro-tools/buildiso]
(рабочий каталог выделен жирным шрифтом)
Нужный файл можно редактировать от имени root, например:
Однако здесь есть одна загвоздка: файл, который нужно отредактировать, может присутствовать в нескольких образах, например, в rootfs, livefs, desktopfs), и его нужно будет редактировать в соответствующих каталогах образов.
Затем ISO может быть пересобран как:
Альтернатива
Сначала можно создать только chroot для ISO, используя опцию -i
, затем внести изменения и, наконец, собрать ISO с помощью опции -sc
.
Например:
$ buildiso -p xfce -b stable -x
==> Start building [xfce] ==> Cleaning up ... -> Deleting chroot [rootfs] (x86_64) ... -> Deleting isoroot [iso] ... [..]
After this the changes in the work directory can be made, and the ISO can be generated with: