「Guix」の版間の差分
(翻訳) |
(英語版と同期) |
||
2行目: | 2行目: | ||
[[en:Guix]] |
[[en:Guix]] |
||
{{Warning|Guix は Arch の[[pacman|公式パッケージマネージャ]]ではありません。まだ開発途上であり Arch ではパッケージのビルドに失敗する可能性があります。}} |
{{Warning|Guix は Arch の[[pacman|公式パッケージマネージャ]]ではありません。まだ開発途上であり Arch ではパッケージのビルドに失敗する可能性があります。}} |
||
− | + | [https://www.gnu.org/software/guix/ GNU Guix] はトランザクションを使用してユーザー環境を再現できるパッケージマネージャです。Guix をスタンドアロンで使って完全な GNU ディストリビューションとして使用することもできますが、Arch に Guix パッケージマネージャをインストールすることで伝統的な成熟した Unix ライク環境をベースとすることが可能です。 |
|
Guix で使えるパッケージコマンドについては [https://www.gnu.org/software/guix/manual Guix マニュアル] を読んでください。 |
Guix で使えるパッケージコマンドについては [https://www.gnu.org/software/guix/manual Guix マニュアル] を読んでください。 |
||
9行目: | 9行目: | ||
{{Note|{{ic|/bin/sh}} が Bash でない場合、ビルドのチェックに失敗します。デフォルトの Arch では問題ありません。}} |
{{Note|{{ic|/bin/sh}} が Bash でない場合、ビルドのチェックに失敗します。デフォルトの Arch では問題ありません。}} |
||
+ | {{Note|2018年5月13日の時点では、[[Makepkg#tmpfs|BUILDDIR 環境変数]]が tmpfs 上のディレクトリを指していると、makepkg でのビルド中に ''guix-environment-container'' テストが失敗します。}} |
||
GNU Guix は AUR の {{AUR|guix}} パッケージでインストールできます。{{ic|PKGBUILD}} に書かれているように、まずは Guix のディストリビュータによって配布されている PGP 鍵を追加する必要があります。 |
GNU Guix は AUR の {{AUR|guix}} パッケージでインストールできます。{{ic|PKGBUILD}} に書かれているように、まずは Guix のディストリビュータによって配布されている PGP 鍵を追加する必要があります。 |
||
17行目: | 18行目: | ||
# groupadd --system guixbuild |
# groupadd --system guixbuild |
||
+ | # uncomment and type e.g. 10 for ''n'' below --> have ten users |
||
# for i in `seq -w 1 ''n''`; |
# for i in `seq -w 1 ''n''`; |
||
do |
do |
2019年3月26日 (火) 23:25時点における版
GNU Guix はトランザクションを使用してユーザー環境を再現できるパッケージマネージャです。Guix をスタンドアロンで使って完全な GNU ディストリビューションとして使用することもできますが、Arch に Guix パッケージマネージャをインストールすることで伝統的な成熟した Unix ライク環境をベースとすることが可能です。
Guix で使えるパッケージコマンドについては Guix マニュアル を読んでください。
インストール
GNU Guix は AUR の guixAUR パッケージでインストールできます。PKGBUILD
に書かれているように、まずは Guix のディストリビュータによって配布されている PGP 鍵を追加する必要があります。
実行
Guix は非特権のビルド用ユーザーアカウントを使用してビルドを実行するため再現可能性が高くなっています。複数のビルド用ユーザーアカウントを作成することで複数のパッケージを同時にビルドすることが可能です。以下のコマンドは Guix マニュアル に書かれているユーザーを追加するコマンドです:
# groupadd --system guixbuild # uncomment and type e.g. 10 for n below --> have ten users # 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
も削除すると良いでしょう。