You are here: Home » Справка и подсказки » Автоматическая установка и обновление пакетов AUR

Автоматическая установка и обновление пакетов AUR

Если вы не знаете, что такое AUR, то смотрите статью «Как установить программу из Arch User Repository (AUR) – пользовательского репозитория Arch». Если коротко, то AUR это большой репозиторий программ, которые (ещё) не добавлены в официальные репозитории.

Если вы перешли по предыдущей ссылке, то вы уже знаете, что для поиска пакетов в AUR нужно перейти на сайт, а для установки нужно выполнить несколько команд. Это не так удобно, как установка из стандартных репозиториев. Эта статья посвящена программе pikaur, которая делает поиск, установку и обновление программ из AUR такими же простыми, как и из стандартных репозиториев.

Программу pikaur можно установить и запускать в командной строке по аналогии с pacman, а также можно использовать без установки — как это сделать я покажу ниже.

Что такое и для чего нужна pikaur

pikaur может выполнять все функции pacman и поддерживает опции стандартного менеджера пакетов. Дополнительно pikaur может:

  • проверять обновления установленных из AUR пакетов даже если эти пакеты были установлены вручную, без pikaur!
  • автоматическая установка зависимостей не только из стандартных репозиториев, но и из AUR!
  • обновлять все или выборочно пакеты из AUR
  • искать и устанавливать пакеты из AUR
  • показывать и устанавливать новые зависимости для пакетов AUR
  • показывать пакеты, которые не найдены ни в стандартных репозиториях, ни в AUR
  • просматривать подробности о пакетах из AUR
  • автодополнение имён пакетов из AUR
  • показывать для пакетов из AUR diff (различие с предыдущей версией), файлы PKGBUILD и .install
  • игнорировать указанные пакеты

Как использовать pikaur без установки

Установите зависимость:

sudo pacman -S pyalpm

Скачайте исходный код программы:

git clone https://github.com/actionless/pikaur.git
cd pikaur

Выполните поиск пакета из AUR

python3 ./pikaur.py -Ss ПАКЕТ_ИЗ_AUR

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

python3 ./pikaur.py -S ПАКЕТ_ИЗ_AUR

Выполните полное обновление системных пакетов и пакетов AUR:

python3 ./pikaur.py -Syu

Как установить pikaur

Если вам понравилась pikaur, то вы можете установить эту программу:

sudo pacman -S --needed base-devel git
git clone https://aur.archlinux.org/pikaur.git
cd pikaur
makepkg -fsri

Дополнительные зависимости для 'pikaur-git' (установите их по желанию):

  • asp: для поддержки ABS в операции -G/--getpkgbuild operation
  • python-pysocks: для поддержки socks5 прокси

Примеры использования pikaur

Поиск пакета AUR:

pikaur -Ss ПАКЕТ_ИЗ_AUR

Например, я хочу найти viber:

pikaur -Ss viber

Установка и обновление пакета AUR:

pikaur -S ПАКЕТ_ИЗ_AUR

Например, я хочу установить dropbox:

pikaur -S dropbox

Обновление всех пакетов AUR и системных программ:

pikaur -Syu

Как очистить кэш pikaur

Как и для pacman, вы можете периодически очищать кэш pikaur, это делается командой:

pikaur -Scc

Настройка pikaur

Настройка выполняется в файле ~/.config/pikaur.conf

Рассмотрим только некоторые опции из раздела [review], которые могут быть самыми раздражающими. При каждой установки или обновлении пакета из AUR программа предлагается отредактировать файл PKGBUILD:

Хотите отредактировать PKGBUILD из пакета ...? [Y/n]

В целом это хорошая практика изучать содержимое рецепта по установке программы. Но если вы доверяете сообществу AUR и/или не понимаете содержимое PKGBUILD, то такие предложения кажутся слишком назойливыми, особенно если много пакетов.

При запуске pikaur, вы можете указать флаг --noedit, и тогда не будут выводиться предложения отредактировать PKGBUILD.

Либо вы можете изменить настройки в конфигурационном файле:

  • DontEditByDefault (по умолчанию: no)

Когда предлагается отредактировать этот файл, то значением по умолчанию является «да». Чтобы вам не нужно было каждый раз вводить букву «n», установите значение на (yes):

donteditbydefault = yes

Либо вы можете полностью отключить запросы на редактирование файлов PKGBUILD, тогда найдите директиву:

noedit = no

и замените её на:

noedit = yes

Для того, чтобы вам не предлагалось diff (вывести список различий), то используйте флаг --nodiff, либо в конфигурационном файле найдите директиву:

nodiff = no

и замените её на?

nodiff = yes

Почему pikaur игнорирует конфигурационный файл

Конфигурационный файл ищется по относительному пути. К примеру, если вы отредактировали конфигурационный файл от имени текущего пользователя в папке ~/.config/pikaur.conf, а запускаете pikaur от пользователя root:

sudo pikaur -Syu

То на самом деле будет использоваться конфигурационный файл /root/.config/pikaur.conf.

Поэтому, чтобы задействовать отредактированный конфигурационный файл, запускайте pikaur от обычного пользователя, тем более, что для работы с пакетами AUR права суперпользователя не требуются:

pikaur -Syu

Альтернативы pikaur

Альтернативой pikaur является программа pamac, которая является графическим менеджером пакетов для Manjaro Linux. Эта программа также поддерживает работу с AUR.

Заключение

Здесь рассмотрены далеко не все возможности pikaur. Вы можете использовать в этой программой те же опции, что имеет pacman:

У программы имеются опции, которые отсутствуют даже у pacman. Также возможно выполнить тонкую настройку в конфигурационном файле pikaur.

Сайт программы с исходным кодом и дополнительной информацией: https://github.com/actionless/pikaur

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *