Guix

提供: ArchWiki
移動先: 案内検索
警告: Guix は Arch の公式パッケージマネージャではありません。まだ開発途上であり Arch ではパッケージのビルドに失敗する可能性があります。

GNU Guix はトランザクションを使用してユーザー環境を再現できるパッケージマネージャです。Guix をスタンドアロンで使って完全な GNU ディストリビューションとして使用することもできますが、Arch に Guix パッケージマネージャをインストールすることで伝統的な成熟した Unix ライク環境をベースとすることが可能です。

Guix で使えるパッケージコマンドについては Guix マニュアル を読んでください。

インストール

ノート: /bin/sh が Bash でない場合、ビルドのチェックに失敗します。デフォルトの Arch では問題ありません。

GNU Guix は AUR の guixAUR パッケージでインストールできます。PKGBUILD に書かれているように、まずは Guix のディストリビュータによって配布されている PGP 鍵を追加する必要があります。

実行

Guix は非特権のビルド用ユーザーアカウントを使用してビルドを実行するため再現可能性が高くなっています。複数のビルド用ユーザーアカウントを作成することで複数のパッケージを同時にビルドすることが可能です。以下のコマンドは Guix マニュアル に書かれているユーザーを追加するコマンドです:

# groupadd --system guixbuild
# for i in `seq -w 1 n`;
  do
    useradd -g guixbuild -G guixbuild           \
            -d /var/empty -s `which nologin`    \
            -c "Guix build user $i" --system    \
            guixbuilder$i;
  done

guix-daemon.service起動有効化してください。

Guix で Hydra からバイナリパッケージ (‘substitute’) をダウンロード・使用するには:

# guix archive --authorize < /usr/share/guix/hydra.gnu.org.pub

/tmp の外側でパッケージをビルド

/tmp に十分な容量がないなどの理由でビルドする時の TMPDIR を変えたい場合、ユニットファイルに変更を加える必要があります (詳しくは Guix マニュアル を参照)。/tmp の代わりに /tmpdir を使用してビルドするには、以下を実行:

# systemctl edit guix-daemon.service

そして以下の行を追加してください:

[Service]
Environment=TMPDIR=/tmpdir

Guix のアンインストール

guix-daemon.service を無効化して pacman で Guix を削除してください。それから Guix のビルド用ユーザーやグループも削除してください:

# for i in `seq -w 1 n`; do userdel guixbuilder$i; done
# groupdel guixbuild

Guix のファイルが保存されている /gnu, /var/guix, /var/log/guix なども削除してください。guix-daemon.service を編集していた場合、/etc/systemd/system/guix-daemon.service.d も削除すると良いでしょう。