С тех пор, как открыл для себя yay, стараюсь его установить в свежую ОС и использовать в дальнейшем. По сравнению со стандартным pacman, yay имеет преимущества, уже привык к нему. Но в комментариях не раз встречал pikaur, либо кто-то прямо советовал перейти на него, мол, сейчас он актуальнее, чем yay. Не хотелось этого делать, пока не изучу его в теории. Так в чем же преимущества ?..
Во-первых, имеет информативное оформление
Во-вторых, при нажатии v показывает информацию по устанавливаемым пакетам
В-третьих, pikaur предлагает повторение неудачно выполненной операции
Синтаксис схож с аналогами. Данный помощник установить у меня не получилось ни через pamac, ни через pacman, ни через yay. Ставил клонированием репозитория и сборкой на месте. Страница в AUR, страница на giters.com
Расположение файлов
~/.cache/pikaur/
├── build/ # build directory (removed after successfull build)
├── pkg/ # built packages directory
~/.config/pikaur.conf # config file
~/.local/share/pikaur/
└── aur_repos/ # keep aur repos there; show diff when updating
└── last_installed.txt # aur repo hash of last successfully installed package
Настройка
~/.config/pikaur.conf
[sync]
AlwaysShowPkgOrigin (по умолчанию: нет)
При установке новых пакетов указывать имя репозитория, даже если они взяты из официальных репозиториев Arch Linux.
UpgradeSorting (по умолчанию: versiondiff)
При обновлении пакетов сортируйте их по версии, имени пакета или репозиторию.
[build]
KeepBuildDir (по умолчанию: нет)
Не удалять каталог ~/.cache/pikaur/build/${PACKAGE_NAME} между сборками. Будет изменён флагом -k/--keepbuild.
SkipFailedBuild (по умолчанию: нет)
Всегда пропускать сборку в случае её сбоя и не показывать запрос на восстановление.
DontEditByDefault (по умолчанию: нет)
При запросе на редактирование PKGBUILD и файлов установки всегда по умолчанию принимается значение "нет".
NoEdit (по умолчанию: нет)
Не предлагать редактировать PKGBUILD и устанавливать файлы. Будет изменён флагами --noedit и --edit.
NoDiff (по умолчанию: нет)
Не запрашивать отображение различий в файлах сборки. Будет переопределен флагом--nodiff
GitDiffArgs (по умолчанию: --ignore-space-change, --ignore-all-space)
Флаги, которые необходимо передать команде git diff при просмотре файлов сборки. Должны быть разделены запятыми (,)
AlwaysUseDynamicUsers (по умолчанию: нет)
Всегда изолируйте сборку, используя динамических пользователей systemd. Будет переопределен флагом --dynamic-users.
[colors]
Цвета Терминала от 0 до 15:
Версия (по умолчанию: 10)
VersionDiffOld (по умолчанию: 11)
VersionDiffNew (по умолчанию: 9)
[ui]
RequireEnterConfirm (по умолчанию: да)
Требовать нажатия клавиши ввода при ответе на вопросы.
DiffPager (по умолчанию: автоматически)
Где использовать меньший размер страницы при просмотре различий в пакетах AUR. Варианты: всегда, автоматически или никогда.
PrintCommands (по умолчанию: нет)
Вывести каждую команду, которую в данный момент выполняет pikaur.
[misc]
SudoLoopInterval (по умолчанию: 59)
Интервал в секундах, в течение которого команда sudo будет запускаться в фоновом режиме, чтобы не запрашивать пароль sudo более одного раза (-1, чтобы вообще отключить цикл sudo).
PacmanPath (по умолчанию: pacman)
Путь к выполняемому файлу pacman.
FAQ
Q Как обновить сразу все пакеты dev (-git) ?
pikaur -Sua --devel --needed
(опция --needed гарантирует, что та же версия пакета не будет пересобрана снова, а -a/--aur гарантирует, что только пакеты AUR будут обновлены)
Q Как переопределить исходный каталог по умолчанию, каталог сборки или место назначения встроенного пакета ?
Установите SRCDEST, BUILDDIR или PKGDEST соответственно в makepkg.conf. Для получения дополнительной информации см. документацию makepkg.
Q Как очистить старые или удаленные пакеты AUR в ~/.cache/pikaur/pkg ?
Этого можно добиться с помощью pacman-hook (paccache-clear.hook). Для официальных пакетов и пакетов AUR сохраняются последние 3 пакета, если пакет все еще установлен, и один пакет сохраняется, если пакет удален.
Exec = /usr/bin/env bash -c "/usr/bin/paccache -vrk3;
/usr/bin/paccache -vruk1;
/usr/bin/paccache --cachedir PATH/TO/.cache/pikaur/pkg/ -vrk3;
/usr/bin/paccache --cachedir PATH/TO/.cache/pikaur/pkg/ -vruk1"
Измените значения, и все готово (вся команда в одну строчку).
Q Как восстановить оригинальный PKGBUILD после редактирования ?
Перейдите в каталог пакета
cd ~/.local/share/pikaur/aur_repos/$ИМЯ_ПАКЕТА
Просмотрите текущие изменения файла PKGBUILD с помощью git diff, а затем сбросьте их с помощью git checkout -- '*'.
Q Как увидеть список обновлений без синхронизации базы данных ? (например, инструмент «checkupdates» от pacman)
На практике используйте инструмент checkupdates для проверки обновлений репозиториев и используйте pikaur только для AUR (переключатель -a/--aur):
checkupdates && pikaur -Qua 2>/dev/null
Q Pikaur работает медленно при запуске от имени пользователя root (или через sudo)
Если вы обнаружите, что инициализация команды занимает много времени, обязательно периодически очищайте кэш: pikaur -Scc. Корневой pikaur использует динамических пользователей SystemD, чтобы изолировать процесс сборки от корня, и требуется некоторое время для смены владельца кэша сборки на нового временного пользователя.
Q Как мигрировать с Yay?
Это приведет к переносу кэша установленных пакетов AUR, поэтому вы все равно сможете увидеть различия Git для следующего обновления каждого пакета:
mv ~/.cache/yay/* ~/.local/share/pikaur/aur_repos/
find ~/.local/share/pikaur/aur_repos -mindepth 1 -maxdepth 1 -type d |
xargs -r -I '{}' -- sh -c 'cd "{}" && git rev-parse HEAD > last_installed.txt'
Q Как понизить версию пакета?
Это покажет список комментариев, чтобы выбрать один из них для понижения версии
pikaur -G <package>
cd <package>
git log # choose <commit> from the list
git checkout <commit>
pikaur -Rns <package> # Uninstal current version
pikaur -P # Uninstal current version
makepkg -si # If previous command failed to install
cd .. && rm -rf <package> # Remove the temp directory
Комментарии
15:32
19:18
Он есть в АУРе и уже собранный, также, в китайской репе
UPD: ах, тут видимо про собранные речь... извиняюсь, тупанул )
17:35
19:11
Погоняю его, посмотрю.
Я использую Yay и Paru.
Насчёт установки - я не стал его собирать из AUR, а установил готовый из китайской репы ( archlinuxcn.org )
12:33
13:17
21:27
Спасибо за обзор проги, - весьма полезное чтиво!
Вот бы сделать компилляцию статьи, да закинуть в "Программы" или на Форум...
21:28
20:17
20:33
21:04
21:19
https://aur.archlinux.org/packages/aptpik
https://github.com/daemonspudguy/aptpik
21:41
10:07
11:18
Короче неприятное ощущение от него сложилось и я ушёл с него на классику в то время - стабильный как столб - https://git.cromer.cl/cromer/pamac-classic
Но это было года 2 назад, сейчас ГУИ я не использую, кроме иногда pkgbrowser для посмотреть визуально базы
03:15
07:23
Нормальную систему ставят постоянно. Родственникам, друзьям и знакомым.
13:27
Нормальную систему ставят себе, а родственникам, друзьям и знакомым ставят Винду
21:36
12:20