| 安定版リリース | 1.4.0 [1]
/ 2022年12月19日 |
|---|---|
| リポジトリ |
|
| 書かれた | Guile Scheme、C++ ( Nixコア) |
| ライセンス | GPLv3+ |
| Webサイト | guix.gnu.org/ja/ |
GNU Guix ( / ɡ iː k s / [2] ) は、機能的なクロスプラットフォームパッケージマネージャであり、 Nixパッケージマネージャに基づいて、Unix系オペレーティングシステムをインスタンス化して管理するためのツールです。設定とパッケージレシピはGuile Schemeで書かれています。GNU Guixは、 GNU Guix Systemディストリビューションのデフォルトのパッケージマネージャです。[3]
従来のパッケージマネージャとは異なり、Guixは(Nixと同様に)純粋に機能的なデプロイメントモデルを採用しており、ソフトウェアは暗号化ハッシュによって生成された一意のディレクトリにインストールされます。各ソフトウェアのすべての依存関係は、各ハッシュ内に含まれています。[4] [5]これにより、依存関係地獄の問題が解決され、[6]同じソフトウェアの複数のバージョンが共存できるようになり、パッケージが移植可能かつ再現可能になります。Guixセットアップで科学計算を実行することは、複製危機に対する有望な対応として提案されています。[7] [8]
GNU Guixの開発は、Linux-libreカーネルとGNU Shepherd initシステムを使用したインストール可能なオペレーティングシステムディストリビューションであるGNU Guixシステム[9]と密接に絡み合っています。[10] [11] [12]
一般的な特徴
Guix パッケージは、パッケージ管理用に特別に設計された機能的なGuile Scheme APIを通じて定義されます。依存関係は、Guix デーモンによって遅延評価される「派生」と呼ばれる特別な値を通じて、この言語で直接追跡されます。Guix はこれらの参照を自動的に追跡するため、インストールされたパッケージは、他のパッケージがそれらに依存していない場合にガベージ コレクションできます。ストレージ要件が大きくなるという犠牲を払って、Guix のすべてのアップグレードはアトミックであり、ロールバックできることが保証されています。
Guixのロールバック機能はNixの設計を継承したもので、システムの機能に対する非正統的なアプローチを必要とするため、他のオペレーティングシステムではほとんど見られません( MicroOSを参照)。ただし、Guixパッケージマネージャーは、Nixと同様に、 DebianやParabolaなどの多くのディストリビューションで使用できます。[13] [14] これにより、複数のユーザーが管理者権限なしで同じシステムにソフトウェアを安全にインストールすることもできます。
従来のパッケージ マネージャーと比較すると、Guix パッケージ ストアはかなり大きくなる可能性があり、そのためより多くの帯域幅が必要になります。ただし、依存関係地獄を解決するために一般的に採用されているコンテナーソリューション ( Dockerなど) と比較すると、Guix はよりスリムで、don't repeat yourselfやsingle source of truthなどのプラクティスに準拠しています。ユーザーがすべてをソースから構築することを選択した場合は、さらに大きなストレージ領域と帯域幅が必要になります。
店舗
Nix の設計を継承し、パッケージ マネージャーのコンテンツのほとんどは、Guixデーモンだけが書き込みアクセス権を持つディレクトリ/gnu/storeに保存されます。これは、特殊なバインド マウントによって実現されます。このマウントでは、ファイル システムとしての Store が読み取り専用でマウントされ、ルート ユーザーからの干渉も禁止されます。一方、Guix デーモンは、独自のプライベート名前空間で Store を読み取り/書き込み可能として再マウントします。Guix はこのデーモンと通信して、ストアに保存されているものを作成したり、代替を取得したりします。ストアを書き込み可能として再マウントして手動で操作することは、ストアの目的を完全に無効にしてしまうため、推奨されません。
ガベージコレクション
GuixはNixと同様に、不要なストアアイテムを削除し、有効なアイテムを保持するためのガベージコレクション機能を内蔵しています。[15]
パッケージ定義
これは、hello パッケージのパッケージ定義の例です。
( use-modules
( guixパッケージ) ( guixダウンロード) ( guixビルドシステムgnu ) ( guixライセンス))
( define-public hello ( package ( name "hello" ) ( version "2.10" ) ( source ( origin ( method url-fetch ) ( uri ( string-append "mirror://gnu/hello/hello-" version ".tar.gz" )) ( sha256 ( base32 "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i" )))) ( build-system gnu-build-system ) ( synopsis "Hello, GNU world: GNU パッケージの例" ) ( description "GNU Hello は、 \" Hello, world! \"というメッセージを出力して終了します。これは、標準的な GNU コーディング プラクティスの例となります。そのため、コマンドライン引数、複数の言語などをサポートしています。" ) ( home-page "https://www.gnu.org/software/hello/" ) ( license gpl3+ )))
これは Guile を使用して書かれています。パッケージ レシピは簡単に検査 (例: guix edit helloを実行) して Guix で変更できるため、システムが透過的になり、変更が非常に簡単になります。
トランザクションのアップグレード
Nix の設計から継承され、ストア項目のすべての操作は互いに独立しており、ストアのディレクトリは、派生のソース コードの base32 エンコードされたハッシュとその入力で始まります。
プロフィール
Guix パッケージは、プロファイル世代を使用します。これは、ユーザーがプロファイルにインストールしたものを構成する特定のストア項目へのシンボリックリンクのコレクションです。パッケージがインストールまたは削除されるたびに、新しい世代が構築されます。
たとえば、GNU Hello のみをインストールしたユーザーのプロファイルには、現在使用されている guix でインストールされた hello のバージョンを保持するストア項目へのリンクが含まれます。
たとえば、guix のバージョン c087a90e06d7b9451f802323e24deb1862a21e0f では、これは次の項目に対応します: /gnu/store/md2plii4g5sk66wg9cgwc964l3xwhrm9-hello-2.10 (上記のレシピからビルド)。
シンボリックリンクに加えて、guix がビルドする各プロファイルには、すべての情報マニュアル、マニュアルページ、アイコン、フォントなどの結合も含まれているため、ユーザーはドキュメントを参照し、インストールされているすべてのアイコンとフォントにアクセスできます。
プロファイル生成へのデフォルトのシンボリックリンクは、ファイルシステムの /var/guixに保存されます。
複数のユーザープロファイル
ユーザーは、 を呼び出すことによって任意の数のプロファイルを作成できますguix package -p PROFILE-NAME COMMAND。プロファイル名とプロファイル生成シンボリックリンクを含む新しいディレクトリが現在のディレクトリに作成されます。
ロールバック
Guixパッケージは、シンボリックリンクを以前のプロファイル世代に変更することで、以前のプロファイル世代に瞬時にロールバックすることを可能にします。[16]プロファイルはストアにも保存されます。たとえば、この項目は上記のhelloを含むプロファイルです:/gnu/store/b4wipjlsapvnijmbawl7sh76087vpl4n-profile( guix install helloを実行するとビルドされ、アクティブ化されます)。
シェル環境
Guixシェルを使用すると、複数のプロジェクトの依存関係でユーザーのデフォルトプロファイルが詰まることなく、ソフトウェア開発に必要なすべてのパッケージが存在する環境に簡単に入ることができます。[17]
たとえば、実行すると、 guix 上でhello をコンパイルするために必要なものがすべて存在する使い捨て環境に入ります(gcc、guile など)。 guix shell --development hello
フラグがなければ、 helloパッケージのみがインストールされ、そのビルド依存関係はインストールされません。これは、デフォルトでパッケージの依存関係をインストールするコマンドに取って代わります。これは、指定されたパッケージをデフォルトでインストールし、フラグを使用して開発依存関係のみをインストールするコマンドの方が直感的であると考えられたためです。[18]--developmentguix environment
永続的な開発環境
guix gc の次回実行時にガベージ コレクションされない永続的な gc ルート環境が必要な場合は、ルートを作成できます。
たとえば、実行すると、guix をコンパイルするために必要なものがすべて存在する環境 (gcc、guile など) に入り、現在のディレクトリにルートとして登録されます (ストア内の項目へのシンボリックリンクによって)。 guix shell --root=hello-root --development hello
パック
Guix packを使用すると、ユーザーはストアアイテムをバンドルして、dockerバイナリイメージ、再配置可能なtarball、Debianパッケージファイル、RPMパッケージファイル、AppImage 、またはsquashfsバイナリとして出力できます。[19] [20] [21]
グラフ
Guixグラフを使用すると、パッケージとその依存関係のさまざまなグラフを表示できます。[22]
サードパーティのチャンネル
Guixではパッケージ定義に追加のチャネルを指定することができます。[23]
この機能は、メインプロジェクトにパッケージ化できない非フリーソフトウェアやファームウェアをインストールするためにも使用できます。 [24] [25]
Guix システム (オペレーティング システム)
| 開発者 | GNUプロジェクト[26] [27] |
|---|---|
| OSファミリー | Linux ( Unix 系) |
| 作業状態 | 現在[28] |
| ソースモデル | フリーソフトウェア、FSDG |
| 最新リリース | 1.4.0 [29] / 2022年12月19日 |
| リポジトリ |
|
| マーケティングターゲット | デスクトップ |
| パッケージマネージャー | GNU ギックス |
| プラットフォーム | x86_64、i686、aarch64、armv7、powerpc64le、パワーPC64LE |
| カーネルタイプ | モノリシック: Linux-libre (運用中) マイクロカーネル: GNU Hurd (開発中) |
| ユーザーランド | GNU |
| ライセンス | ライセンス |
| 公式サイト | guix.gnu.org |
GNU Guix SystemまたはGuix System [30] [31] (以前はGuixSD [32]として知られていた) は、ローリングリリースのフリーでオープンソースの Linux ディストリビューションで、Guix を中心に構築されており、 NixOSがNix を中心に構築されているのと似ています。[33] [34]宣言的なオペレーティングシステム構成が可能で[35]、ユーザーがロールバックできるシステムアップグレードが可能です。[36] GNU Shepherd initシステム[37] [38]とLinux-libreカーネルを使用し、開発中のGNU Hurdカーネルをサポートしています。[39] 2015 年 2 月 3 日、フリーソフトウェア財団は、このディストリビューションを推奨フリー Linux ディストリビューションのリストに追加しました。[40]
アーキテクチャサポート
現在サポートされているCPUアーキテクチャは次のとおりです。[41]
システムサービス
Guile Scheme [45]で定義されているシステムサービスを使用すると、ユーザーはデーモンとバックグラウンドサービスの構成を宣言的に作成し、構成を指定できます。これにより、ユーザーは単一の構成ファイルまたはモジュール化された構成内で、オペレーティングシステム全体を構成できます(たとえば、起動時に特定のポートでnginx経由で guix-web を提供するTor プロキシ、sshサーバー、Web サーバーを用意するなど)。システムサービスには次の機能があります。[46]
- ファイルシステム内にファイルを生成する(一部のアプリケーションで必要、例:/etc内のファイル)
- デーモンを設定するためのコードを実行する
- 特定のユーザーとグループのアカウントを作成する(例: PostgreSQLのデータベースユーザー)
GNU Shepherd init システム
Guix システムは、以前は「dmd」(「デーモン管理デーモン」)と呼ばれていた GNU Daemon Shepherd をinitシステムとして使用します。これは Guix と並行して開発され、Guileで記述および構成可能です。[47]これは、ユーザー空間の機能をサービスとして非同期に提供します。Shepherd では、サービスとは汎用関数とオブジェクト データ型であり、定義された方法で基本オペレーティングシステムを拡張するために使用されます。systemdとは対照的に、ユーザー空間の shepherd プロセスはユーザーとして実行されます。ユーザー空間の初期化の Shepherd モデルの中心となるのは、拡張機能の概念です。これは、サービスが他のサービスの上に階層化されるように設計され、必要に応じてより複雑な動作や特殊な動作でサービスを拡張する、構成可能性の一形態です。 [48]これは、多くの現代のinitシステムに見られるインスタンス化ベースの依存関係を表現し、[49]システムをモジュール化するだけでなく、サービスが他のサービスと任意の方法で可変的に対話することを可能にします。たとえば、他の2つのサービスを拡張するサービスでは、 1つのサービスのみが必要ですが、後でインスタンス化されると、それ以上の再設定やセットアップを必要とせずに2番目のサービスを簡単に拡張できます。
Shepherd は、システムのメール転送エージェント(MTA)をインスタンス化するすべてのサービス オブジェクトなど、関連するサービス オブジェクトのクラスに対して動的ディスパッチを可能にする仮想サービスも提供します。 [50] Shepherd デーモンによって制御されるシステムは、そのユーザー空間を有向非巡回グラフとして表すことができます。そのルートは、ブートと初期化の初期段階を担当する「システム サービス」です。その後に初期化されるすべてのサービスは、直接的または他のサービスを介して推移的に、システム サービス機能の拡張として表されます。[48] [51]
Guile を使用するシステム管理者が高度にプログラムできるように設計されているが、権限のないデーモンやサービスのユーザーごとのプロファイルを管理するためにも使用できる。[52]サービスと設定はオブジェクト指向のSchemeコードとして統一的に保存され、基本的な Guix システムでコアとなるサービス セットが提供される一方で、[53]任意の新しいサービスを柔軟に宣言でき、Guile のオブジェクト システムである GOOPS を通じて、インスタンス化時に指定された方法でサービスを動的に書き換えるように Shepherd に依頼することで、既存のサービスをユーザーの裁量で再定義できる。[54] [55]
GNU ShepherdはもともとGNU Hurdと連携するように設計され、後にGuix Systemに採用されました。[56]
ロールバック
Nixのロールバック機能と同様に、システムアップデートによってシステムが壊れた場合、ユーザーは簡単なコマンドで個々のパッケージやシステム全体の状態を簡単にロールバックできます。guix package --roll-back[57]つまり、 guix pull でアップデートしよ うとする
ときに、バグを報告して数分間待つことをいとわないユーザーにとって、他の Linux ディストリビューションでは非常に一般的な種類の安定チャネルは必要なくなります。これは、各パッケージとシステム構成を不変かつ再現可能なエンティティとして扱うGuix の機能的なパッケージマネージャー[58]と、システム構成の履歴を「世代」として保持する生成システムの組み合わせによって実現されます。これらの世代は個別のプロファイルとして保存され、以前の構成にロールバックできます。[59]これらの世代は で確認できます。
guix package --list-generations
受付
DistroWatch WeeklyのJesse SmithはGNU Guix System 0.15.0(当時はGuixSDという名前でした)をレビューし、「GuixSDには私が気に入っているパッケージマネージャがあります」と述べましたが、ハードウェアサポートの制限とドキュメントの制限を批判しました。[60]その後、ドキュメントは拡張され、ビデオ[61]と、チュートリアル、ハウツーガイド、例を含む6つの言語のクックブック[62]で改善されました。
再現可能な科学的ワークフロー
Guix が従来のパッケージ マネージャーよりも優れた機能をユーザーに提供できる特定の領域は、主に高性能コンピューティングにおける再現可能な科学的ワークフローの分野です。[63]このようにして、Guix は再現可能な計算環境を共有する方法を提供します。つまり、特定の科学的ソフトウェア/環境用のレシピを使用する Guix は、そのソフトウェアをビルドして実行するための依存関係ツリーを一意に記述するために必要なすべての情報を提供します。[64]これは、たとえば、各プログラミング言語ごとに複数のパッケージ マネージャーを備えた他の混合システムでは実現が容易ではありません。ただし、これは科学的ワークフローが再現可能であるための必要条件を提供するだけで、十分条件ではありません。データの収集と処理をワークフローに組み込む必要があるため、これを Guix レシピの一部として追加すると、厳格な再現性要件を満たすことができます。
歴史
このプロジェクトは、GNU Guileハッカーの一人であるLudovic Courtèsによって2012年6月に開始されました。[65]
GNUプロジェクトは2012年11月に、 Nixをベースにした機能的なパッケージマネージャであるGNU Guixの最初のリリースを発表しました。このパッケージマネージャは、Guile Scheme APIなどを提供します。[66]
2015年8月20日、GuixがGNU Hurdに移植されたことが発表された。[67]
リリース
このプロジェクトには固定のリリーススケジュールはなく、これまでは約 6 か月ごとにリリースされてきました。
1.4.0のリリースから20ヶ月が経過したため、1.5.0のリリースが予定されている。[68]
参照
- Debian GNU/ハード
- NixOS – GNU Guixに影響を与えた類似のオペレーティングシステム[69]
- Linuxディストリビューションの比較
参考文献
- ^ ルドヴィック・クルテス (2022 年 12 月 19 日)。 「GNU Guix 1.4.0 がリリースされました」。2022 年12 月 21 日に取得。
- ^ 「GNU Guix リファレンス マニュアル」。www.gnu.org 。2018 年4 月 23 日に取得。
- ^ Ludovic Courtès (2013). Guix による機能的なパッケージ管理。マドリード、スペイン: European Lisp Symposium。
- ^ Dolstra, E.、de Jonge, M.、および Visser, E.「Nix: ソフトウェア導入のための安全でポリシーフリーなシステム」。Damon, L. (編)、第 18 回大規模インストール システム管理会議 (LISA '04)、79 ~ 92 ページ、米国ジョージア州アトランタ。USENIX、2004 年 11 月。
- ^ Dolstra, E. 純粋に機能的なソフトウェア展開モデル。博士論文、理学部、ユトレヒト、オランダ。2006 年 1 月。ISBN 90-393-4130-3。
- ^ Prins, P.、Suresh, J.、Dolstra, E.、「Nix はすべての Linux ディストリビューションの依存関係地獄を修正します」、2008 年 12 月 26 日アーカイブ、Wayback Machine linux.com、2008 年 12 月 22 日
- ^ Hinsen, Konrad (2020年7月). 「段階的計算:知らないうちに使用していた手法」.科学と工学におけるコンピューティング. 22 (4): 99–103. Bibcode :2020CSE....22d..99H. doi :10.1109/MCSE.2020.2985508. ISSN 1558-366X. S2CID 219990590. 2022年11月4日閲覧。
- ^ Vallet, Nicolas; Michonneau, David; Tournier, Simon (2022年10月4日). 「Guixを使用した実用的な透明性、検証可能性、長期再現性のある研究に向けて」(PDF) . Scientific Data . 9 (1): 597. Bibcode :2022NatSD...9..597V. doi :10.1038/s41597-022-01720-9. ISSN 2052-4463. PMC 9532446. PMID 36195618. 2022年11月4日閲覧。
- ^ 「Guix を何と呼ぶか?」 (メーリング リスト)。gnu-system-discuss。2015 年 1 月 15 日。
- ^ プログラミング インターフェース (GNU Guix リファレンス マニュアル)
- ^ Guix: 新しいパッケージ マネージャーと GNU ディストリビューション - Phoronix
- ^ “guix-europe”. git.savannah.gnu.org . 2021年1月24日時点のオリジナルよりアーカイブ。2019年5月16日閲覧。
- ^ "Guix - Debian パッケージ トラッカー".
- ^ 「Parabola GNU/Linux-libre - パッケージ検索」。www.parabola.nu 。 2021年9月14日閲覧。
- ^ 「guix gc の呼び出し」。gnu.org。2019年5 月 16 日閲覧。
- ^ 「guix パッケージの呼び出し」。gnu.org。2019年5 月 16 日閲覧。
- ^ 「guix シェルの呼び出し」。gnu.org 。2023年11 月 22 日閲覧。
- ^ "「guix 環境」から「guix シェル」へ". gnu.org 。2023 年11 月 22 日に取得。
- ^ 「guix pack の呼び出し」。gnu.org 。 2024年9月3日閲覧。
- ^ 「ニュース: guix pack の AppImage 形式のエントリを追加」。Savannah Git Server . 2024-11-07 . 2024-11-30閲覧。
- ^ 「ニュース: 新しい 'rpm' guix pack 形式のエントリを追加」。Savannah Git Server . 2023-02-17 . 2024-11-30閲覧。
- ^ 「guix graphの呼び出し」gnu.org . 2019年5月16日閲覧。
- ^ "追加チャネルの指定 (GNU Guix リファレンス マニュアル)". GNU Guix 。2024 年 11 月 23 日に取得。
- ^ “Nonguix / nonguix · GitLab”. GitLab . 2024-11-23 . 2024-11-23閲覧。
- ^ “ソフトウェアの自由 (GNU Guix リファレンス マニュアル)”. GNU Guix 。2024 年 11 月 23 日に取得。
- ^ “About — GuixSD”. gnu.org . 2017年4月12日時点のオリジナルよりアーカイブ。2017年3月16日閲覧。
- ^ 「GNU/Linux FAQ - GNU プロジェクト - フリーソフトウェア財団」。フリーソフトウェア財団。2013年9月7日時点のオリジナルよりアーカイブ。 2017年5月14日閲覧。
- ^ 「ダウンロード — GNU Guix」。2020年8月1日時点のオリジナルよりアーカイブ。2019年11月3日閲覧。
- ^ ルドヴィック・クルテス (2022 年 12 月 19 日)。 「GNU Guix 1.4.0 がリリースされました (英語)」。2022 年12 月 30 日に取得。
- ^ 「About — GNU Guix」. guix.gnu.org . 2021年12月11日閲覧。
- ^ 「フリーGNU/Linuxディストリビューション」www.gnu.org。
- ^ 「What to call Guix?」 (メーリングリスト). gnu-system-discuss. 2015-01-15. 2020年8月7日時点のオリジナルよりアーカイブ。 2020年8月3日閲覧。
- ^ 「無料GNU/Linuxディストリビューションのリスト」www.gnu.org。2020年7月6日時点のオリジナルよりアーカイブ。2015年2月3日閲覧。
- ^ 「Guix: 新しいパッケージ マネージャーと GNU ディストリビューション」。Phoronix。2015年 2 月 2 日時点のオリジナルよりアーカイブ。2015 年2 月 3 日閲覧。
- ^ 「設定システムの使用」www.gnu.org。2019年4月29日時点のオリジナルよりアーカイブ。 2019年4月27日閲覧。
- ^ 「パッケージ管理」www.gnu.org。2019年5月21日時点のオリジナルよりアーカイブ。 2019年4月27日閲覧。
- ^ 「プログラミングインターフェース (GNU Guix リファレンスマニュアル)」。guix.gnu.org。2020年8月7日時点のオリジナルよりアーカイブ。 2020年8月3日閲覧。
- ^ 「Guix: 新しいパッケージマネージャーとGNUディストリビューション - Phoronix」。www.phoronix.com。2018年7月6日時点のオリジナルよりアーカイブ。 2020年8月3日閲覧。
- ^ 「GNU Guix & GuixSD 0.12.0 リリース」(メーリングリスト). guix-devel. 2016-12-21. 2020年8月1日時点のオリジナルよりアーカイブ。 2020年8月3日閲覧。
- ^ 「FSF が Guix System Distribution を推奨ディストリビューションのリストに追加」。フリーソフトウェア財団。2015 年 2 月 3 日。2015 年 2 月 3 日時点のオリジナルよりアーカイブ。2015年2 月 3 日閲覧。
- ^ “ダウンロード”. gnu.org . 2021年10月6日時点のオリジナルよりアーカイブ。 2024年1月12日閲覧。
- ^ Mathieu Othacehe. 「GuixSD を ARMv7 に移植する」。2017 年 12 月 25 日時点のオリジナルよりアーカイブ。2018年2 月 17 日閲覧。
- ^ Marusich, Chris; Le Bouter, Léo (2021年4月12日). 「新たにサポートされるプラットフォーム: powerpc64le-linux」。2021年5月16日時点のオリジナルよりアーカイブ。 2021年10月6日閲覧。
- ^ ab 「サポートされているプラットフォーム (GNU Guix リファレンスマニュアル)」。GNU Guix。2024年 10 月 23 日閲覧。
- ^ "guix.git". git.savannah.gnu.org . 2019年5月11日時点のオリジナルよりアーカイブ。2019年5月11日閲覧。
- ^ Wurmus, Ricardo. 「Re: Arch Linux から Guix への移行準備に関するヘルプ」(メーリングリスト)。2020年8月1日時点のオリジナルよりアーカイブ。2019年5月11日閲覧。
- ^ “guix-devel mailing lists”. 2019年9月19日時点のオリジナルよりアーカイブ。2016年11月5日閲覧。
- ^ ab 「GNU Guix リファレンスマニュアル: サービス構成」。GNU プロジェクト。2019 年 1 月 1 日時点のオリジナルよりアーカイブ。2016 年 11 月 5 日閲覧。
- ^ 「systemd: ユニットの依存関係と順序」。Fedora Magazine。2015年11月25日。2020年8月1日時点のオリジナルよりアーカイブ。2016年11月5日閲覧。
- ^ 「GNU Shepherdマニュアル: ジャンプスタート」。GNUプロジェクト。2020年8月1日時点のオリジナルよりアーカイブ。2016年11月5日閲覧。
- ^ 「GNU Guix リファレンスマニュアル: Shepherd サービス」。GNU プロジェクト。2019 年 1 月 1 日時点のオリジナルよりアーカイブ。2016 年 11 月 5 日閲覧。
- ^ 「GNU Shepherd マニュアル」。GNU プロジェクト。2020 年 8 月 1 日時点のオリジナルよりアーカイブ。2016 年 11 月 5 日閲覧。
- ^ 「GNU Guix リファレンスマニュアル: サービス」。GNU プロジェクト。2018 年 12 月 25 日時点のオリジナルよりアーカイブ。2016 年 11 月 5 日閲覧。
- ^ 「GNU Guix リファレンスマニュアル: サービスタイプとサービス」。GNU プロジェクト。2019 年 1 月 5 日時点のオリジナルよりアーカイブ。2016 年11 月 5 日閲覧。
- ^ 「GNU Guix リファレンスマニュアル: 設定システムの使用」。GNU プロジェクト。2019 年 4 月 29 日時点のオリジナルよりアーカイブ。2016 年 11 月 5 日閲覧。
- ^ 「GNU Shepherd」。GNU プロジェクト。2016 年 2 月 12 日時点のオリジナルよりアーカイブ。2016 年2 月 12 日閲覧。
- ^ “Invoking guix system”. www.gnu.org . 2019年5月26日時点のオリジナルよりアーカイブ。 2019年4月27日閲覧。
- ^ クルテス、ルドヴィック (2013). 「Guix による機能パッケージ管理」。 p. 2. arXiv : 1305.4584 [cs.PL]。
- ^ 「多次元トランザクションとロールバック、おやまあ!」guix.gnu.org。
- ^ Smith, Jesse. 「Guix System Distribution 0.15.0 および ReactOS 0.4.9」。distrowatch.com (778)。2019年7月30日時点のオリジナルよりアーカイブ。 2018年8月30日閲覧。
- ^ “ビデオ”. 2020年8月1日時点のオリジナルよりアーカイブ。2020年3月3日閲覧。
- ^ “Cookbook”. 2020年8月1日時点のオリジナルよりアーカイブ。2020年3月3日閲覧。
- ^ 「Guix-HPC — 高性能コンピューティングのための再現可能なソフトウェア展開 — ブログ」hpc.guix.info 。 2024年11月5日閲覧。
- ^ Vallet, Nicolas; Michonneau, David; Tournier, Simon (2022-10-04). 「Guixを使用した実用的な透明性、検証可能性、長期再現性のある研究に向けて」. Scientific Data . 9 (1): 597. Bibcode :2022NatSD...9..597V. doi :10.1038/s41597-022-01720-9. ISSN 2052-4463. PMC 9532446 . PMID 36195618.
- ^ Stallman, Richard (2012-06-05). 「GNU ディストリビューション」(メーリング リスト). gnu-system-discuss.
- ^ クルテス、ルドヴィック (2012-11-23)。 「GNU Guix の紹介」 (メーリングリスト)。 gnu システムディスカッション。
- ^ Ragkousis, Manolis (2015 年 8 月 20 日). 「[GSoC アップデート] Guix を GNU/Hurd に移植」(メーリング リスト). guix-devel . 2015 年8 月 20 日閲覧。
- ^ 「1.5.0 リリース?」
- ^ 「About — GuixSD」www.gnu.org . 2018年5月3日閲覧。
外部リンク
- 公式サイト
- DistroWatchの Guix システム
- Guix パッケージのリスト
