2018年8月18日土曜日

AURヘルパーaurmanのインストール方法と使い方

AURヘルパーaurmanのインストール方法と使い方
これまでArch LinuxのAURヘルパーとしてyaourtやpackerを使ってきたが、どちらのヘルパーも開発停止されている(ちなみに、pacaurも開発中止)。そこで、現在も開発が継続されている新しいAURヘルパーのaurmanをインストールすることにした。

aurmanのインストール方法の紹介の前に、aurmanの特徴をまとめておく。
  • pacmanと同じオプション、似た文法で使える。
  • パッケージの依存関係やコンフリクトの確認を行える。また、パッケージの分割もできる。
  • AURパッケージの検索が行える。
  • AURパッケージのビルドの前に、PKGBUILDファイルの確認と編集ができる。

この記事に、aurmanのインストール方法と簡単な使い方をまとめておく。


aurmanのインストールの前に…
aurmanのGitHubに掲載されている注意書きを載せておく。aurman自体の使い方は難しくなく、誰でも使えるように設計されている。ただし、aurmanの作成者の意向を理解した上で、使うようにしたい。

「初心者向けには作っていないので、aurmanについて初心者レベルの質問はしないで下さい。」というメッセージでしょうか。

Notice: Even though it may seem like an AUR helper is targeted at inexperienced users, the opposite is the case. aurman is targeted at advanced users, who are familiar with pacman, makepkg and most of all with the AUR. aurman is an AUR helper, it can't and will never be a replacement for the sometimes needed concept of "human interaction". If you ever encounter an issue whereby aurman e.g. is not able to find a dependency solution, and you do not know how to solve the problem either, you should not use an AUR helper. Even though the specific problem may be a bug in the aurman implementation, it is always expected that you as a Turing-complete user know what to do. If you do not, do not use aurman. Also: If you are already failing to install aurman, because you do not know e. g. how to import PGP keys or how to fulfill aurman dependencies manually, you should not use aurman. Last but not least: The GitHub issues are not for support, they are only for feature requests, bug reports or general discussions. To reduce the noise by users who should not use aurman, but still do, users who fill out issues in a non-sensible way may be banned from this repository without further warning

aurmanのインストール方法
まず、aurmanのビルドに必要なパッケージ(base-devel, git, gnupg)をインストールする。すでに、インストール済みであれば再インストールの必要はない。
# pacman -S base-devel git gnupg

次に、PKGBUILDファイルをダウンロードする。
$ git clone https://aur.archlinux.org/aurman.git

カレントディレクトリに、aurmanディレクトリが生成されPKGBUILDファイルがダウンロードされるので、そのPKGBUILDファイルを確認する。
$ cd ./aurman
$ less PKGBUILD

以下がPKGBUILDファイルの中身。
# Maintainer: Jonni Westphalen 
pkgname=aurman
pkgver=2.17.7
pkgrel=1
pkgdesc="AUR helper with almost pacman syntax"
arch=('any')
url="https://github.com/polygamma/aurman"
license=('MIT')
depends=('python' 'expac' 'python-requests' 'git' 'python-regex' 'python-dateutil' 'pyalpm' 'python-feedparser')
source=("aurman_sources::git+https://github.com/polygamma/aurman.git?signed#tag=${pkgver}")
md5sums=('SKIP')
validpgpkeys=('4C3CE98F9579981C21CA1EC3465022E743D71E39') # Jonni Westphalen

package() {
    cd "$srcdir/aurman_sources"
    /usr/bin/python3 setup.py install --root="$pkgdir/" --optimize=1
    install -Dm644 ./bash.completion "$pkgdir/usr/share/bash-completion/completions/aurman"
    install -Dm644 ./aurman.fish "$pkgdir/usr/share/fish/vendor_completions.d/aurman.fish"
}

このファイルの中の、validpgpkeysの値に指定されている鍵をインポートする。鍵サーバーは特に指定しなくてよい。
$ gpg --recv-keys 4C3CE98F9579981C21CA1EC3465022E743D71E39

gpg: key 465022E743D71E39: 2 signatures not checked due to missing keys
gpg: key 465022E743D71E39: public key "Jonni Westphalen " imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1

署名を確認しておく。もし、鍵に内部的な署名をして、有効性を自分のみに限定したい場合は、「gpg --lsign-key」で署名を行う。
$ gpg --fingerprint 465022E743D71E39

pub   rsa4096 2018-06-11 [SC] [expires: 2019-06-11]
      4C3C E98F 9579 981C 21CA  1EC3 4650 22E7 43D7 1E39
uid           [ unknown] Jonni Westphalen 
sub   rsa4096 2018-06-11 [E] [expires: 2019-06-11]

鍵のインポートができたら、aurmanをインストールする。aurmanのインストールが完了したら、PKGBUILD、生成ファイル及びaurmanディレクトリは削除してよい。
$ makepkg -si

もし、PGP鍵のインポートを忘れると、以下のようなエラーが出る。このエラーが出た場合は、正しくPGP鍵がインポートできていないと言うことなので、PGP鍵のインポートがうまくいっているか確認する。
...
==> Verifying source file signatures with gpg...
    aurman_sources git repo ... FAILED (unknown public key 465022E743D71E39)
==> ERROR: One or more PGP signatures could not be verified!
...

yaourtやpackerでAURを使っていた人は不要だが、初めてAUR使う人はAURを/etc/pacman.confに追加する。
# vim /etc/pacman.conf

...
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
↑の3行を、ファイル末尾に追加。

aurmanの使い方
aurmanはほとんどpacmanと同じオプションを使うことができる。なので、基本的なところだけをピックアップして紹介しておこうと思う。

他のAURヘルパーと同じだが、aurmanを使う時は一般権限で使う。パッケージのインストールなどでルート権限が必要になった時に、ルートパスワードが要求される。細かい点であるが、-Sy(パッケージデータベースのアップデートのオプション)は使えなかった。-Syuであれば使えた。

はじめてaurmanを使うと、Arch Linuxの公式ニュースを表示してくれる。Arch Linuxの公式ニュースには、パッケージのアップデートに関するニュースがアップされることが多いので、ありがたい機能。
$ aurman -何かオプション

:: Phasing out i686 support [Wed, 25 Jan 2017 18:23:33 +0000]
Due to the decreasing popularity of i686 among the developers and the
community, we have decided to phase out the support of this architecture.
...
?? Have you read the 10 unread article(s) from archlinux.org? N/y: y

AURパッケージの検索(-Ss)
Arch Linuxの公式リポジトリとAURを、同時に検索してくれる。
$ aurman -Ss パッケージ名


パッケージのインストール(-S)

$ aurman -S パッケージ名

インストール前に、PKGBUILDなどの変更点を確認できる。
?? Do you want to see the changes of packer-aur? N/y: y

diff --git a/.AURINFO b/.AURINFO
new file mode 100644
index 0000000..a847602
--- /dev/null
+++ b/.AURINFO
...
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 0000000..04f467e
--- /dev/null
+++ b/PKGBUILD
...

次に、ビルドファイルなどを編集するか聞いてくれる。編集したい場合は、編集したいファイルの数字を入力してエンター。編集の必要がない場合は、何も入力せずにエンター。
:: Enter the corresponding number of the file of packer-aur you want to edit.
   just press enter if you want to finish editing.
1: .AURINFO
2: PKGBUILD
?? Enter the number: 2

最後に、確認メッセージが表示される。
?? Are you fine with using the files of packer-aur? Y/n: y

パッケージのアップデート(-Syu)
yaourtやpackerなど別のAURヘルパーでインストールしたパッケージも、アップデートしてくれる。aurmanはAURに登録されているので、aurman自身のアップデートもaurmanが行ってくれる。
$ aurman -Syu

詳しい使い方の説明は、「GitHub - polygamma/aurman: AUR Helper」に書いてあるので、aurmanでどんなことができるか気になった場合は、GitHubのページを確認。


参考:

[1]GitHub - polygamma/aurman: AUR Helper
[2]AUR helpers - ArchWiki
[3]Don’t Install Yaourt! Use These Alternatives for AUR in Arch Linux | It's FOSS

スポンサーリンク

スポンサーリンク


関連コンテンツ


この記事をシェアする

0 件のコメント:

コメントを投稿