Hack it!

AUR Helper「yay」の紹介

AUR Helperのpacaurが2017年12月からunmaintainedになった1。 pacman 5.1のリリースから動作に問題が発生するため、現在pacaurを使っているユーザーは別のAUR Helperに乗り換える必要がある。 pacaur以外のAUR Helperを試していたところ、yayが使いやすかったため、yayについて紹介する。

概要

yayはYet another Yogurtの略でGo製のAUR Helperである。 yaourtとapacmanを参考に開発された。

yay

yayの特徴としては以下が挙げられる。

  • 依存するパッケージがほぼない

    • AUR上のyay-binを利用する場合、依存パッケージはsudoだけ
  • pacmanのオペレーションやオプションの形式2をそのまま提供する

    • yay向けのオペレーションもあるが、pacmanのオペレーションもそのまま利用可能
  • yaourtに似たインストール方法

    • yaourtのようにパッケージを検索し、番号で指定してインストールする仕組みがある
  • ユーザーの入力を最小限に抑える

    • PKGBUILDの編集の確認プロンプトを最初に一括で表示
  • シェルのタブ補完はbash、zsh、fishに対応

インストール方法

以下のコマンドでインストールできる。

$ curl -L -o '/tmp/#1' \
  https://aur.archlinux.org/cgit/aur.git/snapshot/{yay-bin.tar.gz}
$ tar xzvf /tmp/yay-bin.tar.gz -C /tmp/
$ cd /tmp/yay-bin/
$ makepkg -si --noconfirm
$ cd -

使い方

基本的にはpacmanと同じオペレーションを利用すれば、AURのパッケージも対象にして実行される。 例えば、パッケージをインストールする場合は以下のコマンドで行う。

$ yay -S <packages>

yayはpacmanに存在しない以下のオペレーションが存在する。

オペレーション 概要
-Y (—yay) 番号で指定してパッケージをインストール
-P (—print) yayやパッケージに関する情報を出力
-G (—getpkgbuild) ビルドに必要なファイルをダウンロード

-Yオペレーションはyaourtのようにパッケージを検索し、番号で指定してインストールできる。 以下のコマンドで実行する。

$ yay -Y <packages>

-Yを指定せずに以下のようにパッケージだけ指定して実行することもできる。

$ yay <packages>

-Pオペレーションは単体で実行しても何も表示されない。 -Pオペレーション用のオプションを指定することでインストール済みのパッケージの状態やyayの現在の設定などを表示する。

-Gオペレーションはパッケージを指定して実行すると、現在のディレクトリにパッケージ名と同じディレクトリが作成され、その中にPKGBUILDなどのビルドに必要なファイルがダウンロードされる。

まとめ

AUR Helperのyayを紹介した。 今回yayを紹介するためにtrizen、yaourt、aurutils、bauerbillを試したが、個人的にはyayが一番使いやすかった。 また、開発も活発であるため、今後の機能追加なども期待できると考えられる。


  1. https://bbs.archlinux.org/viewtopic.php?pid=1755144#p1755144

  2. pacmanはオペレーション、オプション、ターゲットを順番に指定することでコマンドを実行する


icon

Written by ytet5uy4
Site Reliability Engineer