Yaourt
Yaourt (Yet AnOther User Repository Tool; フランス語で'ヨーグルト') はコミュニティ開発の pacman ラッパーで、AUR へのシームレスなアクセスを追加し、多くの Arch Linux バイナリパッケージに加えて、AUR にある多数の PKGBUILD を取得してインストールすることができるようになります。Yaourt は pacman と同じシンタックスを使うのでシステム管理について学び直す必要はありません、新しいオプションも追加されています。カラー出力、インタラクティブ検索モードなどの数々の便利な機能を加えることで、Yaourt は pacman のパワーとシンプリシティを拡張します。
目次
インストール
まず package-queryAUR をインストールしてから、yaourtAUR パッケージをインストールする必要があります。これらのパッケージは両方とも AUR から入手することができ、サポートされていないパッケージをインストールする時の公式の方法を使ってインストールしてください、詳しくは Arch User Repository で説明されています。重要なことは、"サポートされないパッケージ"が実際のところ何を意味するのか理解して、yaourt などの AUR ヘルパーが何を自動化しているのか学ぶことです。
yaourt のホームページ で書かれているように /etc/pacman.conf
に以下の行を追加して archlinuxfr リポジトリを有効にすることでも yaourt をインストールできます:
[archlinuxfr] SigLevel = Never Server = http://repo.archlinux.fr/$arch
リポジトリを追加した後、次を実行してください:
# pacman --sync --refresh yaourt
yaourt を使う
パッケージ (AUR のパッケージを含む) をインストールするには:
$ yaourt packagename
AUR パッケージを含むシステム全体をアップデートするには:
$ yaourt -Syua
詳しくは yaourt のマニュアル を見て下さい。
使用例
検索とインストール:
$ yaourt <search pattern>
データベースの同期、パッケージのアップグレード、AUR と devel (cvs, svn, git, bzr(...)-版のパッケージ) のアップグレードの検索:
$ yaourt -Syua --devel
ソースからパッケージをビルド:
$ yaourt -Sb <package>
- .pac* ファイルのチェック・編集・マージ・削除:
$ yaourt -C
PKGBUILD を取得(分割パッケージもサポート):
$ yaourt -G <package>
パッケージのビルドと特定のディレクトリへのエクスポート:
$ yaourt -Sb --export <dir> <package>
データベースのバックアップ:
$ yaourt -B
バックアップファイルに問い合わせる:
$ yaourt -Q --backupfile <file>
参照: Pacman と Pacman ヒント。
ローカルソースリポジトリ
デフォルトでは、yaourt はビルド用にリモートリポジトリを /tmp にダウンロードします。AUR パッケージが更新されるたびにリポジトリ全体を再取得したくない場合、yaourtrc の DEVELSRCDIR
をアンコメントすることで、リポジトリを保存するディレクトリを変更することができます。この設定は開発版パッケージ (-git や -svn が付いているパッケージ) にしか影響を与えないので注意してください。
/etc/yaourtrc
DEVELSRCDIR="/var/abs/local/yaourtbuild"
キャッシュ
デフォルトでは Yaourt はビルドしたパッケージ tarball を保存しません。ビルドした AUR パッケージを pacman のデフォルトフォルダである /var/cache/pacman/pkg
に保存するには、/etc/yaourtrc
を編集して以下を設定してください:
# Build EXPORT=2
もしくは、Yaourt 用に別のフォルダを設定したい場合は以下のように変更します:
# Build EXPORT=1 EXPORTDIR="/var/cache/pacman/pkg-local"
トラブルシューティング
Yaourt が2回パスワードを尋ねる
/etc/sudoers
に以下を追加して sudo
パスワードタイムアウトを無効にしている場合:
Defaults timestamp_timeout=0
yaourt は root 権限が必要な操作を行うたびにパスワードを尋ねるようになります。これを止めさせるには /etc/yaourtrc
か ~/.yaourtrc
に次を追加してください:
SUDONOVERIF=1
Yaourt がフリーズする / システムがとても重くなった
RAM やスワップ容量が不足したことによる問題の可能性が高いです。Yaourt はデフォルトでコンパイルに /tmp を使います。デフォルトでは、このディレクトリは全て RAM 上にのせる tmpfs が使われています。/etc/yaourtrc
にある、コンパイルに使う場所の設定 (TMPDIR =
行をアンコメント) をどこかほかの場所にして詰まりを避けてください。
Yaourt が不要なサブパッケージまでインストールしてしまう (分割 PKGBUILD)
上流の issue #50 によると、インストール・アップグレード時には、yaourt は pacman にパッケージをビルドしたディレクトリを指定するだけで、パッケージの名前自体は指定しません。このため、ディレクトリに存在する (自動的にビルドされたサブパッケージ含め) 全てのパッケージがインストールリストに加えられてしまいます。回避方法としては以下のように --pkg
を使って下さい:
$ yaourt --pkg foo -S foo
サブパッケージ (foo-bar, foo-baz など) が必須の依存パッケージでない場合、ビルドしたりインストールされなくなります。ただしフルシステムアップグレード (-Syua
) 時には問題が起こります。先に手動で AUR パッケージをアップグレードするようにしてください。