pikaur — современный помощник AUR. Linux статьи
Написать статью
Войдите, чтобы писать статьи

pikaur — современный помощник AUR

18

pikaur AUR helper

Материал написан пользователем сайта.

С тех пор, как открыл для себя 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
Справочная информация
Лайков: +10
войдите, чтобы ставить лайки
18
  • Опубликовано: 17.08.2022
  • Minor748

Комментарии

crud
17.08.2022
15:32
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Побывал его, в итоге вернулся к yay, pikaur при очистке кэша при неудачной сборке, затерал все собранные пакеты (которые хранятся для отката в случае чего). Еще что-то меня в нём взбесило, только уже не вспомню.
Vedun
17.08.2022
19:18
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийРодительский комментарий
+1
войдите, чтобы ставить лайки
Для отката есть же пакет downgrade и тогда не обязательно что то хранить локально.

Он есть в АУРе и уже собранный, также, в китайской репе

UPD: ах, тут видимо про собранные речь... извиняюсь, тупанул )
Андрей
17.08.2022
17:35
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Пользуюсь yay года 3, доволен.
Vedun
17.08.2022
19:11
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Спасибо за обзор.
Погоняю его, посмотрю.
Я использую Yay и Paru.

Насчёт установки - я не стал его собирать из AUR, а установил готовый из китайской репы ( archlinuxcn.org )
igorborisov
18.08.2022
12:33
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийРодительский комментарий
0
войдите, чтобы ставить лайки
В китайских репах собранное ядро Xanmod есть
x230
Активный пользователь
Активный
17.08.2022
21:27
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Ух ты, как интересно! Посмотрю на днях как-нить.
Спасибо за обзор проги, - весьма полезное чтиво!
Вот бы сделать компилляцию статьи, да закинуть в "Программы" или на Форум...
Minor748
Активный пользователь
Активный
17.08.2022
21:28
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийРодительский комментарий
0
войдите, чтобы ставить лайки
Твой не давний материал побудил к изучению.
bezobrazznick
18.08.2022
20:17
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
..."установить у меня не получилось ни через pamac, ни через pacman"... У мню pamac чесал репу секунд пятнадцать, без возражений (что странно) установил. В поиске вместе с pikaur находит пакет с названием "aptpik" Кто знает, что за зверь такой, и при чём тут apt?...
Minor748
Активный пользователь
Активный
18.08.2022
20:33
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийРодительский комментарий
0
войдите, чтобы ставить лайки
Как пишут в описании, синтаксис apt дебиановского
bezobrazznick
18.08.2022
21:04
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийРодительский комментарий
0
войдите, чтобы ставить лайки
А нахрена он в AUR? Это Deb пакеты в Arch ставить? Не вдупляю. Можно ссылку на описание?!..
Minor748
Активный пользователь
Активный
18.08.2022
21:19
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийРодительский комментарий
0
войдите, чтобы ставить лайки
Ссылки же в pamac есть. Там последнее изменение 2 года назад.

https://aur.archlinux.org/packages/aptpik
https://github.com/daemonspudguy/aptpik
bezobrazznick
18.08.2022
21:41
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийРодительский комментарий
+1
войдите, чтобы ставить лайки
Благодарю!.. Спасибо за помощь!... Буду изучать...
Yuriy73n
Активный пользователь
Активный
19.08.2022
10:07
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Я миллион раз устанавливал Manjaro, пользовался Pamac - Никогда и Никаких проблем не наблюдал! Спрашивается - зачем менять "шило на мыло", когда все хорошо работает? Да, если только заняться нечем и, в качестве собственного развития! Да и то, в таком случае, лучше классиков почитать!
Vedun
19.08.2022
11:18
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийРодительский комментарий
0
войдите, чтобы ставить лайки
Ломался он, и глючил иногда после ненужных обновлений.
Короче неприятное ощущение от него сложилось и я ушёл с него на классику в то время - стабильный как столб - https://git.cromer.cl/cromer/pamac-classic

Но это было года 2 назад, сейчас ГУИ я не использую, кроме иногда pkgbrowser для посмотреть визуально базы
Евгений
20.08.2022
03:15
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийРодительский комментарий
+1
войдите, чтобы ставить лайки
Если вам приходилось миллион раз устанавливать Manjaro, пользоваться Pamac - это о многом говорит... нормальную систему ставят один раз
Hargard
Активный пользователь
Активный
20.08.2022
07:23
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийРодительский комментарий
+1
войдите, чтобы ставить лайки
Вообще-то нет.
Нормальную систему ставят постоянно. Родственникам, друзьям и знакомым.
Vedun
20.08.2022
13:27
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийРодительский комментарий
0
войдите, чтобы ставить лайки
Вообще то нет.
Нормальную систему ставят себе, а родственникам, друзьям и знакомым ставят Винду
Yuriy73n
Активный пользователь
Активный
20.08.2022
21:36
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийРодительский комментарий
0
войдите, чтобы ставить лайки
Какая глупость! Объясняю для Особо Одаренных - я устанавливал "миллион раз" не только Manjaro, но и, практически все Топовые дистрибутивы! Это Моя работа и мое хобби! И о чем Вам еще что-то там говорит? Мне говорит - об уровне вашего интеллекта )))

Написать комментарий

Ваше имя:
Текст комментария:
  • Уважать других.
  • Не ругаться.
  • Без оскорблений.
  • Без грубости.
  • Не переходить на личности.
  • Писать на русском языке.
  • Без политики.
  • Без флуда.
Правила