Yaourt

提供: ArchWiki
移動先: 案内検索

Yaourt (Yet AnOther User Repository Tool; フランス語で'ヨーグルト') はコミュニティ開発の pacman ラッパーで、AUR へのシームレスなアクセスを追加し、多くの Arch Linux バイナリパッケージに加えて、AUR にある多数の PKGBUILD を取得してインストールすることができるようになります。Yaourt は pacman と同じシンタックスを使うのでシステム管理について学び直す必要はありません、新しいオプションも追加されています。カラー出力、インタラクティブ検索モードなどの数々の便利な機能を加えることで、Yaourt は pacman のパワーとシンプリシティを拡張します。

警告: Yaourt は非公式の、サードパーティ製スクリプトです。Arch Linux の開発者によるサポートはありません。
ノート: バグは archlinux.fr bugtracker に報告して下さい。

インストール

まず 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>

参照: PacmanPacman ヒント

ローカルソースリポジトリ

デフォルトでは、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 パッケージをアップグレードするようにしてください。