GNU Guix 1.1 パッケージ マネージャーとそれに基づくディストリビューションが利用可能

開催されました パッケージマネージャーのリリース GNU Guix 1.1 およびそれに基づいて構築された GNU/Linux ディストリビューション。 積載用 形成された USB フラッシュ (241 MB) にインストールし、仮想化システム (479 MB) で使用するためのイメージ。 作業は、i686、x86_64、armv7、および aarch64 アーキテクチャでサポートされています。

配布キットを使用すると、次の両方の方法でインストールできます。 スタンドアロンOS 仮想化システム内、コンテナ内、従来の装置内、および 打ち上げ すでにインストールされている GNU/Linux ディストリビューションで、アプリケーションをデプロイするためのプラットフォームとして機能します。 ユーザーには、依存関係のアカウンティング、反復可能なビルド、root なしでの作業、問題が発生した場合の以前のバージョンへのロールバック、構成管理、環境の複製 (他のコンピューター上にソフトウェア環境の正確なコピーを作成) などの機能が提供されます。

メイン イノベーション:

  • 新しい「guix デプロイ」コマンドが追加されました。これは、複数のコンピューターのハードウェアを一度にデプロイするように設計されています。たとえば、VPS 内の新しい環境や SSH 経由でアクセスできるリモート システムなどです。
  • サードパーティのパッケージ リポジトリ (チャネル) の作成者には、ユーザーが「guix pull --news」コマンドの実行時に読むことができるニュース メッセージを作成するツールが提供されます。
  • 「guix system description」コマンドを追加しました。これにより、展開中にシステムの XNUMX つの異なるインスタンス間の変更を評価できるようになります。
  • Singularity および Docker のイメージを生成するためのサポートが「guix Pack」コマンドに追加されました。
  • 「guix time-machine」コマンドを追加しました。これにより、アーカイブに保存されたパッケージの任意のリリースにロールバックできます。 遺産ソフトウェア.
  • 「guix system」に「--target」オプションを追加し、クロスコンパイルの部分的なサポートを提供します。
  • を使用して Guix を確実に実行 ガイル3、生産性にプラスの効果をもたらします。
  • パッケージの依存関係グラフは、バイナリ シード コンポーネントの削減されたセットに制限されています。これは、完全に検証可能なブートストラップの実装に向けた大きな一歩です。
  • グラフィカル インストーラーの自動テストのフレームワークが実装されました。 インストーラーは継続的統合システムに組み込まれており、さまざまな構成 (暗号化された通常のルート パーティション、デスクトップでのインストールなど) でテストされています。
  • Node.js、Julia、Qt 用のビルド システムが追加され、これらのプロジェクトに関連するアプリケーションのパッケージの作成が簡素化されました。
  • 新しいシステム サービス、auditd、fontconfig-file-system、getmail、gnome-keyring、kernel-module-loader、を追加しました。
    ノットリゾルバー、mumi、nfs、nftables、nix、pagekite、pam-mount、パッチワーク、
    polkit-wheel、来歴、pulseaudio、sane、特異点、usb モードスイッチ

  • 3368 個のパッケージ内のプログラムのバージョンが更新され、3514 個の新しいパッケージが追加されました。 xfce 4.14.0、gnome 3.32.2、mate 1.24.0、xorg-server 1.20.7、bash 5.0.7、binutils 2.32、cups 2.3.1、emacs 26.3、enlightenment 0.23.1、の更新バージョンを含む
    gcc 9.3.0、gimp 2.10.18、glibc 2.29、
    gnupg 2.2.20、go 1.13.9、guile 2.2.7、
    アイスキャット 68.7.0-guix0-preview1、アイスティー 3.7.0、
    libreoffice 6.4.2.2、linux-libre 5.4.31、、openjdk 12.33、perl 5.30.0、Python 3.7.4、
    錆び1.39.0。

GNU Guix パッケージ マネージャーはプロジェクトの開発に基づいていることを思い出してください。 ニックス 一般的なパッケージ管理機能に加えて、トランザクション更新、更新のロールバック機能、スーパーユーザー権限を取得せずに作業できる機能、個々のユーザーに関連付けられたプロファイルのサポート、XNUMX つのプログラムの複数のバージョンを同時にインストールする機能などの機能がサポートされています。ガベージ コレクション ツール (パッケージの未使用バージョンの特定と削除)。 アプリケーションのビルド スクリプトとパッケージ化ルールを定義するには、ドメイン固有の特殊な高レベル言語と、Scheme 関数型プログラミング言語ですべてのパッケージ管理操作を実行できる Guile Scheme API コンポーネントを使用することが提案されています。

Nix パッケージ マネージャー用に準備され、リポジトリに配置されたパッケージを使用する機能がサポートされています。
ニクスパック。 パッケージ操作に加えて、アプリケーション構成を管理するスクリプトを作成できます。 パッケージがビルドされると、関連するすべての依存関係が自動的にダウンロードされ、ビルドされます。 既製のバイナリ パッケージをリポジトリからダウンロードすることも、すべての依存関係を含むソースからビルドすることも可能です。 外部リポジトリからの更新プログラムのインストールを整理することで、インストールされているプログラムのバージョンを最新の状態に保つツールを実装しました。

パッケージのビルド環境は、アプリケーションが動作するために必要なすべてのコンポーネントを含むコンテナの形式で形成されます。これにより、ディストリビューションの基本システム環境の構成に関係なく動作できるパッケージのセットを作成できます。 Guix はアドオンとして使用されます。 Guix パッケージ間の依存関係は、インストールされたパッケージ ディレクトリ内の識別子ハッシュをスキャンして、既にインストールされている依存関係の存在を見つけることによって判断できます。 パッケージはユーザーのディレクトリ内の別のディレクトリ ツリーまたはサブディレクトリにインストールされるため、他のパッケージ マネージャーと並行して共存でき、幅広い既存のディストリビューションをサポートできます。 たとえば、パッケージは /nix/store/f42a5878f3a0b426064a2b64a0c6f92-firefox-75.0.0/ としてインストールされます。ここで、「f42a58...」は依存関係の監視に使用される一意のパッケージ識別子です。

このディストリビューションには無料のコンポーネントのみが含まれており、フリーではないバイナリ ファームウェア要素が取り除かれた GNU Linux-Libre カーネルが付属しています。 ビルドにはGCC 9.3を使用します。 サービスマネージャーは初期化システムとして使用されます GNU シェパード (元DMD) 依存関係をサポートする SysV-init の代替として開発されました。 制御デーモンと Shepherd ユーティリティは、サービス起動パラメータの定義にも使用される Guile 言語 (Scheme 言語の実装の XNUMX つ) で書かれています。 基本イメージはコンソール モードをサポートしていますが、インストールするには 準備した 13162 個の既製パッケージ。これには、X.Org に基づくグラフィックス スタックのコンポーネント、dwm および Rabbitpoison ウィンドウ マネージャー、Xfce デスクトップ、およびグラフィック アプリケーションの選択が含まれます。

出所: オープンネット.ru

コメントを追加します